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>() {}); + ret.setActualInstance(new UnparsedObject(res)); + } + return ret; + } + + /** Handle deserialization of the 'null' value. */ + @Override + public ElasticCloudIntegrationAccountAuthenticationRequest getNullValue( + DeserializationContext ctxt) throws JsonMappingException { + throw new JsonMappingException( + ctxt.getParser(), "ElasticCloudIntegrationAccountAuthenticationRequest cannot be null"); + } + } + + // store a list of schema names defined in oneOf + public static final Map schemas = new HashMap(); + + public ElasticCloudIntegrationAccountAuthenticationRequest() { + super("oneOf", Boolean.FALSE); + } + + public ElasticCloudIntegrationAccountAuthenticationRequest(IntegrationAccountBasicAuthRequest o) { + super("oneOf", Boolean.FALSE); + setActualInstance(o); + } + + static { + schemas.put( + "IntegrationAccountBasicAuthRequest", + new GenericType() {}); + JSON.registerDescendants( + ElasticCloudIntegrationAccountAuthenticationRequest.class, + Collections.unmodifiableMap(schemas)); + } + + @Override + public Map getSchemas() { + return ElasticCloudIntegrationAccountAuthenticationRequest.schemas; + } + + /** + * Set the instance that matches the oneOf child schema, check the instance parameter is valid + * against the oneOf child schemas: IntegrationAccountBasicAuthRequest + * + *

It could be an instance of the 'oneOf' schemas. The oneOf child schemas may themselves be a + * composed schema (allOf, anyOf, oneOf). + */ + @Override + public void setActualInstance(Object instance) { + if (JSON.isInstanceOf( + IntegrationAccountBasicAuthRequest.class, instance, new HashSet>())) { + super.setActualInstance(instance); + return; + } + + if (JSON.isInstanceOf(UnparsedObject.class, instance, new HashSet>())) { + super.setActualInstance(instance); + return; + } + throw new RuntimeException("Invalid instance type. Must be IntegrationAccountBasicAuthRequest"); + } + + /** + * Get the actual instance, which can be the following: IntegrationAccountBasicAuthRequest + * + * @return The actual instance (IntegrationAccountBasicAuthRequest) + */ + @Override + public Object getActualInstance() { + return super.getActualInstance(); + } + + /** + * Get the actual instance of `IntegrationAccountBasicAuthRequest`. If the actual instance is not + * `IntegrationAccountBasicAuthRequest`, the ClassCastException will be thrown. + * + * @return The actual instance of `IntegrationAccountBasicAuthRequest` + * @throws ClassCastException if the instance is not `IntegrationAccountBasicAuthRequest` + */ + public IntegrationAccountBasicAuthRequest getIntegrationAccountBasicAuthRequest() + throws ClassCastException { + return (IntegrationAccountBasicAuthRequest) super.getActualInstance(); + } +} diff --git a/src/main/java/com/datadog/api/client/v2/model/ElasticCloudIntegrationAccountAuthenticationResponse.java b/src/main/java/com/datadog/api/client/v2/model/ElasticCloudIntegrationAccountAuthenticationResponse.java new file mode 100644 index 00000000000..da2f6c31859 --- /dev/null +++ b/src/main/java/com/datadog/api/client/v2/model/ElasticCloudIntegrationAccountAuthenticationResponse.java @@ -0,0 +1,236 @@ +/* + * 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 = + ElasticCloudIntegrationAccountAuthenticationResponse + .ElasticCloudIntegrationAccountAuthenticationResponseDeserializer.class) +@JsonSerialize( + using = + ElasticCloudIntegrationAccountAuthenticationResponse + .ElasticCloudIntegrationAccountAuthenticationResponseSerializer.class) +public class ElasticCloudIntegrationAccountAuthenticationResponse extends AbstractOpenApiSchema { + private static final Logger log = + Logger.getLogger(ElasticCloudIntegrationAccountAuthenticationResponse.class.getName()); + + @JsonIgnore public boolean unparsed = false; + + public static class ElasticCloudIntegrationAccountAuthenticationResponseSerializer + extends StdSerializer { + public ElasticCloudIntegrationAccountAuthenticationResponseSerializer( + Class t) { + super(t); + } + + public ElasticCloudIntegrationAccountAuthenticationResponseSerializer() { + this(null); + } + + @Override + public void serialize( + ElasticCloudIntegrationAccountAuthenticationResponse value, + JsonGenerator jgen, + SerializerProvider provider) + throws IOException, JsonProcessingException { + jgen.writeObject(value.getActualInstance()); + } + } + + public static class ElasticCloudIntegrationAccountAuthenticationResponseDeserializer + extends StdDeserializer { + public ElasticCloudIntegrationAccountAuthenticationResponseDeserializer() { + this(ElasticCloudIntegrationAccountAuthenticationResponse.class); + } + + public ElasticCloudIntegrationAccountAuthenticationResponseDeserializer(Class vc) { + super(vc); + } + + @Override + public ElasticCloudIntegrationAccountAuthenticationResponse 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 IntegrationAccountBasicAuthResponse + try { + boolean attemptParsing = true; + // ensure that we respect type coercion as set on the client ObjectMapper + if (IntegrationAccountBasicAuthResponse.class.equals(Integer.class) + || IntegrationAccountBasicAuthResponse.class.equals(Long.class) + || IntegrationAccountBasicAuthResponse.class.equals(Float.class) + || IntegrationAccountBasicAuthResponse.class.equals(Double.class) + || IntegrationAccountBasicAuthResponse.class.equals(Boolean.class) + || IntegrationAccountBasicAuthResponse.class.equals(String.class)) { + attemptParsing = typeCoercion; + if (!attemptParsing) { + attemptParsing |= + ((IntegrationAccountBasicAuthResponse.class.equals(Integer.class) + || IntegrationAccountBasicAuthResponse.class.equals(Long.class)) + && token == JsonToken.VALUE_NUMBER_INT); + attemptParsing |= + ((IntegrationAccountBasicAuthResponse.class.equals(Float.class) + || IntegrationAccountBasicAuthResponse.class.equals(Double.class)) + && (token == JsonToken.VALUE_NUMBER_FLOAT + || token == JsonToken.VALUE_NUMBER_INT)); + attemptParsing |= + (IntegrationAccountBasicAuthResponse.class.equals(Boolean.class) + && (token == JsonToken.VALUE_FALSE || token == JsonToken.VALUE_TRUE)); + attemptParsing |= + (IntegrationAccountBasicAuthResponse.class.equals(String.class) + && token == JsonToken.VALUE_STRING); + } + } + if (attemptParsing) { + tmp = tree.traverse(jp.getCodec()).readValueAs(IntegrationAccountBasicAuthResponse.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 (!((IntegrationAccountBasicAuthResponse) tmp).unparsed) { + deserialized = tmp; + match++; + } + log.log(Level.FINER, "Input data matches schema 'IntegrationAccountBasicAuthResponse'"); + } + } catch (Exception e) { + // deserialization failed, continue + log.log( + Level.FINER, + "Input data does not match schema 'IntegrationAccountBasicAuthResponse'", + e); + } + + ElasticCloudIntegrationAccountAuthenticationResponse ret = + new ElasticCloudIntegrationAccountAuthenticationResponse(); + if (match == 1) { + ret.setActualInstance(deserialized); + } else { + Map res = + new ObjectMapper() + .readValue( + tree.traverse(jp.getCodec()).readValueAsTree().toString(), + new TypeReference>() {}); + ret.setActualInstance(new UnparsedObject(res)); + } + return ret; + } + + /** Handle deserialization of the 'null' value. */ + @Override + public ElasticCloudIntegrationAccountAuthenticationResponse getNullValue( + DeserializationContext ctxt) throws JsonMappingException { + throw new JsonMappingException( + ctxt.getParser(), "ElasticCloudIntegrationAccountAuthenticationResponse cannot be null"); + } + } + + // store a list of schema names defined in oneOf + public static final Map schemas = new HashMap(); + + public ElasticCloudIntegrationAccountAuthenticationResponse() { + super("oneOf", Boolean.FALSE); + } + + public ElasticCloudIntegrationAccountAuthenticationResponse( + IntegrationAccountBasicAuthResponse o) { + super("oneOf", Boolean.FALSE); + setActualInstance(o); + } + + static { + schemas.put( + "IntegrationAccountBasicAuthResponse", + new GenericType() {}); + JSON.registerDescendants( + ElasticCloudIntegrationAccountAuthenticationResponse.class, + Collections.unmodifiableMap(schemas)); + } + + @Override + public Map getSchemas() { + return ElasticCloudIntegrationAccountAuthenticationResponse.schemas; + } + + /** + * Set the instance that matches the oneOf child schema, check the instance parameter is valid + * against the oneOf child schemas: IntegrationAccountBasicAuthResponse + * + *

It could be an instance of the 'oneOf' schemas. The oneOf child schemas may themselves be a + * composed schema (allOf, anyOf, oneOf). + */ + @Override + public void setActualInstance(Object instance) { + if (JSON.isInstanceOf( + IntegrationAccountBasicAuthResponse.class, instance, new HashSet>())) { + super.setActualInstance(instance); + return; + } + + if (JSON.isInstanceOf(UnparsedObject.class, instance, new HashSet>())) { + super.setActualInstance(instance); + return; + } + throw new RuntimeException( + "Invalid instance type. Must be IntegrationAccountBasicAuthResponse"); + } + + /** + * Get the actual instance, which can be the following: IntegrationAccountBasicAuthResponse + * + * @return The actual instance (IntegrationAccountBasicAuthResponse) + */ + @Override + public Object getActualInstance() { + return super.getActualInstance(); + } + + /** + * Get the actual instance of `IntegrationAccountBasicAuthResponse`. If the actual instance is not + * `IntegrationAccountBasicAuthResponse`, the ClassCastException will be thrown. + * + * @return The actual instance of `IntegrationAccountBasicAuthResponse` + * @throws ClassCastException if the instance is not `IntegrationAccountBasicAuthResponse` + */ + public IntegrationAccountBasicAuthResponse getIntegrationAccountBasicAuthResponse() + throws ClassCastException { + return (IntegrationAccountBasicAuthResponse) super.getActualInstance(); + } +} diff --git a/src/main/java/com/datadog/api/client/v2/model/ElasticCloudIntegrationAccountAuthenticationUpdate.java b/src/main/java/com/datadog/api/client/v2/model/ElasticCloudIntegrationAccountAuthenticationUpdate.java new file mode 100644 index 00000000000..350ba348043 --- /dev/null +++ b/src/main/java/com/datadog/api/client/v2/model/ElasticCloudIntegrationAccountAuthenticationUpdate.java @@ -0,0 +1,232 @@ +/* + * 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 = + ElasticCloudIntegrationAccountAuthenticationUpdate + .ElasticCloudIntegrationAccountAuthenticationUpdateDeserializer.class) +@JsonSerialize( + using = + ElasticCloudIntegrationAccountAuthenticationUpdate + .ElasticCloudIntegrationAccountAuthenticationUpdateSerializer.class) +public class ElasticCloudIntegrationAccountAuthenticationUpdate extends AbstractOpenApiSchema { + private static final Logger log = + Logger.getLogger(ElasticCloudIntegrationAccountAuthenticationUpdate.class.getName()); + + @JsonIgnore public boolean unparsed = false; + + public static class ElasticCloudIntegrationAccountAuthenticationUpdateSerializer + extends StdSerializer { + public ElasticCloudIntegrationAccountAuthenticationUpdateSerializer( + Class t) { + super(t); + } + + public ElasticCloudIntegrationAccountAuthenticationUpdateSerializer() { + this(null); + } + + @Override + public void serialize( + ElasticCloudIntegrationAccountAuthenticationUpdate value, + JsonGenerator jgen, + SerializerProvider provider) + throws IOException, JsonProcessingException { + jgen.writeObject(value.getActualInstance()); + } + } + + public static class ElasticCloudIntegrationAccountAuthenticationUpdateDeserializer + extends StdDeserializer { + public ElasticCloudIntegrationAccountAuthenticationUpdateDeserializer() { + this(ElasticCloudIntegrationAccountAuthenticationUpdate.class); + } + + public ElasticCloudIntegrationAccountAuthenticationUpdateDeserializer(Class vc) { + super(vc); + } + + @Override + public ElasticCloudIntegrationAccountAuthenticationUpdate 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 IntegrationAccountBasicAuthUpdate + try { + boolean attemptParsing = true; + // ensure that we respect type coercion as set on the client ObjectMapper + if (IntegrationAccountBasicAuthUpdate.class.equals(Integer.class) + || IntegrationAccountBasicAuthUpdate.class.equals(Long.class) + || IntegrationAccountBasicAuthUpdate.class.equals(Float.class) + || IntegrationAccountBasicAuthUpdate.class.equals(Double.class) + || IntegrationAccountBasicAuthUpdate.class.equals(Boolean.class) + || IntegrationAccountBasicAuthUpdate.class.equals(String.class)) { + attemptParsing = typeCoercion; + if (!attemptParsing) { + attemptParsing |= + ((IntegrationAccountBasicAuthUpdate.class.equals(Integer.class) + || IntegrationAccountBasicAuthUpdate.class.equals(Long.class)) + && token == JsonToken.VALUE_NUMBER_INT); + attemptParsing |= + ((IntegrationAccountBasicAuthUpdate.class.equals(Float.class) + || IntegrationAccountBasicAuthUpdate.class.equals(Double.class)) + && (token == JsonToken.VALUE_NUMBER_FLOAT + || token == JsonToken.VALUE_NUMBER_INT)); + attemptParsing |= + (IntegrationAccountBasicAuthUpdate.class.equals(Boolean.class) + && (token == JsonToken.VALUE_FALSE || token == JsonToken.VALUE_TRUE)); + attemptParsing |= + (IntegrationAccountBasicAuthUpdate.class.equals(String.class) + && token == JsonToken.VALUE_STRING); + } + } + if (attemptParsing) { + tmp = tree.traverse(jp.getCodec()).readValueAs(IntegrationAccountBasicAuthUpdate.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 (!((IntegrationAccountBasicAuthUpdate) tmp).unparsed) { + deserialized = tmp; + match++; + } + log.log(Level.FINER, "Input data matches schema 'IntegrationAccountBasicAuthUpdate'"); + } + } catch (Exception e) { + // deserialization failed, continue + log.log( + Level.FINER, "Input data does not match schema 'IntegrationAccountBasicAuthUpdate'", e); + } + + ElasticCloudIntegrationAccountAuthenticationUpdate ret = + new ElasticCloudIntegrationAccountAuthenticationUpdate(); + if (match == 1) { + ret.setActualInstance(deserialized); + } else { + Map res = + new ObjectMapper() + .readValue( + tree.traverse(jp.getCodec()).readValueAsTree().toString(), + new TypeReference>() {}); + ret.setActualInstance(new UnparsedObject(res)); + } + return ret; + } + + /** Handle deserialization of the 'null' value. */ + @Override + public ElasticCloudIntegrationAccountAuthenticationUpdate getNullValue( + DeserializationContext ctxt) throws JsonMappingException { + throw new JsonMappingException( + ctxt.getParser(), "ElasticCloudIntegrationAccountAuthenticationUpdate cannot be null"); + } + } + + // store a list of schema names defined in oneOf + public static final Map schemas = new HashMap(); + + public ElasticCloudIntegrationAccountAuthenticationUpdate() { + super("oneOf", Boolean.FALSE); + } + + public ElasticCloudIntegrationAccountAuthenticationUpdate(IntegrationAccountBasicAuthUpdate o) { + super("oneOf", Boolean.FALSE); + setActualInstance(o); + } + + static { + schemas.put( + "IntegrationAccountBasicAuthUpdate", + new GenericType() {}); + JSON.registerDescendants( + ElasticCloudIntegrationAccountAuthenticationUpdate.class, + Collections.unmodifiableMap(schemas)); + } + + @Override + public Map getSchemas() { + return ElasticCloudIntegrationAccountAuthenticationUpdate.schemas; + } + + /** + * Set the instance that matches the oneOf child schema, check the instance parameter is valid + * against the oneOf child schemas: IntegrationAccountBasicAuthUpdate + * + *

It could be an instance of the 'oneOf' schemas. The oneOf child schemas may themselves be a + * composed schema (allOf, anyOf, oneOf). + */ + @Override + public void setActualInstance(Object instance) { + if (JSON.isInstanceOf( + IntegrationAccountBasicAuthUpdate.class, instance, new HashSet>())) { + super.setActualInstance(instance); + return; + } + + if (JSON.isInstanceOf(UnparsedObject.class, instance, new HashSet>())) { + super.setActualInstance(instance); + return; + } + throw new RuntimeException("Invalid instance type. Must be IntegrationAccountBasicAuthUpdate"); + } + + /** + * Get the actual instance, which can be the following: IntegrationAccountBasicAuthUpdate + * + * @return The actual instance (IntegrationAccountBasicAuthUpdate) + */ + @Override + public Object getActualInstance() { + return super.getActualInstance(); + } + + /** + * Get the actual instance of `IntegrationAccountBasicAuthUpdate`. If the actual instance is not + * `IntegrationAccountBasicAuthUpdate`, the ClassCastException will be thrown. + * + * @return The actual instance of `IntegrationAccountBasicAuthUpdate` + * @throws ClassCastException if the instance is not `IntegrationAccountBasicAuthUpdate` + */ + public IntegrationAccountBasicAuthUpdate getIntegrationAccountBasicAuthUpdate() + throws ClassCastException { + return (IntegrationAccountBasicAuthUpdate) super.getActualInstance(); + } +} diff --git a/src/main/java/com/datadog/api/client/v2/model/ElasticCloudIntegrationAccountCreateAttributes.java b/src/main/java/com/datadog/api/client/v2/model/ElasticCloudIntegrationAccountCreateAttributes.java new file mode 100644 index 00000000000..5a7cc010058 --- /dev/null +++ b/src/main/java/com/datadog/api/client/v2/model/ElasticCloudIntegrationAccountCreateAttributes.java @@ -0,0 +1,253 @@ +/* + * Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License. + * This product includes software developed at Datadog (https://www.datadoghq.com/). + * Copyright 2019-Present Datadog, Inc. + */ + +package com.datadog.api.client.v2.model; + +import com.fasterxml.jackson.annotation.JsonAnyGetter; +import com.fasterxml.jackson.annotation.JsonAnySetter; +import com.fasterxml.jackson.annotation.JsonCreator; +import com.fasterxml.jackson.annotation.JsonIgnore; +import com.fasterxml.jackson.annotation.JsonInclude; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.annotation.JsonPropertyOrder; +import java.util.HashMap; +import java.util.Map; +import java.util.Objects; + +/** Writable attributes used to create an Elastic Cloud integration account. */ +@JsonPropertyOrder({ + ElasticCloudIntegrationAccountCreateAttributes.JSON_PROPERTY_AUTHENTICATION, + ElasticCloudIntegrationAccountCreateAttributes.JSON_PROPERTY_DATAFLOWS, + ElasticCloudIntegrationAccountCreateAttributes.JSON_PROPERTY_NAME, + ElasticCloudIntegrationAccountCreateAttributes.JSON_PROPERTY_SETTINGS +}) +@jakarta.annotation.Generated( + value = "https://github.com/DataDog/datadog-api-client-java/blob/master/.generator") +public class ElasticCloudIntegrationAccountCreateAttributes { + @JsonIgnore public boolean unparsed = false; + public static final String JSON_PROPERTY_AUTHENTICATION = "authentication"; + private ElasticCloudIntegrationAccountAuthenticationRequest authentication; + + public static final String JSON_PROPERTY_DATAFLOWS = "dataflows"; + private ElasticCloudIntegrationDataflowsRequest dataflows; + + public static final String JSON_PROPERTY_NAME = "name"; + private String name; + + public static final String JSON_PROPERTY_SETTINGS = "settings"; + private ElasticCloudIntegrationAccountSettingsRequest settings; + + public ElasticCloudIntegrationAccountCreateAttributes() {} + + @JsonCreator + public ElasticCloudIntegrationAccountCreateAttributes( + @JsonProperty(required = true, value = JSON_PROPERTY_AUTHENTICATION) + ElasticCloudIntegrationAccountAuthenticationRequest authentication, + @JsonProperty(required = true, value = JSON_PROPERTY_NAME) String name, + @JsonProperty(required = true, value = JSON_PROPERTY_SETTINGS) + ElasticCloudIntegrationAccountSettingsRequest settings) { + this.authentication = authentication; + this.unparsed |= authentication.unparsed; + this.name = name; + this.settings = settings; + this.unparsed |= settings.unparsed; + } + + public ElasticCloudIntegrationAccountCreateAttributes authentication( + ElasticCloudIntegrationAccountAuthenticationRequest authentication) { + this.authentication = authentication; + this.unparsed |= authentication.unparsed; + return this; + } + + /** + * Authentication for creating the Elastic Cloud integration account. Exactly one method is set. + * + * @return authentication + */ + @JsonProperty(JSON_PROPERTY_AUTHENTICATION) + @JsonInclude(value = JsonInclude.Include.ALWAYS) + public ElasticCloudIntegrationAccountAuthenticationRequest getAuthentication() { + return authentication; + } + + public void setAuthentication( + ElasticCloudIntegrationAccountAuthenticationRequest authentication) { + this.authentication = authentication; + if (authentication != null) { + this.unparsed |= authentication.unparsed; + } + } + + public ElasticCloudIntegrationAccountCreateAttributes dataflows( + ElasticCloudIntegrationDataflowsRequest dataflows) { + this.dataflows = dataflows; + this.unparsed |= dataflows.unparsed; + return this; + } + + /** + * Dataflows to configure on the Elastic Cloud integration account, keyed by dataflow id. + * + * @return dataflows + */ + @jakarta.annotation.Nullable + @JsonProperty(JSON_PROPERTY_DATAFLOWS) + @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) + public ElasticCloudIntegrationDataflowsRequest getDataflows() { + return dataflows; + } + + public void setDataflows(ElasticCloudIntegrationDataflowsRequest dataflows) { + this.dataflows = dataflows; + if (dataflows != null) { + this.unparsed |= dataflows.unparsed; + } + } + + public ElasticCloudIntegrationAccountCreateAttributes name(String name) { + this.name = name; + return this; + } + + /** + * Human-readable name of the Elastic Cloud integration account. + * + * @return name + */ + @JsonProperty(JSON_PROPERTY_NAME) + @JsonInclude(value = JsonInclude.Include.ALWAYS) + public String getName() { + return name; + } + + public void setName(String name) { + this.name = name; + } + + public ElasticCloudIntegrationAccountCreateAttributes settings( + ElasticCloudIntegrationAccountSettingsRequest settings) { + this.settings = settings; + this.unparsed |= settings.unparsed; + return this; + } + + /** + * Settings for creating the Elastic Cloud integration account. + * + * @return settings + */ + @JsonProperty(JSON_PROPERTY_SETTINGS) + @JsonInclude(value = JsonInclude.Include.ALWAYS) + public ElasticCloudIntegrationAccountSettingsRequest getSettings() { + return settings; + } + + public void setSettings(ElasticCloudIntegrationAccountSettingsRequest settings) { + this.settings = settings; + if (settings != null) { + this.unparsed |= settings.unparsed; + } + } + + /** + * 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 ElasticCloudIntegrationAccountCreateAttributes + */ + @JsonAnySetter + public ElasticCloudIntegrationAccountCreateAttributes 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 ElasticCloudIntegrationAccountCreateAttributes object is equal to o. */ + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + ElasticCloudIntegrationAccountCreateAttributes elasticCloudIntegrationAccountCreateAttributes = + (ElasticCloudIntegrationAccountCreateAttributes) o; + return Objects.equals( + this.authentication, elasticCloudIntegrationAccountCreateAttributes.authentication) + && Objects.equals(this.dataflows, elasticCloudIntegrationAccountCreateAttributes.dataflows) + && Objects.equals(this.name, elasticCloudIntegrationAccountCreateAttributes.name) + && Objects.equals(this.settings, elasticCloudIntegrationAccountCreateAttributes.settings) + && Objects.equals( + this.additionalProperties, + elasticCloudIntegrationAccountCreateAttributes.additionalProperties); + } + + @Override + public int hashCode() { + return Objects.hash(authentication, dataflows, name, settings, additionalProperties); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class ElasticCloudIntegrationAccountCreateAttributes {\n"); + sb.append(" authentication: ").append(toIndentedString(authentication)).append("\n"); + sb.append(" dataflows: ").append(toIndentedString(dataflows)).append("\n"); + sb.append(" name: ").append(toIndentedString(name)).append("\n"); + sb.append(" settings: ").append(toIndentedString(settings)).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/ElasticCloudIntegrationAccountCreateData.java b/src/main/java/com/datadog/api/client/v2/model/ElasticCloudIntegrationAccountCreateData.java new file mode 100644 index 00000000000..17adfdf7b71 --- /dev/null +++ b/src/main/java/com/datadog/api/client/v2/model/ElasticCloudIntegrationAccountCreateData.java @@ -0,0 +1,188 @@ +/* + * Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License. + * This product includes software developed at Datadog (https://www.datadoghq.com/). + * Copyright 2019-Present Datadog, Inc. + */ + +package com.datadog.api.client.v2.model; + +import com.fasterxml.jackson.annotation.JsonAnyGetter; +import com.fasterxml.jackson.annotation.JsonAnySetter; +import com.fasterxml.jackson.annotation.JsonCreator; +import com.fasterxml.jackson.annotation.JsonIgnore; +import com.fasterxml.jackson.annotation.JsonInclude; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.annotation.JsonPropertyOrder; +import java.util.HashMap; +import java.util.Map; +import java.util.Objects; + +/** Data envelope for creating an Elastic Cloud integration account. */ +@JsonPropertyOrder({ + ElasticCloudIntegrationAccountCreateData.JSON_PROPERTY_ATTRIBUTES, + ElasticCloudIntegrationAccountCreateData.JSON_PROPERTY_TYPE +}) +@jakarta.annotation.Generated( + value = "https://github.com/DataDog/datadog-api-client-java/blob/master/.generator") +public class ElasticCloudIntegrationAccountCreateData { + @JsonIgnore public boolean unparsed = false; + public static final String JSON_PROPERTY_ATTRIBUTES = "attributes"; + private ElasticCloudIntegrationAccountCreateAttributes attributes; + + public static final String JSON_PROPERTY_TYPE = "type"; + private IntegrationAccountType type = IntegrationAccountType.INTEGRATION_ACCOUNT; + + public ElasticCloudIntegrationAccountCreateData() {} + + @JsonCreator + public ElasticCloudIntegrationAccountCreateData( + @JsonProperty(required = true, value = JSON_PROPERTY_ATTRIBUTES) + ElasticCloudIntegrationAccountCreateAttributes attributes, + @JsonProperty(required = true, value = JSON_PROPERTY_TYPE) IntegrationAccountType type) { + this.attributes = attributes; + this.unparsed |= attributes.unparsed; + this.type = type; + this.unparsed |= !type.isValid(); + } + + public ElasticCloudIntegrationAccountCreateData attributes( + ElasticCloudIntegrationAccountCreateAttributes attributes) { + this.attributes = attributes; + this.unparsed |= attributes.unparsed; + return this; + } + + /** + * Writable attributes used to create an Elastic Cloud integration account. + * + * @return attributes + */ + @JsonProperty(JSON_PROPERTY_ATTRIBUTES) + @JsonInclude(value = JsonInclude.Include.ALWAYS) + public ElasticCloudIntegrationAccountCreateAttributes getAttributes() { + return attributes; + } + + public void setAttributes(ElasticCloudIntegrationAccountCreateAttributes attributes) { + this.attributes = attributes; + if (attributes != null) { + this.unparsed |= attributes.unparsed; + } + } + + public ElasticCloudIntegrationAccountCreateData type(IntegrationAccountType type) { + this.type = type; + this.unparsed |= !type.isValid(); + return this; + } + + /** + * The type of the integration account resource. Always integration-account. + * + * @return type + */ + @JsonProperty(JSON_PROPERTY_TYPE) + @JsonInclude(value = JsonInclude.Include.ALWAYS) + public IntegrationAccountType getType() { + return type; + } + + public void setType(IntegrationAccountType type) { + if (!type.isValid()) { + this.unparsed = true; + } + this.type = type; + } + + /** + * A container for additional, undeclared properties. This is a holder for any undeclared + * properties as specified with the 'additionalProperties' keyword in the OAS document. + */ + private Map additionalProperties; + + /** + * Set the additional (undeclared) property with the specified name and value. If the property + * does not already exist, create it otherwise replace it. + * + * @param key The arbitrary key to set + * @param value The associated value + * @return ElasticCloudIntegrationAccountCreateData + */ + @JsonAnySetter + public ElasticCloudIntegrationAccountCreateData 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 ElasticCloudIntegrationAccountCreateData object is equal to o. */ + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + ElasticCloudIntegrationAccountCreateData elasticCloudIntegrationAccountCreateData = + (ElasticCloudIntegrationAccountCreateData) o; + return Objects.equals(this.attributes, elasticCloudIntegrationAccountCreateData.attributes) + && Objects.equals(this.type, elasticCloudIntegrationAccountCreateData.type) + && Objects.equals( + this.additionalProperties, + elasticCloudIntegrationAccountCreateData.additionalProperties); + } + + @Override + public int hashCode() { + return Objects.hash(attributes, type, additionalProperties); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class ElasticCloudIntegrationAccountCreateData {\n"); + sb.append(" attributes: ").append(toIndentedString(attributes)).append("\n"); + sb.append(" type: ").append(toIndentedString(type)).append("\n"); + sb.append(" additionalProperties: ") + .append(toIndentedString(additionalProperties)) + .append("\n"); + sb.append('}'); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } +} diff --git a/src/main/java/com/datadog/api/client/v2/model/ElasticCloudIntegrationAccountCreateRequest.java b/src/main/java/com/datadog/api/client/v2/model/ElasticCloudIntegrationAccountCreateRequest.java new file mode 100644 index 00000000000..8ee8dbd09d9 --- /dev/null +++ b/src/main/java/com/datadog/api/client/v2/model/ElasticCloudIntegrationAccountCreateRequest.java @@ -0,0 +1,154 @@ +/* + * Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License. + * This product includes software developed at Datadog (https://www.datadoghq.com/). + * Copyright 2019-Present Datadog, Inc. + */ + +package com.datadog.api.client.v2.model; + +import com.fasterxml.jackson.annotation.JsonAnyGetter; +import com.fasterxml.jackson.annotation.JsonAnySetter; +import com.fasterxml.jackson.annotation.JsonCreator; +import com.fasterxml.jackson.annotation.JsonIgnore; +import com.fasterxml.jackson.annotation.JsonInclude; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.annotation.JsonPropertyOrder; +import java.util.HashMap; +import java.util.Map; +import java.util.Objects; + +/** Request payload to create an Elastic Cloud integration account. */ +@JsonPropertyOrder({ElasticCloudIntegrationAccountCreateRequest.JSON_PROPERTY_DATA}) +@jakarta.annotation.Generated( + value = "https://github.com/DataDog/datadog-api-client-java/blob/master/.generator") +public class ElasticCloudIntegrationAccountCreateRequest { + @JsonIgnore public boolean unparsed = false; + public static final String JSON_PROPERTY_DATA = "data"; + private ElasticCloudIntegrationAccountCreateData data; + + public ElasticCloudIntegrationAccountCreateRequest() {} + + @JsonCreator + public ElasticCloudIntegrationAccountCreateRequest( + @JsonProperty(required = true, value = JSON_PROPERTY_DATA) + ElasticCloudIntegrationAccountCreateData data) { + this.data = data; + this.unparsed |= data.unparsed; + } + + public ElasticCloudIntegrationAccountCreateRequest data( + ElasticCloudIntegrationAccountCreateData data) { + this.data = data; + this.unparsed |= data.unparsed; + return this; + } + + /** + * Data envelope for creating an Elastic Cloud integration account. + * + * @return data + */ + @JsonProperty(JSON_PROPERTY_DATA) + @JsonInclude(value = JsonInclude.Include.ALWAYS) + public ElasticCloudIntegrationAccountCreateData getData() { + return data; + } + + public void setData(ElasticCloudIntegrationAccountCreateData data) { + this.data = data; + if (data != null) { + this.unparsed |= data.unparsed; + } + } + + /** + * 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 ElasticCloudIntegrationAccountCreateRequest + */ + @JsonAnySetter + public ElasticCloudIntegrationAccountCreateRequest 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 ElasticCloudIntegrationAccountCreateRequest object is equal to o. */ + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + ElasticCloudIntegrationAccountCreateRequest elasticCloudIntegrationAccountCreateRequest = + (ElasticCloudIntegrationAccountCreateRequest) o; + return Objects.equals(this.data, elasticCloudIntegrationAccountCreateRequest.data) + && Objects.equals( + this.additionalProperties, + elasticCloudIntegrationAccountCreateRequest.additionalProperties); + } + + @Override + public int hashCode() { + return Objects.hash(data, additionalProperties); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class ElasticCloudIntegrationAccountCreateRequest {\n"); + sb.append(" data: ").append(toIndentedString(data)).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/ElasticCloudIntegrationAccountResponse.java b/src/main/java/com/datadog/api/client/v2/model/ElasticCloudIntegrationAccountResponse.java new file mode 100644 index 00000000000..20a1ce32697 --- /dev/null +++ b/src/main/java/com/datadog/api/client/v2/model/ElasticCloudIntegrationAccountResponse.java @@ -0,0 +1,152 @@ +/* + * Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License. + * This product includes software developed at Datadog (https://www.datadoghq.com/). + * Copyright 2019-Present Datadog, Inc. + */ + +package com.datadog.api.client.v2.model; + +import com.fasterxml.jackson.annotation.JsonAnyGetter; +import com.fasterxml.jackson.annotation.JsonAnySetter; +import com.fasterxml.jackson.annotation.JsonCreator; +import com.fasterxml.jackson.annotation.JsonIgnore; +import com.fasterxml.jackson.annotation.JsonInclude; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.annotation.JsonPropertyOrder; +import java.util.HashMap; +import java.util.Map; +import java.util.Objects; + +/** Response payload for a single Elastic Cloud integration account. */ +@JsonPropertyOrder({ElasticCloudIntegrationAccountResponse.JSON_PROPERTY_DATA}) +@jakarta.annotation.Generated( + value = "https://github.com/DataDog/datadog-api-client-java/blob/master/.generator") +public class ElasticCloudIntegrationAccountResponse { + @JsonIgnore public boolean unparsed = false; + public static final String JSON_PROPERTY_DATA = "data"; + private ElasticCloudIntegrationAccountResponseData data; + + public ElasticCloudIntegrationAccountResponse() {} + + @JsonCreator + public ElasticCloudIntegrationAccountResponse( + @JsonProperty(required = true, value = JSON_PROPERTY_DATA) + ElasticCloudIntegrationAccountResponseData data) { + this.data = data; + this.unparsed |= data.unparsed; + } + + public ElasticCloudIntegrationAccountResponse data( + ElasticCloudIntegrationAccountResponseData data) { + this.data = data; + this.unparsed |= data.unparsed; + return this; + } + + /** + * Data envelope of an Elastic Cloud integration account, including server-assigned identity. + * + * @return data + */ + @JsonProperty(JSON_PROPERTY_DATA) + @JsonInclude(value = JsonInclude.Include.ALWAYS) + public ElasticCloudIntegrationAccountResponseData getData() { + return data; + } + + public void setData(ElasticCloudIntegrationAccountResponseData data) { + this.data = data; + if (data != null) { + this.unparsed |= data.unparsed; + } + } + + /** + * 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 ElasticCloudIntegrationAccountResponse + */ + @JsonAnySetter + public ElasticCloudIntegrationAccountResponse 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 ElasticCloudIntegrationAccountResponse object is equal to o. */ + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + ElasticCloudIntegrationAccountResponse elasticCloudIntegrationAccountResponse = + (ElasticCloudIntegrationAccountResponse) o; + return Objects.equals(this.data, elasticCloudIntegrationAccountResponse.data) + && Objects.equals( + this.additionalProperties, elasticCloudIntegrationAccountResponse.additionalProperties); + } + + @Override + public int hashCode() { + return Objects.hash(data, additionalProperties); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class ElasticCloudIntegrationAccountResponse {\n"); + sb.append(" data: ").append(toIndentedString(data)).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/ElasticCloudIntegrationAccountResponseAttributes.java b/src/main/java/com/datadog/api/client/v2/model/ElasticCloudIntegrationAccountResponseAttributes.java new file mode 100644 index 00000000000..0caeb011881 --- /dev/null +++ b/src/main/java/com/datadog/api/client/v2/model/ElasticCloudIntegrationAccountResponseAttributes.java @@ -0,0 +1,252 @@ +/* + * Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License. + * This product includes software developed at Datadog (https://www.datadoghq.com/). + * Copyright 2019-Present Datadog, Inc. + */ + +package com.datadog.api.client.v2.model; + +import com.fasterxml.jackson.annotation.JsonAnyGetter; +import com.fasterxml.jackson.annotation.JsonAnySetter; +import com.fasterxml.jackson.annotation.JsonCreator; +import com.fasterxml.jackson.annotation.JsonIgnore; +import com.fasterxml.jackson.annotation.JsonInclude; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.annotation.JsonPropertyOrder; +import java.util.HashMap; +import java.util.Map; +import java.util.Objects; + +/** Attributes of an Elastic Cloud integration account returned in responses. */ +@JsonPropertyOrder({ + ElasticCloudIntegrationAccountResponseAttributes.JSON_PROPERTY_AUTHENTICATION, + ElasticCloudIntegrationAccountResponseAttributes.JSON_PROPERTY_DATAFLOWS, + ElasticCloudIntegrationAccountResponseAttributes.JSON_PROPERTY_NAME, + ElasticCloudIntegrationAccountResponseAttributes.JSON_PROPERTY_SETTINGS +}) +@jakarta.annotation.Generated( + value = "https://github.com/DataDog/datadog-api-client-java/blob/master/.generator") +public class ElasticCloudIntegrationAccountResponseAttributes { + @JsonIgnore public boolean unparsed = false; + public static final String JSON_PROPERTY_AUTHENTICATION = "authentication"; + private ElasticCloudIntegrationAccountAuthenticationResponse authentication; + + public static final String JSON_PROPERTY_DATAFLOWS = "dataflows"; + private ElasticCloudIntegrationDataflowsResponse dataflows; + + public static final String JSON_PROPERTY_NAME = "name"; + private String name; + + public static final String JSON_PROPERTY_SETTINGS = "settings"; + private ElasticCloudIntegrationAccountSettingsResponse settings; + + public ElasticCloudIntegrationAccountResponseAttributes() {} + + @JsonCreator + public ElasticCloudIntegrationAccountResponseAttributes( + @JsonProperty(required = true, value = JSON_PROPERTY_NAME) String name, + @JsonProperty(required = true, value = JSON_PROPERTY_SETTINGS) + ElasticCloudIntegrationAccountSettingsResponse settings) { + this.name = name; + this.settings = settings; + this.unparsed |= settings.unparsed; + } + + public ElasticCloudIntegrationAccountResponseAttributes authentication( + ElasticCloudIntegrationAccountAuthenticationResponse authentication) { + this.authentication = authentication; + this.unparsed |= authentication.unparsed; + return this; + } + + /** + * Authentication configured on the Elastic Cloud integration account. + * + * @return authentication + */ + @jakarta.annotation.Nullable + @JsonProperty(JSON_PROPERTY_AUTHENTICATION) + @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) + public ElasticCloudIntegrationAccountAuthenticationResponse getAuthentication() { + return authentication; + } + + public void setAuthentication( + ElasticCloudIntegrationAccountAuthenticationResponse authentication) { + this.authentication = authentication; + if (authentication != null) { + this.unparsed |= authentication.unparsed; + } + } + + public ElasticCloudIntegrationAccountResponseAttributes dataflows( + ElasticCloudIntegrationDataflowsResponse dataflows) { + this.dataflows = dataflows; + this.unparsed |= dataflows.unparsed; + return this; + } + + /** + * Dataflows configured on the Elastic Cloud integration account, keyed by dataflow id. + * + * @return dataflows + */ + @jakarta.annotation.Nullable + @JsonProperty(JSON_PROPERTY_DATAFLOWS) + @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) + public ElasticCloudIntegrationDataflowsResponse getDataflows() { + return dataflows; + } + + public void setDataflows(ElasticCloudIntegrationDataflowsResponse dataflows) { + this.dataflows = dataflows; + if (dataflows != null) { + this.unparsed |= dataflows.unparsed; + } + } + + public ElasticCloudIntegrationAccountResponseAttributes name(String name) { + this.name = name; + return this; + } + + /** + * Human-readable name of the Elastic Cloud integration account. + * + * @return name + */ + @JsonProperty(JSON_PROPERTY_NAME) + @JsonInclude(value = JsonInclude.Include.ALWAYS) + public String getName() { + return name; + } + + public void setName(String name) { + this.name = name; + } + + public ElasticCloudIntegrationAccountResponseAttributes settings( + ElasticCloudIntegrationAccountSettingsResponse settings) { + this.settings = settings; + this.unparsed |= settings.unparsed; + return this; + } + + /** + * Settings configured on the Elastic Cloud integration account. + * + * @return settings + */ + @JsonProperty(JSON_PROPERTY_SETTINGS) + @JsonInclude(value = JsonInclude.Include.ALWAYS) + public ElasticCloudIntegrationAccountSettingsResponse getSettings() { + return settings; + } + + public void setSettings(ElasticCloudIntegrationAccountSettingsResponse settings) { + this.settings = settings; + if (settings != null) { + this.unparsed |= settings.unparsed; + } + } + + /** + * 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 ElasticCloudIntegrationAccountResponseAttributes + */ + @JsonAnySetter + public ElasticCloudIntegrationAccountResponseAttributes 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 ElasticCloudIntegrationAccountResponseAttributes object is equal to o. */ + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + ElasticCloudIntegrationAccountResponseAttributes + elasticCloudIntegrationAccountResponseAttributes = + (ElasticCloudIntegrationAccountResponseAttributes) o; + return Objects.equals( + this.authentication, elasticCloudIntegrationAccountResponseAttributes.authentication) + && Objects.equals( + this.dataflows, elasticCloudIntegrationAccountResponseAttributes.dataflows) + && Objects.equals(this.name, elasticCloudIntegrationAccountResponseAttributes.name) + && Objects.equals(this.settings, elasticCloudIntegrationAccountResponseAttributes.settings) + && Objects.equals( + this.additionalProperties, + elasticCloudIntegrationAccountResponseAttributes.additionalProperties); + } + + @Override + public int hashCode() { + return Objects.hash(authentication, dataflows, name, settings, additionalProperties); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class ElasticCloudIntegrationAccountResponseAttributes {\n"); + sb.append(" authentication: ").append(toIndentedString(authentication)).append("\n"); + sb.append(" dataflows: ").append(toIndentedString(dataflows)).append("\n"); + sb.append(" name: ").append(toIndentedString(name)).append("\n"); + sb.append(" settings: ").append(toIndentedString(settings)).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/ElasticCloudIntegrationAccountResponseData.java b/src/main/java/com/datadog/api/client/v2/model/ElasticCloudIntegrationAccountResponseData.java new file mode 100644 index 00000000000..90a16029e98 --- /dev/null +++ b/src/main/java/com/datadog/api/client/v2/model/ElasticCloudIntegrationAccountResponseData.java @@ -0,0 +1,208 @@ +/* + * Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License. + * This product includes software developed at Datadog (https://www.datadoghq.com/). + * Copyright 2019-Present Datadog, Inc. + */ + +package com.datadog.api.client.v2.model; + +import com.fasterxml.jackson.annotation.JsonAnyGetter; +import com.fasterxml.jackson.annotation.JsonAnySetter; +import com.fasterxml.jackson.annotation.JsonCreator; +import com.fasterxml.jackson.annotation.JsonIgnore; +import com.fasterxml.jackson.annotation.JsonInclude; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.annotation.JsonPropertyOrder; +import java.util.HashMap; +import java.util.Map; +import java.util.Objects; + +/** Data envelope of an Elastic Cloud integration account, including server-assigned identity. */ +@JsonPropertyOrder({ + ElasticCloudIntegrationAccountResponseData.JSON_PROPERTY_ATTRIBUTES, + ElasticCloudIntegrationAccountResponseData.JSON_PROPERTY_ID, + ElasticCloudIntegrationAccountResponseData.JSON_PROPERTY_TYPE +}) +@jakarta.annotation.Generated( + value = "https://github.com/DataDog/datadog-api-client-java/blob/master/.generator") +public class ElasticCloudIntegrationAccountResponseData { + @JsonIgnore public boolean unparsed = false; + public static final String JSON_PROPERTY_ATTRIBUTES = "attributes"; + private ElasticCloudIntegrationAccountResponseAttributes attributes; + + public static final String JSON_PROPERTY_ID = "id"; + private String id; + + public static final String JSON_PROPERTY_TYPE = "type"; + private IntegrationAccountType type = IntegrationAccountType.INTEGRATION_ACCOUNT; + + public ElasticCloudIntegrationAccountResponseData() {} + + @JsonCreator + public ElasticCloudIntegrationAccountResponseData( + @JsonProperty(required = true, value = JSON_PROPERTY_ATTRIBUTES) + ElasticCloudIntegrationAccountResponseAttributes attributes, + @JsonProperty(required = true, value = JSON_PROPERTY_ID) String id, + @JsonProperty(required = true, value = JSON_PROPERTY_TYPE) IntegrationAccountType type) { + this.attributes = attributes; + this.unparsed |= attributes.unparsed; + this.id = id; + this.type = type; + this.unparsed |= !type.isValid(); + } + + public ElasticCloudIntegrationAccountResponseData attributes( + ElasticCloudIntegrationAccountResponseAttributes attributes) { + this.attributes = attributes; + this.unparsed |= attributes.unparsed; + return this; + } + + /** + * Attributes of an Elastic Cloud integration account returned in responses. + * + * @return attributes + */ + @JsonProperty(JSON_PROPERTY_ATTRIBUTES) + @JsonInclude(value = JsonInclude.Include.ALWAYS) + public ElasticCloudIntegrationAccountResponseAttributes getAttributes() { + return attributes; + } + + public void setAttributes(ElasticCloudIntegrationAccountResponseAttributes attributes) { + this.attributes = attributes; + if (attributes != null) { + this.unparsed |= attributes.unparsed; + } + } + + /** + * Server-generated unique identifier of the Elastic Cloud integration account. + * + * @return id + */ + @JsonProperty(JSON_PROPERTY_ID) + @JsonInclude(value = JsonInclude.Include.ALWAYS) + public String getId() { + return id; + } + + public ElasticCloudIntegrationAccountResponseData type(IntegrationAccountType type) { + this.type = type; + this.unparsed |= !type.isValid(); + return this; + } + + /** + * The type of the integration account resource. Always integration-account. + * + * @return type + */ + @JsonProperty(JSON_PROPERTY_TYPE) + @JsonInclude(value = JsonInclude.Include.ALWAYS) + public IntegrationAccountType getType() { + return type; + } + + public void setType(IntegrationAccountType type) { + if (!type.isValid()) { + this.unparsed = true; + } + this.type = type; + } + + /** + * A container for additional, undeclared properties. This is a holder for any undeclared + * properties as specified with the 'additionalProperties' keyword in the OAS document. + */ + private Map additionalProperties; + + /** + * Set the additional (undeclared) property with the specified name and value. If the property + * does not already exist, create it otherwise replace it. + * + * @param key The arbitrary key to set + * @param value The associated value + * @return ElasticCloudIntegrationAccountResponseData + */ + @JsonAnySetter + public ElasticCloudIntegrationAccountResponseData 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 ElasticCloudIntegrationAccountResponseData object is equal to o. */ + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + ElasticCloudIntegrationAccountResponseData elasticCloudIntegrationAccountResponseData = + (ElasticCloudIntegrationAccountResponseData) o; + return Objects.equals(this.attributes, elasticCloudIntegrationAccountResponseData.attributes) + && Objects.equals(this.id, elasticCloudIntegrationAccountResponseData.id) + && Objects.equals(this.type, elasticCloudIntegrationAccountResponseData.type) + && Objects.equals( + this.additionalProperties, + elasticCloudIntegrationAccountResponseData.additionalProperties); + } + + @Override + public int hashCode() { + return Objects.hash(attributes, id, type, additionalProperties); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class ElasticCloudIntegrationAccountResponseData {\n"); + sb.append(" attributes: ").append(toIndentedString(attributes)).append("\n"); + sb.append(" id: ").append(toIndentedString(id)).append("\n"); + sb.append(" type: ").append(toIndentedString(type)).append("\n"); + sb.append(" additionalProperties: ") + .append(toIndentedString(additionalProperties)) + .append("\n"); + sb.append('}'); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } +} diff --git a/src/main/java/com/datadog/api/client/v2/model/ElasticCloudIntegrationAccountSettingsRequest.java b/src/main/java/com/datadog/api/client/v2/model/ElasticCloudIntegrationAccountSettingsRequest.java new file mode 100644 index 00000000000..fb340a4c233 --- /dev/null +++ b/src/main/java/com/datadog/api/client/v2/model/ElasticCloudIntegrationAccountSettingsRequest.java @@ -0,0 +1,176 @@ +/* + * Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License. + * This product includes software developed at Datadog (https://www.datadoghq.com/). + * Copyright 2019-Present Datadog, Inc. + */ + +package com.datadog.api.client.v2.model; + +import com.fasterxml.jackson.annotation.JsonAnyGetter; +import com.fasterxml.jackson.annotation.JsonAnySetter; +import com.fasterxml.jackson.annotation.JsonCreator; +import com.fasterxml.jackson.annotation.JsonIgnore; +import com.fasterxml.jackson.annotation.JsonInclude; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.annotation.JsonPropertyOrder; +import java.util.HashMap; +import java.util.Map; +import java.util.Objects; + +/** Settings for creating the Elastic Cloud integration account. */ +@JsonPropertyOrder({ + ElasticCloudIntegrationAccountSettingsRequest.JSON_PROPERTY_TAGS, + ElasticCloudIntegrationAccountSettingsRequest.JSON_PROPERTY_URL +}) +@jakarta.annotation.Generated( + value = "https://github.com/DataDog/datadog-api-client-java/blob/master/.generator") +public class ElasticCloudIntegrationAccountSettingsRequest { + @JsonIgnore public boolean unparsed = false; + public static final String JSON_PROPERTY_TAGS = "tags"; + private String tags; + + public static final String JSON_PROPERTY_URL = "url"; + private String url; + + public ElasticCloudIntegrationAccountSettingsRequest() {} + + @JsonCreator + public ElasticCloudIntegrationAccountSettingsRequest( + @JsonProperty(required = true, value = JSON_PROPERTY_URL) String url) { + this.url = url; + } + + public ElasticCloudIntegrationAccountSettingsRequest tags(String tags) { + this.tags = tags; + return this; + } + + /** + * Comma-separated list of custom tags for this Elastic Cloud deployment. + * + * @return tags + */ + @jakarta.annotation.Nullable + @JsonProperty(JSON_PROPERTY_TAGS) + @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) + public String getTags() { + return tags; + } + + public void setTags(String tags) { + this.tags = tags; + } + + public ElasticCloudIntegrationAccountSettingsRequest url(String url) { + this.url = url; + return this; + } + + /** + * Elastic Cloud deployment URL. + * + * @return url + */ + @JsonProperty(JSON_PROPERTY_URL) + @JsonInclude(value = JsonInclude.Include.ALWAYS) + public String getUrl() { + return url; + } + + public void setUrl(String url) { + this.url = url; + } + + /** + * 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 ElasticCloudIntegrationAccountSettingsRequest + */ + @JsonAnySetter + public ElasticCloudIntegrationAccountSettingsRequest 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 ElasticCloudIntegrationAccountSettingsRequest object is equal to o. */ + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + ElasticCloudIntegrationAccountSettingsRequest elasticCloudIntegrationAccountSettingsRequest = + (ElasticCloudIntegrationAccountSettingsRequest) o; + return Objects.equals(this.tags, elasticCloudIntegrationAccountSettingsRequest.tags) + && Objects.equals(this.url, elasticCloudIntegrationAccountSettingsRequest.url) + && Objects.equals( + this.additionalProperties, + elasticCloudIntegrationAccountSettingsRequest.additionalProperties); + } + + @Override + public int hashCode() { + return Objects.hash(tags, url, additionalProperties); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class ElasticCloudIntegrationAccountSettingsRequest {\n"); + sb.append(" tags: ").append(toIndentedString(tags)).append("\n"); + sb.append(" url: ").append(toIndentedString(url)).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/ElasticCloudIntegrationAccountSettingsResponse.java b/src/main/java/com/datadog/api/client/v2/model/ElasticCloudIntegrationAccountSettingsResponse.java new file mode 100644 index 00000000000..e931c4d4a36 --- /dev/null +++ b/src/main/java/com/datadog/api/client/v2/model/ElasticCloudIntegrationAccountSettingsResponse.java @@ -0,0 +1,176 @@ +/* + * Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License. + * This product includes software developed at Datadog (https://www.datadoghq.com/). + * Copyright 2019-Present Datadog, Inc. + */ + +package com.datadog.api.client.v2.model; + +import com.fasterxml.jackson.annotation.JsonAnyGetter; +import com.fasterxml.jackson.annotation.JsonAnySetter; +import com.fasterxml.jackson.annotation.JsonCreator; +import com.fasterxml.jackson.annotation.JsonIgnore; +import com.fasterxml.jackson.annotation.JsonInclude; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.annotation.JsonPropertyOrder; +import java.util.HashMap; +import java.util.Map; +import java.util.Objects; + +/** Settings configured on the Elastic Cloud integration account. */ +@JsonPropertyOrder({ + ElasticCloudIntegrationAccountSettingsResponse.JSON_PROPERTY_TAGS, + ElasticCloudIntegrationAccountSettingsResponse.JSON_PROPERTY_URL +}) +@jakarta.annotation.Generated( + value = "https://github.com/DataDog/datadog-api-client-java/blob/master/.generator") +public class ElasticCloudIntegrationAccountSettingsResponse { + @JsonIgnore public boolean unparsed = false; + public static final String JSON_PROPERTY_TAGS = "tags"; + private String tags; + + public static final String JSON_PROPERTY_URL = "url"; + private String url; + + public ElasticCloudIntegrationAccountSettingsResponse() {} + + @JsonCreator + public ElasticCloudIntegrationAccountSettingsResponse( + @JsonProperty(required = true, value = JSON_PROPERTY_URL) String url) { + this.url = url; + } + + public ElasticCloudIntegrationAccountSettingsResponse tags(String tags) { + this.tags = tags; + return this; + } + + /** + * Comma-separated list of custom tags for this Elastic Cloud deployment. + * + * @return tags + */ + @jakarta.annotation.Nullable + @JsonProperty(JSON_PROPERTY_TAGS) + @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) + public String getTags() { + return tags; + } + + public void setTags(String tags) { + this.tags = tags; + } + + public ElasticCloudIntegrationAccountSettingsResponse url(String url) { + this.url = url; + return this; + } + + /** + * Elastic Cloud deployment URL. + * + * @return url + */ + @JsonProperty(JSON_PROPERTY_URL) + @JsonInclude(value = JsonInclude.Include.ALWAYS) + public String getUrl() { + return url; + } + + public void setUrl(String url) { + this.url = url; + } + + /** + * 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 ElasticCloudIntegrationAccountSettingsResponse + */ + @JsonAnySetter + public ElasticCloudIntegrationAccountSettingsResponse 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 ElasticCloudIntegrationAccountSettingsResponse object is equal to o. */ + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + ElasticCloudIntegrationAccountSettingsResponse elasticCloudIntegrationAccountSettingsResponse = + (ElasticCloudIntegrationAccountSettingsResponse) o; + return Objects.equals(this.tags, elasticCloudIntegrationAccountSettingsResponse.tags) + && Objects.equals(this.url, elasticCloudIntegrationAccountSettingsResponse.url) + && Objects.equals( + this.additionalProperties, + elasticCloudIntegrationAccountSettingsResponse.additionalProperties); + } + + @Override + public int hashCode() { + return Objects.hash(tags, url, additionalProperties); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class ElasticCloudIntegrationAccountSettingsResponse {\n"); + sb.append(" tags: ").append(toIndentedString(tags)).append("\n"); + sb.append(" url: ").append(toIndentedString(url)).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/ElasticCloudIntegrationAccountSettingsUpdate.java b/src/main/java/com/datadog/api/client/v2/model/ElasticCloudIntegrationAccountSettingsUpdate.java new file mode 100644 index 00000000000..5957923e18f --- /dev/null +++ b/src/main/java/com/datadog/api/client/v2/model/ElasticCloudIntegrationAccountSettingsUpdate.java @@ -0,0 +1,171 @@ +/* + * 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; + +/** + * Settings for updating the Elastic Cloud integration account. Only the fields provided are + * changed. + */ +@JsonPropertyOrder({ + ElasticCloudIntegrationAccountSettingsUpdate.JSON_PROPERTY_TAGS, + ElasticCloudIntegrationAccountSettingsUpdate.JSON_PROPERTY_URL +}) +@jakarta.annotation.Generated( + value = "https://github.com/DataDog/datadog-api-client-java/blob/master/.generator") +public class ElasticCloudIntegrationAccountSettingsUpdate { + @JsonIgnore public boolean unparsed = false; + public static final String JSON_PROPERTY_TAGS = "tags"; + private String tags; + + public static final String JSON_PROPERTY_URL = "url"; + private String url; + + public ElasticCloudIntegrationAccountSettingsUpdate tags(String tags) { + this.tags = tags; + return this; + } + + /** + * Comma-separated list of custom tags for this Elastic Cloud deployment. + * + * @return tags + */ + @jakarta.annotation.Nullable + @JsonProperty(JSON_PROPERTY_TAGS) + @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) + public String getTags() { + return tags; + } + + public void setTags(String tags) { + this.tags = tags; + } + + public ElasticCloudIntegrationAccountSettingsUpdate url(String url) { + this.url = url; + return this; + } + + /** + * Elastic Cloud deployment URL. + * + * @return url + */ + @jakarta.annotation.Nullable + @JsonProperty(JSON_PROPERTY_URL) + @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) + public String getUrl() { + return url; + } + + public void setUrl(String url) { + this.url = url; + } + + /** + * 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 ElasticCloudIntegrationAccountSettingsUpdate + */ + @JsonAnySetter + public ElasticCloudIntegrationAccountSettingsUpdate 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 ElasticCloudIntegrationAccountSettingsUpdate object is equal to o. */ + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + ElasticCloudIntegrationAccountSettingsUpdate elasticCloudIntegrationAccountSettingsUpdate = + (ElasticCloudIntegrationAccountSettingsUpdate) o; + return Objects.equals(this.tags, elasticCloudIntegrationAccountSettingsUpdate.tags) + && Objects.equals(this.url, elasticCloudIntegrationAccountSettingsUpdate.url) + && Objects.equals( + this.additionalProperties, + elasticCloudIntegrationAccountSettingsUpdate.additionalProperties); + } + + @Override + public int hashCode() { + return Objects.hash(tags, url, additionalProperties); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class ElasticCloudIntegrationAccountSettingsUpdate {\n"); + sb.append(" tags: ").append(toIndentedString(tags)).append("\n"); + sb.append(" url: ").append(toIndentedString(url)).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/ElasticCloudIntegrationAccountUpdateAttributes.java b/src/main/java/com/datadog/api/client/v2/model/ElasticCloudIntegrationAccountUpdateAttributes.java new file mode 100644 index 00000000000..7e3073ddc3f --- /dev/null +++ b/src/main/java/com/datadog/api/client/v2/model/ElasticCloudIntegrationAccountUpdateAttributes.java @@ -0,0 +1,244 @@ +/* + * 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; + +/** + * 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. + */ +@JsonPropertyOrder({ + ElasticCloudIntegrationAccountUpdateAttributes.JSON_PROPERTY_AUTHENTICATION, + ElasticCloudIntegrationAccountUpdateAttributes.JSON_PROPERTY_DATAFLOWS, + ElasticCloudIntegrationAccountUpdateAttributes.JSON_PROPERTY_NAME, + ElasticCloudIntegrationAccountUpdateAttributes.JSON_PROPERTY_SETTINGS +}) +@jakarta.annotation.Generated( + value = "https://github.com/DataDog/datadog-api-client-java/blob/master/.generator") +public class ElasticCloudIntegrationAccountUpdateAttributes { + @JsonIgnore public boolean unparsed = false; + public static final String JSON_PROPERTY_AUTHENTICATION = "authentication"; + private ElasticCloudIntegrationAccountAuthenticationUpdate authentication; + + public static final String JSON_PROPERTY_DATAFLOWS = "dataflows"; + private ElasticCloudIntegrationDataflowsRequest dataflows; + + public static final String JSON_PROPERTY_NAME = "name"; + private String name; + + public static final String JSON_PROPERTY_SETTINGS = "settings"; + private ElasticCloudIntegrationAccountSettingsUpdate settings; + + public ElasticCloudIntegrationAccountUpdateAttributes authentication( + ElasticCloudIntegrationAccountAuthenticationUpdate authentication) { + this.authentication = authentication; + this.unparsed |= authentication.unparsed; + return this; + } + + /** + * Authentication for updating the Elastic Cloud integration account. Exactly one method is set. + * + * @return authentication + */ + @jakarta.annotation.Nullable + @JsonProperty(JSON_PROPERTY_AUTHENTICATION) + @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) + public ElasticCloudIntegrationAccountAuthenticationUpdate getAuthentication() { + return authentication; + } + + public void setAuthentication(ElasticCloudIntegrationAccountAuthenticationUpdate authentication) { + this.authentication = authentication; + if (authentication != null) { + this.unparsed |= authentication.unparsed; + } + } + + public ElasticCloudIntegrationAccountUpdateAttributes dataflows( + ElasticCloudIntegrationDataflowsRequest dataflows) { + this.dataflows = dataflows; + this.unparsed |= dataflows.unparsed; + return this; + } + + /** + * Dataflows to configure on the Elastic Cloud integration account, keyed by dataflow id. + * + * @return dataflows + */ + @jakarta.annotation.Nullable + @JsonProperty(JSON_PROPERTY_DATAFLOWS) + @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) + public ElasticCloudIntegrationDataflowsRequest getDataflows() { + return dataflows; + } + + public void setDataflows(ElasticCloudIntegrationDataflowsRequest dataflows) { + this.dataflows = dataflows; + if (dataflows != null) { + this.unparsed |= dataflows.unparsed; + } + } + + public ElasticCloudIntegrationAccountUpdateAttributes name(String name) { + this.name = name; + return this; + } + + /** + * Human-readable name of the Elastic Cloud integration account. + * + * @return name + */ + @jakarta.annotation.Nullable + @JsonProperty(JSON_PROPERTY_NAME) + @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) + public String getName() { + return name; + } + + public void setName(String name) { + this.name = name; + } + + public ElasticCloudIntegrationAccountUpdateAttributes settings( + ElasticCloudIntegrationAccountSettingsUpdate settings) { + this.settings = settings; + this.unparsed |= settings.unparsed; + return this; + } + + /** + * Settings for updating the Elastic Cloud integration account. Only the fields provided are + * changed. + * + * @return settings + */ + @jakarta.annotation.Nullable + @JsonProperty(JSON_PROPERTY_SETTINGS) + @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) + public ElasticCloudIntegrationAccountSettingsUpdate getSettings() { + return settings; + } + + public void setSettings(ElasticCloudIntegrationAccountSettingsUpdate settings) { + this.settings = settings; + if (settings != null) { + this.unparsed |= settings.unparsed; + } + } + + /** + * 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 ElasticCloudIntegrationAccountUpdateAttributes + */ + @JsonAnySetter + public ElasticCloudIntegrationAccountUpdateAttributes 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 ElasticCloudIntegrationAccountUpdateAttributes object is equal to o. */ + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + ElasticCloudIntegrationAccountUpdateAttributes elasticCloudIntegrationAccountUpdateAttributes = + (ElasticCloudIntegrationAccountUpdateAttributes) o; + return Objects.equals( + this.authentication, elasticCloudIntegrationAccountUpdateAttributes.authentication) + && Objects.equals(this.dataflows, elasticCloudIntegrationAccountUpdateAttributes.dataflows) + && Objects.equals(this.name, elasticCloudIntegrationAccountUpdateAttributes.name) + && Objects.equals(this.settings, elasticCloudIntegrationAccountUpdateAttributes.settings) + && Objects.equals( + this.additionalProperties, + elasticCloudIntegrationAccountUpdateAttributes.additionalProperties); + } + + @Override + public int hashCode() { + return Objects.hash(authentication, dataflows, name, settings, additionalProperties); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class ElasticCloudIntegrationAccountUpdateAttributes {\n"); + sb.append(" authentication: ").append(toIndentedString(authentication)).append("\n"); + sb.append(" dataflows: ").append(toIndentedString(dataflows)).append("\n"); + sb.append(" name: ").append(toIndentedString(name)).append("\n"); + sb.append(" settings: ").append(toIndentedString(settings)).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/ElasticCloudIntegrationAccountUpdateData.java b/src/main/java/com/datadog/api/client/v2/model/ElasticCloudIntegrationAccountUpdateData.java new file mode 100644 index 00000000000..015318b8c73 --- /dev/null +++ b/src/main/java/com/datadog/api/client/v2/model/ElasticCloudIntegrationAccountUpdateData.java @@ -0,0 +1,219 @@ +/* + * Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License. + * This product includes software developed at Datadog (https://www.datadoghq.com/). + * Copyright 2019-Present Datadog, Inc. + */ + +package com.datadog.api.client.v2.model; + +import com.fasterxml.jackson.annotation.JsonAnyGetter; +import com.fasterxml.jackson.annotation.JsonAnySetter; +import com.fasterxml.jackson.annotation.JsonCreator; +import com.fasterxml.jackson.annotation.JsonIgnore; +import com.fasterxml.jackson.annotation.JsonInclude; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.annotation.JsonPropertyOrder; +import java.util.HashMap; +import java.util.Map; +import java.util.Objects; + +/** Data envelope for updating an Elastic Cloud integration account. */ +@JsonPropertyOrder({ + ElasticCloudIntegrationAccountUpdateData.JSON_PROPERTY_ATTRIBUTES, + ElasticCloudIntegrationAccountUpdateData.JSON_PROPERTY_ID, + ElasticCloudIntegrationAccountUpdateData.JSON_PROPERTY_TYPE +}) +@jakarta.annotation.Generated( + value = "https://github.com/DataDog/datadog-api-client-java/blob/master/.generator") +public class ElasticCloudIntegrationAccountUpdateData { + @JsonIgnore public boolean unparsed = false; + public static final String JSON_PROPERTY_ATTRIBUTES = "attributes"; + private ElasticCloudIntegrationAccountUpdateAttributes attributes; + + public static final String JSON_PROPERTY_ID = "id"; + private String id; + + public static final String JSON_PROPERTY_TYPE = "type"; + private IntegrationAccountType type = IntegrationAccountType.INTEGRATION_ACCOUNT; + + public ElasticCloudIntegrationAccountUpdateData() {} + + @JsonCreator + public ElasticCloudIntegrationAccountUpdateData( + @JsonProperty(required = true, value = JSON_PROPERTY_ATTRIBUTES) + ElasticCloudIntegrationAccountUpdateAttributes attributes, + @JsonProperty(required = true, value = JSON_PROPERTY_ID) String id, + @JsonProperty(required = true, value = JSON_PROPERTY_TYPE) IntegrationAccountType type) { + this.attributes = attributes; + this.unparsed |= attributes.unparsed; + this.id = id; + this.type = type; + this.unparsed |= !type.isValid(); + } + + public ElasticCloudIntegrationAccountUpdateData attributes( + ElasticCloudIntegrationAccountUpdateAttributes attributes) { + this.attributes = attributes; + this.unparsed |= attributes.unparsed; + return this; + } + + /** + * 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. + * + * @return attributes + */ + @JsonProperty(JSON_PROPERTY_ATTRIBUTES) + @JsonInclude(value = JsonInclude.Include.ALWAYS) + public ElasticCloudIntegrationAccountUpdateAttributes getAttributes() { + return attributes; + } + + public void setAttributes(ElasticCloudIntegrationAccountUpdateAttributes attributes) { + this.attributes = attributes; + if (attributes != null) { + this.unparsed |= attributes.unparsed; + } + } + + public ElasticCloudIntegrationAccountUpdateData id(String id) { + this.id = id; + return this; + } + + /** + * Unique identifier of the Elastic Cloud integration account to update. + * + * @return id + */ + @JsonProperty(JSON_PROPERTY_ID) + @JsonInclude(value = JsonInclude.Include.ALWAYS) + public String getId() { + return id; + } + + public void setId(String id) { + this.id = id; + } + + public ElasticCloudIntegrationAccountUpdateData type(IntegrationAccountType type) { + this.type = type; + this.unparsed |= !type.isValid(); + return this; + } + + /** + * The type of the integration account resource. Always integration-account. + * + * @return type + */ + @JsonProperty(JSON_PROPERTY_TYPE) + @JsonInclude(value = JsonInclude.Include.ALWAYS) + public IntegrationAccountType getType() { + return type; + } + + public void setType(IntegrationAccountType type) { + if (!type.isValid()) { + this.unparsed = true; + } + this.type = type; + } + + /** + * A container for additional, undeclared properties. This is a holder for any undeclared + * properties as specified with the 'additionalProperties' keyword in the OAS document. + */ + private Map additionalProperties; + + /** + * Set the additional (undeclared) property with the specified name and value. If the property + * does not already exist, create it otherwise replace it. + * + * @param key The arbitrary key to set + * @param value The associated value + * @return ElasticCloudIntegrationAccountUpdateData + */ + @JsonAnySetter + public ElasticCloudIntegrationAccountUpdateData 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 ElasticCloudIntegrationAccountUpdateData object is equal to o. */ + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + ElasticCloudIntegrationAccountUpdateData elasticCloudIntegrationAccountUpdateData = + (ElasticCloudIntegrationAccountUpdateData) o; + return Objects.equals(this.attributes, elasticCloudIntegrationAccountUpdateData.attributes) + && Objects.equals(this.id, elasticCloudIntegrationAccountUpdateData.id) + && Objects.equals(this.type, elasticCloudIntegrationAccountUpdateData.type) + && Objects.equals( + this.additionalProperties, + elasticCloudIntegrationAccountUpdateData.additionalProperties); + } + + @Override + public int hashCode() { + return Objects.hash(attributes, id, type, additionalProperties); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class ElasticCloudIntegrationAccountUpdateData {\n"); + sb.append(" attributes: ").append(toIndentedString(attributes)).append("\n"); + sb.append(" id: ").append(toIndentedString(id)).append("\n"); + sb.append(" type: ").append(toIndentedString(type)).append("\n"); + sb.append(" additionalProperties: ") + .append(toIndentedString(additionalProperties)) + .append("\n"); + sb.append('}'); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } +} diff --git a/src/main/java/com/datadog/api/client/v2/model/ElasticCloudIntegrationAccountUpdateRequest.java b/src/main/java/com/datadog/api/client/v2/model/ElasticCloudIntegrationAccountUpdateRequest.java new file mode 100644 index 00000000000..1994c887bb2 --- /dev/null +++ b/src/main/java/com/datadog/api/client/v2/model/ElasticCloudIntegrationAccountUpdateRequest.java @@ -0,0 +1,154 @@ +/* + * Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License. + * This product includes software developed at Datadog (https://www.datadoghq.com/). + * Copyright 2019-Present Datadog, Inc. + */ + +package com.datadog.api.client.v2.model; + +import com.fasterxml.jackson.annotation.JsonAnyGetter; +import com.fasterxml.jackson.annotation.JsonAnySetter; +import com.fasterxml.jackson.annotation.JsonCreator; +import com.fasterxml.jackson.annotation.JsonIgnore; +import com.fasterxml.jackson.annotation.JsonInclude; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.annotation.JsonPropertyOrder; +import java.util.HashMap; +import java.util.Map; +import java.util.Objects; + +/** Request payload to update an Elastic Cloud integration account. */ +@JsonPropertyOrder({ElasticCloudIntegrationAccountUpdateRequest.JSON_PROPERTY_DATA}) +@jakarta.annotation.Generated( + value = "https://github.com/DataDog/datadog-api-client-java/blob/master/.generator") +public class ElasticCloudIntegrationAccountUpdateRequest { + @JsonIgnore public boolean unparsed = false; + public static final String JSON_PROPERTY_DATA = "data"; + private ElasticCloudIntegrationAccountUpdateData data; + + public ElasticCloudIntegrationAccountUpdateRequest() {} + + @JsonCreator + public ElasticCloudIntegrationAccountUpdateRequest( + @JsonProperty(required = true, value = JSON_PROPERTY_DATA) + ElasticCloudIntegrationAccountUpdateData data) { + this.data = data; + this.unparsed |= data.unparsed; + } + + public ElasticCloudIntegrationAccountUpdateRequest data( + ElasticCloudIntegrationAccountUpdateData data) { + this.data = data; + this.unparsed |= data.unparsed; + return this; + } + + /** + * Data envelope for updating an Elastic Cloud integration account. + * + * @return data + */ + @JsonProperty(JSON_PROPERTY_DATA) + @JsonInclude(value = JsonInclude.Include.ALWAYS) + public ElasticCloudIntegrationAccountUpdateData getData() { + return data; + } + + public void setData(ElasticCloudIntegrationAccountUpdateData data) { + this.data = data; + if (data != null) { + this.unparsed |= data.unparsed; + } + } + + /** + * 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 ElasticCloudIntegrationAccountUpdateRequest + */ + @JsonAnySetter + public ElasticCloudIntegrationAccountUpdateRequest 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 ElasticCloudIntegrationAccountUpdateRequest object is equal to o. */ + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + ElasticCloudIntegrationAccountUpdateRequest elasticCloudIntegrationAccountUpdateRequest = + (ElasticCloudIntegrationAccountUpdateRequest) o; + return Objects.equals(this.data, elasticCloudIntegrationAccountUpdateRequest.data) + && Objects.equals( + this.additionalProperties, + elasticCloudIntegrationAccountUpdateRequest.additionalProperties); + } + + @Override + public int hashCode() { + return Objects.hash(data, additionalProperties); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class ElasticCloudIntegrationAccountUpdateRequest {\n"); + sb.append(" data: ").append(toIndentedString(data)).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/ElasticCloudIntegrationAccountsResponse.java b/src/main/java/com/datadog/api/client/v2/model/ElasticCloudIntegrationAccountsResponse.java new file mode 100644 index 00000000000..41c06247c9d --- /dev/null +++ b/src/main/java/com/datadog/api/client/v2/model/ElasticCloudIntegrationAccountsResponse.java @@ -0,0 +1,168 @@ +/* + * Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License. + * This product includes software developed at Datadog (https://www.datadoghq.com/). + * Copyright 2019-Present Datadog, Inc. + */ + +package com.datadog.api.client.v2.model; + +import com.fasterxml.jackson.annotation.JsonAnyGetter; +import com.fasterxml.jackson.annotation.JsonAnySetter; +import com.fasterxml.jackson.annotation.JsonCreator; +import com.fasterxml.jackson.annotation.JsonIgnore; +import com.fasterxml.jackson.annotation.JsonInclude; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.annotation.JsonPropertyOrder; +import java.util.ArrayList; +import java.util.HashMap; +import java.util.List; +import java.util.Map; +import java.util.Objects; + +/** Response payload for a list of Elastic Cloud integration accounts. */ +@JsonPropertyOrder({ElasticCloudIntegrationAccountsResponse.JSON_PROPERTY_DATA}) +@jakarta.annotation.Generated( + value = "https://github.com/DataDog/datadog-api-client-java/blob/master/.generator") +public class ElasticCloudIntegrationAccountsResponse { + @JsonIgnore public boolean unparsed = false; + public static final String JSON_PROPERTY_DATA = "data"; + private List data = new ArrayList<>(); + + public ElasticCloudIntegrationAccountsResponse() {} + + @JsonCreator + public ElasticCloudIntegrationAccountsResponse( + @JsonProperty(required = true, value = JSON_PROPERTY_DATA) + List data) { + this.data = data; + for (ElasticCloudIntegrationAccountResponseData item : data) { + this.unparsed |= item.unparsed; + } + } + + public ElasticCloudIntegrationAccountsResponse data( + List data) { + this.data = data; + for (ElasticCloudIntegrationAccountResponseData item : data) { + this.unparsed |= item.unparsed; + } + return this; + } + + public ElasticCloudIntegrationAccountsResponse addDataItem( + ElasticCloudIntegrationAccountResponseData dataItem) { + this.data.add(dataItem); + this.unparsed |= dataItem.unparsed; + return this; + } + + /** + * List of Elastic Cloud integration accounts. + * + * @return data + */ + @JsonProperty(JSON_PROPERTY_DATA) + @JsonInclude(value = JsonInclude.Include.ALWAYS) + public List getData() { + return data; + } + + public void setData(List data) { + this.data = data; + if (data != null) { + for (ElasticCloudIntegrationAccountResponseData item : data) { + this.unparsed |= item.unparsed; + } + } + } + + /** + * 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 ElasticCloudIntegrationAccountsResponse + */ + @JsonAnySetter + public ElasticCloudIntegrationAccountsResponse 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 ElasticCloudIntegrationAccountsResponse object is equal to o. */ + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + ElasticCloudIntegrationAccountsResponse elasticCloudIntegrationAccountsResponse = + (ElasticCloudIntegrationAccountsResponse) o; + return Objects.equals(this.data, elasticCloudIntegrationAccountsResponse.data) + && Objects.equals( + this.additionalProperties, + elasticCloudIntegrationAccountsResponse.additionalProperties); + } + + @Override + public int hashCode() { + return Objects.hash(data, additionalProperties); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class ElasticCloudIntegrationAccountsResponse {\n"); + sb.append(" data: ").append(toIndentedString(data)).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/ElasticCloudIntegrationDataflowsRequest.java b/src/main/java/com/datadog/api/client/v2/model/ElasticCloudIntegrationDataflowsRequest.java new file mode 100644 index 00000000000..242fc368261 --- /dev/null +++ b/src/main/java/com/datadog/api/client/v2/model/ElasticCloudIntegrationDataflowsRequest.java @@ -0,0 +1,337 @@ +/* + * 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.JsonIgnore; +import com.fasterxml.jackson.annotation.JsonInclude; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.annotation.JsonPropertyOrder; +import java.util.Objects; + +/** Dataflows to configure on the Elastic Cloud integration account, keyed by dataflow id. */ +@JsonPropertyOrder({ + ElasticCloudIntegrationDataflowsRequest.JSON_PROPERTY_ELASTIC_CLOUD_DETAILED_INDEX_STATS, + ElasticCloudIntegrationDataflowsRequest.JSON_PROPERTY_ELASTIC_CLOUD_INDEX_STATS, + ElasticCloudIntegrationDataflowsRequest.JSON_PROPERTY_ELASTIC_CLOUD_PENDING_TASK_STATS, + ElasticCloudIntegrationDataflowsRequest + .JSON_PROPERTY_ELASTIC_CLOUD_PRIMARY_SHARD_GRACEFUL_TIMEOUT, + ElasticCloudIntegrationDataflowsRequest.JSON_PROPERTY_ELASTIC_CLOUD_PRIMARY_SHARD_STATS, + ElasticCloudIntegrationDataflowsRequest.JSON_PROPERTY_ELASTIC_CLOUD_SHARD_ALLOCATION_STATS, + ElasticCloudIntegrationDataflowsRequest.JSON_PROPERTY_ELASTIC_CLOUD_SLM_STATS +}) +@jakarta.annotation.Generated( + value = "https://github.com/DataDog/datadog-api-client-java/blob/master/.generator") +public class ElasticCloudIntegrationDataflowsRequest { + @JsonIgnore public boolean unparsed = false; + public static final String JSON_PROPERTY_ELASTIC_CLOUD_DETAILED_INDEX_STATS = + "elastic-cloud-detailed-index-stats"; + private ElasticCloudDetailedIndexStatsIntegrationDataflowRequest elasticCloudDetailedIndexStats; + + public static final String JSON_PROPERTY_ELASTIC_CLOUD_INDEX_STATS = "elastic-cloud-index-stats"; + private ElasticCloudIndexStatsIntegrationDataflowRequest elasticCloudIndexStats; + + public static final String JSON_PROPERTY_ELASTIC_CLOUD_PENDING_TASK_STATS = + "elastic-cloud-pending-task-stats"; + private ElasticCloudPendingTaskStatsIntegrationDataflowRequest elasticCloudPendingTaskStats; + + public static final String JSON_PROPERTY_ELASTIC_CLOUD_PRIMARY_SHARD_GRACEFUL_TIMEOUT = + "elastic-cloud-primary-shard-graceful-timeout"; + private ElasticCloudPrimaryShardGracefulTimeoutIntegrationDataflowRequest + elasticCloudPrimaryShardGracefulTimeout; + + public static final String JSON_PROPERTY_ELASTIC_CLOUD_PRIMARY_SHARD_STATS = + "elastic-cloud-primary-shard-stats"; + private ElasticCloudPrimaryShardStatsIntegrationDataflowRequest elasticCloudPrimaryShardStats; + + public static final String JSON_PROPERTY_ELASTIC_CLOUD_SHARD_ALLOCATION_STATS = + "elastic-cloud-shard-allocation-stats"; + private ElasticCloudShardAllocationStatsIntegrationDataflowRequest + elasticCloudShardAllocationStats; + + public static final String JSON_PROPERTY_ELASTIC_CLOUD_SLM_STATS = "elastic-cloud-slm-stats"; + private ElasticCloudSlmStatsIntegrationDataflowRequest elasticCloudSlmStats; + + public ElasticCloudIntegrationDataflowsRequest elasticCloudDetailedIndexStats( + ElasticCloudDetailedIndexStatsIntegrationDataflowRequest elasticCloudDetailedIndexStats) { + this.elasticCloudDetailedIndexStats = elasticCloudDetailedIndexStats; + this.unparsed |= elasticCloudDetailedIndexStats.unparsed; + return this; + } + + /** + * The Elastic Cloud detailed index stats dataflow. + * + * @return elasticCloudDetailedIndexStats + */ + @jakarta.annotation.Nullable + @JsonProperty(JSON_PROPERTY_ELASTIC_CLOUD_DETAILED_INDEX_STATS) + @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) + public ElasticCloudDetailedIndexStatsIntegrationDataflowRequest + getElasticCloudDetailedIndexStats() { + return elasticCloudDetailedIndexStats; + } + + public void setElasticCloudDetailedIndexStats( + ElasticCloudDetailedIndexStatsIntegrationDataflowRequest elasticCloudDetailedIndexStats) { + this.elasticCloudDetailedIndexStats = elasticCloudDetailedIndexStats; + if (elasticCloudDetailedIndexStats != null) { + this.unparsed |= elasticCloudDetailedIndexStats.unparsed; + } + } + + public ElasticCloudIntegrationDataflowsRequest elasticCloudIndexStats( + ElasticCloudIndexStatsIntegrationDataflowRequest elasticCloudIndexStats) { + this.elasticCloudIndexStats = elasticCloudIndexStats; + this.unparsed |= elasticCloudIndexStats.unparsed; + return this; + } + + /** + * The Elastic Cloud index stats dataflow. + * + * @return elasticCloudIndexStats + */ + @jakarta.annotation.Nullable + @JsonProperty(JSON_PROPERTY_ELASTIC_CLOUD_INDEX_STATS) + @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) + public ElasticCloudIndexStatsIntegrationDataflowRequest getElasticCloudIndexStats() { + return elasticCloudIndexStats; + } + + public void setElasticCloudIndexStats( + ElasticCloudIndexStatsIntegrationDataflowRequest elasticCloudIndexStats) { + this.elasticCloudIndexStats = elasticCloudIndexStats; + if (elasticCloudIndexStats != null) { + this.unparsed |= elasticCloudIndexStats.unparsed; + } + } + + public ElasticCloudIntegrationDataflowsRequest elasticCloudPendingTaskStats( + ElasticCloudPendingTaskStatsIntegrationDataflowRequest elasticCloudPendingTaskStats) { + this.elasticCloudPendingTaskStats = elasticCloudPendingTaskStats; + this.unparsed |= elasticCloudPendingTaskStats.unparsed; + return this; + } + + /** + * The Elastic Cloud pending task stats dataflow. + * + * @return elasticCloudPendingTaskStats + */ + @jakarta.annotation.Nullable + @JsonProperty(JSON_PROPERTY_ELASTIC_CLOUD_PENDING_TASK_STATS) + @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) + public ElasticCloudPendingTaskStatsIntegrationDataflowRequest getElasticCloudPendingTaskStats() { + return elasticCloudPendingTaskStats; + } + + public void setElasticCloudPendingTaskStats( + ElasticCloudPendingTaskStatsIntegrationDataflowRequest elasticCloudPendingTaskStats) { + this.elasticCloudPendingTaskStats = elasticCloudPendingTaskStats; + if (elasticCloudPendingTaskStats != null) { + this.unparsed |= elasticCloudPendingTaskStats.unparsed; + } + } + + public ElasticCloudIntegrationDataflowsRequest elasticCloudPrimaryShardGracefulTimeout( + ElasticCloudPrimaryShardGracefulTimeoutIntegrationDataflowRequest + elasticCloudPrimaryShardGracefulTimeout) { + this.elasticCloudPrimaryShardGracefulTimeout = elasticCloudPrimaryShardGracefulTimeout; + this.unparsed |= elasticCloudPrimaryShardGracefulTimeout.unparsed; + return this; + } + + /** + * The Elastic Cloud primary shard graceful timeout dataflow. + * + * @return elasticCloudPrimaryShardGracefulTimeout + */ + @jakarta.annotation.Nullable + @JsonProperty(JSON_PROPERTY_ELASTIC_CLOUD_PRIMARY_SHARD_GRACEFUL_TIMEOUT) + @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) + public ElasticCloudPrimaryShardGracefulTimeoutIntegrationDataflowRequest + getElasticCloudPrimaryShardGracefulTimeout() { + return elasticCloudPrimaryShardGracefulTimeout; + } + + public void setElasticCloudPrimaryShardGracefulTimeout( + ElasticCloudPrimaryShardGracefulTimeoutIntegrationDataflowRequest + elasticCloudPrimaryShardGracefulTimeout) { + this.elasticCloudPrimaryShardGracefulTimeout = elasticCloudPrimaryShardGracefulTimeout; + if (elasticCloudPrimaryShardGracefulTimeout != null) { + this.unparsed |= elasticCloudPrimaryShardGracefulTimeout.unparsed; + } + } + + public ElasticCloudIntegrationDataflowsRequest elasticCloudPrimaryShardStats( + ElasticCloudPrimaryShardStatsIntegrationDataflowRequest elasticCloudPrimaryShardStats) { + this.elasticCloudPrimaryShardStats = elasticCloudPrimaryShardStats; + this.unparsed |= elasticCloudPrimaryShardStats.unparsed; + return this; + } + + /** + * The Elastic Cloud primary shard stats dataflow. + * + * @return elasticCloudPrimaryShardStats + */ + @jakarta.annotation.Nullable + @JsonProperty(JSON_PROPERTY_ELASTIC_CLOUD_PRIMARY_SHARD_STATS) + @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) + public ElasticCloudPrimaryShardStatsIntegrationDataflowRequest + getElasticCloudPrimaryShardStats() { + return elasticCloudPrimaryShardStats; + } + + public void setElasticCloudPrimaryShardStats( + ElasticCloudPrimaryShardStatsIntegrationDataflowRequest elasticCloudPrimaryShardStats) { + this.elasticCloudPrimaryShardStats = elasticCloudPrimaryShardStats; + if (elasticCloudPrimaryShardStats != null) { + this.unparsed |= elasticCloudPrimaryShardStats.unparsed; + } + } + + public ElasticCloudIntegrationDataflowsRequest elasticCloudShardAllocationStats( + ElasticCloudShardAllocationStatsIntegrationDataflowRequest elasticCloudShardAllocationStats) { + this.elasticCloudShardAllocationStats = elasticCloudShardAllocationStats; + this.unparsed |= elasticCloudShardAllocationStats.unparsed; + return this; + } + + /** + * The Elastic Cloud shard allocation stats dataflow. + * + * @return elasticCloudShardAllocationStats + */ + @jakarta.annotation.Nullable + @JsonProperty(JSON_PROPERTY_ELASTIC_CLOUD_SHARD_ALLOCATION_STATS) + @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) + public ElasticCloudShardAllocationStatsIntegrationDataflowRequest + getElasticCloudShardAllocationStats() { + return elasticCloudShardAllocationStats; + } + + public void setElasticCloudShardAllocationStats( + ElasticCloudShardAllocationStatsIntegrationDataflowRequest elasticCloudShardAllocationStats) { + this.elasticCloudShardAllocationStats = elasticCloudShardAllocationStats; + if (elasticCloudShardAllocationStats != null) { + this.unparsed |= elasticCloudShardAllocationStats.unparsed; + } + } + + public ElasticCloudIntegrationDataflowsRequest elasticCloudSlmStats( + ElasticCloudSlmStatsIntegrationDataflowRequest elasticCloudSlmStats) { + this.elasticCloudSlmStats = elasticCloudSlmStats; + this.unparsed |= elasticCloudSlmStats.unparsed; + return this; + } + + /** + * The Elastic Cloud snapshot lifecycle management stats dataflow. + * + * @return elasticCloudSlmStats + */ + @jakarta.annotation.Nullable + @JsonProperty(JSON_PROPERTY_ELASTIC_CLOUD_SLM_STATS) + @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) + public ElasticCloudSlmStatsIntegrationDataflowRequest getElasticCloudSlmStats() { + return elasticCloudSlmStats; + } + + public void setElasticCloudSlmStats( + ElasticCloudSlmStatsIntegrationDataflowRequest elasticCloudSlmStats) { + this.elasticCloudSlmStats = elasticCloudSlmStats; + if (elasticCloudSlmStats != null) { + this.unparsed |= elasticCloudSlmStats.unparsed; + } + } + + /** Return true if this ElasticCloudIntegrationDataflowsRequest object is equal to o. */ + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + ElasticCloudIntegrationDataflowsRequest elasticCloudIntegrationDataflowsRequest = + (ElasticCloudIntegrationDataflowsRequest) o; + return Objects.equals( + this.elasticCloudDetailedIndexStats, + elasticCloudIntegrationDataflowsRequest.elasticCloudDetailedIndexStats) + && Objects.equals( + this.elasticCloudIndexStats, + elasticCloudIntegrationDataflowsRequest.elasticCloudIndexStats) + && Objects.equals( + this.elasticCloudPendingTaskStats, + elasticCloudIntegrationDataflowsRequest.elasticCloudPendingTaskStats) + && Objects.equals( + this.elasticCloudPrimaryShardGracefulTimeout, + elasticCloudIntegrationDataflowsRequest.elasticCloudPrimaryShardGracefulTimeout) + && Objects.equals( + this.elasticCloudPrimaryShardStats, + elasticCloudIntegrationDataflowsRequest.elasticCloudPrimaryShardStats) + && Objects.equals( + this.elasticCloudShardAllocationStats, + elasticCloudIntegrationDataflowsRequest.elasticCloudShardAllocationStats) + && Objects.equals( + this.elasticCloudSlmStats, + elasticCloudIntegrationDataflowsRequest.elasticCloudSlmStats); + } + + @Override + public int hashCode() { + return Objects.hash( + elasticCloudDetailedIndexStats, + elasticCloudIndexStats, + elasticCloudPendingTaskStats, + elasticCloudPrimaryShardGracefulTimeout, + elasticCloudPrimaryShardStats, + elasticCloudShardAllocationStats, + elasticCloudSlmStats); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class ElasticCloudIntegrationDataflowsRequest {\n"); + sb.append(" elasticCloudDetailedIndexStats: ") + .append(toIndentedString(elasticCloudDetailedIndexStats)) + .append("\n"); + sb.append(" elasticCloudIndexStats: ") + .append(toIndentedString(elasticCloudIndexStats)) + .append("\n"); + sb.append(" elasticCloudPendingTaskStats: ") + .append(toIndentedString(elasticCloudPendingTaskStats)) + .append("\n"); + sb.append(" elasticCloudPrimaryShardGracefulTimeout: ") + .append(toIndentedString(elasticCloudPrimaryShardGracefulTimeout)) + .append("\n"); + sb.append(" elasticCloudPrimaryShardStats: ") + .append(toIndentedString(elasticCloudPrimaryShardStats)) + .append("\n"); + sb.append(" elasticCloudShardAllocationStats: ") + .append(toIndentedString(elasticCloudShardAllocationStats)) + .append("\n"); + sb.append(" elasticCloudSlmStats: ") + .append(toIndentedString(elasticCloudSlmStats)) + .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/ElasticCloudIntegrationDataflowsResponse.java b/src/main/java/com/datadog/api/client/v2/model/ElasticCloudIntegrationDataflowsResponse.java new file mode 100644 index 00000000000..7f1d520eb2b --- /dev/null +++ b/src/main/java/com/datadog/api/client/v2/model/ElasticCloudIntegrationDataflowsResponse.java @@ -0,0 +1,376 @@ +/* + * 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.JsonIgnore; +import com.fasterxml.jackson.annotation.JsonInclude; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.annotation.JsonPropertyOrder; +import java.util.Objects; + +/** Dataflows configured on the Elastic Cloud integration account, keyed by dataflow id. */ +@JsonPropertyOrder({ + ElasticCloudIntegrationDataflowsResponse.JSON_PROPERTY_ELASTIC_CLOUD_DETAILED_INDEX_STATS, + ElasticCloudIntegrationDataflowsResponse.JSON_PROPERTY_ELASTIC_CLOUD_INDEX_STATS, + ElasticCloudIntegrationDataflowsResponse.JSON_PROPERTY_ELASTIC_CLOUD_METRICS, + ElasticCloudIntegrationDataflowsResponse.JSON_PROPERTY_ELASTIC_CLOUD_PENDING_TASK_STATS, + ElasticCloudIntegrationDataflowsResponse + .JSON_PROPERTY_ELASTIC_CLOUD_PRIMARY_SHARD_GRACEFUL_TIMEOUT, + ElasticCloudIntegrationDataflowsResponse.JSON_PROPERTY_ELASTIC_CLOUD_PRIMARY_SHARD_STATS, + ElasticCloudIntegrationDataflowsResponse.JSON_PROPERTY_ELASTIC_CLOUD_SHARD_ALLOCATION_STATS, + ElasticCloudIntegrationDataflowsResponse.JSON_PROPERTY_ELASTIC_CLOUD_SLM_STATS +}) +@jakarta.annotation.Generated( + value = "https://github.com/DataDog/datadog-api-client-java/blob/master/.generator") +public class ElasticCloudIntegrationDataflowsResponse { + @JsonIgnore public boolean unparsed = false; + public static final String JSON_PROPERTY_ELASTIC_CLOUD_DETAILED_INDEX_STATS = + "elastic-cloud-detailed-index-stats"; + private ElasticCloudDetailedIndexStatsIntegrationDataflowResponse elasticCloudDetailedIndexStats; + + public static final String JSON_PROPERTY_ELASTIC_CLOUD_INDEX_STATS = "elastic-cloud-index-stats"; + private ElasticCloudIndexStatsIntegrationDataflowResponse elasticCloudIndexStats; + + public static final String JSON_PROPERTY_ELASTIC_CLOUD_METRICS = "elastic-cloud-metrics"; + private ElasticCloudMetricsIntegrationDataflowResponse elasticCloudMetrics; + + public static final String JSON_PROPERTY_ELASTIC_CLOUD_PENDING_TASK_STATS = + "elastic-cloud-pending-task-stats"; + private ElasticCloudPendingTaskStatsIntegrationDataflowResponse elasticCloudPendingTaskStats; + + public static final String JSON_PROPERTY_ELASTIC_CLOUD_PRIMARY_SHARD_GRACEFUL_TIMEOUT = + "elastic-cloud-primary-shard-graceful-timeout"; + private ElasticCloudPrimaryShardGracefulTimeoutIntegrationDataflowResponse + elasticCloudPrimaryShardGracefulTimeout; + + public static final String JSON_PROPERTY_ELASTIC_CLOUD_PRIMARY_SHARD_STATS = + "elastic-cloud-primary-shard-stats"; + private ElasticCloudPrimaryShardStatsIntegrationDataflowResponse elasticCloudPrimaryShardStats; + + public static final String JSON_PROPERTY_ELASTIC_CLOUD_SHARD_ALLOCATION_STATS = + "elastic-cloud-shard-allocation-stats"; + private ElasticCloudShardAllocationStatsIntegrationDataflowResponse + elasticCloudShardAllocationStats; + + public static final String JSON_PROPERTY_ELASTIC_CLOUD_SLM_STATS = "elastic-cloud-slm-stats"; + private ElasticCloudSlmStatsIntegrationDataflowResponse elasticCloudSlmStats; + + public ElasticCloudIntegrationDataflowsResponse elasticCloudDetailedIndexStats( + ElasticCloudDetailedIndexStatsIntegrationDataflowResponse elasticCloudDetailedIndexStats) { + this.elasticCloudDetailedIndexStats = elasticCloudDetailedIndexStats; + this.unparsed |= elasticCloudDetailedIndexStats.unparsed; + return this; + } + + /** + * The Elastic Cloud detailed index stats dataflow. + * + * @return elasticCloudDetailedIndexStats + */ + @jakarta.annotation.Nullable + @JsonProperty(JSON_PROPERTY_ELASTIC_CLOUD_DETAILED_INDEX_STATS) + @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) + public ElasticCloudDetailedIndexStatsIntegrationDataflowResponse + getElasticCloudDetailedIndexStats() { + return elasticCloudDetailedIndexStats; + } + + public void setElasticCloudDetailedIndexStats( + ElasticCloudDetailedIndexStatsIntegrationDataflowResponse elasticCloudDetailedIndexStats) { + this.elasticCloudDetailedIndexStats = elasticCloudDetailedIndexStats; + if (elasticCloudDetailedIndexStats != null) { + this.unparsed |= elasticCloudDetailedIndexStats.unparsed; + } + } + + public ElasticCloudIntegrationDataflowsResponse elasticCloudIndexStats( + ElasticCloudIndexStatsIntegrationDataflowResponse elasticCloudIndexStats) { + this.elasticCloudIndexStats = elasticCloudIndexStats; + this.unparsed |= elasticCloudIndexStats.unparsed; + return this; + } + + /** + * The Elastic Cloud index stats dataflow. + * + * @return elasticCloudIndexStats + */ + @jakarta.annotation.Nullable + @JsonProperty(JSON_PROPERTY_ELASTIC_CLOUD_INDEX_STATS) + @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) + public ElasticCloudIndexStatsIntegrationDataflowResponse getElasticCloudIndexStats() { + return elasticCloudIndexStats; + } + + public void setElasticCloudIndexStats( + ElasticCloudIndexStatsIntegrationDataflowResponse elasticCloudIndexStats) { + this.elasticCloudIndexStats = elasticCloudIndexStats; + if (elasticCloudIndexStats != null) { + this.unparsed |= elasticCloudIndexStats.unparsed; + } + } + + public ElasticCloudIntegrationDataflowsResponse elasticCloudMetrics( + ElasticCloudMetricsIntegrationDataflowResponse elasticCloudMetrics) { + this.elasticCloudMetrics = elasticCloudMetrics; + this.unparsed |= elasticCloudMetrics.unparsed; + return this; + } + + /** + * The Elastic Cloud metrics dataflow. + * + * @return elasticCloudMetrics + */ + @jakarta.annotation.Nullable + @JsonProperty(JSON_PROPERTY_ELASTIC_CLOUD_METRICS) + @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) + public ElasticCloudMetricsIntegrationDataflowResponse getElasticCloudMetrics() { + return elasticCloudMetrics; + } + + public void setElasticCloudMetrics( + ElasticCloudMetricsIntegrationDataflowResponse elasticCloudMetrics) { + this.elasticCloudMetrics = elasticCloudMetrics; + if (elasticCloudMetrics != null) { + this.unparsed |= elasticCloudMetrics.unparsed; + } + } + + public ElasticCloudIntegrationDataflowsResponse elasticCloudPendingTaskStats( + ElasticCloudPendingTaskStatsIntegrationDataflowResponse elasticCloudPendingTaskStats) { + this.elasticCloudPendingTaskStats = elasticCloudPendingTaskStats; + this.unparsed |= elasticCloudPendingTaskStats.unparsed; + return this; + } + + /** + * The Elastic Cloud pending task stats dataflow. + * + * @return elasticCloudPendingTaskStats + */ + @jakarta.annotation.Nullable + @JsonProperty(JSON_PROPERTY_ELASTIC_CLOUD_PENDING_TASK_STATS) + @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) + public ElasticCloudPendingTaskStatsIntegrationDataflowResponse getElasticCloudPendingTaskStats() { + return elasticCloudPendingTaskStats; + } + + public void setElasticCloudPendingTaskStats( + ElasticCloudPendingTaskStatsIntegrationDataflowResponse elasticCloudPendingTaskStats) { + this.elasticCloudPendingTaskStats = elasticCloudPendingTaskStats; + if (elasticCloudPendingTaskStats != null) { + this.unparsed |= elasticCloudPendingTaskStats.unparsed; + } + } + + public ElasticCloudIntegrationDataflowsResponse elasticCloudPrimaryShardGracefulTimeout( + ElasticCloudPrimaryShardGracefulTimeoutIntegrationDataflowResponse + elasticCloudPrimaryShardGracefulTimeout) { + this.elasticCloudPrimaryShardGracefulTimeout = elasticCloudPrimaryShardGracefulTimeout; + this.unparsed |= elasticCloudPrimaryShardGracefulTimeout.unparsed; + return this; + } + + /** + * The Elastic Cloud primary shard graceful timeout dataflow. + * + * @return elasticCloudPrimaryShardGracefulTimeout + */ + @jakarta.annotation.Nullable + @JsonProperty(JSON_PROPERTY_ELASTIC_CLOUD_PRIMARY_SHARD_GRACEFUL_TIMEOUT) + @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) + public ElasticCloudPrimaryShardGracefulTimeoutIntegrationDataflowResponse + getElasticCloudPrimaryShardGracefulTimeout() { + return elasticCloudPrimaryShardGracefulTimeout; + } + + public void setElasticCloudPrimaryShardGracefulTimeout( + ElasticCloudPrimaryShardGracefulTimeoutIntegrationDataflowResponse + elasticCloudPrimaryShardGracefulTimeout) { + this.elasticCloudPrimaryShardGracefulTimeout = elasticCloudPrimaryShardGracefulTimeout; + if (elasticCloudPrimaryShardGracefulTimeout != null) { + this.unparsed |= elasticCloudPrimaryShardGracefulTimeout.unparsed; + } + } + + public ElasticCloudIntegrationDataflowsResponse elasticCloudPrimaryShardStats( + ElasticCloudPrimaryShardStatsIntegrationDataflowResponse elasticCloudPrimaryShardStats) { + this.elasticCloudPrimaryShardStats = elasticCloudPrimaryShardStats; + this.unparsed |= elasticCloudPrimaryShardStats.unparsed; + return this; + } + + /** + * The Elastic Cloud primary shard stats dataflow. + * + * @return elasticCloudPrimaryShardStats + */ + @jakarta.annotation.Nullable + @JsonProperty(JSON_PROPERTY_ELASTIC_CLOUD_PRIMARY_SHARD_STATS) + @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) + public ElasticCloudPrimaryShardStatsIntegrationDataflowResponse + getElasticCloudPrimaryShardStats() { + return elasticCloudPrimaryShardStats; + } + + public void setElasticCloudPrimaryShardStats( + ElasticCloudPrimaryShardStatsIntegrationDataflowResponse elasticCloudPrimaryShardStats) { + this.elasticCloudPrimaryShardStats = elasticCloudPrimaryShardStats; + if (elasticCloudPrimaryShardStats != null) { + this.unparsed |= elasticCloudPrimaryShardStats.unparsed; + } + } + + public ElasticCloudIntegrationDataflowsResponse elasticCloudShardAllocationStats( + ElasticCloudShardAllocationStatsIntegrationDataflowResponse + elasticCloudShardAllocationStats) { + this.elasticCloudShardAllocationStats = elasticCloudShardAllocationStats; + this.unparsed |= elasticCloudShardAllocationStats.unparsed; + return this; + } + + /** + * The Elastic Cloud shard allocation stats dataflow. + * + * @return elasticCloudShardAllocationStats + */ + @jakarta.annotation.Nullable + @JsonProperty(JSON_PROPERTY_ELASTIC_CLOUD_SHARD_ALLOCATION_STATS) + @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) + public ElasticCloudShardAllocationStatsIntegrationDataflowResponse + getElasticCloudShardAllocationStats() { + return elasticCloudShardAllocationStats; + } + + public void setElasticCloudShardAllocationStats( + ElasticCloudShardAllocationStatsIntegrationDataflowResponse + elasticCloudShardAllocationStats) { + this.elasticCloudShardAllocationStats = elasticCloudShardAllocationStats; + if (elasticCloudShardAllocationStats != null) { + this.unparsed |= elasticCloudShardAllocationStats.unparsed; + } + } + + public ElasticCloudIntegrationDataflowsResponse elasticCloudSlmStats( + ElasticCloudSlmStatsIntegrationDataflowResponse elasticCloudSlmStats) { + this.elasticCloudSlmStats = elasticCloudSlmStats; + this.unparsed |= elasticCloudSlmStats.unparsed; + return this; + } + + /** + * The Elastic Cloud snapshot lifecycle management stats dataflow. + * + * @return elasticCloudSlmStats + */ + @jakarta.annotation.Nullable + @JsonProperty(JSON_PROPERTY_ELASTIC_CLOUD_SLM_STATS) + @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) + public ElasticCloudSlmStatsIntegrationDataflowResponse getElasticCloudSlmStats() { + return elasticCloudSlmStats; + } + + public void setElasticCloudSlmStats( + ElasticCloudSlmStatsIntegrationDataflowResponse elasticCloudSlmStats) { + this.elasticCloudSlmStats = elasticCloudSlmStats; + if (elasticCloudSlmStats != null) { + this.unparsed |= elasticCloudSlmStats.unparsed; + } + } + + /** Return true if this ElasticCloudIntegrationDataflowsResponse object is equal to o. */ + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + ElasticCloudIntegrationDataflowsResponse elasticCloudIntegrationDataflowsResponse = + (ElasticCloudIntegrationDataflowsResponse) o; + return Objects.equals( + this.elasticCloudDetailedIndexStats, + elasticCloudIntegrationDataflowsResponse.elasticCloudDetailedIndexStats) + && Objects.equals( + this.elasticCloudIndexStats, + elasticCloudIntegrationDataflowsResponse.elasticCloudIndexStats) + && Objects.equals( + this.elasticCloudMetrics, elasticCloudIntegrationDataflowsResponse.elasticCloudMetrics) + && Objects.equals( + this.elasticCloudPendingTaskStats, + elasticCloudIntegrationDataflowsResponse.elasticCloudPendingTaskStats) + && Objects.equals( + this.elasticCloudPrimaryShardGracefulTimeout, + elasticCloudIntegrationDataflowsResponse.elasticCloudPrimaryShardGracefulTimeout) + && Objects.equals( + this.elasticCloudPrimaryShardStats, + elasticCloudIntegrationDataflowsResponse.elasticCloudPrimaryShardStats) + && Objects.equals( + this.elasticCloudShardAllocationStats, + elasticCloudIntegrationDataflowsResponse.elasticCloudShardAllocationStats) + && Objects.equals( + this.elasticCloudSlmStats, + elasticCloudIntegrationDataflowsResponse.elasticCloudSlmStats); + } + + @Override + public int hashCode() { + return Objects.hash( + elasticCloudDetailedIndexStats, + elasticCloudIndexStats, + elasticCloudMetrics, + elasticCloudPendingTaskStats, + elasticCloudPrimaryShardGracefulTimeout, + elasticCloudPrimaryShardStats, + elasticCloudShardAllocationStats, + elasticCloudSlmStats); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class ElasticCloudIntegrationDataflowsResponse {\n"); + sb.append(" elasticCloudDetailedIndexStats: ") + .append(toIndentedString(elasticCloudDetailedIndexStats)) + .append("\n"); + sb.append(" elasticCloudIndexStats: ") + .append(toIndentedString(elasticCloudIndexStats)) + .append("\n"); + sb.append(" elasticCloudMetrics: ") + .append(toIndentedString(elasticCloudMetrics)) + .append("\n"); + sb.append(" elasticCloudPendingTaskStats: ") + .append(toIndentedString(elasticCloudPendingTaskStats)) + .append("\n"); + sb.append(" elasticCloudPrimaryShardGracefulTimeout: ") + .append(toIndentedString(elasticCloudPrimaryShardGracefulTimeout)) + .append("\n"); + sb.append(" elasticCloudPrimaryShardStats: ") + .append(toIndentedString(elasticCloudPrimaryShardStats)) + .append("\n"); + sb.append(" elasticCloudShardAllocationStats: ") + .append(toIndentedString(elasticCloudShardAllocationStats)) + .append("\n"); + sb.append(" elasticCloudSlmStats: ") + .append(toIndentedString(elasticCloudSlmStats)) + .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/ElasticCloudMetricsIntegrationDataflowResponse.java b/src/main/java/com/datadog/api/client/v2/model/ElasticCloudMetricsIntegrationDataflowResponse.java new file mode 100644 index 00000000000..84d5bba0e06 --- /dev/null +++ b/src/main/java/com/datadog/api/client/v2/model/ElasticCloudMetricsIntegrationDataflowResponse.java @@ -0,0 +1,150 @@ +/* + * 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 metrics dataflow. */ +@JsonPropertyOrder({ + ElasticCloudMetricsIntegrationDataflowResponse.JSON_PROPERTY_ENABLED, + ElasticCloudMetricsIntegrationDataflowResponse.JSON_PROPERTY_STATUS +}) +@jakarta.annotation.Generated( + value = "https://github.com/DataDog/datadog-api-client-java/blob/master/.generator") +public class ElasticCloudMetricsIntegrationDataflowResponse { + @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; + + /** + * 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; + } + + /** + * 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 ElasticCloudMetricsIntegrationDataflowResponse + */ + @JsonAnySetter + public ElasticCloudMetricsIntegrationDataflowResponse 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 ElasticCloudMetricsIntegrationDataflowResponse object is equal to o. */ + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + ElasticCloudMetricsIntegrationDataflowResponse elasticCloudMetricsIntegrationDataflowResponse = + (ElasticCloudMetricsIntegrationDataflowResponse) o; + return Objects.equals(this.enabled, elasticCloudMetricsIntegrationDataflowResponse.enabled) + && Objects.equals(this.status, elasticCloudMetricsIntegrationDataflowResponse.status) + && Objects.equals( + this.additionalProperties, + elasticCloudMetricsIntegrationDataflowResponse.additionalProperties); + } + + @Override + public int hashCode() { + return Objects.hash(enabled, status, additionalProperties); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class ElasticCloudMetricsIntegrationDataflowResponse {\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/ElasticCloudPendingTaskStatsIntegrationDataflowRequest.java b/src/main/java/com/datadog/api/client/v2/model/ElasticCloudPendingTaskStatsIntegrationDataflowRequest.java new file mode 100644 index 00000000000..ff61b280471 --- /dev/null +++ b/src/main/java/com/datadog/api/client/v2/model/ElasticCloudPendingTaskStatsIntegrationDataflowRequest.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 pending task stats dataflow. */ +@JsonPropertyOrder({ElasticCloudPendingTaskStatsIntegrationDataflowRequest.JSON_PROPERTY_ENABLED}) +@jakarta.annotation.Generated( + value = "https://github.com/DataDog/datadog-api-client-java/blob/master/.generator") +public class ElasticCloudPendingTaskStatsIntegrationDataflowRequest { + @JsonIgnore public boolean unparsed = false; + public static final String JSON_PROPERTY_ENABLED = "enabled"; + private Boolean enabled; + + public ElasticCloudPendingTaskStatsIntegrationDataflowRequest 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 ElasticCloudPendingTaskStatsIntegrationDataflowRequest + */ + @JsonAnySetter + public ElasticCloudPendingTaskStatsIntegrationDataflowRequest 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 ElasticCloudPendingTaskStatsIntegrationDataflowRequest object is equal to + * o. + */ + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + ElasticCloudPendingTaskStatsIntegrationDataflowRequest + elasticCloudPendingTaskStatsIntegrationDataflowRequest = + (ElasticCloudPendingTaskStatsIntegrationDataflowRequest) o; + return Objects.equals( + this.enabled, elasticCloudPendingTaskStatsIntegrationDataflowRequest.enabled) + && Objects.equals( + this.additionalProperties, + elasticCloudPendingTaskStatsIntegrationDataflowRequest.additionalProperties); + } + + @Override + public int hashCode() { + return Objects.hash(enabled, additionalProperties); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class ElasticCloudPendingTaskStatsIntegrationDataflowRequest {\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/ElasticCloudPendingTaskStatsIntegrationDataflowResponse.java b/src/main/java/com/datadog/api/client/v2/model/ElasticCloudPendingTaskStatsIntegrationDataflowResponse.java new file mode 100644 index 00000000000..09880ebab3c --- /dev/null +++ b/src/main/java/com/datadog/api/client/v2/model/ElasticCloudPendingTaskStatsIntegrationDataflowResponse.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 pending task stats dataflow. */ +@JsonPropertyOrder({ + ElasticCloudPendingTaskStatsIntegrationDataflowResponse.JSON_PROPERTY_ENABLED, + ElasticCloudPendingTaskStatsIntegrationDataflowResponse.JSON_PROPERTY_STATUS +}) +@jakarta.annotation.Generated( + value = "https://github.com/DataDog/datadog-api-client-java/blob/master/.generator") +public class ElasticCloudPendingTaskStatsIntegrationDataflowResponse { + @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 ElasticCloudPendingTaskStatsIntegrationDataflowResponse 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 ElasticCloudPendingTaskStatsIntegrationDataflowResponse + */ + @JsonAnySetter + public ElasticCloudPendingTaskStatsIntegrationDataflowResponse 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 ElasticCloudPendingTaskStatsIntegrationDataflowResponse object is equal to + * o. + */ + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + ElasticCloudPendingTaskStatsIntegrationDataflowResponse + elasticCloudPendingTaskStatsIntegrationDataflowResponse = + (ElasticCloudPendingTaskStatsIntegrationDataflowResponse) o; + return Objects.equals( + this.enabled, elasticCloudPendingTaskStatsIntegrationDataflowResponse.enabled) + && Objects.equals( + this.status, elasticCloudPendingTaskStatsIntegrationDataflowResponse.status) + && Objects.equals( + this.additionalProperties, + elasticCloudPendingTaskStatsIntegrationDataflowResponse.additionalProperties); + } + + @Override + public int hashCode() { + return Objects.hash(enabled, status, additionalProperties); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class ElasticCloudPendingTaskStatsIntegrationDataflowResponse {\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/ElasticCloudPrimaryShardGracefulTimeoutIntegrationDataflowRequest.java b/src/main/java/com/datadog/api/client/v2/model/ElasticCloudPrimaryShardGracefulTimeoutIntegrationDataflowRequest.java new file mode 100644 index 00000000000..483a13ccca7 --- /dev/null +++ b/src/main/java/com/datadog/api/client/v2/model/ElasticCloudPrimaryShardGracefulTimeoutIntegrationDataflowRequest.java @@ -0,0 +1,147 @@ +/* + * 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 primary shard graceful timeout dataflow. */ +@JsonPropertyOrder({ + ElasticCloudPrimaryShardGracefulTimeoutIntegrationDataflowRequest.JSON_PROPERTY_ENABLED +}) +@jakarta.annotation.Generated( + value = "https://github.com/DataDog/datadog-api-client-java/blob/master/.generator") +public class ElasticCloudPrimaryShardGracefulTimeoutIntegrationDataflowRequest { + @JsonIgnore public boolean unparsed = false; + public static final String JSON_PROPERTY_ENABLED = "enabled"; + private Boolean enabled; + + public ElasticCloudPrimaryShardGracefulTimeoutIntegrationDataflowRequest 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 ElasticCloudPrimaryShardGracefulTimeoutIntegrationDataflowRequest + */ + @JsonAnySetter + public ElasticCloudPrimaryShardGracefulTimeoutIntegrationDataflowRequest 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 ElasticCloudPrimaryShardGracefulTimeoutIntegrationDataflowRequest object is + * equal to o. + */ + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + ElasticCloudPrimaryShardGracefulTimeoutIntegrationDataflowRequest + elasticCloudPrimaryShardGracefulTimeoutIntegrationDataflowRequest = + (ElasticCloudPrimaryShardGracefulTimeoutIntegrationDataflowRequest) o; + return Objects.equals( + this.enabled, elasticCloudPrimaryShardGracefulTimeoutIntegrationDataflowRequest.enabled) + && Objects.equals( + this.additionalProperties, + elasticCloudPrimaryShardGracefulTimeoutIntegrationDataflowRequest.additionalProperties); + } + + @Override + public int hashCode() { + return Objects.hash(enabled, additionalProperties); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class ElasticCloudPrimaryShardGracefulTimeoutIntegrationDataflowRequest {\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/ElasticCloudPrimaryShardGracefulTimeoutIntegrationDataflowResponse.java b/src/main/java/com/datadog/api/client/v2/model/ElasticCloudPrimaryShardGracefulTimeoutIntegrationDataflowResponse.java new file mode 100644 index 00000000000..cc0e2000cd2 --- /dev/null +++ b/src/main/java/com/datadog/api/client/v2/model/ElasticCloudPrimaryShardGracefulTimeoutIntegrationDataflowResponse.java @@ -0,0 +1,168 @@ +/* + * 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 primary shard graceful timeout dataflow. */ +@JsonPropertyOrder({ + ElasticCloudPrimaryShardGracefulTimeoutIntegrationDataflowResponse.JSON_PROPERTY_ENABLED, + ElasticCloudPrimaryShardGracefulTimeoutIntegrationDataflowResponse.JSON_PROPERTY_STATUS +}) +@jakarta.annotation.Generated( + value = "https://github.com/DataDog/datadog-api-client-java/blob/master/.generator") +public class ElasticCloudPrimaryShardGracefulTimeoutIntegrationDataflowResponse { + @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 ElasticCloudPrimaryShardGracefulTimeoutIntegrationDataflowResponse 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 ElasticCloudPrimaryShardGracefulTimeoutIntegrationDataflowResponse + */ + @JsonAnySetter + public ElasticCloudPrimaryShardGracefulTimeoutIntegrationDataflowResponse 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 ElasticCloudPrimaryShardGracefulTimeoutIntegrationDataflowResponse object + * is equal to o. + */ + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + ElasticCloudPrimaryShardGracefulTimeoutIntegrationDataflowResponse + elasticCloudPrimaryShardGracefulTimeoutIntegrationDataflowResponse = + (ElasticCloudPrimaryShardGracefulTimeoutIntegrationDataflowResponse) o; + return Objects.equals( + this.enabled, + elasticCloudPrimaryShardGracefulTimeoutIntegrationDataflowResponse.enabled) + && Objects.equals( + this.status, elasticCloudPrimaryShardGracefulTimeoutIntegrationDataflowResponse.status) + && Objects.equals( + this.additionalProperties, + elasticCloudPrimaryShardGracefulTimeoutIntegrationDataflowResponse + .additionalProperties); + } + + @Override + public int hashCode() { + return Objects.hash(enabled, status, additionalProperties); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class ElasticCloudPrimaryShardGracefulTimeoutIntegrationDataflowResponse {\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/ElasticCloudPrimaryShardStatsIntegrationDataflowRequest.java b/src/main/java/com/datadog/api/client/v2/model/ElasticCloudPrimaryShardStatsIntegrationDataflowRequest.java new file mode 100644 index 00000000000..514870e3792 --- /dev/null +++ b/src/main/java/com/datadog/api/client/v2/model/ElasticCloudPrimaryShardStatsIntegrationDataflowRequest.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 primary shard stats dataflow. */ +@JsonPropertyOrder({ElasticCloudPrimaryShardStatsIntegrationDataflowRequest.JSON_PROPERTY_ENABLED}) +@jakarta.annotation.Generated( + value = "https://github.com/DataDog/datadog-api-client-java/blob/master/.generator") +public class ElasticCloudPrimaryShardStatsIntegrationDataflowRequest { + @JsonIgnore public boolean unparsed = false; + public static final String JSON_PROPERTY_ENABLED = "enabled"; + private Boolean enabled; + + public ElasticCloudPrimaryShardStatsIntegrationDataflowRequest 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 ElasticCloudPrimaryShardStatsIntegrationDataflowRequest + */ + @JsonAnySetter + public ElasticCloudPrimaryShardStatsIntegrationDataflowRequest 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 ElasticCloudPrimaryShardStatsIntegrationDataflowRequest object is equal to + * o. + */ + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + ElasticCloudPrimaryShardStatsIntegrationDataflowRequest + elasticCloudPrimaryShardStatsIntegrationDataflowRequest = + (ElasticCloudPrimaryShardStatsIntegrationDataflowRequest) o; + return Objects.equals( + this.enabled, elasticCloudPrimaryShardStatsIntegrationDataflowRequest.enabled) + && Objects.equals( + this.additionalProperties, + elasticCloudPrimaryShardStatsIntegrationDataflowRequest.additionalProperties); + } + + @Override + public int hashCode() { + return Objects.hash(enabled, additionalProperties); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class ElasticCloudPrimaryShardStatsIntegrationDataflowRequest {\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/ElasticCloudPrimaryShardStatsIntegrationDataflowResponse.java b/src/main/java/com/datadog/api/client/v2/model/ElasticCloudPrimaryShardStatsIntegrationDataflowResponse.java new file mode 100644 index 00000000000..b0068dbbdc7 --- /dev/null +++ b/src/main/java/com/datadog/api/client/v2/model/ElasticCloudPrimaryShardStatsIntegrationDataflowResponse.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 primary shard stats dataflow. */ +@JsonPropertyOrder({ + ElasticCloudPrimaryShardStatsIntegrationDataflowResponse.JSON_PROPERTY_ENABLED, + ElasticCloudPrimaryShardStatsIntegrationDataflowResponse.JSON_PROPERTY_STATUS +}) +@jakarta.annotation.Generated( + value = "https://github.com/DataDog/datadog-api-client-java/blob/master/.generator") +public class ElasticCloudPrimaryShardStatsIntegrationDataflowResponse { + @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 ElasticCloudPrimaryShardStatsIntegrationDataflowResponse 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 ElasticCloudPrimaryShardStatsIntegrationDataflowResponse + */ + @JsonAnySetter + public ElasticCloudPrimaryShardStatsIntegrationDataflowResponse 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 ElasticCloudPrimaryShardStatsIntegrationDataflowResponse object is equal to + * o. + */ + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + ElasticCloudPrimaryShardStatsIntegrationDataflowResponse + elasticCloudPrimaryShardStatsIntegrationDataflowResponse = + (ElasticCloudPrimaryShardStatsIntegrationDataflowResponse) o; + return Objects.equals( + this.enabled, elasticCloudPrimaryShardStatsIntegrationDataflowResponse.enabled) + && Objects.equals( + this.status, elasticCloudPrimaryShardStatsIntegrationDataflowResponse.status) + && Objects.equals( + this.additionalProperties, + elasticCloudPrimaryShardStatsIntegrationDataflowResponse.additionalProperties); + } + + @Override + public int hashCode() { + return Objects.hash(enabled, status, additionalProperties); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class ElasticCloudPrimaryShardStatsIntegrationDataflowResponse {\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/ElasticCloudShardAllocationStatsIntegrationDataflowRequest.java b/src/main/java/com/datadog/api/client/v2/model/ElasticCloudShardAllocationStatsIntegrationDataflowRequest.java new file mode 100644 index 00000000000..218d0fa18d1 --- /dev/null +++ b/src/main/java/com/datadog/api/client/v2/model/ElasticCloudShardAllocationStatsIntegrationDataflowRequest.java @@ -0,0 +1,146 @@ +/* + * 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 shard allocation stats dataflow. */ +@JsonPropertyOrder({ + ElasticCloudShardAllocationStatsIntegrationDataflowRequest.JSON_PROPERTY_ENABLED +}) +@jakarta.annotation.Generated( + value = "https://github.com/DataDog/datadog-api-client-java/blob/master/.generator") +public class ElasticCloudShardAllocationStatsIntegrationDataflowRequest { + @JsonIgnore public boolean unparsed = false; + public static final String JSON_PROPERTY_ENABLED = "enabled"; + private Boolean enabled; + + public ElasticCloudShardAllocationStatsIntegrationDataflowRequest 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 ElasticCloudShardAllocationStatsIntegrationDataflowRequest + */ + @JsonAnySetter + public ElasticCloudShardAllocationStatsIntegrationDataflowRequest 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 ElasticCloudShardAllocationStatsIntegrationDataflowRequest object is equal + * to o. + */ + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + ElasticCloudShardAllocationStatsIntegrationDataflowRequest + elasticCloudShardAllocationStatsIntegrationDataflowRequest = + (ElasticCloudShardAllocationStatsIntegrationDataflowRequest) o; + return Objects.equals( + this.enabled, elasticCloudShardAllocationStatsIntegrationDataflowRequest.enabled) + && Objects.equals( + this.additionalProperties, + elasticCloudShardAllocationStatsIntegrationDataflowRequest.additionalProperties); + } + + @Override + public int hashCode() { + return Objects.hash(enabled, additionalProperties); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class ElasticCloudShardAllocationStatsIntegrationDataflowRequest {\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/ElasticCloudShardAllocationStatsIntegrationDataflowResponse.java b/src/main/java/com/datadog/api/client/v2/model/ElasticCloudShardAllocationStatsIntegrationDataflowResponse.java new file mode 100644 index 00000000000..5af27ebbc1b --- /dev/null +++ b/src/main/java/com/datadog/api/client/v2/model/ElasticCloudShardAllocationStatsIntegrationDataflowResponse.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 shard allocation stats dataflow. */ +@JsonPropertyOrder({ + ElasticCloudShardAllocationStatsIntegrationDataflowResponse.JSON_PROPERTY_ENABLED, + ElasticCloudShardAllocationStatsIntegrationDataflowResponse.JSON_PROPERTY_STATUS +}) +@jakarta.annotation.Generated( + value = "https://github.com/DataDog/datadog-api-client-java/blob/master/.generator") +public class ElasticCloudShardAllocationStatsIntegrationDataflowResponse { + @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 ElasticCloudShardAllocationStatsIntegrationDataflowResponse 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 ElasticCloudShardAllocationStatsIntegrationDataflowResponse + */ + @JsonAnySetter + public ElasticCloudShardAllocationStatsIntegrationDataflowResponse 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 ElasticCloudShardAllocationStatsIntegrationDataflowResponse object is equal + * to o. + */ + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + ElasticCloudShardAllocationStatsIntegrationDataflowResponse + elasticCloudShardAllocationStatsIntegrationDataflowResponse = + (ElasticCloudShardAllocationStatsIntegrationDataflowResponse) o; + return Objects.equals( + this.enabled, elasticCloudShardAllocationStatsIntegrationDataflowResponse.enabled) + && Objects.equals( + this.status, elasticCloudShardAllocationStatsIntegrationDataflowResponse.status) + && Objects.equals( + this.additionalProperties, + elasticCloudShardAllocationStatsIntegrationDataflowResponse.additionalProperties); + } + + @Override + public int hashCode() { + return Objects.hash(enabled, status, additionalProperties); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class ElasticCloudShardAllocationStatsIntegrationDataflowResponse {\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/ElasticCloudSlmStatsIntegrationDataflowRequest.java b/src/main/java/com/datadog/api/client/v2/model/ElasticCloudSlmStatsIntegrationDataflowRequest.java new file mode 100644 index 00000000000..d59093cc18f --- /dev/null +++ b/src/main/java/com/datadog/api/client/v2/model/ElasticCloudSlmStatsIntegrationDataflowRequest.java @@ -0,0 +1,139 @@ +/* + * 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 snapshot lifecycle management stats dataflow. */ +@JsonPropertyOrder({ElasticCloudSlmStatsIntegrationDataflowRequest.JSON_PROPERTY_ENABLED}) +@jakarta.annotation.Generated( + value = "https://github.com/DataDog/datadog-api-client-java/blob/master/.generator") +public class ElasticCloudSlmStatsIntegrationDataflowRequest { + @JsonIgnore public boolean unparsed = false; + public static final String JSON_PROPERTY_ENABLED = "enabled"; + private Boolean enabled; + + public ElasticCloudSlmStatsIntegrationDataflowRequest 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 ElasticCloudSlmStatsIntegrationDataflowRequest + */ + @JsonAnySetter + public ElasticCloudSlmStatsIntegrationDataflowRequest 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 ElasticCloudSlmStatsIntegrationDataflowRequest object is equal to o. */ + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + ElasticCloudSlmStatsIntegrationDataflowRequest elasticCloudSlmStatsIntegrationDataflowRequest = + (ElasticCloudSlmStatsIntegrationDataflowRequest) o; + return Objects.equals(this.enabled, elasticCloudSlmStatsIntegrationDataflowRequest.enabled) + && Objects.equals( + this.additionalProperties, + elasticCloudSlmStatsIntegrationDataflowRequest.additionalProperties); + } + + @Override + public int hashCode() { + return Objects.hash(enabled, additionalProperties); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class ElasticCloudSlmStatsIntegrationDataflowRequest {\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/ElasticCloudSlmStatsIntegrationDataflowResponse.java b/src/main/java/com/datadog/api/client/v2/model/ElasticCloudSlmStatsIntegrationDataflowResponse.java new file mode 100644 index 00000000000..6d99ce857cc --- /dev/null +++ b/src/main/java/com/datadog/api/client/v2/model/ElasticCloudSlmStatsIntegrationDataflowResponse.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 snapshot lifecycle management stats dataflow. */ +@JsonPropertyOrder({ + ElasticCloudSlmStatsIntegrationDataflowResponse.JSON_PROPERTY_ENABLED, + ElasticCloudSlmStatsIntegrationDataflowResponse.JSON_PROPERTY_STATUS +}) +@jakarta.annotation.Generated( + value = "https://github.com/DataDog/datadog-api-client-java/blob/master/.generator") +public class ElasticCloudSlmStatsIntegrationDataflowResponse { + @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 ElasticCloudSlmStatsIntegrationDataflowResponse 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 ElasticCloudSlmStatsIntegrationDataflowResponse + */ + @JsonAnySetter + public ElasticCloudSlmStatsIntegrationDataflowResponse 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 ElasticCloudSlmStatsIntegrationDataflowResponse object is equal to o. */ + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + ElasticCloudSlmStatsIntegrationDataflowResponse + elasticCloudSlmStatsIntegrationDataflowResponse = + (ElasticCloudSlmStatsIntegrationDataflowResponse) o; + return Objects.equals(this.enabled, elasticCloudSlmStatsIntegrationDataflowResponse.enabled) + && Objects.equals(this.status, elasticCloudSlmStatsIntegrationDataflowResponse.status) + && Objects.equals( + this.additionalProperties, + elasticCloudSlmStatsIntegrationDataflowResponse.additionalProperties); + } + + @Override + public int hashCode() { + return Objects.hash(enabled, status, additionalProperties); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class ElasticCloudSlmStatsIntegrationDataflowResponse {\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/IntegrationAccountBasicAuthRequest.java b/src/main/java/com/datadog/api/client/v2/model/IntegrationAccountBasicAuthRequest.java new file mode 100644 index 00000000000..287ee6c4f18 --- /dev/null +++ b/src/main/java/com/datadog/api/client/v2/model/IntegrationAccountBasicAuthRequest.java @@ -0,0 +1,209 @@ +/* + * Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License. + * This product includes software developed at Datadog (https://www.datadoghq.com/). + * Copyright 2019-Present Datadog, Inc. + */ + +package com.datadog.api.client.v2.model; + +import com.fasterxml.jackson.annotation.JsonAnyGetter; +import com.fasterxml.jackson.annotation.JsonAnySetter; +import com.fasterxml.jackson.annotation.JsonCreator; +import com.fasterxml.jackson.annotation.JsonIgnore; +import com.fasterxml.jackson.annotation.JsonInclude; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.annotation.JsonPropertyOrder; +import java.util.HashMap; +import java.util.Map; +import java.util.Objects; + +/** Username and password authentication. */ +@JsonPropertyOrder({ + IntegrationAccountBasicAuthRequest.JSON_PROPERTY_AUTH_TYPE, + IntegrationAccountBasicAuthRequest.JSON_PROPERTY_PASSWORD, + IntegrationAccountBasicAuthRequest.JSON_PROPERTY_USERNAME +}) +@jakarta.annotation.Generated( + value = "https://github.com/DataDog/datadog-api-client-java/blob/master/.generator") +public class IntegrationAccountBasicAuthRequest { + @JsonIgnore public boolean unparsed = false; + public static final String JSON_PROPERTY_AUTH_TYPE = "auth_type"; + private IntegrationAccountBasicAuthType authType = IntegrationAccountBasicAuthType.BASIC; + + public static final String JSON_PROPERTY_PASSWORD = "password"; + private String password; + + public static final String JSON_PROPERTY_USERNAME = "username"; + private String username; + + public IntegrationAccountBasicAuthRequest() {} + + @JsonCreator + public IntegrationAccountBasicAuthRequest( + @JsonProperty(required = true, value = JSON_PROPERTY_AUTH_TYPE) + IntegrationAccountBasicAuthType authType, + @JsonProperty(required = true, value = JSON_PROPERTY_PASSWORD) String password, + @JsonProperty(required = true, value = JSON_PROPERTY_USERNAME) String username) { + this.authType = authType; + this.unparsed |= !authType.isValid(); + this.password = password; + this.username = username; + } + + public IntegrationAccountBasicAuthRequest authType(IntegrationAccountBasicAuthType authType) { + this.authType = authType; + this.unparsed |= !authType.isValid(); + return this; + } + + /** + * The authentication method type. + * + * @return authType + */ + @JsonProperty(JSON_PROPERTY_AUTH_TYPE) + @JsonInclude(value = JsonInclude.Include.ALWAYS) + public IntegrationAccountBasicAuthType getAuthType() { + return authType; + } + + public void setAuthType(IntegrationAccountBasicAuthType authType) { + if (!authType.isValid()) { + this.unparsed = true; + } + this.authType = authType; + } + + public IntegrationAccountBasicAuthRequest password(String password) { + this.password = password; + return this; + } + + /** + * Secret password or private key. + * + * @return password + */ + @JsonProperty(JSON_PROPERTY_PASSWORD) + @JsonInclude(value = JsonInclude.Include.ALWAYS) + public String getPassword() { + return password; + } + + public void setPassword(String password) { + this.password = password; + } + + public IntegrationAccountBasicAuthRequest username(String username) { + this.username = username; + return this; + } + + /** + * Non-secret username or public identifier for the credential pair. + * + * @return username + */ + @JsonProperty(JSON_PROPERTY_USERNAME) + @JsonInclude(value = JsonInclude.Include.ALWAYS) + public String getUsername() { + return username; + } + + public void setUsername(String username) { + this.username = username; + } + + /** + * 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 IntegrationAccountBasicAuthRequest + */ + @JsonAnySetter + public IntegrationAccountBasicAuthRequest 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 IntegrationAccountBasicAuthRequest object is equal to o. */ + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + IntegrationAccountBasicAuthRequest integrationAccountBasicAuthRequest = + (IntegrationAccountBasicAuthRequest) o; + return Objects.equals(this.authType, integrationAccountBasicAuthRequest.authType) + && Objects.equals(this.password, integrationAccountBasicAuthRequest.password) + && Objects.equals(this.username, integrationAccountBasicAuthRequest.username) + && Objects.equals( + this.additionalProperties, integrationAccountBasicAuthRequest.additionalProperties); + } + + @Override + public int hashCode() { + return Objects.hash(authType, password, username, additionalProperties); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class IntegrationAccountBasicAuthRequest {\n"); + sb.append(" authType: ").append(toIndentedString(authType)).append("\n"); + sb.append(" password: ").append(toIndentedString(password)).append("\n"); + sb.append(" username: ").append(toIndentedString(username)).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/IntegrationAccountBasicAuthResponse.java b/src/main/java/com/datadog/api/client/v2/model/IntegrationAccountBasicAuthResponse.java new file mode 100644 index 00000000000..3b9d5cbdae7 --- /dev/null +++ b/src/main/java/com/datadog/api/client/v2/model/IntegrationAccountBasicAuthResponse.java @@ -0,0 +1,181 @@ +/* + * Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License. + * This product includes software developed at Datadog (https://www.datadoghq.com/). + * Copyright 2019-Present Datadog, Inc. + */ + +package com.datadog.api.client.v2.model; + +import com.fasterxml.jackson.annotation.JsonAnyGetter; +import com.fasterxml.jackson.annotation.JsonAnySetter; +import com.fasterxml.jackson.annotation.JsonCreator; +import com.fasterxml.jackson.annotation.JsonIgnore; +import com.fasterxml.jackson.annotation.JsonInclude; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.annotation.JsonPropertyOrder; +import java.util.HashMap; +import java.util.Map; +import java.util.Objects; + +/** The basic authentication method and username configured on the account. */ +@JsonPropertyOrder({ + IntegrationAccountBasicAuthResponse.JSON_PROPERTY_AUTH_TYPE, + IntegrationAccountBasicAuthResponse.JSON_PROPERTY_USERNAME +}) +@jakarta.annotation.Generated( + value = "https://github.com/DataDog/datadog-api-client-java/blob/master/.generator") +public class IntegrationAccountBasicAuthResponse { + @JsonIgnore public boolean unparsed = false; + public static final String JSON_PROPERTY_AUTH_TYPE = "auth_type"; + private IntegrationAccountBasicAuthType authType = IntegrationAccountBasicAuthType.BASIC; + + public static final String JSON_PROPERTY_USERNAME = "username"; + private String username; + + public IntegrationAccountBasicAuthResponse() {} + + @JsonCreator + public IntegrationAccountBasicAuthResponse( + @JsonProperty(required = true, value = JSON_PROPERTY_AUTH_TYPE) + IntegrationAccountBasicAuthType authType, + @JsonProperty(required = true, value = JSON_PROPERTY_USERNAME) String username) { + this.authType = authType; + this.unparsed |= !authType.isValid(); + this.username = username; + } + + public IntegrationAccountBasicAuthResponse authType(IntegrationAccountBasicAuthType authType) { + this.authType = authType; + this.unparsed |= !authType.isValid(); + return this; + } + + /** + * The authentication method type. + * + * @return authType + */ + @JsonProperty(JSON_PROPERTY_AUTH_TYPE) + @JsonInclude(value = JsonInclude.Include.ALWAYS) + public IntegrationAccountBasicAuthType getAuthType() { + return authType; + } + + public void setAuthType(IntegrationAccountBasicAuthType authType) { + if (!authType.isValid()) { + this.unparsed = true; + } + this.authType = authType; + } + + public IntegrationAccountBasicAuthResponse username(String username) { + this.username = username; + return this; + } + + /** + * Non-secret username or public identifier for the credential pair. + * + * @return username + */ + @JsonProperty(JSON_PROPERTY_USERNAME) + @JsonInclude(value = JsonInclude.Include.ALWAYS) + public String getUsername() { + return username; + } + + public void setUsername(String username) { + this.username = username; + } + + /** + * 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 IntegrationAccountBasicAuthResponse + */ + @JsonAnySetter + public IntegrationAccountBasicAuthResponse 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 IntegrationAccountBasicAuthResponse object is equal to o. */ + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + IntegrationAccountBasicAuthResponse integrationAccountBasicAuthResponse = + (IntegrationAccountBasicAuthResponse) o; + return Objects.equals(this.authType, integrationAccountBasicAuthResponse.authType) + && Objects.equals(this.username, integrationAccountBasicAuthResponse.username) + && Objects.equals( + this.additionalProperties, integrationAccountBasicAuthResponse.additionalProperties); + } + + @Override + public int hashCode() { + return Objects.hash(authType, username, additionalProperties); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class IntegrationAccountBasicAuthResponse {\n"); + sb.append(" authType: ").append(toIndentedString(authType)).append("\n"); + sb.append(" username: ").append(toIndentedString(username)).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/IntegrationAccountBasicAuthType.java b/src/main/java/com/datadog/api/client/v2/model/IntegrationAccountBasicAuthType.java new file mode 100644 index 00000000000..ba57e4c4a6d --- /dev/null +++ b/src/main/java/com/datadog/api/client/v2/model/IntegrationAccountBasicAuthType.java @@ -0,0 +1,57 @@ +/* + * Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License. + * This product includes software developed at Datadog (https://www.datadoghq.com/). + * Copyright 2019-Present Datadog, Inc. + */ + +package com.datadog.api.client.v2.model; + +import com.datadog.api.client.ModelEnum; +import com.fasterxml.jackson.annotation.JsonCreator; +import com.fasterxml.jackson.core.JsonGenerator; +import com.fasterxml.jackson.core.JsonProcessingException; +import com.fasterxml.jackson.databind.SerializerProvider; +import com.fasterxml.jackson.databind.annotation.JsonSerialize; +import com.fasterxml.jackson.databind.ser.std.StdSerializer; +import java.io.IOException; +import java.util.Arrays; +import java.util.HashSet; +import java.util.Set; + +/** The authentication method type. */ +@JsonSerialize( + using = IntegrationAccountBasicAuthType.IntegrationAccountBasicAuthTypeSerializer.class) +public class IntegrationAccountBasicAuthType extends ModelEnum { + + private static final Set allowedValues = new HashSet(Arrays.asList("basic")); + + public static final IntegrationAccountBasicAuthType BASIC = + new IntegrationAccountBasicAuthType("basic"); + + IntegrationAccountBasicAuthType(String value) { + super(value, allowedValues); + } + + public static class IntegrationAccountBasicAuthTypeSerializer + extends StdSerializer { + public IntegrationAccountBasicAuthTypeSerializer(Class t) { + super(t); + } + + public IntegrationAccountBasicAuthTypeSerializer() { + this(null); + } + + @Override + public void serialize( + IntegrationAccountBasicAuthType value, JsonGenerator jgen, SerializerProvider provider) + throws IOException, JsonProcessingException { + jgen.writeObject(value.value); + } + } + + @JsonCreator + public static IntegrationAccountBasicAuthType fromValue(String value) { + return new IntegrationAccountBasicAuthType(value); + } +} diff --git a/src/main/java/com/datadog/api/client/v2/model/IntegrationAccountBasicAuthUpdate.java b/src/main/java/com/datadog/api/client/v2/model/IntegrationAccountBasicAuthUpdate.java new file mode 100644 index 00000000000..19815c25696 --- /dev/null +++ b/src/main/java/com/datadog/api/client/v2/model/IntegrationAccountBasicAuthUpdate.java @@ -0,0 +1,210 @@ +/* + * Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License. + * This product includes software developed at Datadog (https://www.datadoghq.com/). + * Copyright 2019-Present Datadog, Inc. + */ + +package com.datadog.api.client.v2.model; + +import com.fasterxml.jackson.annotation.JsonAnyGetter; +import com.fasterxml.jackson.annotation.JsonAnySetter; +import com.fasterxml.jackson.annotation.JsonCreator; +import com.fasterxml.jackson.annotation.JsonIgnore; +import com.fasterxml.jackson.annotation.JsonInclude; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.annotation.JsonPropertyOrder; +import java.util.HashMap; +import java.util.Map; +import java.util.Objects; + +/** + * Username and password authentication. Only the fields provided are changed; omit password + * to keep the stored one. + */ +@JsonPropertyOrder({ + IntegrationAccountBasicAuthUpdate.JSON_PROPERTY_AUTH_TYPE, + IntegrationAccountBasicAuthUpdate.JSON_PROPERTY_PASSWORD, + IntegrationAccountBasicAuthUpdate.JSON_PROPERTY_USERNAME +}) +@jakarta.annotation.Generated( + value = "https://github.com/DataDog/datadog-api-client-java/blob/master/.generator") +public class IntegrationAccountBasicAuthUpdate { + @JsonIgnore public boolean unparsed = false; + public static final String JSON_PROPERTY_AUTH_TYPE = "auth_type"; + private IntegrationAccountBasicAuthType authType = IntegrationAccountBasicAuthType.BASIC; + + public static final String JSON_PROPERTY_PASSWORD = "password"; + private String password; + + public static final String JSON_PROPERTY_USERNAME = "username"; + private String username; + + public IntegrationAccountBasicAuthUpdate() {} + + @JsonCreator + public IntegrationAccountBasicAuthUpdate( + @JsonProperty(required = true, value = JSON_PROPERTY_AUTH_TYPE) + IntegrationAccountBasicAuthType authType) { + this.authType = authType; + this.unparsed |= !authType.isValid(); + } + + public IntegrationAccountBasicAuthUpdate authType(IntegrationAccountBasicAuthType authType) { + this.authType = authType; + this.unparsed |= !authType.isValid(); + return this; + } + + /** + * The authentication method type. + * + * @return authType + */ + @JsonProperty(JSON_PROPERTY_AUTH_TYPE) + @JsonInclude(value = JsonInclude.Include.ALWAYS) + public IntegrationAccountBasicAuthType getAuthType() { + return authType; + } + + public void setAuthType(IntegrationAccountBasicAuthType authType) { + if (!authType.isValid()) { + this.unparsed = true; + } + this.authType = authType; + } + + public IntegrationAccountBasicAuthUpdate password(String password) { + this.password = password; + return this; + } + + /** + * Secret password or private key. + * + * @return password + */ + @jakarta.annotation.Nullable + @JsonProperty(JSON_PROPERTY_PASSWORD) + @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) + public String getPassword() { + return password; + } + + public void setPassword(String password) { + this.password = password; + } + + public IntegrationAccountBasicAuthUpdate username(String username) { + this.username = username; + return this; + } + + /** + * Non-secret username or public identifier for the credential pair. + * + * @return username + */ + @jakarta.annotation.Nullable + @JsonProperty(JSON_PROPERTY_USERNAME) + @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) + public String getUsername() { + return username; + } + + public void setUsername(String username) { + this.username = username; + } + + /** + * 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 IntegrationAccountBasicAuthUpdate + */ + @JsonAnySetter + public IntegrationAccountBasicAuthUpdate 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 IntegrationAccountBasicAuthUpdate object is equal to o. */ + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + IntegrationAccountBasicAuthUpdate integrationAccountBasicAuthUpdate = + (IntegrationAccountBasicAuthUpdate) o; + return Objects.equals(this.authType, integrationAccountBasicAuthUpdate.authType) + && Objects.equals(this.password, integrationAccountBasicAuthUpdate.password) + && Objects.equals(this.username, integrationAccountBasicAuthUpdate.username) + && Objects.equals( + this.additionalProperties, integrationAccountBasicAuthUpdate.additionalProperties); + } + + @Override + public int hashCode() { + return Objects.hash(authType, password, username, additionalProperties); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class IntegrationAccountBasicAuthUpdate {\n"); + sb.append(" authType: ").append(toIndentedString(authType)).append("\n"); + sb.append(" password: ").append(toIndentedString(password)).append("\n"); + sb.append(" username: ").append(toIndentedString(username)).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/IntegrationAccountDataflowHealth.java b/src/main/java/com/datadog/api/client/v2/model/IntegrationAccountDataflowHealth.java new file mode 100644 index 00000000000..2f426a777d8 --- /dev/null +++ b/src/main/java/com/datadog/api/client/v2/model/IntegrationAccountDataflowHealth.java @@ -0,0 +1,63 @@ +/* + * Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License. + * This product includes software developed at Datadog (https://www.datadoghq.com/). + * Copyright 2019-Present Datadog, Inc. + */ + +package com.datadog.api.client.v2.model; + +import com.datadog.api.client.ModelEnum; +import com.fasterxml.jackson.annotation.JsonCreator; +import com.fasterxml.jackson.core.JsonGenerator; +import com.fasterxml.jackson.core.JsonProcessingException; +import com.fasterxml.jackson.databind.SerializerProvider; +import com.fasterxml.jackson.databind.annotation.JsonSerialize; +import com.fasterxml.jackson.databind.ser.std.StdSerializer; +import java.io.IOException; +import java.util.Arrays; +import java.util.HashSet; +import java.util.Set; + +/** Collection health of a single dataflow. */ +@JsonSerialize( + using = IntegrationAccountDataflowHealth.IntegrationAccountDataflowHealthSerializer.class) +public class IntegrationAccountDataflowHealth extends ModelEnum { + + private static final Set allowedValues = + new HashSet( + Arrays.asList("DATAFLOW_HEALTH_OK", "DATAFLOW_HEALTH_BROKEN", "DATAFLOW_HEALTH_UNKNOWN")); + + public static final IntegrationAccountDataflowHealth OK = + new IntegrationAccountDataflowHealth("DATAFLOW_HEALTH_OK"); + public static final IntegrationAccountDataflowHealth BROKEN = + new IntegrationAccountDataflowHealth("DATAFLOW_HEALTH_BROKEN"); + public static final IntegrationAccountDataflowHealth UNKNOWN = + new IntegrationAccountDataflowHealth("DATAFLOW_HEALTH_UNKNOWN"); + + IntegrationAccountDataflowHealth(String value) { + super(value, allowedValues); + } + + public static class IntegrationAccountDataflowHealthSerializer + extends StdSerializer { + public IntegrationAccountDataflowHealthSerializer(Class t) { + super(t); + } + + public IntegrationAccountDataflowHealthSerializer() { + this(null); + } + + @Override + public void serialize( + IntegrationAccountDataflowHealth value, JsonGenerator jgen, SerializerProvider provider) + throws IOException, JsonProcessingException { + jgen.writeObject(value.value); + } + } + + @JsonCreator + public static IntegrationAccountDataflowHealth fromValue(String value) { + return new IntegrationAccountDataflowHealth(value); + } +} diff --git a/src/main/java/com/datadog/api/client/v2/model/IntegrationAccountDataflowStatus.java b/src/main/java/com/datadog/api/client/v2/model/IntegrationAccountDataflowStatus.java new file mode 100644 index 00000000000..0b0238c7412 --- /dev/null +++ b/src/main/java/com/datadog/api/client/v2/model/IntegrationAccountDataflowStatus.java @@ -0,0 +1,198 @@ +/* + * 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.time.OffsetDateTime; +import java.util.HashMap; +import java.util.Map; +import java.util.Objects; + +/** Read-only collection status of a dataflow. */ +@JsonPropertyOrder({ + IntegrationAccountDataflowStatus.JSON_PROPERTY_HEALTH, + IntegrationAccountDataflowStatus.JSON_PROPERTY_MESSAGE, + IntegrationAccountDataflowStatus.JSON_PROPERTY_UPDATED_AT +}) +@jakarta.annotation.Generated( + value = "https://github.com/DataDog/datadog-api-client-java/blob/master/.generator") +public class IntegrationAccountDataflowStatus { + @JsonIgnore public boolean unparsed = false; + public static final String JSON_PROPERTY_HEALTH = "health"; + private IntegrationAccountDataflowHealth health; + + public static final String JSON_PROPERTY_MESSAGE = "message"; + private String message; + + public static final String JSON_PROPERTY_UPDATED_AT = "updated_at"; + private OffsetDateTime updatedAt; + + public IntegrationAccountDataflowStatus health(IntegrationAccountDataflowHealth health) { + this.health = health; + this.unparsed |= !health.isValid(); + return this; + } + + /** + * Collection health of a single dataflow. + * + * @return health + */ + @jakarta.annotation.Nullable + @JsonProperty(JSON_PROPERTY_HEALTH) + @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) + public IntegrationAccountDataflowHealth getHealth() { + return health; + } + + public void setHealth(IntegrationAccountDataflowHealth health) { + if (!health.isValid()) { + this.unparsed = true; + } + this.health = health; + } + + public IntegrationAccountDataflowStatus message(String message) { + this.message = message; + return this; + } + + /** + * Human-readable detail, populated when the dataflow is not healthy. + * + * @return message + */ + @jakarta.annotation.Nullable + @JsonProperty(JSON_PROPERTY_MESSAGE) + @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) + public String getMessage() { + return message; + } + + public void setMessage(String message) { + this.message = message; + } + + public IntegrationAccountDataflowStatus updatedAt(OffsetDateTime updatedAt) { + this.updatedAt = updatedAt; + return this; + } + + /** + * Time the status was last computed. + * + * @return updatedAt + */ + @jakarta.annotation.Nullable + @JsonProperty(JSON_PROPERTY_UPDATED_AT) + @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) + public OffsetDateTime getUpdatedAt() { + return updatedAt; + } + + public void setUpdatedAt(OffsetDateTime updatedAt) { + this.updatedAt = updatedAt; + } + + /** + * 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 IntegrationAccountDataflowStatus + */ + @JsonAnySetter + public IntegrationAccountDataflowStatus 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 IntegrationAccountDataflowStatus object is equal to o. */ + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + IntegrationAccountDataflowStatus integrationAccountDataflowStatus = + (IntegrationAccountDataflowStatus) o; + return Objects.equals(this.health, integrationAccountDataflowStatus.health) + && Objects.equals(this.message, integrationAccountDataflowStatus.message) + && Objects.equals(this.updatedAt, integrationAccountDataflowStatus.updatedAt) + && Objects.equals( + this.additionalProperties, integrationAccountDataflowStatus.additionalProperties); + } + + @Override + public int hashCode() { + return Objects.hash(health, message, updatedAt, additionalProperties); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class IntegrationAccountDataflowStatus {\n"); + sb.append(" health: ").append(toIndentedString(health)).append("\n"); + sb.append(" message: ").append(toIndentedString(message)).append("\n"); + sb.append(" updatedAt: ").append(toIndentedString(updatedAt)).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/IntegrationAccountType.java b/src/main/java/com/datadog/api/client/v2/model/IntegrationAccountType.java new file mode 100644 index 00000000000..e90bafeb807 --- /dev/null +++ b/src/main/java/com/datadog/api/client/v2/model/IntegrationAccountType.java @@ -0,0 +1,57 @@ +/* + * Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License. + * This product includes software developed at Datadog (https://www.datadoghq.com/). + * Copyright 2019-Present Datadog, Inc. + */ + +package com.datadog.api.client.v2.model; + +import com.datadog.api.client.ModelEnum; +import com.fasterxml.jackson.annotation.JsonCreator; +import com.fasterxml.jackson.core.JsonGenerator; +import com.fasterxml.jackson.core.JsonProcessingException; +import com.fasterxml.jackson.databind.SerializerProvider; +import com.fasterxml.jackson.databind.annotation.JsonSerialize; +import com.fasterxml.jackson.databind.ser.std.StdSerializer; +import java.io.IOException; +import java.util.Arrays; +import java.util.HashSet; +import java.util.Set; + +/** The type of the integration account resource. Always integration-account. */ +@JsonSerialize(using = IntegrationAccountType.IntegrationAccountTypeSerializer.class) +public class IntegrationAccountType extends ModelEnum { + + private static final Set allowedValues = + new HashSet(Arrays.asList("integration-account")); + + public static final IntegrationAccountType INTEGRATION_ACCOUNT = + new IntegrationAccountType("integration-account"); + + IntegrationAccountType(String value) { + super(value, allowedValues); + } + + public static class IntegrationAccountTypeSerializer + extends StdSerializer { + public IntegrationAccountTypeSerializer(Class t) { + super(t); + } + + public IntegrationAccountTypeSerializer() { + this(null); + } + + @Override + public void serialize( + IntegrationAccountType value, JsonGenerator jgen, SerializerProvider provider) + throws IOException, JsonProcessingException { + jgen.writeObject(value.value); + } + } + + @JsonCreator + public static IntegrationAccountType fromValue(String value) { + return new IntegrationAccountType(value); + } +} diff --git a/src/main/java/com/datadog/api/client/v2/model/TwilioAlertsLogsIntegrationDataflowRequest.java b/src/main/java/com/datadog/api/client/v2/model/TwilioAlertsLogsIntegrationDataflowRequest.java new file mode 100644 index 00000000000..192c47cc40b --- /dev/null +++ b/src/main/java/com/datadog/api/client/v2/model/TwilioAlertsLogsIntegrationDataflowRequest.java @@ -0,0 +1,139 @@ +/* + * 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 Twilio alerts logs dataflow. */ +@JsonPropertyOrder({TwilioAlertsLogsIntegrationDataflowRequest.JSON_PROPERTY_ENABLED}) +@jakarta.annotation.Generated( + value = "https://github.com/DataDog/datadog-api-client-java/blob/master/.generator") +public class TwilioAlertsLogsIntegrationDataflowRequest { + @JsonIgnore public boolean unparsed = false; + public static final String JSON_PROPERTY_ENABLED = "enabled"; + private Boolean enabled; + + public TwilioAlertsLogsIntegrationDataflowRequest enabled(Boolean enabled) { + this.enabled = enabled; + return this; + } + + /** + * Whether the Twilio 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 TwilioAlertsLogsIntegrationDataflowRequest + */ + @JsonAnySetter + public TwilioAlertsLogsIntegrationDataflowRequest 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 TwilioAlertsLogsIntegrationDataflowRequest object is equal to o. */ + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + TwilioAlertsLogsIntegrationDataflowRequest twilioAlertsLogsIntegrationDataflowRequest = + (TwilioAlertsLogsIntegrationDataflowRequest) o; + return Objects.equals(this.enabled, twilioAlertsLogsIntegrationDataflowRequest.enabled) + && Objects.equals( + this.additionalProperties, + twilioAlertsLogsIntegrationDataflowRequest.additionalProperties); + } + + @Override + public int hashCode() { + return Objects.hash(enabled, additionalProperties); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class TwilioAlertsLogsIntegrationDataflowRequest {\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/TwilioAlertsLogsIntegrationDataflowResponse.java b/src/main/java/com/datadog/api/client/v2/model/TwilioAlertsLogsIntegrationDataflowResponse.java new file mode 100644 index 00000000000..021bfad883f --- /dev/null +++ b/src/main/java/com/datadog/api/client/v2/model/TwilioAlertsLogsIntegrationDataflowResponse.java @@ -0,0 +1,159 @@ +/* + * Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License. + * This product includes software developed at Datadog (https://www.datadoghq.com/). + * Copyright 2019-Present Datadog, Inc. + */ + +package com.datadog.api.client.v2.model; + +import com.fasterxml.jackson.annotation.JsonAnyGetter; +import com.fasterxml.jackson.annotation.JsonAnySetter; +import com.fasterxml.jackson.annotation.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 Twilio alerts logs dataflow. */ +@JsonPropertyOrder({ + TwilioAlertsLogsIntegrationDataflowResponse.JSON_PROPERTY_ENABLED, + TwilioAlertsLogsIntegrationDataflowResponse.JSON_PROPERTY_STATUS +}) +@jakarta.annotation.Generated( + value = "https://github.com/DataDog/datadog-api-client-java/blob/master/.generator") +public class TwilioAlertsLogsIntegrationDataflowResponse { + @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 TwilioAlertsLogsIntegrationDataflowResponse enabled(Boolean enabled) { + this.enabled = enabled; + return this; + } + + /** + * Whether the Twilio 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 TwilioAlertsLogsIntegrationDataflowResponse + */ + @JsonAnySetter + public TwilioAlertsLogsIntegrationDataflowResponse 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 TwilioAlertsLogsIntegrationDataflowResponse object is equal to o. */ + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + TwilioAlertsLogsIntegrationDataflowResponse twilioAlertsLogsIntegrationDataflowResponse = + (TwilioAlertsLogsIntegrationDataflowResponse) o; + return Objects.equals(this.enabled, twilioAlertsLogsIntegrationDataflowResponse.enabled) + && Objects.equals(this.status, twilioAlertsLogsIntegrationDataflowResponse.status) + && Objects.equals( + this.additionalProperties, + twilioAlertsLogsIntegrationDataflowResponse.additionalProperties); + } + + @Override + public int hashCode() { + return Objects.hash(enabled, status, additionalProperties); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class TwilioAlertsLogsIntegrationDataflowResponse {\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/TwilioCallSummariesLogsIntegrationDataflowRequest.java b/src/main/java/com/datadog/api/client/v2/model/TwilioCallSummariesLogsIntegrationDataflowRequest.java new file mode 100644 index 00000000000..2717565c07c --- /dev/null +++ b/src/main/java/com/datadog/api/client/v2/model/TwilioCallSummariesLogsIntegrationDataflowRequest.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 Twilio call summaries logs dataflow. */ +@JsonPropertyOrder({TwilioCallSummariesLogsIntegrationDataflowRequest.JSON_PROPERTY_ENABLED}) +@jakarta.annotation.Generated( + value = "https://github.com/DataDog/datadog-api-client-java/blob/master/.generator") +public class TwilioCallSummariesLogsIntegrationDataflowRequest { + @JsonIgnore public boolean unparsed = false; + public static final String JSON_PROPERTY_ENABLED = "enabled"; + private Boolean enabled; + + public TwilioCallSummariesLogsIntegrationDataflowRequest enabled(Boolean enabled) { + this.enabled = enabled; + return this; + } + + /** + * Whether the Twilio 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 TwilioCallSummariesLogsIntegrationDataflowRequest + */ + @JsonAnySetter + public TwilioCallSummariesLogsIntegrationDataflowRequest 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 TwilioCallSummariesLogsIntegrationDataflowRequest object is equal to o. */ + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + TwilioCallSummariesLogsIntegrationDataflowRequest + twilioCallSummariesLogsIntegrationDataflowRequest = + (TwilioCallSummariesLogsIntegrationDataflowRequest) o; + return Objects.equals(this.enabled, twilioCallSummariesLogsIntegrationDataflowRequest.enabled) + && Objects.equals( + this.additionalProperties, + twilioCallSummariesLogsIntegrationDataflowRequest.additionalProperties); + } + + @Override + public int hashCode() { + return Objects.hash(enabled, additionalProperties); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class TwilioCallSummariesLogsIntegrationDataflowRequest {\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/TwilioCallSummariesLogsIntegrationDataflowResponse.java b/src/main/java/com/datadog/api/client/v2/model/TwilioCallSummariesLogsIntegrationDataflowResponse.java new file mode 100644 index 00000000000..10da3142eb5 --- /dev/null +++ b/src/main/java/com/datadog/api/client/v2/model/TwilioCallSummariesLogsIntegrationDataflowResponse.java @@ -0,0 +1,162 @@ +/* + * 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 Twilio call summaries logs dataflow. */ +@JsonPropertyOrder({ + TwilioCallSummariesLogsIntegrationDataflowResponse.JSON_PROPERTY_ENABLED, + TwilioCallSummariesLogsIntegrationDataflowResponse.JSON_PROPERTY_STATUS +}) +@jakarta.annotation.Generated( + value = "https://github.com/DataDog/datadog-api-client-java/blob/master/.generator") +public class TwilioCallSummariesLogsIntegrationDataflowResponse { + @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 TwilioCallSummariesLogsIntegrationDataflowResponse enabled(Boolean enabled) { + this.enabled = enabled; + return this; + } + + /** + * Whether the Twilio 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 TwilioCallSummariesLogsIntegrationDataflowResponse + */ + @JsonAnySetter + public TwilioCallSummariesLogsIntegrationDataflowResponse 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 TwilioCallSummariesLogsIntegrationDataflowResponse object is equal to o. + */ + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + TwilioCallSummariesLogsIntegrationDataflowResponse + twilioCallSummariesLogsIntegrationDataflowResponse = + (TwilioCallSummariesLogsIntegrationDataflowResponse) o; + return Objects.equals(this.enabled, twilioCallSummariesLogsIntegrationDataflowResponse.enabled) + && Objects.equals(this.status, twilioCallSummariesLogsIntegrationDataflowResponse.status) + && Objects.equals( + this.additionalProperties, + twilioCallSummariesLogsIntegrationDataflowResponse.additionalProperties); + } + + @Override + public int hashCode() { + return Objects.hash(enabled, status, additionalProperties); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class TwilioCallSummariesLogsIntegrationDataflowResponse {\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/TwilioCloudCostMetricsIntegrationDataflowRequest.java b/src/main/java/com/datadog/api/client/v2/model/TwilioCloudCostMetricsIntegrationDataflowRequest.java new file mode 100644 index 00000000000..ef015a7b263 --- /dev/null +++ b/src/main/java/com/datadog/api/client/v2/model/TwilioCloudCostMetricsIntegrationDataflowRequest.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 Twilio cloud cost metrics dataflow. */ +@JsonPropertyOrder({TwilioCloudCostMetricsIntegrationDataflowRequest.JSON_PROPERTY_ENABLED}) +@jakarta.annotation.Generated( + value = "https://github.com/DataDog/datadog-api-client-java/blob/master/.generator") +public class TwilioCloudCostMetricsIntegrationDataflowRequest { + @JsonIgnore public boolean unparsed = false; + public static final String JSON_PROPERTY_ENABLED = "enabled"; + private Boolean enabled; + + public TwilioCloudCostMetricsIntegrationDataflowRequest enabled(Boolean enabled) { + this.enabled = enabled; + return this; + } + + /** + * Whether the Twilio 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 TwilioCloudCostMetricsIntegrationDataflowRequest + */ + @JsonAnySetter + public TwilioCloudCostMetricsIntegrationDataflowRequest 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 TwilioCloudCostMetricsIntegrationDataflowRequest object is equal to o. */ + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + TwilioCloudCostMetricsIntegrationDataflowRequest + twilioCloudCostMetricsIntegrationDataflowRequest = + (TwilioCloudCostMetricsIntegrationDataflowRequest) o; + return Objects.equals(this.enabled, twilioCloudCostMetricsIntegrationDataflowRequest.enabled) + && Objects.equals( + this.additionalProperties, + twilioCloudCostMetricsIntegrationDataflowRequest.additionalProperties); + } + + @Override + public int hashCode() { + return Objects.hash(enabled, additionalProperties); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class TwilioCloudCostMetricsIntegrationDataflowRequest {\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/TwilioCloudCostMetricsIntegrationDataflowResponse.java b/src/main/java/com/datadog/api/client/v2/model/TwilioCloudCostMetricsIntegrationDataflowResponse.java new file mode 100644 index 00000000000..fa4e837a1d7 --- /dev/null +++ b/src/main/java/com/datadog/api/client/v2/model/TwilioCloudCostMetricsIntegrationDataflowResponse.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 Twilio cloud cost metrics dataflow. */ +@JsonPropertyOrder({ + TwilioCloudCostMetricsIntegrationDataflowResponse.JSON_PROPERTY_ENABLED, + TwilioCloudCostMetricsIntegrationDataflowResponse.JSON_PROPERTY_STATUS +}) +@jakarta.annotation.Generated( + value = "https://github.com/DataDog/datadog-api-client-java/blob/master/.generator") +public class TwilioCloudCostMetricsIntegrationDataflowResponse { + @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 TwilioCloudCostMetricsIntegrationDataflowResponse enabled(Boolean enabled) { + this.enabled = enabled; + return this; + } + + /** + * Whether the Twilio 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 TwilioCloudCostMetricsIntegrationDataflowResponse + */ + @JsonAnySetter + public TwilioCloudCostMetricsIntegrationDataflowResponse 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 TwilioCloudCostMetricsIntegrationDataflowResponse object is equal to o. */ + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + TwilioCloudCostMetricsIntegrationDataflowResponse + twilioCloudCostMetricsIntegrationDataflowResponse = + (TwilioCloudCostMetricsIntegrationDataflowResponse) o; + return Objects.equals(this.enabled, twilioCloudCostMetricsIntegrationDataflowResponse.enabled) + && Objects.equals(this.status, twilioCloudCostMetricsIntegrationDataflowResponse.status) + && Objects.equals( + this.additionalProperties, + twilioCloudCostMetricsIntegrationDataflowResponse.additionalProperties); + } + + @Override + public int hashCode() { + return Objects.hash(enabled, status, additionalProperties); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class TwilioCloudCostMetricsIntegrationDataflowResponse {\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/TwilioEventsLogsIntegrationDataflowRequest.java b/src/main/java/com/datadog/api/client/v2/model/TwilioEventsLogsIntegrationDataflowRequest.java new file mode 100644 index 00000000000..2912e119092 --- /dev/null +++ b/src/main/java/com/datadog/api/client/v2/model/TwilioEventsLogsIntegrationDataflowRequest.java @@ -0,0 +1,139 @@ +/* + * 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 Twilio events logs dataflow. */ +@JsonPropertyOrder({TwilioEventsLogsIntegrationDataflowRequest.JSON_PROPERTY_ENABLED}) +@jakarta.annotation.Generated( + value = "https://github.com/DataDog/datadog-api-client-java/blob/master/.generator") +public class TwilioEventsLogsIntegrationDataflowRequest { + @JsonIgnore public boolean unparsed = false; + public static final String JSON_PROPERTY_ENABLED = "enabled"; + private Boolean enabled; + + public TwilioEventsLogsIntegrationDataflowRequest enabled(Boolean enabled) { + this.enabled = enabled; + return this; + } + + /** + * Whether the Twilio 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 TwilioEventsLogsIntegrationDataflowRequest + */ + @JsonAnySetter + public TwilioEventsLogsIntegrationDataflowRequest 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 TwilioEventsLogsIntegrationDataflowRequest object is equal to o. */ + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + TwilioEventsLogsIntegrationDataflowRequest twilioEventsLogsIntegrationDataflowRequest = + (TwilioEventsLogsIntegrationDataflowRequest) o; + return Objects.equals(this.enabled, twilioEventsLogsIntegrationDataflowRequest.enabled) + && Objects.equals( + this.additionalProperties, + twilioEventsLogsIntegrationDataflowRequest.additionalProperties); + } + + @Override + public int hashCode() { + return Objects.hash(enabled, additionalProperties); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class TwilioEventsLogsIntegrationDataflowRequest {\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/TwilioEventsLogsIntegrationDataflowResponse.java b/src/main/java/com/datadog/api/client/v2/model/TwilioEventsLogsIntegrationDataflowResponse.java new file mode 100644 index 00000000000..363c8318ce0 --- /dev/null +++ b/src/main/java/com/datadog/api/client/v2/model/TwilioEventsLogsIntegrationDataflowResponse.java @@ -0,0 +1,159 @@ +/* + * Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License. + * This product includes software developed at Datadog (https://www.datadoghq.com/). + * Copyright 2019-Present Datadog, Inc. + */ + +package com.datadog.api.client.v2.model; + +import com.fasterxml.jackson.annotation.JsonAnyGetter; +import com.fasterxml.jackson.annotation.JsonAnySetter; +import com.fasterxml.jackson.annotation.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 Twilio events logs dataflow. */ +@JsonPropertyOrder({ + TwilioEventsLogsIntegrationDataflowResponse.JSON_PROPERTY_ENABLED, + TwilioEventsLogsIntegrationDataflowResponse.JSON_PROPERTY_STATUS +}) +@jakarta.annotation.Generated( + value = "https://github.com/DataDog/datadog-api-client-java/blob/master/.generator") +public class TwilioEventsLogsIntegrationDataflowResponse { + @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 TwilioEventsLogsIntegrationDataflowResponse enabled(Boolean enabled) { + this.enabled = enabled; + return this; + } + + /** + * Whether the Twilio 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 TwilioEventsLogsIntegrationDataflowResponse + */ + @JsonAnySetter + public TwilioEventsLogsIntegrationDataflowResponse 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 TwilioEventsLogsIntegrationDataflowResponse object is equal to o. */ + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + TwilioEventsLogsIntegrationDataflowResponse twilioEventsLogsIntegrationDataflowResponse = + (TwilioEventsLogsIntegrationDataflowResponse) o; + return Objects.equals(this.enabled, twilioEventsLogsIntegrationDataflowResponse.enabled) + && Objects.equals(this.status, twilioEventsLogsIntegrationDataflowResponse.status) + && Objects.equals( + this.additionalProperties, + twilioEventsLogsIntegrationDataflowResponse.additionalProperties); + } + + @Override + public int hashCode() { + return Objects.hash(enabled, status, additionalProperties); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class TwilioEventsLogsIntegrationDataflowResponse {\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/TwilioIntegrationAccountAuthenticationRequest.java b/src/main/java/com/datadog/api/client/v2/model/TwilioIntegrationAccountAuthenticationRequest.java new file mode 100644 index 00000000000..01535d31c38 --- /dev/null +++ b/src/main/java/com/datadog/api/client/v2/model/TwilioIntegrationAccountAuthenticationRequest.java @@ -0,0 +1,233 @@ +/* + * 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 = + TwilioIntegrationAccountAuthenticationRequest + .TwilioIntegrationAccountAuthenticationRequestDeserializer.class) +@JsonSerialize( + using = + TwilioIntegrationAccountAuthenticationRequest + .TwilioIntegrationAccountAuthenticationRequestSerializer.class) +public class TwilioIntegrationAccountAuthenticationRequest extends AbstractOpenApiSchema { + private static final Logger log = + Logger.getLogger(TwilioIntegrationAccountAuthenticationRequest.class.getName()); + + @JsonIgnore public boolean unparsed = false; + + public static class TwilioIntegrationAccountAuthenticationRequestSerializer + extends StdSerializer { + public TwilioIntegrationAccountAuthenticationRequestSerializer( + Class t) { + super(t); + } + + public TwilioIntegrationAccountAuthenticationRequestSerializer() { + this(null); + } + + @Override + public void serialize( + TwilioIntegrationAccountAuthenticationRequest value, + JsonGenerator jgen, + SerializerProvider provider) + throws IOException, JsonProcessingException { + jgen.writeObject(value.getActualInstance()); + } + } + + public static class TwilioIntegrationAccountAuthenticationRequestDeserializer + extends StdDeserializer { + public TwilioIntegrationAccountAuthenticationRequestDeserializer() { + this(TwilioIntegrationAccountAuthenticationRequest.class); + } + + public TwilioIntegrationAccountAuthenticationRequestDeserializer(Class vc) { + super(vc); + } + + @Override + public TwilioIntegrationAccountAuthenticationRequest 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); + } + + TwilioIntegrationAccountAuthenticationRequest ret = + new TwilioIntegrationAccountAuthenticationRequest(); + if (match == 1) { + ret.setActualInstance(deserialized); + } else { + Map res = + new ObjectMapper() + .readValue( + tree.traverse(jp.getCodec()).readValueAsTree().toString(), + new TypeReference>() {}); + ret.setActualInstance(new UnparsedObject(res)); + } + return ret; + } + + /** Handle deserialization of the 'null' value. */ + @Override + public TwilioIntegrationAccountAuthenticationRequest getNullValue(DeserializationContext ctxt) + throws JsonMappingException { + throw new JsonMappingException( + ctxt.getParser(), "TwilioIntegrationAccountAuthenticationRequest cannot be null"); + } + } + + // store a list of schema names defined in oneOf + public static final Map schemas = new HashMap(); + + public TwilioIntegrationAccountAuthenticationRequest() { + super("oneOf", Boolean.FALSE); + } + + public TwilioIntegrationAccountAuthenticationRequest(IntegrationAccountBasicAuthRequest o) { + super("oneOf", Boolean.FALSE); + setActualInstance(o); + } + + static { + schemas.put( + "IntegrationAccountBasicAuthRequest", + new GenericType() {}); + JSON.registerDescendants( + TwilioIntegrationAccountAuthenticationRequest.class, Collections.unmodifiableMap(schemas)); + } + + @Override + public Map getSchemas() { + return TwilioIntegrationAccountAuthenticationRequest.schemas; + } + + /** + * Set the instance that matches the oneOf child schema, check the instance parameter is valid + * against the oneOf child schemas: IntegrationAccountBasicAuthRequest + * + *

It could be an instance of the 'oneOf' schemas. The oneOf child schemas may themselves be a + * composed schema (allOf, anyOf, oneOf). + */ + @Override + public void setActualInstance(Object instance) { + if (JSON.isInstanceOf( + IntegrationAccountBasicAuthRequest.class, instance, new HashSet>())) { + super.setActualInstance(instance); + return; + } + + if (JSON.isInstanceOf(UnparsedObject.class, instance, new HashSet>())) { + super.setActualInstance(instance); + return; + } + throw new RuntimeException("Invalid instance type. Must be IntegrationAccountBasicAuthRequest"); + } + + /** + * Get the actual instance, which can be the following: IntegrationAccountBasicAuthRequest + * + * @return The actual instance (IntegrationAccountBasicAuthRequest) + */ + @Override + public Object getActualInstance() { + return super.getActualInstance(); + } + + /** + * Get the actual instance of `IntegrationAccountBasicAuthRequest`. If the actual instance is not + * `IntegrationAccountBasicAuthRequest`, the ClassCastException will be thrown. + * + * @return The actual instance of `IntegrationAccountBasicAuthRequest` + * @throws ClassCastException if the instance is not `IntegrationAccountBasicAuthRequest` + */ + public IntegrationAccountBasicAuthRequest getIntegrationAccountBasicAuthRequest() + throws ClassCastException { + return (IntegrationAccountBasicAuthRequest) super.getActualInstance(); + } +} diff --git a/src/main/java/com/datadog/api/client/v2/model/TwilioIntegrationAccountAuthenticationResponse.java b/src/main/java/com/datadog/api/client/v2/model/TwilioIntegrationAccountAuthenticationResponse.java new file mode 100644 index 00000000000..de6a1e057bb --- /dev/null +++ b/src/main/java/com/datadog/api/client/v2/model/TwilioIntegrationAccountAuthenticationResponse.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 = + TwilioIntegrationAccountAuthenticationResponse + .TwilioIntegrationAccountAuthenticationResponseDeserializer.class) +@JsonSerialize( + using = + TwilioIntegrationAccountAuthenticationResponse + .TwilioIntegrationAccountAuthenticationResponseSerializer.class) +public class TwilioIntegrationAccountAuthenticationResponse extends AbstractOpenApiSchema { + private static final Logger log = + Logger.getLogger(TwilioIntegrationAccountAuthenticationResponse.class.getName()); + + @JsonIgnore public boolean unparsed = false; + + public static class TwilioIntegrationAccountAuthenticationResponseSerializer + extends StdSerializer { + public TwilioIntegrationAccountAuthenticationResponseSerializer( + Class t) { + super(t); + } + + public TwilioIntegrationAccountAuthenticationResponseSerializer() { + this(null); + } + + @Override + public void serialize( + TwilioIntegrationAccountAuthenticationResponse value, + JsonGenerator jgen, + SerializerProvider provider) + throws IOException, JsonProcessingException { + jgen.writeObject(value.getActualInstance()); + } + } + + public static class TwilioIntegrationAccountAuthenticationResponseDeserializer + extends StdDeserializer { + public TwilioIntegrationAccountAuthenticationResponseDeserializer() { + this(TwilioIntegrationAccountAuthenticationResponse.class); + } + + public TwilioIntegrationAccountAuthenticationResponseDeserializer(Class vc) { + super(vc); + } + + @Override + public TwilioIntegrationAccountAuthenticationResponse 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 IntegrationAccountBasicAuthResponse + try { + boolean attemptParsing = true; + // ensure that we respect type coercion as set on the client ObjectMapper + if (IntegrationAccountBasicAuthResponse.class.equals(Integer.class) + || IntegrationAccountBasicAuthResponse.class.equals(Long.class) + || IntegrationAccountBasicAuthResponse.class.equals(Float.class) + || IntegrationAccountBasicAuthResponse.class.equals(Double.class) + || IntegrationAccountBasicAuthResponse.class.equals(Boolean.class) + || IntegrationAccountBasicAuthResponse.class.equals(String.class)) { + attemptParsing = typeCoercion; + if (!attemptParsing) { + attemptParsing |= + ((IntegrationAccountBasicAuthResponse.class.equals(Integer.class) + || IntegrationAccountBasicAuthResponse.class.equals(Long.class)) + && token == JsonToken.VALUE_NUMBER_INT); + attemptParsing |= + ((IntegrationAccountBasicAuthResponse.class.equals(Float.class) + || IntegrationAccountBasicAuthResponse.class.equals(Double.class)) + && (token == JsonToken.VALUE_NUMBER_FLOAT + || token == JsonToken.VALUE_NUMBER_INT)); + attemptParsing |= + (IntegrationAccountBasicAuthResponse.class.equals(Boolean.class) + && (token == JsonToken.VALUE_FALSE || token == JsonToken.VALUE_TRUE)); + attemptParsing |= + (IntegrationAccountBasicAuthResponse.class.equals(String.class) + && token == JsonToken.VALUE_STRING); + } + } + if (attemptParsing) { + tmp = tree.traverse(jp.getCodec()).readValueAs(IntegrationAccountBasicAuthResponse.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 (!((IntegrationAccountBasicAuthResponse) tmp).unparsed) { + deserialized = tmp; + match++; + } + log.log(Level.FINER, "Input data matches schema 'IntegrationAccountBasicAuthResponse'"); + } + } catch (Exception e) { + // deserialization failed, continue + log.log( + Level.FINER, + "Input data does not match schema 'IntegrationAccountBasicAuthResponse'", + e); + } + + TwilioIntegrationAccountAuthenticationResponse ret = + new TwilioIntegrationAccountAuthenticationResponse(); + if (match == 1) { + ret.setActualInstance(deserialized); + } else { + Map res = + new ObjectMapper() + .readValue( + tree.traverse(jp.getCodec()).readValueAsTree().toString(), + new TypeReference>() {}); + ret.setActualInstance(new UnparsedObject(res)); + } + return ret; + } + + /** Handle deserialization of the 'null' value. */ + @Override + public TwilioIntegrationAccountAuthenticationResponse getNullValue(DeserializationContext ctxt) + throws JsonMappingException { + throw new JsonMappingException( + ctxt.getParser(), "TwilioIntegrationAccountAuthenticationResponse cannot be null"); + } + } + + // store a list of schema names defined in oneOf + public static final Map schemas = new HashMap(); + + public TwilioIntegrationAccountAuthenticationResponse() { + super("oneOf", Boolean.FALSE); + } + + public TwilioIntegrationAccountAuthenticationResponse(IntegrationAccountBasicAuthResponse o) { + super("oneOf", Boolean.FALSE); + setActualInstance(o); + } + + static { + schemas.put( + "IntegrationAccountBasicAuthResponse", + new GenericType() {}); + JSON.registerDescendants( + TwilioIntegrationAccountAuthenticationResponse.class, Collections.unmodifiableMap(schemas)); + } + + @Override + public Map getSchemas() { + return TwilioIntegrationAccountAuthenticationResponse.schemas; + } + + /** + * Set the instance that matches the oneOf child schema, check the instance parameter is valid + * against the oneOf child schemas: IntegrationAccountBasicAuthResponse + * + *

It could be an instance of the 'oneOf' schemas. The oneOf child schemas may themselves be a + * composed schema (allOf, anyOf, oneOf). + */ + @Override + public void setActualInstance(Object instance) { + if (JSON.isInstanceOf( + IntegrationAccountBasicAuthResponse.class, instance, new HashSet>())) { + super.setActualInstance(instance); + return; + } + + if (JSON.isInstanceOf(UnparsedObject.class, instance, new HashSet>())) { + super.setActualInstance(instance); + return; + } + throw new RuntimeException( + "Invalid instance type. Must be IntegrationAccountBasicAuthResponse"); + } + + /** + * Get the actual instance, which can be the following: IntegrationAccountBasicAuthResponse + * + * @return The actual instance (IntegrationAccountBasicAuthResponse) + */ + @Override + public Object getActualInstance() { + return super.getActualInstance(); + } + + /** + * Get the actual instance of `IntegrationAccountBasicAuthResponse`. If the actual instance is not + * `IntegrationAccountBasicAuthResponse`, the ClassCastException will be thrown. + * + * @return The actual instance of `IntegrationAccountBasicAuthResponse` + * @throws ClassCastException if the instance is not `IntegrationAccountBasicAuthResponse` + */ + public IntegrationAccountBasicAuthResponse getIntegrationAccountBasicAuthResponse() + throws ClassCastException { + return (IntegrationAccountBasicAuthResponse) super.getActualInstance(); + } +} diff --git a/src/main/java/com/datadog/api/client/v2/model/TwilioIntegrationAccountAuthenticationUpdate.java b/src/main/java/com/datadog/api/client/v2/model/TwilioIntegrationAccountAuthenticationUpdate.java new file mode 100644 index 00000000000..c561d5b0134 --- /dev/null +++ b/src/main/java/com/datadog/api/client/v2/model/TwilioIntegrationAccountAuthenticationUpdate.java @@ -0,0 +1,231 @@ +/* + * 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 = + TwilioIntegrationAccountAuthenticationUpdate + .TwilioIntegrationAccountAuthenticationUpdateDeserializer.class) +@JsonSerialize( + using = + TwilioIntegrationAccountAuthenticationUpdate + .TwilioIntegrationAccountAuthenticationUpdateSerializer.class) +public class TwilioIntegrationAccountAuthenticationUpdate extends AbstractOpenApiSchema { + private static final Logger log = + Logger.getLogger(TwilioIntegrationAccountAuthenticationUpdate.class.getName()); + + @JsonIgnore public boolean unparsed = false; + + public static class TwilioIntegrationAccountAuthenticationUpdateSerializer + extends StdSerializer { + public TwilioIntegrationAccountAuthenticationUpdateSerializer( + Class t) { + super(t); + } + + public TwilioIntegrationAccountAuthenticationUpdateSerializer() { + this(null); + } + + @Override + public void serialize( + TwilioIntegrationAccountAuthenticationUpdate value, + JsonGenerator jgen, + SerializerProvider provider) + throws IOException, JsonProcessingException { + jgen.writeObject(value.getActualInstance()); + } + } + + public static class TwilioIntegrationAccountAuthenticationUpdateDeserializer + extends StdDeserializer { + public TwilioIntegrationAccountAuthenticationUpdateDeserializer() { + this(TwilioIntegrationAccountAuthenticationUpdate.class); + } + + public TwilioIntegrationAccountAuthenticationUpdateDeserializer(Class vc) { + super(vc); + } + + @Override + public TwilioIntegrationAccountAuthenticationUpdate 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 IntegrationAccountBasicAuthUpdate + try { + boolean attemptParsing = true; + // ensure that we respect type coercion as set on the client ObjectMapper + if (IntegrationAccountBasicAuthUpdate.class.equals(Integer.class) + || IntegrationAccountBasicAuthUpdate.class.equals(Long.class) + || IntegrationAccountBasicAuthUpdate.class.equals(Float.class) + || IntegrationAccountBasicAuthUpdate.class.equals(Double.class) + || IntegrationAccountBasicAuthUpdate.class.equals(Boolean.class) + || IntegrationAccountBasicAuthUpdate.class.equals(String.class)) { + attemptParsing = typeCoercion; + if (!attemptParsing) { + attemptParsing |= + ((IntegrationAccountBasicAuthUpdate.class.equals(Integer.class) + || IntegrationAccountBasicAuthUpdate.class.equals(Long.class)) + && token == JsonToken.VALUE_NUMBER_INT); + attemptParsing |= + ((IntegrationAccountBasicAuthUpdate.class.equals(Float.class) + || IntegrationAccountBasicAuthUpdate.class.equals(Double.class)) + && (token == JsonToken.VALUE_NUMBER_FLOAT + || token == JsonToken.VALUE_NUMBER_INT)); + attemptParsing |= + (IntegrationAccountBasicAuthUpdate.class.equals(Boolean.class) + && (token == JsonToken.VALUE_FALSE || token == JsonToken.VALUE_TRUE)); + attemptParsing |= + (IntegrationAccountBasicAuthUpdate.class.equals(String.class) + && token == JsonToken.VALUE_STRING); + } + } + if (attemptParsing) { + tmp = tree.traverse(jp.getCodec()).readValueAs(IntegrationAccountBasicAuthUpdate.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 (!((IntegrationAccountBasicAuthUpdate) tmp).unparsed) { + deserialized = tmp; + match++; + } + log.log(Level.FINER, "Input data matches schema 'IntegrationAccountBasicAuthUpdate'"); + } + } catch (Exception e) { + // deserialization failed, continue + log.log( + Level.FINER, "Input data does not match schema 'IntegrationAccountBasicAuthUpdate'", e); + } + + TwilioIntegrationAccountAuthenticationUpdate ret = + new TwilioIntegrationAccountAuthenticationUpdate(); + if (match == 1) { + ret.setActualInstance(deserialized); + } else { + Map res = + new ObjectMapper() + .readValue( + tree.traverse(jp.getCodec()).readValueAsTree().toString(), + new TypeReference>() {}); + ret.setActualInstance(new UnparsedObject(res)); + } + return ret; + } + + /** Handle deserialization of the 'null' value. */ + @Override + public TwilioIntegrationAccountAuthenticationUpdate getNullValue(DeserializationContext ctxt) + throws JsonMappingException { + throw new JsonMappingException( + ctxt.getParser(), "TwilioIntegrationAccountAuthenticationUpdate cannot be null"); + } + } + + // store a list of schema names defined in oneOf + public static final Map schemas = new HashMap(); + + public TwilioIntegrationAccountAuthenticationUpdate() { + super("oneOf", Boolean.FALSE); + } + + public TwilioIntegrationAccountAuthenticationUpdate(IntegrationAccountBasicAuthUpdate o) { + super("oneOf", Boolean.FALSE); + setActualInstance(o); + } + + static { + schemas.put( + "IntegrationAccountBasicAuthUpdate", + new GenericType() {}); + JSON.registerDescendants( + TwilioIntegrationAccountAuthenticationUpdate.class, Collections.unmodifiableMap(schemas)); + } + + @Override + public Map getSchemas() { + return TwilioIntegrationAccountAuthenticationUpdate.schemas; + } + + /** + * Set the instance that matches the oneOf child schema, check the instance parameter is valid + * against the oneOf child schemas: IntegrationAccountBasicAuthUpdate + * + *

It could be an instance of the 'oneOf' schemas. The oneOf child schemas may themselves be a + * composed schema (allOf, anyOf, oneOf). + */ + @Override + public void setActualInstance(Object instance) { + if (JSON.isInstanceOf( + IntegrationAccountBasicAuthUpdate.class, instance, new HashSet>())) { + super.setActualInstance(instance); + return; + } + + if (JSON.isInstanceOf(UnparsedObject.class, instance, new HashSet>())) { + super.setActualInstance(instance); + return; + } + throw new RuntimeException("Invalid instance type. Must be IntegrationAccountBasicAuthUpdate"); + } + + /** + * Get the actual instance, which can be the following: IntegrationAccountBasicAuthUpdate + * + * @return The actual instance (IntegrationAccountBasicAuthUpdate) + */ + @Override + public Object getActualInstance() { + return super.getActualInstance(); + } + + /** + * Get the actual instance of `IntegrationAccountBasicAuthUpdate`. If the actual instance is not + * `IntegrationAccountBasicAuthUpdate`, the ClassCastException will be thrown. + * + * @return The actual instance of `IntegrationAccountBasicAuthUpdate` + * @throws ClassCastException if the instance is not `IntegrationAccountBasicAuthUpdate` + */ + public IntegrationAccountBasicAuthUpdate getIntegrationAccountBasicAuthUpdate() + throws ClassCastException { + return (IntegrationAccountBasicAuthUpdate) super.getActualInstance(); + } +} diff --git a/src/main/java/com/datadog/api/client/v2/model/TwilioIntegrationAccountCreateAttributes.java b/src/main/java/com/datadog/api/client/v2/model/TwilioIntegrationAccountCreateAttributes.java new file mode 100644 index 00000000000..9bc213037d8 --- /dev/null +++ b/src/main/java/com/datadog/api/client/v2/model/TwilioIntegrationAccountCreateAttributes.java @@ -0,0 +1,251 @@ +/* + * Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License. + * This product includes software developed at Datadog (https://www.datadoghq.com/). + * Copyright 2019-Present Datadog, Inc. + */ + +package com.datadog.api.client.v2.model; + +import com.fasterxml.jackson.annotation.JsonAnyGetter; +import com.fasterxml.jackson.annotation.JsonAnySetter; +import com.fasterxml.jackson.annotation.JsonCreator; +import com.fasterxml.jackson.annotation.JsonIgnore; +import com.fasterxml.jackson.annotation.JsonInclude; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.annotation.JsonPropertyOrder; +import java.util.HashMap; +import java.util.Map; +import java.util.Objects; + +/** Writable attributes used to create a Twilio integration account. */ +@JsonPropertyOrder({ + TwilioIntegrationAccountCreateAttributes.JSON_PROPERTY_AUTHENTICATION, + TwilioIntegrationAccountCreateAttributes.JSON_PROPERTY_DATAFLOWS, + TwilioIntegrationAccountCreateAttributes.JSON_PROPERTY_NAME, + TwilioIntegrationAccountCreateAttributes.JSON_PROPERTY_SETTINGS +}) +@jakarta.annotation.Generated( + value = "https://github.com/DataDog/datadog-api-client-java/blob/master/.generator") +public class TwilioIntegrationAccountCreateAttributes { + @JsonIgnore public boolean unparsed = false; + public static final String JSON_PROPERTY_AUTHENTICATION = "authentication"; + private TwilioIntegrationAccountAuthenticationRequest authentication; + + public static final String JSON_PROPERTY_DATAFLOWS = "dataflows"; + private TwilioIntegrationDataflowsRequest dataflows; + + public static final String JSON_PROPERTY_NAME = "name"; + private String name; + + public static final String JSON_PROPERTY_SETTINGS = "settings"; + private TwilioIntegrationAccountSettingsRequest settings; + + public TwilioIntegrationAccountCreateAttributes() {} + + @JsonCreator + public TwilioIntegrationAccountCreateAttributes( + @JsonProperty(required = true, value = JSON_PROPERTY_AUTHENTICATION) + TwilioIntegrationAccountAuthenticationRequest authentication, + @JsonProperty(required = true, value = JSON_PROPERTY_NAME) String name, + @JsonProperty(required = true, value = JSON_PROPERTY_SETTINGS) + TwilioIntegrationAccountSettingsRequest settings) { + this.authentication = authentication; + this.unparsed |= authentication.unparsed; + this.name = name; + this.settings = settings; + this.unparsed |= settings.unparsed; + } + + public TwilioIntegrationAccountCreateAttributes authentication( + TwilioIntegrationAccountAuthenticationRequest authentication) { + this.authentication = authentication; + this.unparsed |= authentication.unparsed; + return this; + } + + /** + * Authentication for creating the Twilio integration account. Exactly one method is set. + * + * @return authentication + */ + @JsonProperty(JSON_PROPERTY_AUTHENTICATION) + @JsonInclude(value = JsonInclude.Include.ALWAYS) + public TwilioIntegrationAccountAuthenticationRequest getAuthentication() { + return authentication; + } + + public void setAuthentication(TwilioIntegrationAccountAuthenticationRequest authentication) { + this.authentication = authentication; + if (authentication != null) { + this.unparsed |= authentication.unparsed; + } + } + + public TwilioIntegrationAccountCreateAttributes dataflows( + TwilioIntegrationDataflowsRequest dataflows) { + this.dataflows = dataflows; + this.unparsed |= dataflows.unparsed; + return this; + } + + /** + * Dataflows to configure on the Twilio integration account, keyed by dataflow id. + * + * @return dataflows + */ + @jakarta.annotation.Nullable + @JsonProperty(JSON_PROPERTY_DATAFLOWS) + @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) + public TwilioIntegrationDataflowsRequest getDataflows() { + return dataflows; + } + + public void setDataflows(TwilioIntegrationDataflowsRequest dataflows) { + this.dataflows = dataflows; + if (dataflows != null) { + this.unparsed |= dataflows.unparsed; + } + } + + public TwilioIntegrationAccountCreateAttributes name(String name) { + this.name = name; + return this; + } + + /** + * Human-readable name of the Twilio integration account. + * + * @return name + */ + @JsonProperty(JSON_PROPERTY_NAME) + @JsonInclude(value = JsonInclude.Include.ALWAYS) + public String getName() { + return name; + } + + public void setName(String name) { + this.name = name; + } + + public TwilioIntegrationAccountCreateAttributes settings( + TwilioIntegrationAccountSettingsRequest settings) { + this.settings = settings; + this.unparsed |= settings.unparsed; + return this; + } + + /** + * Settings for creating the Twilio integration account. + * + * @return settings + */ + @JsonProperty(JSON_PROPERTY_SETTINGS) + @JsonInclude(value = JsonInclude.Include.ALWAYS) + public TwilioIntegrationAccountSettingsRequest getSettings() { + return settings; + } + + public void setSettings(TwilioIntegrationAccountSettingsRequest settings) { + this.settings = settings; + if (settings != null) { + this.unparsed |= settings.unparsed; + } + } + + /** + * 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 TwilioIntegrationAccountCreateAttributes + */ + @JsonAnySetter + public TwilioIntegrationAccountCreateAttributes 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 TwilioIntegrationAccountCreateAttributes object is equal to o. */ + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + TwilioIntegrationAccountCreateAttributes twilioIntegrationAccountCreateAttributes = + (TwilioIntegrationAccountCreateAttributes) o; + return Objects.equals( + this.authentication, twilioIntegrationAccountCreateAttributes.authentication) + && Objects.equals(this.dataflows, twilioIntegrationAccountCreateAttributes.dataflows) + && Objects.equals(this.name, twilioIntegrationAccountCreateAttributes.name) + && Objects.equals(this.settings, twilioIntegrationAccountCreateAttributes.settings) + && Objects.equals( + this.additionalProperties, + twilioIntegrationAccountCreateAttributes.additionalProperties); + } + + @Override + public int hashCode() { + return Objects.hash(authentication, dataflows, name, settings, additionalProperties); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class TwilioIntegrationAccountCreateAttributes {\n"); + sb.append(" authentication: ").append(toIndentedString(authentication)).append("\n"); + sb.append(" dataflows: ").append(toIndentedString(dataflows)).append("\n"); + sb.append(" name: ").append(toIndentedString(name)).append("\n"); + sb.append(" settings: ").append(toIndentedString(settings)).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/TwilioIntegrationAccountCreateData.java b/src/main/java/com/datadog/api/client/v2/model/TwilioIntegrationAccountCreateData.java new file mode 100644 index 00000000000..87be83bf888 --- /dev/null +++ b/src/main/java/com/datadog/api/client/v2/model/TwilioIntegrationAccountCreateData.java @@ -0,0 +1,187 @@ +/* + * Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License. + * This product includes software developed at Datadog (https://www.datadoghq.com/). + * Copyright 2019-Present Datadog, Inc. + */ + +package com.datadog.api.client.v2.model; + +import com.fasterxml.jackson.annotation.JsonAnyGetter; +import com.fasterxml.jackson.annotation.JsonAnySetter; +import com.fasterxml.jackson.annotation.JsonCreator; +import com.fasterxml.jackson.annotation.JsonIgnore; +import com.fasterxml.jackson.annotation.JsonInclude; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.annotation.JsonPropertyOrder; +import java.util.HashMap; +import java.util.Map; +import java.util.Objects; + +/** Data envelope for creating a Twilio integration account. */ +@JsonPropertyOrder({ + TwilioIntegrationAccountCreateData.JSON_PROPERTY_ATTRIBUTES, + TwilioIntegrationAccountCreateData.JSON_PROPERTY_TYPE +}) +@jakarta.annotation.Generated( + value = "https://github.com/DataDog/datadog-api-client-java/blob/master/.generator") +public class TwilioIntegrationAccountCreateData { + @JsonIgnore public boolean unparsed = false; + public static final String JSON_PROPERTY_ATTRIBUTES = "attributes"; + private TwilioIntegrationAccountCreateAttributes attributes; + + public static final String JSON_PROPERTY_TYPE = "type"; + private IntegrationAccountType type = IntegrationAccountType.INTEGRATION_ACCOUNT; + + public TwilioIntegrationAccountCreateData() {} + + @JsonCreator + public TwilioIntegrationAccountCreateData( + @JsonProperty(required = true, value = JSON_PROPERTY_ATTRIBUTES) + TwilioIntegrationAccountCreateAttributes attributes, + @JsonProperty(required = true, value = JSON_PROPERTY_TYPE) IntegrationAccountType type) { + this.attributes = attributes; + this.unparsed |= attributes.unparsed; + this.type = type; + this.unparsed |= !type.isValid(); + } + + public TwilioIntegrationAccountCreateData attributes( + TwilioIntegrationAccountCreateAttributes attributes) { + this.attributes = attributes; + this.unparsed |= attributes.unparsed; + return this; + } + + /** + * Writable attributes used to create a Twilio integration account. + * + * @return attributes + */ + @JsonProperty(JSON_PROPERTY_ATTRIBUTES) + @JsonInclude(value = JsonInclude.Include.ALWAYS) + public TwilioIntegrationAccountCreateAttributes getAttributes() { + return attributes; + } + + public void setAttributes(TwilioIntegrationAccountCreateAttributes attributes) { + this.attributes = attributes; + if (attributes != null) { + this.unparsed |= attributes.unparsed; + } + } + + public TwilioIntegrationAccountCreateData type(IntegrationAccountType type) { + this.type = type; + this.unparsed |= !type.isValid(); + return this; + } + + /** + * The type of the integration account resource. Always integration-account. + * + * @return type + */ + @JsonProperty(JSON_PROPERTY_TYPE) + @JsonInclude(value = JsonInclude.Include.ALWAYS) + public IntegrationAccountType getType() { + return type; + } + + public void setType(IntegrationAccountType type) { + if (!type.isValid()) { + this.unparsed = true; + } + this.type = type; + } + + /** + * A container for additional, undeclared properties. This is a holder for any undeclared + * properties as specified with the 'additionalProperties' keyword in the OAS document. + */ + private Map additionalProperties; + + /** + * Set the additional (undeclared) property with the specified name and value. If the property + * does not already exist, create it otherwise replace it. + * + * @param key The arbitrary key to set + * @param value The associated value + * @return TwilioIntegrationAccountCreateData + */ + @JsonAnySetter + public TwilioIntegrationAccountCreateData 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 TwilioIntegrationAccountCreateData object is equal to o. */ + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + TwilioIntegrationAccountCreateData twilioIntegrationAccountCreateData = + (TwilioIntegrationAccountCreateData) o; + return Objects.equals(this.attributes, twilioIntegrationAccountCreateData.attributes) + && Objects.equals(this.type, twilioIntegrationAccountCreateData.type) + && Objects.equals( + this.additionalProperties, twilioIntegrationAccountCreateData.additionalProperties); + } + + @Override + public int hashCode() { + return Objects.hash(attributes, type, additionalProperties); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class TwilioIntegrationAccountCreateData {\n"); + sb.append(" attributes: ").append(toIndentedString(attributes)).append("\n"); + sb.append(" type: ").append(toIndentedString(type)).append("\n"); + sb.append(" additionalProperties: ") + .append(toIndentedString(additionalProperties)) + .append("\n"); + sb.append('}'); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } +} diff --git a/src/main/java/com/datadog/api/client/v2/model/TwilioIntegrationAccountCreateRequest.java b/src/main/java/com/datadog/api/client/v2/model/TwilioIntegrationAccountCreateRequest.java new file mode 100644 index 00000000000..48784661ccf --- /dev/null +++ b/src/main/java/com/datadog/api/client/v2/model/TwilioIntegrationAccountCreateRequest.java @@ -0,0 +1,151 @@ +/* + * Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License. + * This product includes software developed at Datadog (https://www.datadoghq.com/). + * Copyright 2019-Present Datadog, Inc. + */ + +package com.datadog.api.client.v2.model; + +import com.fasterxml.jackson.annotation.JsonAnyGetter; +import com.fasterxml.jackson.annotation.JsonAnySetter; +import com.fasterxml.jackson.annotation.JsonCreator; +import com.fasterxml.jackson.annotation.JsonIgnore; +import com.fasterxml.jackson.annotation.JsonInclude; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.annotation.JsonPropertyOrder; +import java.util.HashMap; +import java.util.Map; +import java.util.Objects; + +/** Request payload to create a Twilio integration account. */ +@JsonPropertyOrder({TwilioIntegrationAccountCreateRequest.JSON_PROPERTY_DATA}) +@jakarta.annotation.Generated( + value = "https://github.com/DataDog/datadog-api-client-java/blob/master/.generator") +public class TwilioIntegrationAccountCreateRequest { + @JsonIgnore public boolean unparsed = false; + public static final String JSON_PROPERTY_DATA = "data"; + private TwilioIntegrationAccountCreateData data; + + public TwilioIntegrationAccountCreateRequest() {} + + @JsonCreator + public TwilioIntegrationAccountCreateRequest( + @JsonProperty(required = true, value = JSON_PROPERTY_DATA) + TwilioIntegrationAccountCreateData data) { + this.data = data; + this.unparsed |= data.unparsed; + } + + public TwilioIntegrationAccountCreateRequest data(TwilioIntegrationAccountCreateData data) { + this.data = data; + this.unparsed |= data.unparsed; + return this; + } + + /** + * Data envelope for creating a Twilio integration account. + * + * @return data + */ + @JsonProperty(JSON_PROPERTY_DATA) + @JsonInclude(value = JsonInclude.Include.ALWAYS) + public TwilioIntegrationAccountCreateData getData() { + return data; + } + + public void setData(TwilioIntegrationAccountCreateData data) { + this.data = data; + if (data != null) { + this.unparsed |= data.unparsed; + } + } + + /** + * 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 TwilioIntegrationAccountCreateRequest + */ + @JsonAnySetter + public TwilioIntegrationAccountCreateRequest 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 TwilioIntegrationAccountCreateRequest object is equal to o. */ + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + TwilioIntegrationAccountCreateRequest twilioIntegrationAccountCreateRequest = + (TwilioIntegrationAccountCreateRequest) o; + return Objects.equals(this.data, twilioIntegrationAccountCreateRequest.data) + && Objects.equals( + this.additionalProperties, twilioIntegrationAccountCreateRequest.additionalProperties); + } + + @Override + public int hashCode() { + return Objects.hash(data, additionalProperties); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class TwilioIntegrationAccountCreateRequest {\n"); + sb.append(" data: ").append(toIndentedString(data)).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/TwilioIntegrationAccountResponse.java b/src/main/java/com/datadog/api/client/v2/model/TwilioIntegrationAccountResponse.java new file mode 100644 index 00000000000..26da7cba15a --- /dev/null +++ b/src/main/java/com/datadog/api/client/v2/model/TwilioIntegrationAccountResponse.java @@ -0,0 +1,151 @@ +/* + * Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License. + * This product includes software developed at Datadog (https://www.datadoghq.com/). + * Copyright 2019-Present Datadog, Inc. + */ + +package com.datadog.api.client.v2.model; + +import com.fasterxml.jackson.annotation.JsonAnyGetter; +import com.fasterxml.jackson.annotation.JsonAnySetter; +import com.fasterxml.jackson.annotation.JsonCreator; +import com.fasterxml.jackson.annotation.JsonIgnore; +import com.fasterxml.jackson.annotation.JsonInclude; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.annotation.JsonPropertyOrder; +import java.util.HashMap; +import java.util.Map; +import java.util.Objects; + +/** Response payload for a single Twilio integration account. */ +@JsonPropertyOrder({TwilioIntegrationAccountResponse.JSON_PROPERTY_DATA}) +@jakarta.annotation.Generated( + value = "https://github.com/DataDog/datadog-api-client-java/blob/master/.generator") +public class TwilioIntegrationAccountResponse { + @JsonIgnore public boolean unparsed = false; + public static final String JSON_PROPERTY_DATA = "data"; + private TwilioIntegrationAccountResponseData data; + + public TwilioIntegrationAccountResponse() {} + + @JsonCreator + public TwilioIntegrationAccountResponse( + @JsonProperty(required = true, value = JSON_PROPERTY_DATA) + TwilioIntegrationAccountResponseData data) { + this.data = data; + this.unparsed |= data.unparsed; + } + + public TwilioIntegrationAccountResponse data(TwilioIntegrationAccountResponseData data) { + this.data = data; + this.unparsed |= data.unparsed; + return this; + } + + /** + * Data envelope of a Twilio integration account, including server-assigned identity. + * + * @return data + */ + @JsonProperty(JSON_PROPERTY_DATA) + @JsonInclude(value = JsonInclude.Include.ALWAYS) + public TwilioIntegrationAccountResponseData getData() { + return data; + } + + public void setData(TwilioIntegrationAccountResponseData data) { + this.data = data; + if (data != null) { + this.unparsed |= data.unparsed; + } + } + + /** + * 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 TwilioIntegrationAccountResponse + */ + @JsonAnySetter + public TwilioIntegrationAccountResponse 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 TwilioIntegrationAccountResponse object is equal to o. */ + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + TwilioIntegrationAccountResponse twilioIntegrationAccountResponse = + (TwilioIntegrationAccountResponse) o; + return Objects.equals(this.data, twilioIntegrationAccountResponse.data) + && Objects.equals( + this.additionalProperties, twilioIntegrationAccountResponse.additionalProperties); + } + + @Override + public int hashCode() { + return Objects.hash(data, additionalProperties); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class TwilioIntegrationAccountResponse {\n"); + sb.append(" data: ").append(toIndentedString(data)).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/TwilioIntegrationAccountResponseAttributes.java b/src/main/java/com/datadog/api/client/v2/model/TwilioIntegrationAccountResponseAttributes.java new file mode 100644 index 00000000000..d62b67adaf3 --- /dev/null +++ b/src/main/java/com/datadog/api/client/v2/model/TwilioIntegrationAccountResponseAttributes.java @@ -0,0 +1,249 @@ +/* + * Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License. + * This product includes software developed at Datadog (https://www.datadoghq.com/). + * Copyright 2019-Present Datadog, Inc. + */ + +package com.datadog.api.client.v2.model; + +import com.fasterxml.jackson.annotation.JsonAnyGetter; +import com.fasterxml.jackson.annotation.JsonAnySetter; +import com.fasterxml.jackson.annotation.JsonCreator; +import com.fasterxml.jackson.annotation.JsonIgnore; +import com.fasterxml.jackson.annotation.JsonInclude; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.annotation.JsonPropertyOrder; +import java.util.HashMap; +import java.util.Map; +import java.util.Objects; + +/** Attributes of a Twilio integration account returned in responses. */ +@JsonPropertyOrder({ + TwilioIntegrationAccountResponseAttributes.JSON_PROPERTY_AUTHENTICATION, + TwilioIntegrationAccountResponseAttributes.JSON_PROPERTY_DATAFLOWS, + TwilioIntegrationAccountResponseAttributes.JSON_PROPERTY_NAME, + TwilioIntegrationAccountResponseAttributes.JSON_PROPERTY_SETTINGS +}) +@jakarta.annotation.Generated( + value = "https://github.com/DataDog/datadog-api-client-java/blob/master/.generator") +public class TwilioIntegrationAccountResponseAttributes { + @JsonIgnore public boolean unparsed = false; + public static final String JSON_PROPERTY_AUTHENTICATION = "authentication"; + private TwilioIntegrationAccountAuthenticationResponse authentication; + + public static final String JSON_PROPERTY_DATAFLOWS = "dataflows"; + private TwilioIntegrationDataflowsResponse dataflows; + + public static final String JSON_PROPERTY_NAME = "name"; + private String name; + + public static final String JSON_PROPERTY_SETTINGS = "settings"; + private TwilioIntegrationAccountSettingsResponse settings; + + public TwilioIntegrationAccountResponseAttributes() {} + + @JsonCreator + public TwilioIntegrationAccountResponseAttributes( + @JsonProperty(required = true, value = JSON_PROPERTY_NAME) String name, + @JsonProperty(required = true, value = JSON_PROPERTY_SETTINGS) + TwilioIntegrationAccountSettingsResponse settings) { + this.name = name; + this.settings = settings; + this.unparsed |= settings.unparsed; + } + + public TwilioIntegrationAccountResponseAttributes authentication( + TwilioIntegrationAccountAuthenticationResponse authentication) { + this.authentication = authentication; + this.unparsed |= authentication.unparsed; + return this; + } + + /** + * Authentication configured on the Twilio integration account. + * + * @return authentication + */ + @jakarta.annotation.Nullable + @JsonProperty(JSON_PROPERTY_AUTHENTICATION) + @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) + public TwilioIntegrationAccountAuthenticationResponse getAuthentication() { + return authentication; + } + + public void setAuthentication(TwilioIntegrationAccountAuthenticationResponse authentication) { + this.authentication = authentication; + if (authentication != null) { + this.unparsed |= authentication.unparsed; + } + } + + public TwilioIntegrationAccountResponseAttributes dataflows( + TwilioIntegrationDataflowsResponse dataflows) { + this.dataflows = dataflows; + this.unparsed |= dataflows.unparsed; + return this; + } + + /** + * Dataflows configured on the Twilio integration account, keyed by dataflow id. + * + * @return dataflows + */ + @jakarta.annotation.Nullable + @JsonProperty(JSON_PROPERTY_DATAFLOWS) + @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) + public TwilioIntegrationDataflowsResponse getDataflows() { + return dataflows; + } + + public void setDataflows(TwilioIntegrationDataflowsResponse dataflows) { + this.dataflows = dataflows; + if (dataflows != null) { + this.unparsed |= dataflows.unparsed; + } + } + + public TwilioIntegrationAccountResponseAttributes name(String name) { + this.name = name; + return this; + } + + /** + * Human-readable name of the Twilio integration account. + * + * @return name + */ + @JsonProperty(JSON_PROPERTY_NAME) + @JsonInclude(value = JsonInclude.Include.ALWAYS) + public String getName() { + return name; + } + + public void setName(String name) { + this.name = name; + } + + public TwilioIntegrationAccountResponseAttributes settings( + TwilioIntegrationAccountSettingsResponse settings) { + this.settings = settings; + this.unparsed |= settings.unparsed; + return this; + } + + /** + * Settings configured on the Twilio integration account. + * + * @return settings + */ + @JsonProperty(JSON_PROPERTY_SETTINGS) + @JsonInclude(value = JsonInclude.Include.ALWAYS) + public TwilioIntegrationAccountSettingsResponse getSettings() { + return settings; + } + + public void setSettings(TwilioIntegrationAccountSettingsResponse settings) { + this.settings = settings; + if (settings != null) { + this.unparsed |= settings.unparsed; + } + } + + /** + * 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 TwilioIntegrationAccountResponseAttributes + */ + @JsonAnySetter + public TwilioIntegrationAccountResponseAttributes 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 TwilioIntegrationAccountResponseAttributes object is equal to o. */ + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + TwilioIntegrationAccountResponseAttributes twilioIntegrationAccountResponseAttributes = + (TwilioIntegrationAccountResponseAttributes) o; + return Objects.equals( + this.authentication, twilioIntegrationAccountResponseAttributes.authentication) + && Objects.equals(this.dataflows, twilioIntegrationAccountResponseAttributes.dataflows) + && Objects.equals(this.name, twilioIntegrationAccountResponseAttributes.name) + && Objects.equals(this.settings, twilioIntegrationAccountResponseAttributes.settings) + && Objects.equals( + this.additionalProperties, + twilioIntegrationAccountResponseAttributes.additionalProperties); + } + + @Override + public int hashCode() { + return Objects.hash(authentication, dataflows, name, settings, additionalProperties); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class TwilioIntegrationAccountResponseAttributes {\n"); + sb.append(" authentication: ").append(toIndentedString(authentication)).append("\n"); + sb.append(" dataflows: ").append(toIndentedString(dataflows)).append("\n"); + sb.append(" name: ").append(toIndentedString(name)).append("\n"); + sb.append(" settings: ").append(toIndentedString(settings)).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/TwilioIntegrationAccountResponseData.java b/src/main/java/com/datadog/api/client/v2/model/TwilioIntegrationAccountResponseData.java new file mode 100644 index 00000000000..7000ca66996 --- /dev/null +++ b/src/main/java/com/datadog/api/client/v2/model/TwilioIntegrationAccountResponseData.java @@ -0,0 +1,206 @@ +/* + * Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License. + * This product includes software developed at Datadog (https://www.datadoghq.com/). + * Copyright 2019-Present Datadog, Inc. + */ + +package com.datadog.api.client.v2.model; + +import com.fasterxml.jackson.annotation.JsonAnyGetter; +import com.fasterxml.jackson.annotation.JsonAnySetter; +import com.fasterxml.jackson.annotation.JsonCreator; +import com.fasterxml.jackson.annotation.JsonIgnore; +import com.fasterxml.jackson.annotation.JsonInclude; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.annotation.JsonPropertyOrder; +import java.util.HashMap; +import java.util.Map; +import java.util.Objects; + +/** Data envelope of a Twilio integration account, including server-assigned identity. */ +@JsonPropertyOrder({ + TwilioIntegrationAccountResponseData.JSON_PROPERTY_ATTRIBUTES, + TwilioIntegrationAccountResponseData.JSON_PROPERTY_ID, + TwilioIntegrationAccountResponseData.JSON_PROPERTY_TYPE +}) +@jakarta.annotation.Generated( + value = "https://github.com/DataDog/datadog-api-client-java/blob/master/.generator") +public class TwilioIntegrationAccountResponseData { + @JsonIgnore public boolean unparsed = false; + public static final String JSON_PROPERTY_ATTRIBUTES = "attributes"; + private TwilioIntegrationAccountResponseAttributes attributes; + + public static final String JSON_PROPERTY_ID = "id"; + private String id; + + public static final String JSON_PROPERTY_TYPE = "type"; + private IntegrationAccountType type = IntegrationAccountType.INTEGRATION_ACCOUNT; + + public TwilioIntegrationAccountResponseData() {} + + @JsonCreator + public TwilioIntegrationAccountResponseData( + @JsonProperty(required = true, value = JSON_PROPERTY_ATTRIBUTES) + TwilioIntegrationAccountResponseAttributes attributes, + @JsonProperty(required = true, value = JSON_PROPERTY_ID) String id, + @JsonProperty(required = true, value = JSON_PROPERTY_TYPE) IntegrationAccountType type) { + this.attributes = attributes; + this.unparsed |= attributes.unparsed; + this.id = id; + this.type = type; + this.unparsed |= !type.isValid(); + } + + public TwilioIntegrationAccountResponseData attributes( + TwilioIntegrationAccountResponseAttributes attributes) { + this.attributes = attributes; + this.unparsed |= attributes.unparsed; + return this; + } + + /** + * Attributes of a Twilio integration account returned in responses. + * + * @return attributes + */ + @JsonProperty(JSON_PROPERTY_ATTRIBUTES) + @JsonInclude(value = JsonInclude.Include.ALWAYS) + public TwilioIntegrationAccountResponseAttributes getAttributes() { + return attributes; + } + + public void setAttributes(TwilioIntegrationAccountResponseAttributes attributes) { + this.attributes = attributes; + if (attributes != null) { + this.unparsed |= attributes.unparsed; + } + } + + /** + * Server-generated unique identifier of the Twilio integration account. + * + * @return id + */ + @JsonProperty(JSON_PROPERTY_ID) + @JsonInclude(value = JsonInclude.Include.ALWAYS) + public String getId() { + return id; + } + + public TwilioIntegrationAccountResponseData type(IntegrationAccountType type) { + this.type = type; + this.unparsed |= !type.isValid(); + return this; + } + + /** + * The type of the integration account resource. Always integration-account. + * + * @return type + */ + @JsonProperty(JSON_PROPERTY_TYPE) + @JsonInclude(value = JsonInclude.Include.ALWAYS) + public IntegrationAccountType getType() { + return type; + } + + public void setType(IntegrationAccountType type) { + if (!type.isValid()) { + this.unparsed = true; + } + this.type = type; + } + + /** + * A container for additional, undeclared properties. This is a holder for any undeclared + * properties as specified with the 'additionalProperties' keyword in the OAS document. + */ + private Map additionalProperties; + + /** + * Set the additional (undeclared) property with the specified name and value. If the property + * does not already exist, create it otherwise replace it. + * + * @param key The arbitrary key to set + * @param value The associated value + * @return TwilioIntegrationAccountResponseData + */ + @JsonAnySetter + public TwilioIntegrationAccountResponseData 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 TwilioIntegrationAccountResponseData object is equal to o. */ + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + TwilioIntegrationAccountResponseData twilioIntegrationAccountResponseData = + (TwilioIntegrationAccountResponseData) o; + return Objects.equals(this.attributes, twilioIntegrationAccountResponseData.attributes) + && Objects.equals(this.id, twilioIntegrationAccountResponseData.id) + && Objects.equals(this.type, twilioIntegrationAccountResponseData.type) + && Objects.equals( + this.additionalProperties, twilioIntegrationAccountResponseData.additionalProperties); + } + + @Override + public int hashCode() { + return Objects.hash(attributes, id, type, additionalProperties); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class TwilioIntegrationAccountResponseData {\n"); + sb.append(" attributes: ").append(toIndentedString(attributes)).append("\n"); + sb.append(" id: ").append(toIndentedString(id)).append("\n"); + sb.append(" type: ").append(toIndentedString(type)).append("\n"); + sb.append(" additionalProperties: ") + .append(toIndentedString(additionalProperties)) + .append("\n"); + sb.append('}'); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } +} diff --git a/src/main/java/com/datadog/api/client/v2/model/TwilioIntegrationAccountSettingsRequest.java b/src/main/java/com/datadog/api/client/v2/model/TwilioIntegrationAccountSettingsRequest.java new file mode 100644 index 00000000000..02d078c4762 --- /dev/null +++ b/src/main/java/com/datadog/api/client/v2/model/TwilioIntegrationAccountSettingsRequest.java @@ -0,0 +1,176 @@ +/* + * Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License. + * This product includes software developed at Datadog (https://www.datadoghq.com/). + * Copyright 2019-Present Datadog, Inc. + */ + +package com.datadog.api.client.v2.model; + +import com.fasterxml.jackson.annotation.JsonAnyGetter; +import com.fasterxml.jackson.annotation.JsonAnySetter; +import com.fasterxml.jackson.annotation.JsonCreator; +import com.fasterxml.jackson.annotation.JsonIgnore; +import com.fasterxml.jackson.annotation.JsonInclude; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.annotation.JsonPropertyOrder; +import java.util.HashMap; +import java.util.Map; +import java.util.Objects; + +/** Settings for creating the Twilio integration account. */ +@JsonPropertyOrder({ + TwilioIntegrationAccountSettingsRequest.JSON_PROPERTY_ACCOUNT_SID, + TwilioIntegrationAccountSettingsRequest.JSON_PROPERTY_CENSOR_LOGS +}) +@jakarta.annotation.Generated( + value = "https://github.com/DataDog/datadog-api-client-java/blob/master/.generator") +public class TwilioIntegrationAccountSettingsRequest { + @JsonIgnore public boolean unparsed = false; + public static final String JSON_PROPERTY_ACCOUNT_SID = "account_sid"; + private String accountSid; + + public static final String JSON_PROPERTY_CENSOR_LOGS = "censor_logs"; + private Boolean censorLogs; + + public TwilioIntegrationAccountSettingsRequest() {} + + @JsonCreator + public TwilioIntegrationAccountSettingsRequest( + @JsonProperty(required = true, value = JSON_PROPERTY_ACCOUNT_SID) String accountSid) { + this.accountSid = accountSid; + } + + public TwilioIntegrationAccountSettingsRequest accountSid(String accountSid) { + this.accountSid = accountSid; + return this; + } + + /** + * Twilio Account SID that uniquely identifies your Twilio account. + * + * @return accountSid + */ + @JsonProperty(JSON_PROPERTY_ACCOUNT_SID) + @JsonInclude(value = JsonInclude.Include.ALWAYS) + public String getAccountSid() { + return accountSid; + } + + public void setAccountSid(String accountSid) { + this.accountSid = accountSid; + } + + public TwilioIntegrationAccountSettingsRequest censorLogs(Boolean censorLogs) { + this.censorLogs = censorLogs; + return this; + } + + /** + * When enabled, Twilio phone numbers in the to field and SMS message bodies are + * censored for privacy. + * + * @return censorLogs + */ + @jakarta.annotation.Nullable + @JsonProperty(JSON_PROPERTY_CENSOR_LOGS) + @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) + public Boolean getCensorLogs() { + return censorLogs; + } + + public void setCensorLogs(Boolean censorLogs) { + this.censorLogs = censorLogs; + } + + /** + * 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 TwilioIntegrationAccountSettingsRequest + */ + @JsonAnySetter + public TwilioIntegrationAccountSettingsRequest 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 TwilioIntegrationAccountSettingsRequest object is equal to o. */ + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + TwilioIntegrationAccountSettingsRequest twilioIntegrationAccountSettingsRequest = + (TwilioIntegrationAccountSettingsRequest) o; + return Objects.equals(this.accountSid, twilioIntegrationAccountSettingsRequest.accountSid) + && Objects.equals(this.censorLogs, twilioIntegrationAccountSettingsRequest.censorLogs) + && Objects.equals( + this.additionalProperties, + twilioIntegrationAccountSettingsRequest.additionalProperties); + } + + @Override + public int hashCode() { + return Objects.hash(accountSid, censorLogs, additionalProperties); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class TwilioIntegrationAccountSettingsRequest {\n"); + sb.append(" accountSid: ").append(toIndentedString(accountSid)).append("\n"); + sb.append(" censorLogs: ").append(toIndentedString(censorLogs)).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/TwilioIntegrationAccountSettingsResponse.java b/src/main/java/com/datadog/api/client/v2/model/TwilioIntegrationAccountSettingsResponse.java new file mode 100644 index 00000000000..06b6e77440c --- /dev/null +++ b/src/main/java/com/datadog/api/client/v2/model/TwilioIntegrationAccountSettingsResponse.java @@ -0,0 +1,176 @@ +/* + * Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License. + * This product includes software developed at Datadog (https://www.datadoghq.com/). + * Copyright 2019-Present Datadog, Inc. + */ + +package com.datadog.api.client.v2.model; + +import com.fasterxml.jackson.annotation.JsonAnyGetter; +import com.fasterxml.jackson.annotation.JsonAnySetter; +import com.fasterxml.jackson.annotation.JsonCreator; +import com.fasterxml.jackson.annotation.JsonIgnore; +import com.fasterxml.jackson.annotation.JsonInclude; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.annotation.JsonPropertyOrder; +import java.util.HashMap; +import java.util.Map; +import java.util.Objects; + +/** Settings configured on the Twilio integration account. */ +@JsonPropertyOrder({ + TwilioIntegrationAccountSettingsResponse.JSON_PROPERTY_ACCOUNT_SID, + TwilioIntegrationAccountSettingsResponse.JSON_PROPERTY_CENSOR_LOGS +}) +@jakarta.annotation.Generated( + value = "https://github.com/DataDog/datadog-api-client-java/blob/master/.generator") +public class TwilioIntegrationAccountSettingsResponse { + @JsonIgnore public boolean unparsed = false; + public static final String JSON_PROPERTY_ACCOUNT_SID = "account_sid"; + private String accountSid; + + public static final String JSON_PROPERTY_CENSOR_LOGS = "censor_logs"; + private Boolean censorLogs; + + public TwilioIntegrationAccountSettingsResponse() {} + + @JsonCreator + public TwilioIntegrationAccountSettingsResponse( + @JsonProperty(required = true, value = JSON_PROPERTY_ACCOUNT_SID) String accountSid) { + this.accountSid = accountSid; + } + + public TwilioIntegrationAccountSettingsResponse accountSid(String accountSid) { + this.accountSid = accountSid; + return this; + } + + /** + * Twilio Account SID that uniquely identifies your Twilio account. + * + * @return accountSid + */ + @JsonProperty(JSON_PROPERTY_ACCOUNT_SID) + @JsonInclude(value = JsonInclude.Include.ALWAYS) + public String getAccountSid() { + return accountSid; + } + + public void setAccountSid(String accountSid) { + this.accountSid = accountSid; + } + + public TwilioIntegrationAccountSettingsResponse censorLogs(Boolean censorLogs) { + this.censorLogs = censorLogs; + return this; + } + + /** + * When enabled, Twilio phone numbers in the to field and SMS message bodies are + * censored for privacy. + * + * @return censorLogs + */ + @jakarta.annotation.Nullable + @JsonProperty(JSON_PROPERTY_CENSOR_LOGS) + @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) + public Boolean getCensorLogs() { + return censorLogs; + } + + public void setCensorLogs(Boolean censorLogs) { + this.censorLogs = censorLogs; + } + + /** + * 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 TwilioIntegrationAccountSettingsResponse + */ + @JsonAnySetter + public TwilioIntegrationAccountSettingsResponse 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 TwilioIntegrationAccountSettingsResponse object is equal to o. */ + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + TwilioIntegrationAccountSettingsResponse twilioIntegrationAccountSettingsResponse = + (TwilioIntegrationAccountSettingsResponse) o; + return Objects.equals(this.accountSid, twilioIntegrationAccountSettingsResponse.accountSid) + && Objects.equals(this.censorLogs, twilioIntegrationAccountSettingsResponse.censorLogs) + && Objects.equals( + this.additionalProperties, + twilioIntegrationAccountSettingsResponse.additionalProperties); + } + + @Override + public int hashCode() { + return Objects.hash(accountSid, censorLogs, additionalProperties); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class TwilioIntegrationAccountSettingsResponse {\n"); + sb.append(" accountSid: ").append(toIndentedString(accountSid)).append("\n"); + sb.append(" censorLogs: ").append(toIndentedString(censorLogs)).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/TwilioIntegrationAccountSettingsUpdate.java b/src/main/java/com/datadog/api/client/v2/model/TwilioIntegrationAccountSettingsUpdate.java new file mode 100644 index 00000000000..2034b111ef3 --- /dev/null +++ b/src/main/java/com/datadog/api/client/v2/model/TwilioIntegrationAccountSettingsUpdate.java @@ -0,0 +1,167 @@ +/* + * 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; + +/** Settings for updating the Twilio integration account. Only the fields provided are changed. */ +@JsonPropertyOrder({ + TwilioIntegrationAccountSettingsUpdate.JSON_PROPERTY_ACCOUNT_SID, + TwilioIntegrationAccountSettingsUpdate.JSON_PROPERTY_CENSOR_LOGS +}) +@jakarta.annotation.Generated( + value = "https://github.com/DataDog/datadog-api-client-java/blob/master/.generator") +public class TwilioIntegrationAccountSettingsUpdate { + @JsonIgnore public boolean unparsed = false; + public static final String JSON_PROPERTY_ACCOUNT_SID = "account_sid"; + private String accountSid; + + public static final String JSON_PROPERTY_CENSOR_LOGS = "censor_logs"; + private Boolean censorLogs; + + public TwilioIntegrationAccountSettingsUpdate accountSid(String accountSid) { + this.accountSid = accountSid; + return this; + } + + /** + * Twilio Account SID that uniquely identifies your Twilio account. + * + * @return accountSid + */ + @jakarta.annotation.Nullable + @JsonProperty(JSON_PROPERTY_ACCOUNT_SID) + @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) + public String getAccountSid() { + return accountSid; + } + + public void setAccountSid(String accountSid) { + this.accountSid = accountSid; + } + + public TwilioIntegrationAccountSettingsUpdate censorLogs(Boolean censorLogs) { + this.censorLogs = censorLogs; + return this; + } + + /** + * When enabled, Twilio phone numbers in the to field and SMS message bodies are + * censored for privacy. + * + * @return censorLogs + */ + @jakarta.annotation.Nullable + @JsonProperty(JSON_PROPERTY_CENSOR_LOGS) + @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) + public Boolean getCensorLogs() { + return censorLogs; + } + + public void setCensorLogs(Boolean censorLogs) { + this.censorLogs = censorLogs; + } + + /** + * 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 TwilioIntegrationAccountSettingsUpdate + */ + @JsonAnySetter + public TwilioIntegrationAccountSettingsUpdate 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 TwilioIntegrationAccountSettingsUpdate object is equal to o. */ + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + TwilioIntegrationAccountSettingsUpdate twilioIntegrationAccountSettingsUpdate = + (TwilioIntegrationAccountSettingsUpdate) o; + return Objects.equals(this.accountSid, twilioIntegrationAccountSettingsUpdate.accountSid) + && Objects.equals(this.censorLogs, twilioIntegrationAccountSettingsUpdate.censorLogs) + && Objects.equals( + this.additionalProperties, twilioIntegrationAccountSettingsUpdate.additionalProperties); + } + + @Override + public int hashCode() { + return Objects.hash(accountSid, censorLogs, additionalProperties); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class TwilioIntegrationAccountSettingsUpdate {\n"); + sb.append(" accountSid: ").append(toIndentedString(accountSid)).append("\n"); + sb.append(" censorLogs: ").append(toIndentedString(censorLogs)).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/TwilioIntegrationAccountUpdateAttributes.java b/src/main/java/com/datadog/api/client/v2/model/TwilioIntegrationAccountUpdateAttributes.java new file mode 100644 index 00000000000..3bf4af3c3ca --- /dev/null +++ b/src/main/java/com/datadog/api/client/v2/model/TwilioIntegrationAccountUpdateAttributes.java @@ -0,0 +1,242 @@ +/* + * 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; + +/** + * 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. + */ +@JsonPropertyOrder({ + TwilioIntegrationAccountUpdateAttributes.JSON_PROPERTY_AUTHENTICATION, + TwilioIntegrationAccountUpdateAttributes.JSON_PROPERTY_DATAFLOWS, + TwilioIntegrationAccountUpdateAttributes.JSON_PROPERTY_NAME, + TwilioIntegrationAccountUpdateAttributes.JSON_PROPERTY_SETTINGS +}) +@jakarta.annotation.Generated( + value = "https://github.com/DataDog/datadog-api-client-java/blob/master/.generator") +public class TwilioIntegrationAccountUpdateAttributes { + @JsonIgnore public boolean unparsed = false; + public static final String JSON_PROPERTY_AUTHENTICATION = "authentication"; + private TwilioIntegrationAccountAuthenticationUpdate authentication; + + public static final String JSON_PROPERTY_DATAFLOWS = "dataflows"; + private TwilioIntegrationDataflowsRequest dataflows; + + public static final String JSON_PROPERTY_NAME = "name"; + private String name; + + public static final String JSON_PROPERTY_SETTINGS = "settings"; + private TwilioIntegrationAccountSettingsUpdate settings; + + public TwilioIntegrationAccountUpdateAttributes authentication( + TwilioIntegrationAccountAuthenticationUpdate authentication) { + this.authentication = authentication; + this.unparsed |= authentication.unparsed; + return this; + } + + /** + * Authentication for updating the Twilio integration account. Exactly one method is set. + * + * @return authentication + */ + @jakarta.annotation.Nullable + @JsonProperty(JSON_PROPERTY_AUTHENTICATION) + @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) + public TwilioIntegrationAccountAuthenticationUpdate getAuthentication() { + return authentication; + } + + public void setAuthentication(TwilioIntegrationAccountAuthenticationUpdate authentication) { + this.authentication = authentication; + if (authentication != null) { + this.unparsed |= authentication.unparsed; + } + } + + public TwilioIntegrationAccountUpdateAttributes dataflows( + TwilioIntegrationDataflowsRequest dataflows) { + this.dataflows = dataflows; + this.unparsed |= dataflows.unparsed; + return this; + } + + /** + * Dataflows to configure on the Twilio integration account, keyed by dataflow id. + * + * @return dataflows + */ + @jakarta.annotation.Nullable + @JsonProperty(JSON_PROPERTY_DATAFLOWS) + @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) + public TwilioIntegrationDataflowsRequest getDataflows() { + return dataflows; + } + + public void setDataflows(TwilioIntegrationDataflowsRequest dataflows) { + this.dataflows = dataflows; + if (dataflows != null) { + this.unparsed |= dataflows.unparsed; + } + } + + public TwilioIntegrationAccountUpdateAttributes name(String name) { + this.name = name; + return this; + } + + /** + * Human-readable name of the Twilio integration account. + * + * @return name + */ + @jakarta.annotation.Nullable + @JsonProperty(JSON_PROPERTY_NAME) + @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) + public String getName() { + return name; + } + + public void setName(String name) { + this.name = name; + } + + public TwilioIntegrationAccountUpdateAttributes settings( + TwilioIntegrationAccountSettingsUpdate settings) { + this.settings = settings; + this.unparsed |= settings.unparsed; + return this; + } + + /** + * Settings for updating the Twilio integration account. Only the fields provided are changed. + * + * @return settings + */ + @jakarta.annotation.Nullable + @JsonProperty(JSON_PROPERTY_SETTINGS) + @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) + public TwilioIntegrationAccountSettingsUpdate getSettings() { + return settings; + } + + public void setSettings(TwilioIntegrationAccountSettingsUpdate settings) { + this.settings = settings; + if (settings != null) { + this.unparsed |= settings.unparsed; + } + } + + /** + * 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 TwilioIntegrationAccountUpdateAttributes + */ + @JsonAnySetter + public TwilioIntegrationAccountUpdateAttributes 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 TwilioIntegrationAccountUpdateAttributes object is equal to o. */ + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + TwilioIntegrationAccountUpdateAttributes twilioIntegrationAccountUpdateAttributes = + (TwilioIntegrationAccountUpdateAttributes) o; + return Objects.equals( + this.authentication, twilioIntegrationAccountUpdateAttributes.authentication) + && Objects.equals(this.dataflows, twilioIntegrationAccountUpdateAttributes.dataflows) + && Objects.equals(this.name, twilioIntegrationAccountUpdateAttributes.name) + && Objects.equals(this.settings, twilioIntegrationAccountUpdateAttributes.settings) + && Objects.equals( + this.additionalProperties, + twilioIntegrationAccountUpdateAttributes.additionalProperties); + } + + @Override + public int hashCode() { + return Objects.hash(authentication, dataflows, name, settings, additionalProperties); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class TwilioIntegrationAccountUpdateAttributes {\n"); + sb.append(" authentication: ").append(toIndentedString(authentication)).append("\n"); + sb.append(" dataflows: ").append(toIndentedString(dataflows)).append("\n"); + sb.append(" name: ").append(toIndentedString(name)).append("\n"); + sb.append(" settings: ").append(toIndentedString(settings)).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/TwilioIntegrationAccountUpdateData.java b/src/main/java/com/datadog/api/client/v2/model/TwilioIntegrationAccountUpdateData.java new file mode 100644 index 00000000000..d0d1877ae2a --- /dev/null +++ b/src/main/java/com/datadog/api/client/v2/model/TwilioIntegrationAccountUpdateData.java @@ -0,0 +1,218 @@ +/* + * Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License. + * This product includes software developed at Datadog (https://www.datadoghq.com/). + * Copyright 2019-Present Datadog, Inc. + */ + +package com.datadog.api.client.v2.model; + +import com.fasterxml.jackson.annotation.JsonAnyGetter; +import com.fasterxml.jackson.annotation.JsonAnySetter; +import com.fasterxml.jackson.annotation.JsonCreator; +import com.fasterxml.jackson.annotation.JsonIgnore; +import com.fasterxml.jackson.annotation.JsonInclude; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.annotation.JsonPropertyOrder; +import java.util.HashMap; +import java.util.Map; +import java.util.Objects; + +/** Data envelope for updating a Twilio integration account. */ +@JsonPropertyOrder({ + TwilioIntegrationAccountUpdateData.JSON_PROPERTY_ATTRIBUTES, + TwilioIntegrationAccountUpdateData.JSON_PROPERTY_ID, + TwilioIntegrationAccountUpdateData.JSON_PROPERTY_TYPE +}) +@jakarta.annotation.Generated( + value = "https://github.com/DataDog/datadog-api-client-java/blob/master/.generator") +public class TwilioIntegrationAccountUpdateData { + @JsonIgnore public boolean unparsed = false; + public static final String JSON_PROPERTY_ATTRIBUTES = "attributes"; + private TwilioIntegrationAccountUpdateAttributes attributes; + + public static final String JSON_PROPERTY_ID = "id"; + private String id; + + public static final String JSON_PROPERTY_TYPE = "type"; + private IntegrationAccountType type = IntegrationAccountType.INTEGRATION_ACCOUNT; + + public TwilioIntegrationAccountUpdateData() {} + + @JsonCreator + public TwilioIntegrationAccountUpdateData( + @JsonProperty(required = true, value = JSON_PROPERTY_ATTRIBUTES) + TwilioIntegrationAccountUpdateAttributes attributes, + @JsonProperty(required = true, value = JSON_PROPERTY_ID) String id, + @JsonProperty(required = true, value = JSON_PROPERTY_TYPE) IntegrationAccountType type) { + this.attributes = attributes; + this.unparsed |= attributes.unparsed; + this.id = id; + this.type = type; + this.unparsed |= !type.isValid(); + } + + public TwilioIntegrationAccountUpdateData attributes( + TwilioIntegrationAccountUpdateAttributes attributes) { + this.attributes = attributes; + this.unparsed |= attributes.unparsed; + return this; + } + + /** + * 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. + * + * @return attributes + */ + @JsonProperty(JSON_PROPERTY_ATTRIBUTES) + @JsonInclude(value = JsonInclude.Include.ALWAYS) + public TwilioIntegrationAccountUpdateAttributes getAttributes() { + return attributes; + } + + public void setAttributes(TwilioIntegrationAccountUpdateAttributes attributes) { + this.attributes = attributes; + if (attributes != null) { + this.unparsed |= attributes.unparsed; + } + } + + public TwilioIntegrationAccountUpdateData id(String id) { + this.id = id; + return this; + } + + /** + * Unique identifier of the Twilio integration account to update. + * + * @return id + */ + @JsonProperty(JSON_PROPERTY_ID) + @JsonInclude(value = JsonInclude.Include.ALWAYS) + public String getId() { + return id; + } + + public void setId(String id) { + this.id = id; + } + + public TwilioIntegrationAccountUpdateData type(IntegrationAccountType type) { + this.type = type; + this.unparsed |= !type.isValid(); + return this; + } + + /** + * The type of the integration account resource. Always integration-account. + * + * @return type + */ + @JsonProperty(JSON_PROPERTY_TYPE) + @JsonInclude(value = JsonInclude.Include.ALWAYS) + public IntegrationAccountType getType() { + return type; + } + + public void setType(IntegrationAccountType type) { + if (!type.isValid()) { + this.unparsed = true; + } + this.type = type; + } + + /** + * A container for additional, undeclared properties. This is a holder for any undeclared + * properties as specified with the 'additionalProperties' keyword in the OAS document. + */ + private Map additionalProperties; + + /** + * Set the additional (undeclared) property with the specified name and value. If the property + * does not already exist, create it otherwise replace it. + * + * @param key The arbitrary key to set + * @param value The associated value + * @return TwilioIntegrationAccountUpdateData + */ + @JsonAnySetter + public TwilioIntegrationAccountUpdateData 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 TwilioIntegrationAccountUpdateData object is equal to o. */ + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + TwilioIntegrationAccountUpdateData twilioIntegrationAccountUpdateData = + (TwilioIntegrationAccountUpdateData) o; + return Objects.equals(this.attributes, twilioIntegrationAccountUpdateData.attributes) + && Objects.equals(this.id, twilioIntegrationAccountUpdateData.id) + && Objects.equals(this.type, twilioIntegrationAccountUpdateData.type) + && Objects.equals( + this.additionalProperties, twilioIntegrationAccountUpdateData.additionalProperties); + } + + @Override + public int hashCode() { + return Objects.hash(attributes, id, type, additionalProperties); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class TwilioIntegrationAccountUpdateData {\n"); + sb.append(" attributes: ").append(toIndentedString(attributes)).append("\n"); + sb.append(" id: ").append(toIndentedString(id)).append("\n"); + sb.append(" type: ").append(toIndentedString(type)).append("\n"); + sb.append(" additionalProperties: ") + .append(toIndentedString(additionalProperties)) + .append("\n"); + sb.append('}'); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } +} diff --git a/src/main/java/com/datadog/api/client/v2/model/TwilioIntegrationAccountUpdateRequest.java b/src/main/java/com/datadog/api/client/v2/model/TwilioIntegrationAccountUpdateRequest.java new file mode 100644 index 00000000000..deffb19fb86 --- /dev/null +++ b/src/main/java/com/datadog/api/client/v2/model/TwilioIntegrationAccountUpdateRequest.java @@ -0,0 +1,151 @@ +/* + * Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License. + * This product includes software developed at Datadog (https://www.datadoghq.com/). + * Copyright 2019-Present Datadog, Inc. + */ + +package com.datadog.api.client.v2.model; + +import com.fasterxml.jackson.annotation.JsonAnyGetter; +import com.fasterxml.jackson.annotation.JsonAnySetter; +import com.fasterxml.jackson.annotation.JsonCreator; +import com.fasterxml.jackson.annotation.JsonIgnore; +import com.fasterxml.jackson.annotation.JsonInclude; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.annotation.JsonPropertyOrder; +import java.util.HashMap; +import java.util.Map; +import java.util.Objects; + +/** Request payload to update a Twilio integration account. */ +@JsonPropertyOrder({TwilioIntegrationAccountUpdateRequest.JSON_PROPERTY_DATA}) +@jakarta.annotation.Generated( + value = "https://github.com/DataDog/datadog-api-client-java/blob/master/.generator") +public class TwilioIntegrationAccountUpdateRequest { + @JsonIgnore public boolean unparsed = false; + public static final String JSON_PROPERTY_DATA = "data"; + private TwilioIntegrationAccountUpdateData data; + + public TwilioIntegrationAccountUpdateRequest() {} + + @JsonCreator + public TwilioIntegrationAccountUpdateRequest( + @JsonProperty(required = true, value = JSON_PROPERTY_DATA) + TwilioIntegrationAccountUpdateData data) { + this.data = data; + this.unparsed |= data.unparsed; + } + + public TwilioIntegrationAccountUpdateRequest data(TwilioIntegrationAccountUpdateData data) { + this.data = data; + this.unparsed |= data.unparsed; + return this; + } + + /** + * Data envelope for updating a Twilio integration account. + * + * @return data + */ + @JsonProperty(JSON_PROPERTY_DATA) + @JsonInclude(value = JsonInclude.Include.ALWAYS) + public TwilioIntegrationAccountUpdateData getData() { + return data; + } + + public void setData(TwilioIntegrationAccountUpdateData data) { + this.data = data; + if (data != null) { + this.unparsed |= data.unparsed; + } + } + + /** + * 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 TwilioIntegrationAccountUpdateRequest + */ + @JsonAnySetter + public TwilioIntegrationAccountUpdateRequest 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 TwilioIntegrationAccountUpdateRequest object is equal to o. */ + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + TwilioIntegrationAccountUpdateRequest twilioIntegrationAccountUpdateRequest = + (TwilioIntegrationAccountUpdateRequest) o; + return Objects.equals(this.data, twilioIntegrationAccountUpdateRequest.data) + && Objects.equals( + this.additionalProperties, twilioIntegrationAccountUpdateRequest.additionalProperties); + } + + @Override + public int hashCode() { + return Objects.hash(data, additionalProperties); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class TwilioIntegrationAccountUpdateRequest {\n"); + sb.append(" data: ").append(toIndentedString(data)).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/TwilioIntegrationAccountsResponse.java b/src/main/java/com/datadog/api/client/v2/model/TwilioIntegrationAccountsResponse.java new file mode 100644 index 00000000000..1653e3e180f --- /dev/null +++ b/src/main/java/com/datadog/api/client/v2/model/TwilioIntegrationAccountsResponse.java @@ -0,0 +1,166 @@ +/* + * Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License. + * This product includes software developed at Datadog (https://www.datadoghq.com/). + * Copyright 2019-Present Datadog, Inc. + */ + +package com.datadog.api.client.v2.model; + +import com.fasterxml.jackson.annotation.JsonAnyGetter; +import com.fasterxml.jackson.annotation.JsonAnySetter; +import com.fasterxml.jackson.annotation.JsonCreator; +import com.fasterxml.jackson.annotation.JsonIgnore; +import com.fasterxml.jackson.annotation.JsonInclude; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.annotation.JsonPropertyOrder; +import java.util.ArrayList; +import java.util.HashMap; +import java.util.List; +import java.util.Map; +import java.util.Objects; + +/** Response payload for a list of Twilio integration accounts. */ +@JsonPropertyOrder({TwilioIntegrationAccountsResponse.JSON_PROPERTY_DATA}) +@jakarta.annotation.Generated( + value = "https://github.com/DataDog/datadog-api-client-java/blob/master/.generator") +public class TwilioIntegrationAccountsResponse { + @JsonIgnore public boolean unparsed = false; + public static final String JSON_PROPERTY_DATA = "data"; + private List data = new ArrayList<>(); + + public TwilioIntegrationAccountsResponse() {} + + @JsonCreator + public TwilioIntegrationAccountsResponse( + @JsonProperty(required = true, value = JSON_PROPERTY_DATA) + List data) { + this.data = data; + for (TwilioIntegrationAccountResponseData item : data) { + this.unparsed |= item.unparsed; + } + } + + public TwilioIntegrationAccountsResponse data(List data) { + this.data = data; + for (TwilioIntegrationAccountResponseData item : data) { + this.unparsed |= item.unparsed; + } + return this; + } + + public TwilioIntegrationAccountsResponse addDataItem( + TwilioIntegrationAccountResponseData dataItem) { + this.data.add(dataItem); + this.unparsed |= dataItem.unparsed; + return this; + } + + /** + * List of Twilio integration accounts. + * + * @return data + */ + @JsonProperty(JSON_PROPERTY_DATA) + @JsonInclude(value = JsonInclude.Include.ALWAYS) + public List getData() { + return data; + } + + public void setData(List data) { + this.data = data; + if (data != null) { + for (TwilioIntegrationAccountResponseData item : data) { + this.unparsed |= item.unparsed; + } + } + } + + /** + * 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 TwilioIntegrationAccountsResponse + */ + @JsonAnySetter + public TwilioIntegrationAccountsResponse 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 TwilioIntegrationAccountsResponse object is equal to o. */ + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + TwilioIntegrationAccountsResponse twilioIntegrationAccountsResponse = + (TwilioIntegrationAccountsResponse) o; + return Objects.equals(this.data, twilioIntegrationAccountsResponse.data) + && Objects.equals( + this.additionalProperties, twilioIntegrationAccountsResponse.additionalProperties); + } + + @Override + public int hashCode() { + return Objects.hash(data, additionalProperties); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class TwilioIntegrationAccountsResponse {\n"); + sb.append(" data: ").append(toIndentedString(data)).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/TwilioIntegrationDataflowsRequest.java b/src/main/java/com/datadog/api/client/v2/model/TwilioIntegrationDataflowsRequest.java new file mode 100644 index 00000000000..fd022c9caa2 --- /dev/null +++ b/src/main/java/com/datadog/api/client/v2/model/TwilioIntegrationDataflowsRequest.java @@ -0,0 +1,233 @@ +/* + * 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.JsonIgnore; +import com.fasterxml.jackson.annotation.JsonInclude; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.annotation.JsonPropertyOrder; +import java.util.Objects; + +/** Dataflows to configure on the Twilio integration account, keyed by dataflow id. */ +@JsonPropertyOrder({ + TwilioIntegrationDataflowsRequest.JSON_PROPERTY_TWILIO_ALERTS_LOGS, + TwilioIntegrationDataflowsRequest.JSON_PROPERTY_TWILIO_CALL_SUMMARIES_LOGS, + TwilioIntegrationDataflowsRequest.JSON_PROPERTY_TWILIO_CLOUD_COST_METRICS, + TwilioIntegrationDataflowsRequest.JSON_PROPERTY_TWILIO_EVENTS_LOGS, + TwilioIntegrationDataflowsRequest.JSON_PROPERTY_TWILIO_MESSAGES_LOGS +}) +@jakarta.annotation.Generated( + value = "https://github.com/DataDog/datadog-api-client-java/blob/master/.generator") +public class TwilioIntegrationDataflowsRequest { + @JsonIgnore public boolean unparsed = false; + public static final String JSON_PROPERTY_TWILIO_ALERTS_LOGS = "twilio-alerts-logs"; + private TwilioAlertsLogsIntegrationDataflowRequest twilioAlertsLogs; + + public static final String JSON_PROPERTY_TWILIO_CALL_SUMMARIES_LOGS = + "twilio-call-summaries-logs"; + private TwilioCallSummariesLogsIntegrationDataflowRequest twilioCallSummariesLogs; + + public static final String JSON_PROPERTY_TWILIO_CLOUD_COST_METRICS = "twilio-cloud-cost-metrics"; + private TwilioCloudCostMetricsIntegrationDataflowRequest twilioCloudCostMetrics; + + public static final String JSON_PROPERTY_TWILIO_EVENTS_LOGS = "twilio-events-logs"; + private TwilioEventsLogsIntegrationDataflowRequest twilioEventsLogs; + + public static final String JSON_PROPERTY_TWILIO_MESSAGES_LOGS = "twilio-messages-logs"; + private TwilioMessagesLogsIntegrationDataflowRequest twilioMessagesLogs; + + public TwilioIntegrationDataflowsRequest twilioAlertsLogs( + TwilioAlertsLogsIntegrationDataflowRequest twilioAlertsLogs) { + this.twilioAlertsLogs = twilioAlertsLogs; + this.unparsed |= twilioAlertsLogs.unparsed; + return this; + } + + /** + * The Twilio alerts logs dataflow. + * + * @return twilioAlertsLogs + */ + @jakarta.annotation.Nullable + @JsonProperty(JSON_PROPERTY_TWILIO_ALERTS_LOGS) + @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) + public TwilioAlertsLogsIntegrationDataflowRequest getTwilioAlertsLogs() { + return twilioAlertsLogs; + } + + public void setTwilioAlertsLogs(TwilioAlertsLogsIntegrationDataflowRequest twilioAlertsLogs) { + this.twilioAlertsLogs = twilioAlertsLogs; + if (twilioAlertsLogs != null) { + this.unparsed |= twilioAlertsLogs.unparsed; + } + } + + public TwilioIntegrationDataflowsRequest twilioCallSummariesLogs( + TwilioCallSummariesLogsIntegrationDataflowRequest twilioCallSummariesLogs) { + this.twilioCallSummariesLogs = twilioCallSummariesLogs; + this.unparsed |= twilioCallSummariesLogs.unparsed; + return this; + } + + /** + * The Twilio call summaries logs dataflow. + * + * @return twilioCallSummariesLogs + */ + @jakarta.annotation.Nullable + @JsonProperty(JSON_PROPERTY_TWILIO_CALL_SUMMARIES_LOGS) + @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) + public TwilioCallSummariesLogsIntegrationDataflowRequest getTwilioCallSummariesLogs() { + return twilioCallSummariesLogs; + } + + public void setTwilioCallSummariesLogs( + TwilioCallSummariesLogsIntegrationDataflowRequest twilioCallSummariesLogs) { + this.twilioCallSummariesLogs = twilioCallSummariesLogs; + if (twilioCallSummariesLogs != null) { + this.unparsed |= twilioCallSummariesLogs.unparsed; + } + } + + public TwilioIntegrationDataflowsRequest twilioCloudCostMetrics( + TwilioCloudCostMetricsIntegrationDataflowRequest twilioCloudCostMetrics) { + this.twilioCloudCostMetrics = twilioCloudCostMetrics; + this.unparsed |= twilioCloudCostMetrics.unparsed; + return this; + } + + /** + * The Twilio cloud cost metrics dataflow. + * + * @return twilioCloudCostMetrics + */ + @jakarta.annotation.Nullable + @JsonProperty(JSON_PROPERTY_TWILIO_CLOUD_COST_METRICS) + @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) + public TwilioCloudCostMetricsIntegrationDataflowRequest getTwilioCloudCostMetrics() { + return twilioCloudCostMetrics; + } + + public void setTwilioCloudCostMetrics( + TwilioCloudCostMetricsIntegrationDataflowRequest twilioCloudCostMetrics) { + this.twilioCloudCostMetrics = twilioCloudCostMetrics; + if (twilioCloudCostMetrics != null) { + this.unparsed |= twilioCloudCostMetrics.unparsed; + } + } + + public TwilioIntegrationDataflowsRequest twilioEventsLogs( + TwilioEventsLogsIntegrationDataflowRequest twilioEventsLogs) { + this.twilioEventsLogs = twilioEventsLogs; + this.unparsed |= twilioEventsLogs.unparsed; + return this; + } + + /** + * The Twilio events logs dataflow. + * + * @return twilioEventsLogs + */ + @jakarta.annotation.Nullable + @JsonProperty(JSON_PROPERTY_TWILIO_EVENTS_LOGS) + @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) + public TwilioEventsLogsIntegrationDataflowRequest getTwilioEventsLogs() { + return twilioEventsLogs; + } + + public void setTwilioEventsLogs(TwilioEventsLogsIntegrationDataflowRequest twilioEventsLogs) { + this.twilioEventsLogs = twilioEventsLogs; + if (twilioEventsLogs != null) { + this.unparsed |= twilioEventsLogs.unparsed; + } + } + + public TwilioIntegrationDataflowsRequest twilioMessagesLogs( + TwilioMessagesLogsIntegrationDataflowRequest twilioMessagesLogs) { + this.twilioMessagesLogs = twilioMessagesLogs; + this.unparsed |= twilioMessagesLogs.unparsed; + return this; + } + + /** + * The Twilio messages logs dataflow. + * + * @return twilioMessagesLogs + */ + @jakarta.annotation.Nullable + @JsonProperty(JSON_PROPERTY_TWILIO_MESSAGES_LOGS) + @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) + public TwilioMessagesLogsIntegrationDataflowRequest getTwilioMessagesLogs() { + return twilioMessagesLogs; + } + + public void setTwilioMessagesLogs( + TwilioMessagesLogsIntegrationDataflowRequest twilioMessagesLogs) { + this.twilioMessagesLogs = twilioMessagesLogs; + if (twilioMessagesLogs != null) { + this.unparsed |= twilioMessagesLogs.unparsed; + } + } + + /** Return true if this TwilioIntegrationDataflowsRequest object is equal to o. */ + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + TwilioIntegrationDataflowsRequest twilioIntegrationDataflowsRequest = + (TwilioIntegrationDataflowsRequest) o; + return Objects.equals(this.twilioAlertsLogs, twilioIntegrationDataflowsRequest.twilioAlertsLogs) + && Objects.equals( + this.twilioCallSummariesLogs, twilioIntegrationDataflowsRequest.twilioCallSummariesLogs) + && Objects.equals( + this.twilioCloudCostMetrics, twilioIntegrationDataflowsRequest.twilioCloudCostMetrics) + && Objects.equals(this.twilioEventsLogs, twilioIntegrationDataflowsRequest.twilioEventsLogs) + && Objects.equals( + this.twilioMessagesLogs, twilioIntegrationDataflowsRequest.twilioMessagesLogs); + } + + @Override + public int hashCode() { + return Objects.hash( + twilioAlertsLogs, + twilioCallSummariesLogs, + twilioCloudCostMetrics, + twilioEventsLogs, + twilioMessagesLogs); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class TwilioIntegrationDataflowsRequest {\n"); + sb.append(" twilioAlertsLogs: ").append(toIndentedString(twilioAlertsLogs)).append("\n"); + sb.append(" twilioCallSummariesLogs: ") + .append(toIndentedString(twilioCallSummariesLogs)) + .append("\n"); + sb.append(" twilioCloudCostMetrics: ") + .append(toIndentedString(twilioCloudCostMetrics)) + .append("\n"); + sb.append(" twilioEventsLogs: ").append(toIndentedString(twilioEventsLogs)).append("\n"); + sb.append(" twilioMessagesLogs: ").append(toIndentedString(twilioMessagesLogs)).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/TwilioIntegrationDataflowsResponse.java b/src/main/java/com/datadog/api/client/v2/model/TwilioIntegrationDataflowsResponse.java new file mode 100644 index 00000000000..6c09bb9a699 --- /dev/null +++ b/src/main/java/com/datadog/api/client/v2/model/TwilioIntegrationDataflowsResponse.java @@ -0,0 +1,236 @@ +/* + * 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.JsonIgnore; +import com.fasterxml.jackson.annotation.JsonInclude; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.annotation.JsonPropertyOrder; +import java.util.Objects; + +/** Dataflows configured on the Twilio integration account, keyed by dataflow id. */ +@JsonPropertyOrder({ + TwilioIntegrationDataflowsResponse.JSON_PROPERTY_TWILIO_ALERTS_LOGS, + TwilioIntegrationDataflowsResponse.JSON_PROPERTY_TWILIO_CALL_SUMMARIES_LOGS, + TwilioIntegrationDataflowsResponse.JSON_PROPERTY_TWILIO_CLOUD_COST_METRICS, + TwilioIntegrationDataflowsResponse.JSON_PROPERTY_TWILIO_EVENTS_LOGS, + TwilioIntegrationDataflowsResponse.JSON_PROPERTY_TWILIO_MESSAGES_LOGS +}) +@jakarta.annotation.Generated( + value = "https://github.com/DataDog/datadog-api-client-java/blob/master/.generator") +public class TwilioIntegrationDataflowsResponse { + @JsonIgnore public boolean unparsed = false; + public static final String JSON_PROPERTY_TWILIO_ALERTS_LOGS = "twilio-alerts-logs"; + private TwilioAlertsLogsIntegrationDataflowResponse twilioAlertsLogs; + + public static final String JSON_PROPERTY_TWILIO_CALL_SUMMARIES_LOGS = + "twilio-call-summaries-logs"; + private TwilioCallSummariesLogsIntegrationDataflowResponse twilioCallSummariesLogs; + + public static final String JSON_PROPERTY_TWILIO_CLOUD_COST_METRICS = "twilio-cloud-cost-metrics"; + private TwilioCloudCostMetricsIntegrationDataflowResponse twilioCloudCostMetrics; + + public static final String JSON_PROPERTY_TWILIO_EVENTS_LOGS = "twilio-events-logs"; + private TwilioEventsLogsIntegrationDataflowResponse twilioEventsLogs; + + public static final String JSON_PROPERTY_TWILIO_MESSAGES_LOGS = "twilio-messages-logs"; + private TwilioMessagesLogsIntegrationDataflowResponse twilioMessagesLogs; + + public TwilioIntegrationDataflowsResponse twilioAlertsLogs( + TwilioAlertsLogsIntegrationDataflowResponse twilioAlertsLogs) { + this.twilioAlertsLogs = twilioAlertsLogs; + this.unparsed |= twilioAlertsLogs.unparsed; + return this; + } + + /** + * The Twilio alerts logs dataflow. + * + * @return twilioAlertsLogs + */ + @jakarta.annotation.Nullable + @JsonProperty(JSON_PROPERTY_TWILIO_ALERTS_LOGS) + @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) + public TwilioAlertsLogsIntegrationDataflowResponse getTwilioAlertsLogs() { + return twilioAlertsLogs; + } + + public void setTwilioAlertsLogs(TwilioAlertsLogsIntegrationDataflowResponse twilioAlertsLogs) { + this.twilioAlertsLogs = twilioAlertsLogs; + if (twilioAlertsLogs != null) { + this.unparsed |= twilioAlertsLogs.unparsed; + } + } + + public TwilioIntegrationDataflowsResponse twilioCallSummariesLogs( + TwilioCallSummariesLogsIntegrationDataflowResponse twilioCallSummariesLogs) { + this.twilioCallSummariesLogs = twilioCallSummariesLogs; + this.unparsed |= twilioCallSummariesLogs.unparsed; + return this; + } + + /** + * The Twilio call summaries logs dataflow. + * + * @return twilioCallSummariesLogs + */ + @jakarta.annotation.Nullable + @JsonProperty(JSON_PROPERTY_TWILIO_CALL_SUMMARIES_LOGS) + @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) + public TwilioCallSummariesLogsIntegrationDataflowResponse getTwilioCallSummariesLogs() { + return twilioCallSummariesLogs; + } + + public void setTwilioCallSummariesLogs( + TwilioCallSummariesLogsIntegrationDataflowResponse twilioCallSummariesLogs) { + this.twilioCallSummariesLogs = twilioCallSummariesLogs; + if (twilioCallSummariesLogs != null) { + this.unparsed |= twilioCallSummariesLogs.unparsed; + } + } + + public TwilioIntegrationDataflowsResponse twilioCloudCostMetrics( + TwilioCloudCostMetricsIntegrationDataflowResponse twilioCloudCostMetrics) { + this.twilioCloudCostMetrics = twilioCloudCostMetrics; + this.unparsed |= twilioCloudCostMetrics.unparsed; + return this; + } + + /** + * The Twilio cloud cost metrics dataflow. + * + * @return twilioCloudCostMetrics + */ + @jakarta.annotation.Nullable + @JsonProperty(JSON_PROPERTY_TWILIO_CLOUD_COST_METRICS) + @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) + public TwilioCloudCostMetricsIntegrationDataflowResponse getTwilioCloudCostMetrics() { + return twilioCloudCostMetrics; + } + + public void setTwilioCloudCostMetrics( + TwilioCloudCostMetricsIntegrationDataflowResponse twilioCloudCostMetrics) { + this.twilioCloudCostMetrics = twilioCloudCostMetrics; + if (twilioCloudCostMetrics != null) { + this.unparsed |= twilioCloudCostMetrics.unparsed; + } + } + + public TwilioIntegrationDataflowsResponse twilioEventsLogs( + TwilioEventsLogsIntegrationDataflowResponse twilioEventsLogs) { + this.twilioEventsLogs = twilioEventsLogs; + this.unparsed |= twilioEventsLogs.unparsed; + return this; + } + + /** + * The Twilio events logs dataflow. + * + * @return twilioEventsLogs + */ + @jakarta.annotation.Nullable + @JsonProperty(JSON_PROPERTY_TWILIO_EVENTS_LOGS) + @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) + public TwilioEventsLogsIntegrationDataflowResponse getTwilioEventsLogs() { + return twilioEventsLogs; + } + + public void setTwilioEventsLogs(TwilioEventsLogsIntegrationDataflowResponse twilioEventsLogs) { + this.twilioEventsLogs = twilioEventsLogs; + if (twilioEventsLogs != null) { + this.unparsed |= twilioEventsLogs.unparsed; + } + } + + public TwilioIntegrationDataflowsResponse twilioMessagesLogs( + TwilioMessagesLogsIntegrationDataflowResponse twilioMessagesLogs) { + this.twilioMessagesLogs = twilioMessagesLogs; + this.unparsed |= twilioMessagesLogs.unparsed; + return this; + } + + /** + * The Twilio messages logs dataflow. + * + * @return twilioMessagesLogs + */ + @jakarta.annotation.Nullable + @JsonProperty(JSON_PROPERTY_TWILIO_MESSAGES_LOGS) + @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) + public TwilioMessagesLogsIntegrationDataflowResponse getTwilioMessagesLogs() { + return twilioMessagesLogs; + } + + public void setTwilioMessagesLogs( + TwilioMessagesLogsIntegrationDataflowResponse twilioMessagesLogs) { + this.twilioMessagesLogs = twilioMessagesLogs; + if (twilioMessagesLogs != null) { + this.unparsed |= twilioMessagesLogs.unparsed; + } + } + + /** Return true if this TwilioIntegrationDataflowsResponse object is equal to o. */ + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + TwilioIntegrationDataflowsResponse twilioIntegrationDataflowsResponse = + (TwilioIntegrationDataflowsResponse) o; + return Objects.equals( + this.twilioAlertsLogs, twilioIntegrationDataflowsResponse.twilioAlertsLogs) + && Objects.equals( + this.twilioCallSummariesLogs, + twilioIntegrationDataflowsResponse.twilioCallSummariesLogs) + && Objects.equals( + this.twilioCloudCostMetrics, twilioIntegrationDataflowsResponse.twilioCloudCostMetrics) + && Objects.equals( + this.twilioEventsLogs, twilioIntegrationDataflowsResponse.twilioEventsLogs) + && Objects.equals( + this.twilioMessagesLogs, twilioIntegrationDataflowsResponse.twilioMessagesLogs); + } + + @Override + public int hashCode() { + return Objects.hash( + twilioAlertsLogs, + twilioCallSummariesLogs, + twilioCloudCostMetrics, + twilioEventsLogs, + twilioMessagesLogs); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class TwilioIntegrationDataflowsResponse {\n"); + sb.append(" twilioAlertsLogs: ").append(toIndentedString(twilioAlertsLogs)).append("\n"); + sb.append(" twilioCallSummariesLogs: ") + .append(toIndentedString(twilioCallSummariesLogs)) + .append("\n"); + sb.append(" twilioCloudCostMetrics: ") + .append(toIndentedString(twilioCloudCostMetrics)) + .append("\n"); + sb.append(" twilioEventsLogs: ").append(toIndentedString(twilioEventsLogs)).append("\n"); + sb.append(" twilioMessagesLogs: ").append(toIndentedString(twilioMessagesLogs)).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/TwilioMessagesLogsIntegrationDataflowRequest.java b/src/main/java/com/datadog/api/client/v2/model/TwilioMessagesLogsIntegrationDataflowRequest.java new file mode 100644 index 00000000000..126edee338e --- /dev/null +++ b/src/main/java/com/datadog/api/client/v2/model/TwilioMessagesLogsIntegrationDataflowRequest.java @@ -0,0 +1,139 @@ +/* + * 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 Twilio messages logs dataflow. */ +@JsonPropertyOrder({TwilioMessagesLogsIntegrationDataflowRequest.JSON_PROPERTY_ENABLED}) +@jakarta.annotation.Generated( + value = "https://github.com/DataDog/datadog-api-client-java/blob/master/.generator") +public class TwilioMessagesLogsIntegrationDataflowRequest { + @JsonIgnore public boolean unparsed = false; + public static final String JSON_PROPERTY_ENABLED = "enabled"; + private Boolean enabled; + + public TwilioMessagesLogsIntegrationDataflowRequest enabled(Boolean enabled) { + this.enabled = enabled; + return this; + } + + /** + * Whether the Twilio 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 TwilioMessagesLogsIntegrationDataflowRequest + */ + @JsonAnySetter + public TwilioMessagesLogsIntegrationDataflowRequest 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 TwilioMessagesLogsIntegrationDataflowRequest object is equal to o. */ + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + TwilioMessagesLogsIntegrationDataflowRequest twilioMessagesLogsIntegrationDataflowRequest = + (TwilioMessagesLogsIntegrationDataflowRequest) o; + return Objects.equals(this.enabled, twilioMessagesLogsIntegrationDataflowRequest.enabled) + && Objects.equals( + this.additionalProperties, + twilioMessagesLogsIntegrationDataflowRequest.additionalProperties); + } + + @Override + public int hashCode() { + return Objects.hash(enabled, additionalProperties); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class TwilioMessagesLogsIntegrationDataflowRequest {\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/TwilioMessagesLogsIntegrationDataflowResponse.java b/src/main/java/com/datadog/api/client/v2/model/TwilioMessagesLogsIntegrationDataflowResponse.java new file mode 100644 index 00000000000..76af6145686 --- /dev/null +++ b/src/main/java/com/datadog/api/client/v2/model/TwilioMessagesLogsIntegrationDataflowResponse.java @@ -0,0 +1,159 @@ +/* + * Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License. + * This product includes software developed at Datadog (https://www.datadoghq.com/). + * Copyright 2019-Present Datadog, Inc. + */ + +package com.datadog.api.client.v2.model; + +import com.fasterxml.jackson.annotation.JsonAnyGetter; +import com.fasterxml.jackson.annotation.JsonAnySetter; +import com.fasterxml.jackson.annotation.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 Twilio messages logs dataflow. */ +@JsonPropertyOrder({ + TwilioMessagesLogsIntegrationDataflowResponse.JSON_PROPERTY_ENABLED, + TwilioMessagesLogsIntegrationDataflowResponse.JSON_PROPERTY_STATUS +}) +@jakarta.annotation.Generated( + value = "https://github.com/DataDog/datadog-api-client-java/blob/master/.generator") +public class TwilioMessagesLogsIntegrationDataflowResponse { + @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 TwilioMessagesLogsIntegrationDataflowResponse enabled(Boolean enabled) { + this.enabled = enabled; + return this; + } + + /** + * Whether the Twilio 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 TwilioMessagesLogsIntegrationDataflowResponse + */ + @JsonAnySetter + public TwilioMessagesLogsIntegrationDataflowResponse 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 TwilioMessagesLogsIntegrationDataflowResponse object is equal to o. */ + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + TwilioMessagesLogsIntegrationDataflowResponse twilioMessagesLogsIntegrationDataflowResponse = + (TwilioMessagesLogsIntegrationDataflowResponse) o; + return Objects.equals(this.enabled, twilioMessagesLogsIntegrationDataflowResponse.enabled) + && Objects.equals(this.status, twilioMessagesLogsIntegrationDataflowResponse.status) + && Objects.equals( + this.additionalProperties, + twilioMessagesLogsIntegrationDataflowResponse.additionalProperties); + } + + @Override + public int hashCode() { + return Objects.hash(enabled, status, additionalProperties); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class TwilioMessagesLogsIntegrationDataflowResponse {\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/test/resources/com/datadog/api/client/v2/api/elastic_cloud_integration_accounts.feature b/src/test/resources/com/datadog/api/client/v2/api/elastic_cloud_integration_accounts.feature new file mode 100644 index 00000000000..a4d54a29a06 --- /dev/null +++ b/src/test/resources/com/datadog/api/client/v2/api/elastic_cloud_integration_accounts.feature @@ -0,0 +1,151 @@ +@endpoint(elastic-cloud-integration-accounts) @endpoint(elastic-cloud-integration-accounts-v2) +Feature: Elastic Cloud Integration Accounts + 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. + + Background: + Given a valid "apiKeyAuth" key in the system + And a valid "appKeyAuth" key in the system + And an instance of "ElasticCloudIntegrationAccounts" API + + @generated @skip @team:DataDog/saas-integrations + Scenario: Create an Elastic Cloud integration account returns "Bad Request" response + Given operation "CreateElasticCloudIntegrationAccount" enabled + And new "CreateElasticCloudIntegrationAccount" request + And body with value {"data": {"attributes": {"authentication": {"auth_type": "basic", "password": "your-password", "username": "datadog"}, "dataflows": {"elastic-cloud-detailed-index-stats": {"enabled": true}, "elastic-cloud-index-stats": {"enabled": true}, "elastic-cloud-pending-task-stats": {"enabled": true}, "elastic-cloud-primary-shard-graceful-timeout": {"enabled": true}, "elastic-cloud-primary-shard-stats": {"enabled": true}, "elastic-cloud-shard-allocation-stats": {"enabled": true}, "elastic-cloud-slm-stats": {"enabled": true}}, "name": "elastic-cloud-prod", "settings": {"tags": "env:prod,team:saasint", "url": "https://example.es.us-central1.gcp.cloud.es.io:9243"}}, "type": "integration-account"}} + When the request is sent + Then the response status is 400 Bad Request + + @generated @skip @team:DataDog/saas-integrations + Scenario: Create an Elastic Cloud integration account returns "Created" response + Given operation "CreateElasticCloudIntegrationAccount" enabled + And new "CreateElasticCloudIntegrationAccount" request + And body with value {"data": {"attributes": {"authentication": {"auth_type": "basic", "password": "your-password", "username": "datadog"}, "dataflows": {"elastic-cloud-detailed-index-stats": {"enabled": true}, "elastic-cloud-index-stats": {"enabled": true}, "elastic-cloud-pending-task-stats": {"enabled": true}, "elastic-cloud-primary-shard-graceful-timeout": {"enabled": true}, "elastic-cloud-primary-shard-stats": {"enabled": true}, "elastic-cloud-shard-allocation-stats": {"enabled": true}, "elastic-cloud-slm-stats": {"enabled": true}}, "name": "elastic-cloud-prod", "settings": {"tags": "env:prod,team:saasint", "url": "https://example.es.us-central1.gcp.cloud.es.io:9243"}}, "type": "integration-account"}} + When the request is sent + Then the response status is 201 Created + + @generated @skip @team:DataDog/saas-integrations + Scenario: Create an Elastic Cloud integration account returns "Not Found" response + Given operation "CreateElasticCloudIntegrationAccount" enabled + And new "CreateElasticCloudIntegrationAccount" request + And body with value {"data": {"attributes": {"authentication": {"auth_type": "basic", "password": "your-password", "username": "datadog"}, "dataflows": {"elastic-cloud-detailed-index-stats": {"enabled": true}, "elastic-cloud-index-stats": {"enabled": true}, "elastic-cloud-pending-task-stats": {"enabled": true}, "elastic-cloud-primary-shard-graceful-timeout": {"enabled": true}, "elastic-cloud-primary-shard-stats": {"enabled": true}, "elastic-cloud-shard-allocation-stats": {"enabled": true}, "elastic-cloud-slm-stats": {"enabled": true}}, "name": "elastic-cloud-prod", "settings": {"tags": "env:prod,team:saasint", "url": "https://example.es.us-central1.gcp.cloud.es.io:9243"}}, "type": "integration-account"}} + When the request is sent + Then the response status is 404 Not Found + + @generated @skip @team:DataDog/saas-integrations + Scenario: Create an Elastic Cloud integration account returns "The server cannot process the request because it contains invalid data." response + Given operation "CreateElasticCloudIntegrationAccount" enabled + And new "CreateElasticCloudIntegrationAccount" request + And body with value {"data": {"attributes": {"authentication": {"auth_type": "basic", "password": "your-password", "username": "datadog"}, "dataflows": {"elastic-cloud-detailed-index-stats": {"enabled": true}, "elastic-cloud-index-stats": {"enabled": true}, "elastic-cloud-pending-task-stats": {"enabled": true}, "elastic-cloud-primary-shard-graceful-timeout": {"enabled": true}, "elastic-cloud-primary-shard-stats": {"enabled": true}, "elastic-cloud-shard-allocation-stats": {"enabled": true}, "elastic-cloud-slm-stats": {"enabled": true}}, "name": "elastic-cloud-prod", "settings": {"tags": "env:prod,team:saasint", "url": "https://example.es.us-central1.gcp.cloud.es.io:9243"}}, "type": "integration-account"}} + When the request is sent + Then the response status is 422 The server cannot process the request because it contains invalid data. + + @generated @skip @team:DataDog/saas-integrations + Scenario: Delete an Elastic Cloud integration account returns "Bad Request" response + Given operation "DeleteElasticCloudIntegrationAccount" enabled + And new "DeleteElasticCloudIntegrationAccount" request + And request contains "account_id" parameter from "REPLACE.ME" + When the request is sent + Then the response status is 400 Bad Request + + @generated @skip @team:DataDog/saas-integrations + Scenario: Delete an Elastic Cloud integration account returns "Not Found" response + Given operation "DeleteElasticCloudIntegrationAccount" enabled + And new "DeleteElasticCloudIntegrationAccount" request + And request contains "account_id" parameter from "REPLACE.ME" + When the request is sent + Then the response status is 404 Not Found + + @generated @skip @team:DataDog/saas-integrations + Scenario: Delete an Elastic Cloud integration account returns "OK" response + Given operation "DeleteElasticCloudIntegrationAccount" enabled + And new "DeleteElasticCloudIntegrationAccount" request + And request contains "account_id" parameter from "REPLACE.ME" + When the request is sent + Then the response status is 200 OK + + @generated @skip @team:DataDog/saas-integrations + Scenario: Get an Elastic Cloud integration account returns "Bad Request" response + Given operation "GetElasticCloudIntegrationAccount" enabled + And new "GetElasticCloudIntegrationAccount" request + And request contains "account_id" parameter from "REPLACE.ME" + When the request is sent + Then the response status is 400 Bad Request + + @generated @skip @team:DataDog/saas-integrations + Scenario: Get an Elastic Cloud integration account returns "Not Found" response + Given operation "GetElasticCloudIntegrationAccount" enabled + And new "GetElasticCloudIntegrationAccount" request + And request contains "account_id" parameter from "REPLACE.ME" + When the request is sent + Then the response status is 404 Not Found + + @generated @skip @team:DataDog/saas-integrations + Scenario: Get an Elastic Cloud integration account returns "OK" response + Given operation "GetElasticCloudIntegrationAccount" enabled + And new "GetElasticCloudIntegrationAccount" request + And request contains "account_id" parameter from "REPLACE.ME" + When the request is sent + Then the response status is 200 OK + + @generated @skip @team:DataDog/saas-integrations + Scenario: List Elastic Cloud integration accounts returns "Bad Request" response + Given operation "ListElasticCloudIntegrationAccounts" enabled + And new "ListElasticCloudIntegrationAccounts" request + When the request is sent + Then the response status is 400 Bad Request + + @generated @skip @team:DataDog/saas-integrations + Scenario: List Elastic Cloud integration accounts returns "Not Found" response + Given operation "ListElasticCloudIntegrationAccounts" enabled + And new "ListElasticCloudIntegrationAccounts" request + When the request is sent + Then the response status is 404 Not Found + + @generated @skip @team:DataDog/saas-integrations + Scenario: List Elastic Cloud integration accounts returns "OK" response + Given operation "ListElasticCloudIntegrationAccounts" enabled + And new "ListElasticCloudIntegrationAccounts" request + When the request is sent + Then the response status is 200 OK + + @generated @skip @team:DataDog/saas-integrations + Scenario: Update an Elastic Cloud integration account returns "Bad Request" response + Given operation "UpdateElasticCloudIntegrationAccount" enabled + And new "UpdateElasticCloudIntegrationAccount" request + And request contains "account_id" parameter from "REPLACE.ME" + And body with value {"data": {"attributes": {"authentication": {"auth_type": "basic", "password": "your-password", "username": "datadog"}, "dataflows": {"elastic-cloud-detailed-index-stats": {"enabled": true}, "elastic-cloud-index-stats": {"enabled": true}, "elastic-cloud-pending-task-stats": {"enabled": true}, "elastic-cloud-primary-shard-graceful-timeout": {"enabled": true}, "elastic-cloud-primary-shard-stats": {"enabled": true}, "elastic-cloud-shard-allocation-stats": {"enabled": true}, "elastic-cloud-slm-stats": {"enabled": true}}, "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"}} + When the request is sent + Then the response status is 400 Bad Request + + @generated @skip @team:DataDog/saas-integrations + Scenario: Update an Elastic Cloud integration account returns "Not Found" response + Given operation "UpdateElasticCloudIntegrationAccount" enabled + And new "UpdateElasticCloudIntegrationAccount" request + And request contains "account_id" parameter from "REPLACE.ME" + And body with value {"data": {"attributes": {"authentication": {"auth_type": "basic", "password": "your-password", "username": "datadog"}, "dataflows": {"elastic-cloud-detailed-index-stats": {"enabled": true}, "elastic-cloud-index-stats": {"enabled": true}, "elastic-cloud-pending-task-stats": {"enabled": true}, "elastic-cloud-primary-shard-graceful-timeout": {"enabled": true}, "elastic-cloud-primary-shard-stats": {"enabled": true}, "elastic-cloud-shard-allocation-stats": {"enabled": true}, "elastic-cloud-slm-stats": {"enabled": true}}, "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"}} + When the request is sent + Then the response status is 404 Not Found + + @generated @skip @team:DataDog/saas-integrations + Scenario: Update an Elastic Cloud integration account returns "OK" response + Given operation "UpdateElasticCloudIntegrationAccount" enabled + And new "UpdateElasticCloudIntegrationAccount" request + And request contains "account_id" parameter from "REPLACE.ME" + And body with value {"data": {"attributes": {"authentication": {"auth_type": "basic", "password": "your-password", "username": "datadog"}, "dataflows": {"elastic-cloud-detailed-index-stats": {"enabled": true}, "elastic-cloud-index-stats": {"enabled": true}, "elastic-cloud-pending-task-stats": {"enabled": true}, "elastic-cloud-primary-shard-graceful-timeout": {"enabled": true}, "elastic-cloud-primary-shard-stats": {"enabled": true}, "elastic-cloud-shard-allocation-stats": {"enabled": true}, "elastic-cloud-slm-stats": {"enabled": true}}, "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"}} + When the request is sent + Then the response status is 200 OK + + @generated @skip @team:DataDog/saas-integrations + Scenario: Update an Elastic Cloud integration account returns "The server cannot process the request because it contains invalid data." response + Given operation "UpdateElasticCloudIntegrationAccount" enabled + And new "UpdateElasticCloudIntegrationAccount" request + And request contains "account_id" parameter from "REPLACE.ME" + And body with value {"data": {"attributes": {"authentication": {"auth_type": "basic", "password": "your-password", "username": "datadog"}, "dataflows": {"elastic-cloud-detailed-index-stats": {"enabled": true}, "elastic-cloud-index-stats": {"enabled": true}, "elastic-cloud-pending-task-stats": {"enabled": true}, "elastic-cloud-primary-shard-graceful-timeout": {"enabled": true}, "elastic-cloud-primary-shard-stats": {"enabled": true}, "elastic-cloud-shard-allocation-stats": {"enabled": true}, "elastic-cloud-slm-stats": {"enabled": true}}, "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"}} + When the request is sent + Then the response status is 422 The server cannot process the request because it contains invalid data. diff --git a/src/test/resources/com/datadog/api/client/v2/api/twilio_integration_accounts.feature b/src/test/resources/com/datadog/api/client/v2/api/twilio_integration_accounts.feature new file mode 100644 index 00000000000..cb09ad702cd --- /dev/null +++ b/src/test/resources/com/datadog/api/client/v2/api/twilio_integration_accounts.feature @@ -0,0 +1,150 @@ +@endpoint(twilio-integration-accounts) @endpoint(twilio-integration-accounts-v2) +Feature: Twilio Integration Accounts + 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. + + Background: + Given a valid "apiKeyAuth" key in the system + And a valid "appKeyAuth" key in the system + And an instance of "TwilioIntegrationAccounts" API + + @generated @skip @team:DataDog/saas-integrations + Scenario: Create a Twilio integration account returns "Bad Request" response + Given operation "CreateTwilioIntegrationAccount" enabled + And new "CreateTwilioIntegrationAccount" request + And body with value {"data": {"attributes": {"authentication": {"auth_type": "basic", "password": "your-password", "username": "datadog"}, "dataflows": {"twilio-alerts-logs": {"enabled": true}, "twilio-call-summaries-logs": {"enabled": true}, "twilio-cloud-cost-metrics": {"enabled": true}, "twilio-events-logs": {"enabled": true}, "twilio-messages-logs": {"enabled": true}}, "name": "twilio-prod", "settings": {"account_sid": "ACxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx", "censor_logs": true}}, "type": "integration-account"}} + When the request is sent + Then the response status is 400 Bad Request + + @generated @skip @team:DataDog/saas-integrations + Scenario: Create a Twilio integration account returns "Created" response + Given operation "CreateTwilioIntegrationAccount" enabled + And new "CreateTwilioIntegrationAccount" request + And body with value {"data": {"attributes": {"authentication": {"auth_type": "basic", "password": "your-password", "username": "datadog"}, "dataflows": {"twilio-alerts-logs": {"enabled": true}, "twilio-call-summaries-logs": {"enabled": true}, "twilio-cloud-cost-metrics": {"enabled": true}, "twilio-events-logs": {"enabled": true}, "twilio-messages-logs": {"enabled": true}}, "name": "twilio-prod", "settings": {"account_sid": "ACxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx", "censor_logs": true}}, "type": "integration-account"}} + When the request is sent + Then the response status is 201 Created + + @generated @skip @team:DataDog/saas-integrations + Scenario: Create a Twilio integration account returns "Not Found" response + Given operation "CreateTwilioIntegrationAccount" enabled + And new "CreateTwilioIntegrationAccount" request + And body with value {"data": {"attributes": {"authentication": {"auth_type": "basic", "password": "your-password", "username": "datadog"}, "dataflows": {"twilio-alerts-logs": {"enabled": true}, "twilio-call-summaries-logs": {"enabled": true}, "twilio-cloud-cost-metrics": {"enabled": true}, "twilio-events-logs": {"enabled": true}, "twilio-messages-logs": {"enabled": true}}, "name": "twilio-prod", "settings": {"account_sid": "ACxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx", "censor_logs": true}}, "type": "integration-account"}} + When the request is sent + Then the response status is 404 Not Found + + @generated @skip @team:DataDog/saas-integrations + Scenario: Create a Twilio integration account returns "The server cannot process the request because it contains invalid data." response + Given operation "CreateTwilioIntegrationAccount" enabled + And new "CreateTwilioIntegrationAccount" request + And body with value {"data": {"attributes": {"authentication": {"auth_type": "basic", "password": "your-password", "username": "datadog"}, "dataflows": {"twilio-alerts-logs": {"enabled": true}, "twilio-call-summaries-logs": {"enabled": true}, "twilio-cloud-cost-metrics": {"enabled": true}, "twilio-events-logs": {"enabled": true}, "twilio-messages-logs": {"enabled": true}}, "name": "twilio-prod", "settings": {"account_sid": "ACxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx", "censor_logs": true}}, "type": "integration-account"}} + When the request is sent + Then the response status is 422 The server cannot process the request because it contains invalid data. + + @generated @skip @team:DataDog/saas-integrations + Scenario: Delete a Twilio integration account returns "Bad Request" response + Given operation "DeleteTwilioIntegrationAccount" enabled + And new "DeleteTwilioIntegrationAccount" request + And request contains "account_id" parameter from "REPLACE.ME" + When the request is sent + Then the response status is 400 Bad Request + + @generated @skip @team:DataDog/saas-integrations + Scenario: Delete a Twilio integration account returns "Not Found" response + Given operation "DeleteTwilioIntegrationAccount" enabled + And new "DeleteTwilioIntegrationAccount" request + And request contains "account_id" parameter from "REPLACE.ME" + When the request is sent + Then the response status is 404 Not Found + + @generated @skip @team:DataDog/saas-integrations + Scenario: Delete a Twilio integration account returns "OK" response + Given operation "DeleteTwilioIntegrationAccount" enabled + And new "DeleteTwilioIntegrationAccount" request + And request contains "account_id" parameter from "REPLACE.ME" + When the request is sent + Then the response status is 200 OK + + @generated @skip @team:DataDog/saas-integrations + Scenario: Get a Twilio integration account returns "Bad Request" response + Given operation "GetTwilioIntegrationAccount" enabled + And new "GetTwilioIntegrationAccount" request + And request contains "account_id" parameter from "REPLACE.ME" + When the request is sent + Then the response status is 400 Bad Request + + @generated @skip @team:DataDog/saas-integrations + Scenario: Get a Twilio integration account returns "Not Found" response + Given operation "GetTwilioIntegrationAccount" enabled + And new "GetTwilioIntegrationAccount" request + And request contains "account_id" parameter from "REPLACE.ME" + When the request is sent + Then the response status is 404 Not Found + + @generated @skip @team:DataDog/saas-integrations + Scenario: Get a Twilio integration account returns "OK" response + Given operation "GetTwilioIntegrationAccount" enabled + And new "GetTwilioIntegrationAccount" request + And request contains "account_id" parameter from "REPLACE.ME" + When the request is sent + Then the response status is 200 OK + + @generated @skip @team:DataDog/saas-integrations + Scenario: List Twilio integration accounts returns "Bad Request" response + Given operation "ListTwilioIntegrationAccounts" enabled + And new "ListTwilioIntegrationAccounts" request + When the request is sent + Then the response status is 400 Bad Request + + @generated @skip @team:DataDog/saas-integrations + Scenario: List Twilio integration accounts returns "Not Found" response + Given operation "ListTwilioIntegrationAccounts" enabled + And new "ListTwilioIntegrationAccounts" request + When the request is sent + Then the response status is 404 Not Found + + @generated @skip @team:DataDog/saas-integrations + Scenario: List Twilio integration accounts returns "OK" response + Given operation "ListTwilioIntegrationAccounts" enabled + And new "ListTwilioIntegrationAccounts" request + When the request is sent + Then the response status is 200 OK + + @generated @skip @team:DataDog/saas-integrations + Scenario: Update a Twilio integration account returns "Bad Request" response + Given operation "UpdateTwilioIntegrationAccount" enabled + And new "UpdateTwilioIntegrationAccount" request + And request contains "account_id" parameter from "REPLACE.ME" + And body with value {"data": {"attributes": {"authentication": {"auth_type": "basic", "password": "your-password", "username": "datadog"}, "dataflows": {"twilio-alerts-logs": {"enabled": true}, "twilio-call-summaries-logs": {"enabled": true}, "twilio-cloud-cost-metrics": {"enabled": true}, "twilio-events-logs": {"enabled": true}, "twilio-messages-logs": {"enabled": true}}, "name": "twilio-prod", "settings": {"account_sid": "ACxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx", "censor_logs": true}}, "id": "953a0060-81ec-4221-aed4-d4733b59cd96", "type": "integration-account"}} + When the request is sent + Then the response status is 400 Bad Request + + @generated @skip @team:DataDog/saas-integrations + Scenario: Update a Twilio integration account returns "Not Found" response + Given operation "UpdateTwilioIntegrationAccount" enabled + And new "UpdateTwilioIntegrationAccount" request + And request contains "account_id" parameter from "REPLACE.ME" + And body with value {"data": {"attributes": {"authentication": {"auth_type": "basic", "password": "your-password", "username": "datadog"}, "dataflows": {"twilio-alerts-logs": {"enabled": true}, "twilio-call-summaries-logs": {"enabled": true}, "twilio-cloud-cost-metrics": {"enabled": true}, "twilio-events-logs": {"enabled": true}, "twilio-messages-logs": {"enabled": true}}, "name": "twilio-prod", "settings": {"account_sid": "ACxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx", "censor_logs": true}}, "id": "953a0060-81ec-4221-aed4-d4733b59cd96", "type": "integration-account"}} + When the request is sent + Then the response status is 404 Not Found + + @generated @skip @team:DataDog/saas-integrations + Scenario: Update a Twilio integration account returns "OK" response + Given operation "UpdateTwilioIntegrationAccount" enabled + And new "UpdateTwilioIntegrationAccount" request + And request contains "account_id" parameter from "REPLACE.ME" + And body with value {"data": {"attributes": {"authentication": {"auth_type": "basic", "password": "your-password", "username": "datadog"}, "dataflows": {"twilio-alerts-logs": {"enabled": true}, "twilio-call-summaries-logs": {"enabled": true}, "twilio-cloud-cost-metrics": {"enabled": true}, "twilio-events-logs": {"enabled": true}, "twilio-messages-logs": {"enabled": true}}, "name": "twilio-prod", "settings": {"account_sid": "ACxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx", "censor_logs": true}}, "id": "953a0060-81ec-4221-aed4-d4733b59cd96", "type": "integration-account"}} + When the request is sent + Then the response status is 200 OK + + @generated @skip @team:DataDog/saas-integrations + Scenario: Update a Twilio integration account returns "The server cannot process the request because it contains invalid data." response + Given operation "UpdateTwilioIntegrationAccount" enabled + And new "UpdateTwilioIntegrationAccount" request + And request contains "account_id" parameter from "REPLACE.ME" + And body with value {"data": {"attributes": {"authentication": {"auth_type": "basic", "password": "your-password", "username": "datadog"}, "dataflows": {"twilio-alerts-logs": {"enabled": true}, "twilio-call-summaries-logs": {"enabled": true}, "twilio-cloud-cost-metrics": {"enabled": true}, "twilio-events-logs": {"enabled": true}, "twilio-messages-logs": {"enabled": true}}, "name": "twilio-prod", "settings": {"account_sid": "ACxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx", "censor_logs": true}}, "id": "953a0060-81ec-4221-aed4-d4733b59cd96", "type": "integration-account"}} + When the request is sent + Then the response status is 422 The server cannot process the request because it contains invalid data. diff --git a/src/test/resources/com/datadog/api/client/v2/api/undo.json b/src/test/resources/com/datadog/api/client/v2/api/undo.json index b0bc955911d..c7cb9ed93b4 100644 --- a/src/test/resources/com/datadog/api/client/v2/api/undo.json +++ b/src/test/resources/com/datadog/api/client/v2/api/undo.json @@ -3494,6 +3494,80 @@ "type": "idempotent" } }, + "ListElasticCloudIntegrationAccounts": { + "tag": "Elastic Cloud Integration Accounts", + "undo": { + "type": "safe" + } + }, + "CreateElasticCloudIntegrationAccount": { + "tag": "Elastic Cloud Integration Accounts", + "undo": { + "operationId": "DeleteElasticCloudIntegrationAccount", + "parameters": [ + { + "name": "account_id", + "source": "data.id" + } + ], + "type": "unsafe" + } + }, + "DeleteElasticCloudIntegrationAccount": { + "tag": "Elastic Cloud Integration Accounts", + "undo": { + "type": "idempotent" + } + }, + "GetElasticCloudIntegrationAccount": { + "tag": "Elastic Cloud Integration Accounts", + "undo": { + "type": "safe" + } + }, + "UpdateElasticCloudIntegrationAccount": { + "tag": "Elastic Cloud Integration Accounts", + "undo": { + "type": "idempotent" + } + }, + "ListTwilioIntegrationAccounts": { + "tag": "Twilio Integration Accounts", + "undo": { + "type": "safe" + } + }, + "CreateTwilioIntegrationAccount": { + "tag": "Twilio Integration Accounts", + "undo": { + "operationId": "DeleteTwilioIntegrationAccount", + "parameters": [ + { + "name": "account_id", + "source": "data.id" + } + ], + "type": "unsafe" + } + }, + "DeleteTwilioIntegrationAccount": { + "tag": "Twilio Integration Accounts", + "undo": { + "type": "idempotent" + } + }, + "GetTwilioIntegrationAccount": { + "tag": "Twilio Integration Accounts", + "undo": { + "type": "safe" + } + }, + "UpdateTwilioIntegrationAccount": { + "tag": "Twilio Integration Accounts", + "undo": { + "type": "idempotent" + } + }, "ListAWSAccounts": { "tag": "AWS Integration", "undo": {