diff --git a/.generator/schemas/v2/openapi.yaml b/.generator/schemas/v2/openapi.yaml index 9b5a962d17..a5cb502a3b 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" @@ -34917,6 +34924,363 @@ 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: + 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 @@ -52706,6 +53070,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: @@ -117495,6 +117954,306 @@ 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: + 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: @@ -156070,6 +156829,498 @@ 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-permission": + operator: OR + permissions: + - integrations_read + 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-permission": + operator: OR + permissions: + - manage_integrations + 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-permission": + operator: OR + permissions: + - manage_integrations + 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-permission": + operator: OR + permissions: + - integrations_read + 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-permission": + operator: OR + permissions: + - manage_integrations + 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-permission": + operator: OR + permissions: + - integrations_read + 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-permission": + operator: OR + permissions: + - manage_integrations + 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-permission": + operator: OR + permissions: + - manage_integrations + 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-permission": + operator: OR + permissions: + - integrations_read + 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-permission": + operator: OR + permissions: + - manage_integrations + 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. @@ -218233,6 +219484,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. @@ -218666,6 +219928,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/docs/datadog_api_client.v2.api.rst b/docs/datadog_api_client.v2.api.rst index 747ce8cae2..91c6150a0e 100644 --- a/docs/datadog_api_client.v2.api.rst +++ b/docs/datadog_api_client.v2.api.rst @@ -354,6 +354,13 @@ datadog\_api\_client.v2.api.downtimes\_api module :members: :show-inheritance: +datadog\_api\_client.v2.api.elastic\_cloud\_integration\_accounts\_api module +----------------------------------------------------------------------------- + +.. automodule:: datadog_api_client.v2.api.elastic_cloud_integration_accounts_api + :members: + :show-inheritance: + datadog\_api\_client.v2.api.entity\_integration\_configs\_api module -------------------------------------------------------------------- @@ -949,6 +956,13 @@ datadog\_api\_client.v2.api.test\_optimization\_api module :members: :show-inheritance: +datadog\_api\_client.v2.api.twilio\_integration\_accounts\_api module +--------------------------------------------------------------------- + +.. automodule:: datadog_api_client.v2.api.twilio_integration_accounts_api + :members: + :show-inheritance: + datadog\_api\_client.v2.api.usage\_metering\_api module ------------------------------------------------------- diff --git a/docs/datadog_api_client.v2.model.rst b/docs/datadog_api_client.v2.model.rst index 56b4374ab4..afbd67dc45 100644 --- a/docs/datadog_api_client.v2.model.rst +++ b/docs/datadog_api_client.v2.model.rst @@ -13850,6 +13850,237 @@ datadog\_api\_client.v2.model.due\_date\_severity module :members: :show-inheritance: +datadog\_api\_client.v2.model.elastic\_cloud\_detailed\_index\_stats\_integration\_dataflow\_request module +----------------------------------------------------------------------------------------------------------- + +.. automodule:: datadog_api_client.v2.model.elastic_cloud_detailed_index_stats_integration_dataflow_request + :members: + :show-inheritance: + +datadog\_api\_client.v2.model.elastic\_cloud\_detailed\_index\_stats\_integration\_dataflow\_response module +------------------------------------------------------------------------------------------------------------ + +.. automodule:: datadog_api_client.v2.model.elastic_cloud_detailed_index_stats_integration_dataflow_response + :members: + :show-inheritance: + +datadog\_api\_client.v2.model.elastic\_cloud\_index\_stats\_integration\_dataflow\_request module +------------------------------------------------------------------------------------------------- + +.. automodule:: datadog_api_client.v2.model.elastic_cloud_index_stats_integration_dataflow_request + :members: + :show-inheritance: + +datadog\_api\_client.v2.model.elastic\_cloud\_index\_stats\_integration\_dataflow\_response module +-------------------------------------------------------------------------------------------------- + +.. automodule:: datadog_api_client.v2.model.elastic_cloud_index_stats_integration_dataflow_response + :members: + :show-inheritance: + +datadog\_api\_client.v2.model.elastic\_cloud\_integration\_account\_authentication\_request module +-------------------------------------------------------------------------------------------------- + +.. automodule:: datadog_api_client.v2.model.elastic_cloud_integration_account_authentication_request + :members: + :show-inheritance: + +datadog\_api\_client.v2.model.elastic\_cloud\_integration\_account\_authentication\_response module +--------------------------------------------------------------------------------------------------- + +.. automodule:: datadog_api_client.v2.model.elastic_cloud_integration_account_authentication_response + :members: + :show-inheritance: + +datadog\_api\_client.v2.model.elastic\_cloud\_integration\_account\_authentication\_update module +------------------------------------------------------------------------------------------------- + +.. automodule:: datadog_api_client.v2.model.elastic_cloud_integration_account_authentication_update + :members: + :show-inheritance: + +datadog\_api\_client.v2.model.elastic\_cloud\_integration\_account\_create\_attributes module +--------------------------------------------------------------------------------------------- + +.. automodule:: datadog_api_client.v2.model.elastic_cloud_integration_account_create_attributes + :members: + :show-inheritance: + +datadog\_api\_client.v2.model.elastic\_cloud\_integration\_account\_create\_data module +--------------------------------------------------------------------------------------- + +.. automodule:: datadog_api_client.v2.model.elastic_cloud_integration_account_create_data + :members: + :show-inheritance: + +datadog\_api\_client.v2.model.elastic\_cloud\_integration\_account\_create\_request module +------------------------------------------------------------------------------------------ + +.. automodule:: datadog_api_client.v2.model.elastic_cloud_integration_account_create_request + :members: + :show-inheritance: + +datadog\_api\_client.v2.model.elastic\_cloud\_integration\_account\_response module +----------------------------------------------------------------------------------- + +.. automodule:: datadog_api_client.v2.model.elastic_cloud_integration_account_response + :members: + :show-inheritance: + +datadog\_api\_client.v2.model.elastic\_cloud\_integration\_account\_response\_attributes module +----------------------------------------------------------------------------------------------- + +.. automodule:: datadog_api_client.v2.model.elastic_cloud_integration_account_response_attributes + :members: + :show-inheritance: + +datadog\_api\_client.v2.model.elastic\_cloud\_integration\_account\_response\_data module +----------------------------------------------------------------------------------------- + +.. automodule:: datadog_api_client.v2.model.elastic_cloud_integration_account_response_data + :members: + :show-inheritance: + +datadog\_api\_client.v2.model.elastic\_cloud\_integration\_account\_settings\_request module +-------------------------------------------------------------------------------------------- + +.. automodule:: datadog_api_client.v2.model.elastic_cloud_integration_account_settings_request + :members: + :show-inheritance: + +datadog\_api\_client.v2.model.elastic\_cloud\_integration\_account\_settings\_response module +--------------------------------------------------------------------------------------------- + +.. automodule:: datadog_api_client.v2.model.elastic_cloud_integration_account_settings_response + :members: + :show-inheritance: + +datadog\_api\_client.v2.model.elastic\_cloud\_integration\_account\_settings\_update module +------------------------------------------------------------------------------------------- + +.. automodule:: datadog_api_client.v2.model.elastic_cloud_integration_account_settings_update + :members: + :show-inheritance: + +datadog\_api\_client.v2.model.elastic\_cloud\_integration\_account\_update\_attributes module +--------------------------------------------------------------------------------------------- + +.. automodule:: datadog_api_client.v2.model.elastic_cloud_integration_account_update_attributes + :members: + :show-inheritance: + +datadog\_api\_client.v2.model.elastic\_cloud\_integration\_account\_update\_data module +--------------------------------------------------------------------------------------- + +.. automodule:: datadog_api_client.v2.model.elastic_cloud_integration_account_update_data + :members: + :show-inheritance: + +datadog\_api\_client.v2.model.elastic\_cloud\_integration\_account\_update\_request module +------------------------------------------------------------------------------------------ + +.. automodule:: datadog_api_client.v2.model.elastic_cloud_integration_account_update_request + :members: + :show-inheritance: + +datadog\_api\_client.v2.model.elastic\_cloud\_integration\_accounts\_response module +------------------------------------------------------------------------------------ + +.. automodule:: datadog_api_client.v2.model.elastic_cloud_integration_accounts_response + :members: + :show-inheritance: + +datadog\_api\_client.v2.model.elastic\_cloud\_integration\_dataflows\_request module +------------------------------------------------------------------------------------ + +.. automodule:: datadog_api_client.v2.model.elastic_cloud_integration_dataflows_request + :members: + :show-inheritance: + +datadog\_api\_client.v2.model.elastic\_cloud\_integration\_dataflows\_response module +------------------------------------------------------------------------------------- + +.. automodule:: datadog_api_client.v2.model.elastic_cloud_integration_dataflows_response + :members: + :show-inheritance: + +datadog\_api\_client.v2.model.elastic\_cloud\_metrics\_integration\_dataflow\_response module +--------------------------------------------------------------------------------------------- + +.. automodule:: datadog_api_client.v2.model.elastic_cloud_metrics_integration_dataflow_response + :members: + :show-inheritance: + +datadog\_api\_client.v2.model.elastic\_cloud\_pending\_task\_stats\_integration\_dataflow\_request module +--------------------------------------------------------------------------------------------------------- + +.. automodule:: datadog_api_client.v2.model.elastic_cloud_pending_task_stats_integration_dataflow_request + :members: + :show-inheritance: + +datadog\_api\_client.v2.model.elastic\_cloud\_pending\_task\_stats\_integration\_dataflow\_response module +---------------------------------------------------------------------------------------------------------- + +.. automodule:: datadog_api_client.v2.model.elastic_cloud_pending_task_stats_integration_dataflow_response + :members: + :show-inheritance: + +datadog\_api\_client.v2.model.elastic\_cloud\_primary\_shard\_graceful\_timeout\_integration\_dataflow\_request module +---------------------------------------------------------------------------------------------------------------------- + +.. automodule:: datadog_api_client.v2.model.elastic_cloud_primary_shard_graceful_timeout_integration_dataflow_request + :members: + :show-inheritance: + +datadog\_api\_client.v2.model.elastic\_cloud\_primary\_shard\_graceful\_timeout\_integration\_dataflow\_response module +----------------------------------------------------------------------------------------------------------------------- + +.. automodule:: datadog_api_client.v2.model.elastic_cloud_primary_shard_graceful_timeout_integration_dataflow_response + :members: + :show-inheritance: + +datadog\_api\_client.v2.model.elastic\_cloud\_primary\_shard\_stats\_integration\_dataflow\_request module +---------------------------------------------------------------------------------------------------------- + +.. automodule:: datadog_api_client.v2.model.elastic_cloud_primary_shard_stats_integration_dataflow_request + :members: + :show-inheritance: + +datadog\_api\_client.v2.model.elastic\_cloud\_primary\_shard\_stats\_integration\_dataflow\_response module +----------------------------------------------------------------------------------------------------------- + +.. automodule:: datadog_api_client.v2.model.elastic_cloud_primary_shard_stats_integration_dataflow_response + :members: + :show-inheritance: + +datadog\_api\_client.v2.model.elastic\_cloud\_shard\_allocation\_stats\_integration\_dataflow\_request module +------------------------------------------------------------------------------------------------------------- + +.. automodule:: datadog_api_client.v2.model.elastic_cloud_shard_allocation_stats_integration_dataflow_request + :members: + :show-inheritance: + +datadog\_api\_client.v2.model.elastic\_cloud\_shard\_allocation\_stats\_integration\_dataflow\_response module +-------------------------------------------------------------------------------------------------------------- + +.. automodule:: datadog_api_client.v2.model.elastic_cloud_shard_allocation_stats_integration_dataflow_response + :members: + :show-inheritance: + +datadog\_api\_client.v2.model.elastic\_cloud\_slm\_stats\_integration\_dataflow\_request module +----------------------------------------------------------------------------------------------- + +.. automodule:: datadog_api_client.v2.model.elastic_cloud_slm_stats_integration_dataflow_request + :members: + :show-inheritance: + +datadog\_api\_client.v2.model.elastic\_cloud\_slm\_stats\_integration\_dataflow\_response module +------------------------------------------------------------------------------------------------ + +.. automodule:: datadog_api_client.v2.model.elastic_cloud_slm_stats_integration_dataflow_response + :members: + :show-inheritance: + datadog\_api\_client.v2.model.elf\_sourcemap\_attributes module --------------------------------------------------------------- @@ -21585,6 +21816,55 @@ datadog\_api\_client.v2.model.integration module :members: :show-inheritance: +datadog\_api\_client.v2.model.integration\_account\_basic\_auth\_request module +------------------------------------------------------------------------------- + +.. automodule:: datadog_api_client.v2.model.integration_account_basic_auth_request + :members: + :show-inheritance: + +datadog\_api\_client.v2.model.integration\_account\_basic\_auth\_response module +-------------------------------------------------------------------------------- + +.. automodule:: datadog_api_client.v2.model.integration_account_basic_auth_response + :members: + :show-inheritance: + +datadog\_api\_client.v2.model.integration\_account\_basic\_auth\_type module +---------------------------------------------------------------------------- + +.. automodule:: datadog_api_client.v2.model.integration_account_basic_auth_type + :members: + :show-inheritance: + +datadog\_api\_client.v2.model.integration\_account\_basic\_auth\_update module +------------------------------------------------------------------------------ + +.. automodule:: datadog_api_client.v2.model.integration_account_basic_auth_update + :members: + :show-inheritance: + +datadog\_api\_client.v2.model.integration\_account\_dataflow\_health module +--------------------------------------------------------------------------- + +.. automodule:: datadog_api_client.v2.model.integration_account_dataflow_health + :members: + :show-inheritance: + +datadog\_api\_client.v2.model.integration\_account\_dataflow\_status module +--------------------------------------------------------------------------- + +.. automodule:: datadog_api_client.v2.model.integration_account_dataflow_status + :members: + :show-inheritance: + +datadog\_api\_client.v2.model.integration\_account\_type module +--------------------------------------------------------------- + +.. automodule:: datadog_api_client.v2.model.integration_account_type + :members: + :show-inheritance: + datadog\_api\_client.v2.model.integration\_attributes module ------------------------------------------------------------ @@ -50502,6 +50782,202 @@ datadog\_api\_client.v2.model.trigger\_workflow\_automation\_action\_type module :members: :show-inheritance: +datadog\_api\_client.v2.model.twilio\_alerts\_logs\_integration\_dataflow\_request module +----------------------------------------------------------------------------------------- + +.. automodule:: datadog_api_client.v2.model.twilio_alerts_logs_integration_dataflow_request + :members: + :show-inheritance: + +datadog\_api\_client.v2.model.twilio\_alerts\_logs\_integration\_dataflow\_response module +------------------------------------------------------------------------------------------ + +.. automodule:: datadog_api_client.v2.model.twilio_alerts_logs_integration_dataflow_response + :members: + :show-inheritance: + +datadog\_api\_client.v2.model.twilio\_call\_summaries\_logs\_integration\_dataflow\_request module +-------------------------------------------------------------------------------------------------- + +.. automodule:: datadog_api_client.v2.model.twilio_call_summaries_logs_integration_dataflow_request + :members: + :show-inheritance: + +datadog\_api\_client.v2.model.twilio\_call\_summaries\_logs\_integration\_dataflow\_response module +--------------------------------------------------------------------------------------------------- + +.. automodule:: datadog_api_client.v2.model.twilio_call_summaries_logs_integration_dataflow_response + :members: + :show-inheritance: + +datadog\_api\_client.v2.model.twilio\_cloud\_cost\_metrics\_integration\_dataflow\_request module +------------------------------------------------------------------------------------------------- + +.. automodule:: datadog_api_client.v2.model.twilio_cloud_cost_metrics_integration_dataflow_request + :members: + :show-inheritance: + +datadog\_api\_client.v2.model.twilio\_cloud\_cost\_metrics\_integration\_dataflow\_response module +-------------------------------------------------------------------------------------------------- + +.. automodule:: datadog_api_client.v2.model.twilio_cloud_cost_metrics_integration_dataflow_response + :members: + :show-inheritance: + +datadog\_api\_client.v2.model.twilio\_events\_logs\_integration\_dataflow\_request module +----------------------------------------------------------------------------------------- + +.. automodule:: datadog_api_client.v2.model.twilio_events_logs_integration_dataflow_request + :members: + :show-inheritance: + +datadog\_api\_client.v2.model.twilio\_events\_logs\_integration\_dataflow\_response module +------------------------------------------------------------------------------------------ + +.. automodule:: datadog_api_client.v2.model.twilio_events_logs_integration_dataflow_response + :members: + :show-inheritance: + +datadog\_api\_client.v2.model.twilio\_integration\_account\_authentication\_request module +------------------------------------------------------------------------------------------ + +.. automodule:: datadog_api_client.v2.model.twilio_integration_account_authentication_request + :members: + :show-inheritance: + +datadog\_api\_client.v2.model.twilio\_integration\_account\_authentication\_response module +------------------------------------------------------------------------------------------- + +.. automodule:: datadog_api_client.v2.model.twilio_integration_account_authentication_response + :members: + :show-inheritance: + +datadog\_api\_client.v2.model.twilio\_integration\_account\_authentication\_update module +----------------------------------------------------------------------------------------- + +.. automodule:: datadog_api_client.v2.model.twilio_integration_account_authentication_update + :members: + :show-inheritance: + +datadog\_api\_client.v2.model.twilio\_integration\_account\_create\_attributes module +------------------------------------------------------------------------------------- + +.. automodule:: datadog_api_client.v2.model.twilio_integration_account_create_attributes + :members: + :show-inheritance: + +datadog\_api\_client.v2.model.twilio\_integration\_account\_create\_data module +------------------------------------------------------------------------------- + +.. automodule:: datadog_api_client.v2.model.twilio_integration_account_create_data + :members: + :show-inheritance: + +datadog\_api\_client.v2.model.twilio\_integration\_account\_create\_request module +---------------------------------------------------------------------------------- + +.. automodule:: datadog_api_client.v2.model.twilio_integration_account_create_request + :members: + :show-inheritance: + +datadog\_api\_client.v2.model.twilio\_integration\_account\_response module +--------------------------------------------------------------------------- + +.. automodule:: datadog_api_client.v2.model.twilio_integration_account_response + :members: + :show-inheritance: + +datadog\_api\_client.v2.model.twilio\_integration\_account\_response\_attributes module +--------------------------------------------------------------------------------------- + +.. automodule:: datadog_api_client.v2.model.twilio_integration_account_response_attributes + :members: + :show-inheritance: + +datadog\_api\_client.v2.model.twilio\_integration\_account\_response\_data module +--------------------------------------------------------------------------------- + +.. automodule:: datadog_api_client.v2.model.twilio_integration_account_response_data + :members: + :show-inheritance: + +datadog\_api\_client.v2.model.twilio\_integration\_account\_settings\_request module +------------------------------------------------------------------------------------ + +.. automodule:: datadog_api_client.v2.model.twilio_integration_account_settings_request + :members: + :show-inheritance: + +datadog\_api\_client.v2.model.twilio\_integration\_account\_settings\_response module +------------------------------------------------------------------------------------- + +.. automodule:: datadog_api_client.v2.model.twilio_integration_account_settings_response + :members: + :show-inheritance: + +datadog\_api\_client.v2.model.twilio\_integration\_account\_settings\_update module +----------------------------------------------------------------------------------- + +.. automodule:: datadog_api_client.v2.model.twilio_integration_account_settings_update + :members: + :show-inheritance: + +datadog\_api\_client.v2.model.twilio\_integration\_account\_update\_attributes module +------------------------------------------------------------------------------------- + +.. automodule:: datadog_api_client.v2.model.twilio_integration_account_update_attributes + :members: + :show-inheritance: + +datadog\_api\_client.v2.model.twilio\_integration\_account\_update\_data module +------------------------------------------------------------------------------- + +.. automodule:: datadog_api_client.v2.model.twilio_integration_account_update_data + :members: + :show-inheritance: + +datadog\_api\_client.v2.model.twilio\_integration\_account\_update\_request module +---------------------------------------------------------------------------------- + +.. automodule:: datadog_api_client.v2.model.twilio_integration_account_update_request + :members: + :show-inheritance: + +datadog\_api\_client.v2.model.twilio\_integration\_accounts\_response module +---------------------------------------------------------------------------- + +.. automodule:: datadog_api_client.v2.model.twilio_integration_accounts_response + :members: + :show-inheritance: + +datadog\_api\_client.v2.model.twilio\_integration\_dataflows\_request module +---------------------------------------------------------------------------- + +.. automodule:: datadog_api_client.v2.model.twilio_integration_dataflows_request + :members: + :show-inheritance: + +datadog\_api\_client.v2.model.twilio\_integration\_dataflows\_response module +----------------------------------------------------------------------------- + +.. automodule:: datadog_api_client.v2.model.twilio_integration_dataflows_response + :members: + :show-inheritance: + +datadog\_api\_client.v2.model.twilio\_messages\_logs\_integration\_dataflow\_request module +------------------------------------------------------------------------------------------- + +.. automodule:: datadog_api_client.v2.model.twilio_messages_logs_integration_dataflow_request + :members: + :show-inheritance: + +datadog\_api\_client.v2.model.twilio\_messages\_logs\_integration\_dataflow\_response module +-------------------------------------------------------------------------------------------- + +.. automodule:: datadog_api_client.v2.model.twilio_messages_logs_integration_dataflow_response + :members: + :show-inheritance: + datadog\_api\_client.v2.model.uc\_config\_pair module ----------------------------------------------------- diff --git a/examples/v2/elastic-cloud-integration-accounts/CreateElasticCloudIntegrationAccount.py b/examples/v2/elastic-cloud-integration-accounts/CreateElasticCloudIntegrationAccount.py new file mode 100644 index 0000000000..0deea06d18 --- /dev/null +++ b/examples/v2/elastic-cloud-integration-accounts/CreateElasticCloudIntegrationAccount.py @@ -0,0 +1,94 @@ +""" +Create an Elastic Cloud integration account returns "Created" response +""" + +from datadog_api_client import ApiClient, Configuration +from datadog_api_client.v2.api.elastic_cloud_integration_accounts_api import ElasticCloudIntegrationAccountsApi +from datadog_api_client.v2.model.elastic_cloud_detailed_index_stats_integration_dataflow_request import ( + ElasticCloudDetailedIndexStatsIntegrationDataflowRequest, +) +from datadog_api_client.v2.model.elastic_cloud_index_stats_integration_dataflow_request import ( + ElasticCloudIndexStatsIntegrationDataflowRequest, +) +from datadog_api_client.v2.model.elastic_cloud_integration_account_create_attributes import ( + ElasticCloudIntegrationAccountCreateAttributes, +) +from datadog_api_client.v2.model.elastic_cloud_integration_account_create_data import ( + ElasticCloudIntegrationAccountCreateData, +) +from datadog_api_client.v2.model.elastic_cloud_integration_account_create_request import ( + ElasticCloudIntegrationAccountCreateRequest, +) +from datadog_api_client.v2.model.elastic_cloud_integration_account_settings_request import ( + ElasticCloudIntegrationAccountSettingsRequest, +) +from datadog_api_client.v2.model.elastic_cloud_integration_dataflows_request import ( + ElasticCloudIntegrationDataflowsRequest, +) +from datadog_api_client.v2.model.elastic_cloud_pending_task_stats_integration_dataflow_request import ( + ElasticCloudPendingTaskStatsIntegrationDataflowRequest, +) +from datadog_api_client.v2.model.elastic_cloud_primary_shard_graceful_timeout_integration_dataflow_request import ( + ElasticCloudPrimaryShardGracefulTimeoutIntegrationDataflowRequest, +) +from datadog_api_client.v2.model.elastic_cloud_primary_shard_stats_integration_dataflow_request import ( + ElasticCloudPrimaryShardStatsIntegrationDataflowRequest, +) +from datadog_api_client.v2.model.elastic_cloud_shard_allocation_stats_integration_dataflow_request import ( + ElasticCloudShardAllocationStatsIntegrationDataflowRequest, +) +from datadog_api_client.v2.model.elastic_cloud_slm_stats_integration_dataflow_request import ( + ElasticCloudSlmStatsIntegrationDataflowRequest, +) +from datadog_api_client.v2.model.integration_account_basic_auth_request import IntegrationAccountBasicAuthRequest +from datadog_api_client.v2.model.integration_account_basic_auth_type import IntegrationAccountBasicAuthType +from datadog_api_client.v2.model.integration_account_type import IntegrationAccountType + +body = ElasticCloudIntegrationAccountCreateRequest( + data=ElasticCloudIntegrationAccountCreateData( + attributes=ElasticCloudIntegrationAccountCreateAttributes( + authentication=IntegrationAccountBasicAuthRequest( + auth_type=IntegrationAccountBasicAuthType.BASIC, + password="your-password", + username="datadog", + ), + dataflows=ElasticCloudIntegrationDataflowsRequest( + elastic_cloud_detailed_index_stats=ElasticCloudDetailedIndexStatsIntegrationDataflowRequest( + enabled=True, + ), + elastic_cloud_index_stats=ElasticCloudIndexStatsIntegrationDataflowRequest( + enabled=True, + ), + elastic_cloud_pending_task_stats=ElasticCloudPendingTaskStatsIntegrationDataflowRequest( + enabled=True, + ), + elastic_cloud_primary_shard_graceful_timeout=ElasticCloudPrimaryShardGracefulTimeoutIntegrationDataflowRequest( + enabled=True, + ), + elastic_cloud_primary_shard_stats=ElasticCloudPrimaryShardStatsIntegrationDataflowRequest( + enabled=True, + ), + elastic_cloud_shard_allocation_stats=ElasticCloudShardAllocationStatsIntegrationDataflowRequest( + enabled=True, + ), + elastic_cloud_slm_stats=ElasticCloudSlmStatsIntegrationDataflowRequest( + enabled=True, + ), + ), + name="elastic-cloud-prod", + settings=ElasticCloudIntegrationAccountSettingsRequest( + tags="env:prod,team:saasint", + url="https://example.es.us-central1.gcp.cloud.es.io:9243", + ), + ), + type=IntegrationAccountType.INTEGRATION_ACCOUNT, + ), +) + +configuration = Configuration() +configuration.unstable_operations["create_elastic_cloud_integration_account"] = True +with ApiClient(configuration) as api_client: + api_instance = ElasticCloudIntegrationAccountsApi(api_client) + response = api_instance.create_elastic_cloud_integration_account(body=body) + + print(response) diff --git a/examples/v2/elastic-cloud-integration-accounts/DeleteElasticCloudIntegrationAccount.py b/examples/v2/elastic-cloud-integration-accounts/DeleteElasticCloudIntegrationAccount.py new file mode 100644 index 0000000000..cd5b012e22 --- /dev/null +++ b/examples/v2/elastic-cloud-integration-accounts/DeleteElasticCloudIntegrationAccount.py @@ -0,0 +1,14 @@ +""" +Delete an Elastic Cloud integration account returns "OK" response +""" + +from datadog_api_client import ApiClient, Configuration +from datadog_api_client.v2.api.elastic_cloud_integration_accounts_api import ElasticCloudIntegrationAccountsApi + +configuration = Configuration() +configuration.unstable_operations["delete_elastic_cloud_integration_account"] = True +with ApiClient(configuration) as api_client: + api_instance = ElasticCloudIntegrationAccountsApi(api_client) + api_instance.delete_elastic_cloud_integration_account( + account_id="account_id", + ) diff --git a/examples/v2/elastic-cloud-integration-accounts/GetElasticCloudIntegrationAccount.py b/examples/v2/elastic-cloud-integration-accounts/GetElasticCloudIntegrationAccount.py new file mode 100644 index 0000000000..19dad83e97 --- /dev/null +++ b/examples/v2/elastic-cloud-integration-accounts/GetElasticCloudIntegrationAccount.py @@ -0,0 +1,16 @@ +""" +Get an Elastic Cloud integration account returns "OK" response +""" + +from datadog_api_client import ApiClient, Configuration +from datadog_api_client.v2.api.elastic_cloud_integration_accounts_api import ElasticCloudIntegrationAccountsApi + +configuration = Configuration() +configuration.unstable_operations["get_elastic_cloud_integration_account"] = True +with ApiClient(configuration) as api_client: + api_instance = ElasticCloudIntegrationAccountsApi(api_client) + response = api_instance.get_elastic_cloud_integration_account( + account_id="account_id", + ) + + print(response) diff --git a/examples/v2/elastic-cloud-integration-accounts/ListElasticCloudIntegrationAccounts.py b/examples/v2/elastic-cloud-integration-accounts/ListElasticCloudIntegrationAccounts.py new file mode 100644 index 0000000000..cacfab62cc --- /dev/null +++ b/examples/v2/elastic-cloud-integration-accounts/ListElasticCloudIntegrationAccounts.py @@ -0,0 +1,14 @@ +""" +List Elastic Cloud integration accounts returns "OK" response +""" + +from datadog_api_client import ApiClient, Configuration +from datadog_api_client.v2.api.elastic_cloud_integration_accounts_api import ElasticCloudIntegrationAccountsApi + +configuration = Configuration() +configuration.unstable_operations["list_elastic_cloud_integration_accounts"] = True +with ApiClient(configuration) as api_client: + api_instance = ElasticCloudIntegrationAccountsApi(api_client) + response = api_instance.list_elastic_cloud_integration_accounts() + + print(response) diff --git a/examples/v2/elastic-cloud-integration-accounts/UpdateElasticCloudIntegrationAccount.py b/examples/v2/elastic-cloud-integration-accounts/UpdateElasticCloudIntegrationAccount.py new file mode 100644 index 0000000000..6fd3694da0 --- /dev/null +++ b/examples/v2/elastic-cloud-integration-accounts/UpdateElasticCloudIntegrationAccount.py @@ -0,0 +1,95 @@ +""" +Update an Elastic Cloud integration account returns "OK" response +""" + +from datadog_api_client import ApiClient, Configuration +from datadog_api_client.v2.api.elastic_cloud_integration_accounts_api import ElasticCloudIntegrationAccountsApi +from datadog_api_client.v2.model.elastic_cloud_detailed_index_stats_integration_dataflow_request import ( + ElasticCloudDetailedIndexStatsIntegrationDataflowRequest, +) +from datadog_api_client.v2.model.elastic_cloud_index_stats_integration_dataflow_request import ( + ElasticCloudIndexStatsIntegrationDataflowRequest, +) +from datadog_api_client.v2.model.elastic_cloud_integration_account_settings_update import ( + ElasticCloudIntegrationAccountSettingsUpdate, +) +from datadog_api_client.v2.model.elastic_cloud_integration_account_update_attributes import ( + ElasticCloudIntegrationAccountUpdateAttributes, +) +from datadog_api_client.v2.model.elastic_cloud_integration_account_update_data import ( + ElasticCloudIntegrationAccountUpdateData, +) +from datadog_api_client.v2.model.elastic_cloud_integration_account_update_request import ( + ElasticCloudIntegrationAccountUpdateRequest, +) +from datadog_api_client.v2.model.elastic_cloud_integration_dataflows_request import ( + ElasticCloudIntegrationDataflowsRequest, +) +from datadog_api_client.v2.model.elastic_cloud_pending_task_stats_integration_dataflow_request import ( + ElasticCloudPendingTaskStatsIntegrationDataflowRequest, +) +from datadog_api_client.v2.model.elastic_cloud_primary_shard_graceful_timeout_integration_dataflow_request import ( + ElasticCloudPrimaryShardGracefulTimeoutIntegrationDataflowRequest, +) +from datadog_api_client.v2.model.elastic_cloud_primary_shard_stats_integration_dataflow_request import ( + ElasticCloudPrimaryShardStatsIntegrationDataflowRequest, +) +from datadog_api_client.v2.model.elastic_cloud_shard_allocation_stats_integration_dataflow_request import ( + ElasticCloudShardAllocationStatsIntegrationDataflowRequest, +) +from datadog_api_client.v2.model.elastic_cloud_slm_stats_integration_dataflow_request import ( + ElasticCloudSlmStatsIntegrationDataflowRequest, +) +from datadog_api_client.v2.model.integration_account_basic_auth_type import IntegrationAccountBasicAuthType +from datadog_api_client.v2.model.integration_account_basic_auth_update import IntegrationAccountBasicAuthUpdate +from datadog_api_client.v2.model.integration_account_type import IntegrationAccountType + +body = ElasticCloudIntegrationAccountUpdateRequest( + data=ElasticCloudIntegrationAccountUpdateData( + attributes=ElasticCloudIntegrationAccountUpdateAttributes( + authentication=IntegrationAccountBasicAuthUpdate( + auth_type=IntegrationAccountBasicAuthType.BASIC, + password="your-password", + username="datadog", + ), + dataflows=ElasticCloudIntegrationDataflowsRequest( + elastic_cloud_detailed_index_stats=ElasticCloudDetailedIndexStatsIntegrationDataflowRequest( + enabled=True, + ), + elastic_cloud_index_stats=ElasticCloudIndexStatsIntegrationDataflowRequest( + enabled=True, + ), + elastic_cloud_pending_task_stats=ElasticCloudPendingTaskStatsIntegrationDataflowRequest( + enabled=True, + ), + elastic_cloud_primary_shard_graceful_timeout=ElasticCloudPrimaryShardGracefulTimeoutIntegrationDataflowRequest( + enabled=True, + ), + elastic_cloud_primary_shard_stats=ElasticCloudPrimaryShardStatsIntegrationDataflowRequest( + enabled=True, + ), + elastic_cloud_shard_allocation_stats=ElasticCloudShardAllocationStatsIntegrationDataflowRequest( + enabled=True, + ), + elastic_cloud_slm_stats=ElasticCloudSlmStatsIntegrationDataflowRequest( + enabled=True, + ), + ), + name="elastic-cloud-prod", + settings=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, + ), +) + +configuration = Configuration() +configuration.unstable_operations["update_elastic_cloud_integration_account"] = True +with ApiClient(configuration) as api_client: + api_instance = ElasticCloudIntegrationAccountsApi(api_client) + response = api_instance.update_elastic_cloud_integration_account(account_id="account_id", body=body) + + print(response) diff --git a/examples/v2/twilio-integration-accounts/CreateTwilioIntegrationAccount.py b/examples/v2/twilio-integration-accounts/CreateTwilioIntegrationAccount.py new file mode 100644 index 0000000000..5f5dfa5a09 --- /dev/null +++ b/examples/v2/twilio-integration-accounts/CreateTwilioIntegrationAccount.py @@ -0,0 +1,76 @@ +""" +Create a Twilio integration account returns "Created" response +""" + +from datadog_api_client import ApiClient, Configuration +from datadog_api_client.v2.api.twilio_integration_accounts_api import TwilioIntegrationAccountsApi +from datadog_api_client.v2.model.integration_account_basic_auth_request import IntegrationAccountBasicAuthRequest +from datadog_api_client.v2.model.integration_account_basic_auth_type import IntegrationAccountBasicAuthType +from datadog_api_client.v2.model.integration_account_type import IntegrationAccountType +from datadog_api_client.v2.model.twilio_alerts_logs_integration_dataflow_request import ( + TwilioAlertsLogsIntegrationDataflowRequest, +) +from datadog_api_client.v2.model.twilio_call_summaries_logs_integration_dataflow_request import ( + TwilioCallSummariesLogsIntegrationDataflowRequest, +) +from datadog_api_client.v2.model.twilio_cloud_cost_metrics_integration_dataflow_request import ( + TwilioCloudCostMetricsIntegrationDataflowRequest, +) +from datadog_api_client.v2.model.twilio_events_logs_integration_dataflow_request import ( + TwilioEventsLogsIntegrationDataflowRequest, +) +from datadog_api_client.v2.model.twilio_integration_account_create_attributes import ( + TwilioIntegrationAccountCreateAttributes, +) +from datadog_api_client.v2.model.twilio_integration_account_create_data import TwilioIntegrationAccountCreateData +from datadog_api_client.v2.model.twilio_integration_account_create_request import TwilioIntegrationAccountCreateRequest +from datadog_api_client.v2.model.twilio_integration_account_settings_request import ( + TwilioIntegrationAccountSettingsRequest, +) +from datadog_api_client.v2.model.twilio_integration_dataflows_request import TwilioIntegrationDataflowsRequest +from datadog_api_client.v2.model.twilio_messages_logs_integration_dataflow_request import ( + TwilioMessagesLogsIntegrationDataflowRequest, +) + +body = TwilioIntegrationAccountCreateRequest( + data=TwilioIntegrationAccountCreateData( + attributes=TwilioIntegrationAccountCreateAttributes( + authentication=IntegrationAccountBasicAuthRequest( + auth_type=IntegrationAccountBasicAuthType.BASIC, + password="your-password", + username="datadog", + ), + dataflows=TwilioIntegrationDataflowsRequest( + twilio_alerts_logs=TwilioAlertsLogsIntegrationDataflowRequest( + enabled=True, + ), + twilio_call_summaries_logs=TwilioCallSummariesLogsIntegrationDataflowRequest( + enabled=True, + ), + twilio_cloud_cost_metrics=TwilioCloudCostMetricsIntegrationDataflowRequest( + enabled=True, + ), + twilio_events_logs=TwilioEventsLogsIntegrationDataflowRequest( + enabled=True, + ), + twilio_messages_logs=TwilioMessagesLogsIntegrationDataflowRequest( + enabled=True, + ), + ), + name="twilio-prod", + settings=TwilioIntegrationAccountSettingsRequest( + account_sid="ACxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx", + censor_logs=True, + ), + ), + type=IntegrationAccountType.INTEGRATION_ACCOUNT, + ), +) + +configuration = Configuration() +configuration.unstable_operations["create_twilio_integration_account"] = True +with ApiClient(configuration) as api_client: + api_instance = TwilioIntegrationAccountsApi(api_client) + response = api_instance.create_twilio_integration_account(body=body) + + print(response) diff --git a/examples/v2/twilio-integration-accounts/DeleteTwilioIntegrationAccount.py b/examples/v2/twilio-integration-accounts/DeleteTwilioIntegrationAccount.py new file mode 100644 index 0000000000..802b7e4edf --- /dev/null +++ b/examples/v2/twilio-integration-accounts/DeleteTwilioIntegrationAccount.py @@ -0,0 +1,14 @@ +""" +Delete a Twilio integration account returns "OK" response +""" + +from datadog_api_client import ApiClient, Configuration +from datadog_api_client.v2.api.twilio_integration_accounts_api import TwilioIntegrationAccountsApi + +configuration = Configuration() +configuration.unstable_operations["delete_twilio_integration_account"] = True +with ApiClient(configuration) as api_client: + api_instance = TwilioIntegrationAccountsApi(api_client) + api_instance.delete_twilio_integration_account( + account_id="account_id", + ) diff --git a/examples/v2/twilio-integration-accounts/GetTwilioIntegrationAccount.py b/examples/v2/twilio-integration-accounts/GetTwilioIntegrationAccount.py new file mode 100644 index 0000000000..76429e6f0c --- /dev/null +++ b/examples/v2/twilio-integration-accounts/GetTwilioIntegrationAccount.py @@ -0,0 +1,16 @@ +""" +Get a Twilio integration account returns "OK" response +""" + +from datadog_api_client import ApiClient, Configuration +from datadog_api_client.v2.api.twilio_integration_accounts_api import TwilioIntegrationAccountsApi + +configuration = Configuration() +configuration.unstable_operations["get_twilio_integration_account"] = True +with ApiClient(configuration) as api_client: + api_instance = TwilioIntegrationAccountsApi(api_client) + response = api_instance.get_twilio_integration_account( + account_id="account_id", + ) + + print(response) diff --git a/examples/v2/twilio-integration-accounts/ListTwilioIntegrationAccounts.py b/examples/v2/twilio-integration-accounts/ListTwilioIntegrationAccounts.py new file mode 100644 index 0000000000..8a88c1743d --- /dev/null +++ b/examples/v2/twilio-integration-accounts/ListTwilioIntegrationAccounts.py @@ -0,0 +1,14 @@ +""" +List Twilio integration accounts returns "OK" response +""" + +from datadog_api_client import ApiClient, Configuration +from datadog_api_client.v2.api.twilio_integration_accounts_api import TwilioIntegrationAccountsApi + +configuration = Configuration() +configuration.unstable_operations["list_twilio_integration_accounts"] = True +with ApiClient(configuration) as api_client: + api_instance = TwilioIntegrationAccountsApi(api_client) + response = api_instance.list_twilio_integration_accounts() + + print(response) diff --git a/examples/v2/twilio-integration-accounts/UpdateTwilioIntegrationAccount.py b/examples/v2/twilio-integration-accounts/UpdateTwilioIntegrationAccount.py new file mode 100644 index 0000000000..f4b6b814be --- /dev/null +++ b/examples/v2/twilio-integration-accounts/UpdateTwilioIntegrationAccount.py @@ -0,0 +1,77 @@ +""" +Update a Twilio integration account returns "OK" response +""" + +from datadog_api_client import ApiClient, Configuration +from datadog_api_client.v2.api.twilio_integration_accounts_api import TwilioIntegrationAccountsApi +from datadog_api_client.v2.model.integration_account_basic_auth_type import IntegrationAccountBasicAuthType +from datadog_api_client.v2.model.integration_account_basic_auth_update import IntegrationAccountBasicAuthUpdate +from datadog_api_client.v2.model.integration_account_type import IntegrationAccountType +from datadog_api_client.v2.model.twilio_alerts_logs_integration_dataflow_request import ( + TwilioAlertsLogsIntegrationDataflowRequest, +) +from datadog_api_client.v2.model.twilio_call_summaries_logs_integration_dataflow_request import ( + TwilioCallSummariesLogsIntegrationDataflowRequest, +) +from datadog_api_client.v2.model.twilio_cloud_cost_metrics_integration_dataflow_request import ( + TwilioCloudCostMetricsIntegrationDataflowRequest, +) +from datadog_api_client.v2.model.twilio_events_logs_integration_dataflow_request import ( + TwilioEventsLogsIntegrationDataflowRequest, +) +from datadog_api_client.v2.model.twilio_integration_account_settings_update import ( + TwilioIntegrationAccountSettingsUpdate, +) +from datadog_api_client.v2.model.twilio_integration_account_update_attributes import ( + TwilioIntegrationAccountUpdateAttributes, +) +from datadog_api_client.v2.model.twilio_integration_account_update_data import TwilioIntegrationAccountUpdateData +from datadog_api_client.v2.model.twilio_integration_account_update_request import TwilioIntegrationAccountUpdateRequest +from datadog_api_client.v2.model.twilio_integration_dataflows_request import TwilioIntegrationDataflowsRequest +from datadog_api_client.v2.model.twilio_messages_logs_integration_dataflow_request import ( + TwilioMessagesLogsIntegrationDataflowRequest, +) + +body = TwilioIntegrationAccountUpdateRequest( + data=TwilioIntegrationAccountUpdateData( + attributes=TwilioIntegrationAccountUpdateAttributes( + authentication=IntegrationAccountBasicAuthUpdate( + auth_type=IntegrationAccountBasicAuthType.BASIC, + password="your-password", + username="datadog", + ), + dataflows=TwilioIntegrationDataflowsRequest( + twilio_alerts_logs=TwilioAlertsLogsIntegrationDataflowRequest( + enabled=True, + ), + twilio_call_summaries_logs=TwilioCallSummariesLogsIntegrationDataflowRequest( + enabled=True, + ), + twilio_cloud_cost_metrics=TwilioCloudCostMetricsIntegrationDataflowRequest( + enabled=True, + ), + twilio_events_logs=TwilioEventsLogsIntegrationDataflowRequest( + enabled=True, + ), + twilio_messages_logs=TwilioMessagesLogsIntegrationDataflowRequest( + enabled=True, + ), + ), + name="twilio-prod", + settings=TwilioIntegrationAccountSettingsUpdate( + account_sid="ACxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx", + censor_logs=True, + ), + ), + id="953a0060-81ec-4221-aed4-d4733b59cd96", + type=IntegrationAccountType.INTEGRATION_ACCOUNT, + ), +) + +configuration = Configuration() +configuration.unstable_operations["update_twilio_integration_account"] = True +with ApiClient(configuration) as api_client: + api_instance = TwilioIntegrationAccountsApi(api_client) + response = api_instance.update_twilio_integration_account(account_id="account_id", body=body) + + print(response) diff --git a/src/datadog_api_client/configuration.py b/src/datadog_api_client/configuration.py index c0cac8747f..b01cb7c3d0 100644 --- a/src/datadog_api_client/configuration.py +++ b/src/datadog_api_client/configuration.py @@ -621,6 +621,16 @@ def __init__( "v2.update_incident_user_defined_field": False, "v2.update_incident_user_defined_role": False, "v2.update_timestamp_override": False, + "v2.create_elastic_cloud_integration_account": False, + "v2.delete_elastic_cloud_integration_account": False, + "v2.get_elastic_cloud_integration_account": False, + "v2.list_elastic_cloud_integration_accounts": False, + "v2.update_elastic_cloud_integration_account": False, + "v2.create_twilio_integration_account": False, + "v2.delete_twilio_integration_account": False, + "v2.get_twilio_integration_account": False, + "v2.list_twilio_integration_accounts": False, + "v2.update_twilio_integration_account": False, "v2.create_aws_account_ccm_config": False, "v2.delete_aws_account_ccm_config": False, "v2.get_aws_account_ccm_config": False, diff --git a/src/datadog_api_client/v2/api/elastic_cloud_integration_accounts_api.py b/src/datadog_api_client/v2/api/elastic_cloud_integration_accounts_api.py new file mode 100644 index 0000000000..db24f7eaf2 --- /dev/null +++ b/src/datadog_api_client/v2/api/elastic_cloud_integration_accounts_api.py @@ -0,0 +1,228 @@ +# 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. +from __future__ import annotations + +from typing import Any, Dict + +from datadog_api_client.api_client import ApiClient, Endpoint as _Endpoint +from datadog_api_client.configuration import Configuration +from datadog_api_client.v2.model.elastic_cloud_integration_accounts_response import ( + ElasticCloudIntegrationAccountsResponse, +) +from datadog_api_client.v2.model.elastic_cloud_integration_account_response import ( + ElasticCloudIntegrationAccountResponse, +) +from datadog_api_client.v2.model.elastic_cloud_integration_account_create_request import ( + ElasticCloudIntegrationAccountCreateRequest, +) +from datadog_api_client.v2.model.elastic_cloud_integration_account_update_request import ( + ElasticCloudIntegrationAccountUpdateRequest, +) + + +class ElasticCloudIntegrationAccountsApi: + """ + 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 `_ for + more information. + """ + + def __init__(self, api_client=None): + if api_client is None: + api_client = ApiClient(Configuration()) + self.api_client = api_client + + self._create_elastic_cloud_integration_account_endpoint = _Endpoint( + settings={ + "response_type": (ElasticCloudIntegrationAccountResponse,), + "auth": ["apiKeyAuth", "appKeyAuth"], + "endpoint_path": "/api/v2/integration-interfaces/elastic-cloud/accounts", + "operation_id": "create_elastic_cloud_integration_account", + "http_method": "POST", + "version": "v2", + }, + params_map={ + "body": { + "required": True, + "openapi_types": (ElasticCloudIntegrationAccountCreateRequest,), + "location": "body", + }, + }, + headers_map={"accept": ["application/json"], "content_type": ["application/json"]}, + api_client=api_client, + ) + + self._delete_elastic_cloud_integration_account_endpoint = _Endpoint( + settings={ + "response_type": None, + "auth": ["apiKeyAuth", "appKeyAuth"], + "endpoint_path": "/api/v2/integration-interfaces/elastic-cloud/accounts/{account_id}", + "operation_id": "delete_elastic_cloud_integration_account", + "http_method": "DELETE", + "version": "v2", + }, + params_map={ + "account_id": { + "required": True, + "openapi_types": (str,), + "attribute": "account_id", + "location": "path", + }, + }, + headers_map={ + "accept": ["*/*"], + }, + api_client=api_client, + ) + + self._get_elastic_cloud_integration_account_endpoint = _Endpoint( + settings={ + "response_type": (ElasticCloudIntegrationAccountResponse,), + "auth": ["apiKeyAuth", "appKeyAuth"], + "endpoint_path": "/api/v2/integration-interfaces/elastic-cloud/accounts/{account_id}", + "operation_id": "get_elastic_cloud_integration_account", + "http_method": "GET", + "version": "v2", + }, + params_map={ + "account_id": { + "required": True, + "openapi_types": (str,), + "attribute": "account_id", + "location": "path", + }, + }, + headers_map={ + "accept": ["application/json"], + }, + api_client=api_client, + ) + + self._list_elastic_cloud_integration_accounts_endpoint = _Endpoint( + settings={ + "response_type": (ElasticCloudIntegrationAccountsResponse,), + "auth": ["apiKeyAuth", "appKeyAuth"], + "endpoint_path": "/api/v2/integration-interfaces/elastic-cloud/accounts", + "operation_id": "list_elastic_cloud_integration_accounts", + "http_method": "GET", + "version": "v2", + }, + params_map={}, + headers_map={ + "accept": ["application/json"], + }, + api_client=api_client, + ) + + self._update_elastic_cloud_integration_account_endpoint = _Endpoint( + settings={ + "response_type": (ElasticCloudIntegrationAccountResponse,), + "auth": ["apiKeyAuth", "appKeyAuth"], + "endpoint_path": "/api/v2/integration-interfaces/elastic-cloud/accounts/{account_id}", + "operation_id": "update_elastic_cloud_integration_account", + "http_method": "PATCH", + "version": "v2", + }, + params_map={ + "account_id": { + "required": True, + "openapi_types": (str,), + "attribute": "account_id", + "location": "path", + }, + "body": { + "required": True, + "openapi_types": (ElasticCloudIntegrationAccountUpdateRequest,), + "location": "body", + }, + }, + headers_map={"accept": ["application/json"], "content_type": ["application/json"]}, + api_client=api_client, + ) + + def create_elastic_cloud_integration_account( + self, + body: ElasticCloudIntegrationAccountCreateRequest, + ) -> ElasticCloudIntegrationAccountResponse: + """Create an Elastic Cloud integration account. + + Create an Elastic Cloud integration account. + + :type body: ElasticCloudIntegrationAccountCreateRequest + :rtype: ElasticCloudIntegrationAccountResponse + """ + kwargs: Dict[str, Any] = {} + kwargs["body"] = body + + return self._create_elastic_cloud_integration_account_endpoint.call_with_http_info(**kwargs) + + def delete_elastic_cloud_integration_account( + self, + account_id: str, + ) -> None: + """Delete an Elastic Cloud integration account. + + Delete an Elastic Cloud integration account. + + :param account_id: Unique identifier of the integration account. + :type account_id: str + :rtype: None + """ + kwargs: Dict[str, Any] = {} + kwargs["account_id"] = account_id + + return self._delete_elastic_cloud_integration_account_endpoint.call_with_http_info(**kwargs) + + def get_elastic_cloud_integration_account( + self, + account_id: str, + ) -> ElasticCloudIntegrationAccountResponse: + """Get an Elastic Cloud integration account. + + Get an Elastic Cloud integration account. + + :param account_id: Unique identifier of the integration account. + :type account_id: str + :rtype: ElasticCloudIntegrationAccountResponse + """ + kwargs: Dict[str, Any] = {} + kwargs["account_id"] = account_id + + return self._get_elastic_cloud_integration_account_endpoint.call_with_http_info(**kwargs) + + def list_elastic_cloud_integration_accounts( + self, + ) -> ElasticCloudIntegrationAccountsResponse: + """List Elastic Cloud integration accounts. + + List Elastic Cloud integration accounts. + + :rtype: ElasticCloudIntegrationAccountsResponse + """ + kwargs: Dict[str, Any] = {} + return self._list_elastic_cloud_integration_accounts_endpoint.call_with_http_info(**kwargs) + + def update_elastic_cloud_integration_account( + self, + account_id: str, + body: ElasticCloudIntegrationAccountUpdateRequest, + ) -> ElasticCloudIntegrationAccountResponse: + """Update an Elastic Cloud integration account. + + Update an Elastic Cloud integration account. Only the fields provided are changed. + + :param account_id: Unique identifier of the integration account. + :type account_id: str + :type body: ElasticCloudIntegrationAccountUpdateRequest + :rtype: ElasticCloudIntegrationAccountResponse + """ + kwargs: Dict[str, Any] = {} + kwargs["account_id"] = account_id + + kwargs["body"] = body + + return self._update_elastic_cloud_integration_account_endpoint.call_with_http_info(**kwargs) diff --git a/src/datadog_api_client/v2/api/twilio_integration_accounts_api.py b/src/datadog_api_client/v2/api/twilio_integration_accounts_api.py new file mode 100644 index 0000000000..3a37919d6e --- /dev/null +++ b/src/datadog_api_client/v2/api/twilio_integration_accounts_api.py @@ -0,0 +1,220 @@ +# 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. +from __future__ import annotations + +from typing import Any, Dict + +from datadog_api_client.api_client import ApiClient, Endpoint as _Endpoint +from datadog_api_client.configuration import Configuration +from datadog_api_client.v2.model.twilio_integration_accounts_response import TwilioIntegrationAccountsResponse +from datadog_api_client.v2.model.twilio_integration_account_response import TwilioIntegrationAccountResponse +from datadog_api_client.v2.model.twilio_integration_account_create_request import TwilioIntegrationAccountCreateRequest +from datadog_api_client.v2.model.twilio_integration_account_update_request import TwilioIntegrationAccountUpdateRequest + + +class TwilioIntegrationAccountsApi: + """ + 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 `_ for + more information. + """ + + def __init__(self, api_client=None): + if api_client is None: + api_client = ApiClient(Configuration()) + self.api_client = api_client + + self._create_twilio_integration_account_endpoint = _Endpoint( + settings={ + "response_type": (TwilioIntegrationAccountResponse,), + "auth": ["apiKeyAuth", "appKeyAuth"], + "endpoint_path": "/api/v2/integration-interfaces/twilio/accounts", + "operation_id": "create_twilio_integration_account", + "http_method": "POST", + "version": "v2", + }, + params_map={ + "body": { + "required": True, + "openapi_types": (TwilioIntegrationAccountCreateRequest,), + "location": "body", + }, + }, + headers_map={"accept": ["application/json"], "content_type": ["application/json"]}, + api_client=api_client, + ) + + self._delete_twilio_integration_account_endpoint = _Endpoint( + settings={ + "response_type": None, + "auth": ["apiKeyAuth", "appKeyAuth"], + "endpoint_path": "/api/v2/integration-interfaces/twilio/accounts/{account_id}", + "operation_id": "delete_twilio_integration_account", + "http_method": "DELETE", + "version": "v2", + }, + params_map={ + "account_id": { + "required": True, + "openapi_types": (str,), + "attribute": "account_id", + "location": "path", + }, + }, + headers_map={ + "accept": ["*/*"], + }, + api_client=api_client, + ) + + self._get_twilio_integration_account_endpoint = _Endpoint( + settings={ + "response_type": (TwilioIntegrationAccountResponse,), + "auth": ["apiKeyAuth", "appKeyAuth"], + "endpoint_path": "/api/v2/integration-interfaces/twilio/accounts/{account_id}", + "operation_id": "get_twilio_integration_account", + "http_method": "GET", + "version": "v2", + }, + params_map={ + "account_id": { + "required": True, + "openapi_types": (str,), + "attribute": "account_id", + "location": "path", + }, + }, + headers_map={ + "accept": ["application/json"], + }, + api_client=api_client, + ) + + self._list_twilio_integration_accounts_endpoint = _Endpoint( + settings={ + "response_type": (TwilioIntegrationAccountsResponse,), + "auth": ["apiKeyAuth", "appKeyAuth"], + "endpoint_path": "/api/v2/integration-interfaces/twilio/accounts", + "operation_id": "list_twilio_integration_accounts", + "http_method": "GET", + "version": "v2", + }, + params_map={}, + headers_map={ + "accept": ["application/json"], + }, + api_client=api_client, + ) + + self._update_twilio_integration_account_endpoint = _Endpoint( + settings={ + "response_type": (TwilioIntegrationAccountResponse,), + "auth": ["apiKeyAuth", "appKeyAuth"], + "endpoint_path": "/api/v2/integration-interfaces/twilio/accounts/{account_id}", + "operation_id": "update_twilio_integration_account", + "http_method": "PATCH", + "version": "v2", + }, + params_map={ + "account_id": { + "required": True, + "openapi_types": (str,), + "attribute": "account_id", + "location": "path", + }, + "body": { + "required": True, + "openapi_types": (TwilioIntegrationAccountUpdateRequest,), + "location": "body", + }, + }, + headers_map={"accept": ["application/json"], "content_type": ["application/json"]}, + api_client=api_client, + ) + + def create_twilio_integration_account( + self, + body: TwilioIntegrationAccountCreateRequest, + ) -> TwilioIntegrationAccountResponse: + """Create a Twilio integration account. + + Create a Twilio integration account. + + :type body: TwilioIntegrationAccountCreateRequest + :rtype: TwilioIntegrationAccountResponse + """ + kwargs: Dict[str, Any] = {} + kwargs["body"] = body + + return self._create_twilio_integration_account_endpoint.call_with_http_info(**kwargs) + + def delete_twilio_integration_account( + self, + account_id: str, + ) -> None: + """Delete a Twilio integration account. + + Delete a Twilio integration account. + + :param account_id: Unique identifier of the integration account. + :type account_id: str + :rtype: None + """ + kwargs: Dict[str, Any] = {} + kwargs["account_id"] = account_id + + return self._delete_twilio_integration_account_endpoint.call_with_http_info(**kwargs) + + def get_twilio_integration_account( + self, + account_id: str, + ) -> TwilioIntegrationAccountResponse: + """Get a Twilio integration account. + + Get a Twilio integration account. + + :param account_id: Unique identifier of the integration account. + :type account_id: str + :rtype: TwilioIntegrationAccountResponse + """ + kwargs: Dict[str, Any] = {} + kwargs["account_id"] = account_id + + return self._get_twilio_integration_account_endpoint.call_with_http_info(**kwargs) + + def list_twilio_integration_accounts( + self, + ) -> TwilioIntegrationAccountsResponse: + """List Twilio integration accounts. + + List Twilio integration accounts. + + :rtype: TwilioIntegrationAccountsResponse + """ + kwargs: Dict[str, Any] = {} + return self._list_twilio_integration_accounts_endpoint.call_with_http_info(**kwargs) + + def update_twilio_integration_account( + self, + account_id: str, + body: TwilioIntegrationAccountUpdateRequest, + ) -> TwilioIntegrationAccountResponse: + """Update a Twilio integration account. + + Update a Twilio integration account. Only the fields provided are changed. + + :param account_id: Unique identifier of the integration account. + :type account_id: str + :type body: TwilioIntegrationAccountUpdateRequest + :rtype: TwilioIntegrationAccountResponse + """ + kwargs: Dict[str, Any] = {} + kwargs["account_id"] = account_id + + kwargs["body"] = body + + return self._update_twilio_integration_account_endpoint.call_with_http_info(**kwargs) diff --git a/src/datadog_api_client/v2/apis/__init__.py b/src/datadog_api_client/v2/apis/__init__.py index 67ebeb6f53..0434d6ce6a 100644 --- a/src/datadog_api_client/v2/apis/__init__.py +++ b/src/datadog_api_client/v2/apis/__init__.py @@ -48,6 +48,7 @@ from datadog_api_client.v2.api.deployment_gates_api import DeploymentGatesApi from datadog_api_client.v2.api.domain_allowlist_api import DomainAllowlistApi from datadog_api_client.v2.api.downtimes_api import DowntimesApi +from datadog_api_client.v2.api.elastic_cloud_integration_accounts_api import ElasticCloudIntegrationAccountsApi from datadog_api_client.v2.api.entity_integration_configs_api import EntityIntegrationConfigsApi from datadog_api_client.v2.api.entity_risk_scores_api import EntityRiskScoresApi from datadog_api_client.v2.api.error_tracking_api import ErrorTrackingApi @@ -133,6 +134,7 @@ from datadog_api_client.v2.api.tag_policies_api import TagPoliciesApi from datadog_api_client.v2.api.teams_api import TeamsApi from datadog_api_client.v2.api.test_optimization_api import TestOptimizationApi +from datadog_api_client.v2.api.twilio_integration_accounts_api import TwilioIntegrationAccountsApi from datadog_api_client.v2.api.usage_metering_api import UsageMeteringApi from datadog_api_client.v2.api.user_authorized_clients_api import UserAuthorizedClientsApi from datadog_api_client.v2.api.users_api import UsersApi @@ -193,6 +195,7 @@ "DeploymentGatesApi", "DomainAllowlistApi", "DowntimesApi", + "ElasticCloudIntegrationAccountsApi", "EntityIntegrationConfigsApi", "EntityRiskScoresApi", "ErrorTrackingApi", @@ -278,6 +281,7 @@ "TagPoliciesApi", "TeamsApi", "TestOptimizationApi", + "TwilioIntegrationAccountsApi", "UsageMeteringApi", "UserAuthorizedClientsApi", "UsersApi", diff --git a/src/datadog_api_client/v2/model/elastic_cloud_detailed_index_stats_integration_dataflow_request.py b/src/datadog_api_client/v2/model/elastic_cloud_detailed_index_stats_integration_dataflow_request.py new file mode 100644 index 0000000000..a7add3eb95 --- /dev/null +++ b/src/datadog_api_client/v2/model/elastic_cloud_detailed_index_stats_integration_dataflow_request.py @@ -0,0 +1,36 @@ +# 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. +from __future__ import annotations + +from typing import Union + +from datadog_api_client.model_utils import ( + ModelNormal, + cached_property, + unset, + UnsetType, +) + + +class ElasticCloudDetailedIndexStatsIntegrationDataflowRequest(ModelNormal): + @cached_property + def openapi_types(_): + return { + "enabled": (bool,), + } + + attribute_map = { + "enabled": "enabled", + } + + def __init__(self_, enabled: Union[bool, UnsetType] = unset, **kwargs): + """ + The Elastic Cloud detailed index stats dataflow. + + :param enabled: Whether the Elastic Cloud dataflow is enabled. + :type enabled: bool, optional + """ + if enabled is not unset: + kwargs["enabled"] = enabled + super().__init__(kwargs) diff --git a/src/datadog_api_client/v2/model/elastic_cloud_detailed_index_stats_integration_dataflow_response.py b/src/datadog_api_client/v2/model/elastic_cloud_detailed_index_stats_integration_dataflow_response.py new file mode 100644 index 0000000000..6ce789dbb7 --- /dev/null +++ b/src/datadog_api_client/v2/model/elastic_cloud_detailed_index_stats_integration_dataflow_response.py @@ -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. +from __future__ import annotations + +from typing import Union, TYPE_CHECKING + +from datadog_api_client.model_utils import ( + ModelNormal, + cached_property, + unset, + UnsetType, +) + + +if TYPE_CHECKING: + from datadog_api_client.v2.model.integration_account_dataflow_status import IntegrationAccountDataflowStatus + + +class ElasticCloudDetailedIndexStatsIntegrationDataflowResponse(ModelNormal): + @cached_property + def openapi_types(_): + from datadog_api_client.v2.model.integration_account_dataflow_status import IntegrationAccountDataflowStatus + + return { + "enabled": (bool,), + "status": (IntegrationAccountDataflowStatus,), + } + + attribute_map = { + "enabled": "enabled", + "status": "status", + } + read_only_vars = { + "status", + } + + def __init__( + self_, + enabled: Union[bool, UnsetType] = unset, + status: Union[IntegrationAccountDataflowStatus, UnsetType] = unset, + **kwargs, + ): + """ + The Elastic Cloud detailed index stats dataflow. + + :param enabled: Whether the Elastic Cloud dataflow is enabled. + :type enabled: bool, optional + + :param status: Read-only collection status of a dataflow. + :type status: IntegrationAccountDataflowStatus, optional + """ + if enabled is not unset: + kwargs["enabled"] = enabled + if status is not unset: + kwargs["status"] = status + super().__init__(kwargs) diff --git a/src/datadog_api_client/v2/model/elastic_cloud_index_stats_integration_dataflow_request.py b/src/datadog_api_client/v2/model/elastic_cloud_index_stats_integration_dataflow_request.py new file mode 100644 index 0000000000..9c8269147d --- /dev/null +++ b/src/datadog_api_client/v2/model/elastic_cloud_index_stats_integration_dataflow_request.py @@ -0,0 +1,36 @@ +# 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. +from __future__ import annotations + +from typing import Union + +from datadog_api_client.model_utils import ( + ModelNormal, + cached_property, + unset, + UnsetType, +) + + +class ElasticCloudIndexStatsIntegrationDataflowRequest(ModelNormal): + @cached_property + def openapi_types(_): + return { + "enabled": (bool,), + } + + attribute_map = { + "enabled": "enabled", + } + + def __init__(self_, enabled: Union[bool, UnsetType] = unset, **kwargs): + """ + The Elastic Cloud index stats dataflow. + + :param enabled: Whether the Elastic Cloud dataflow is enabled. + :type enabled: bool, optional + """ + if enabled is not unset: + kwargs["enabled"] = enabled + super().__init__(kwargs) diff --git a/src/datadog_api_client/v2/model/elastic_cloud_index_stats_integration_dataflow_response.py b/src/datadog_api_client/v2/model/elastic_cloud_index_stats_integration_dataflow_response.py new file mode 100644 index 0000000000..8b2b233848 --- /dev/null +++ b/src/datadog_api_client/v2/model/elastic_cloud_index_stats_integration_dataflow_response.py @@ -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. +from __future__ import annotations + +from typing import Union, TYPE_CHECKING + +from datadog_api_client.model_utils import ( + ModelNormal, + cached_property, + unset, + UnsetType, +) + + +if TYPE_CHECKING: + from datadog_api_client.v2.model.integration_account_dataflow_status import IntegrationAccountDataflowStatus + + +class ElasticCloudIndexStatsIntegrationDataflowResponse(ModelNormal): + @cached_property + def openapi_types(_): + from datadog_api_client.v2.model.integration_account_dataflow_status import IntegrationAccountDataflowStatus + + return { + "enabled": (bool,), + "status": (IntegrationAccountDataflowStatus,), + } + + attribute_map = { + "enabled": "enabled", + "status": "status", + } + read_only_vars = { + "status", + } + + def __init__( + self_, + enabled: Union[bool, UnsetType] = unset, + status: Union[IntegrationAccountDataflowStatus, UnsetType] = unset, + **kwargs, + ): + """ + The Elastic Cloud index stats dataflow. + + :param enabled: Whether the Elastic Cloud dataflow is enabled. + :type enabled: bool, optional + + :param status: Read-only collection status of a dataflow. + :type status: IntegrationAccountDataflowStatus, optional + """ + if enabled is not unset: + kwargs["enabled"] = enabled + if status is not unset: + kwargs["status"] = status + super().__init__(kwargs) diff --git a/src/datadog_api_client/v2/model/elastic_cloud_integration_account_authentication_request.py b/src/datadog_api_client/v2/model/elastic_cloud_integration_account_authentication_request.py new file mode 100644 index 0000000000..6dcd0ca37d --- /dev/null +++ b/src/datadog_api_client/v2/model/elastic_cloud_integration_account_authentication_request.py @@ -0,0 +1,46 @@ +# 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. +from __future__ import annotations + + +from datadog_api_client.model_utils import ( + ModelComposed, + cached_property, +) + + +class ElasticCloudIntegrationAccountAuthenticationRequest(ModelComposed): + def __init__(self, **kwargs): + """ + Authentication for creating the Elastic Cloud integration account. Exactly one method is set. + + :param auth_type: The authentication method type. + :type auth_type: IntegrationAccountBasicAuthType + + :param password: Secret password or private key. + :type password: str + + :param username: Non-secret username or public identifier for the credential pair. + :type username: str + """ + super().__init__(kwargs) + + @cached_property + def _composed_schemas(_): + # we need this here to make our import statements work + # we must store _composed_schemas in here so the code is only run + # when we invoke this method. If we kept this at the class + # level we would get an error because the class level + # code would be run when this module is imported, and these composed + # classes don't exist yet because their module has not finished + # loading + from datadog_api_client.v2.model.integration_account_basic_auth_request import ( + IntegrationAccountBasicAuthRequest, + ) + + return { + "oneOf": [ + IntegrationAccountBasicAuthRequest, + ], + } diff --git a/src/datadog_api_client/v2/model/elastic_cloud_integration_account_authentication_response.py b/src/datadog_api_client/v2/model/elastic_cloud_integration_account_authentication_response.py new file mode 100644 index 0000000000..70e29fb143 --- /dev/null +++ b/src/datadog_api_client/v2/model/elastic_cloud_integration_account_authentication_response.py @@ -0,0 +1,43 @@ +# 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. +from __future__ import annotations + + +from datadog_api_client.model_utils import ( + ModelComposed, + cached_property, +) + + +class ElasticCloudIntegrationAccountAuthenticationResponse(ModelComposed): + def __init__(self, **kwargs): + """ + Authentication configured on the Elastic Cloud integration account. + + :param auth_type: The authentication method type. + :type auth_type: IntegrationAccountBasicAuthType + + :param username: Non-secret username or public identifier for the credential pair. + :type username: str + """ + super().__init__(kwargs) + + @cached_property + def _composed_schemas(_): + # we need this here to make our import statements work + # we must store _composed_schemas in here so the code is only run + # when we invoke this method. If we kept this at the class + # level we would get an error because the class level + # code would be run when this module is imported, and these composed + # classes don't exist yet because their module has not finished + # loading + from datadog_api_client.v2.model.integration_account_basic_auth_response import ( + IntegrationAccountBasicAuthResponse, + ) + + return { + "oneOf": [ + IntegrationAccountBasicAuthResponse, + ], + } diff --git a/src/datadog_api_client/v2/model/elastic_cloud_integration_account_authentication_update.py b/src/datadog_api_client/v2/model/elastic_cloud_integration_account_authentication_update.py new file mode 100644 index 0000000000..bc9cadad3e --- /dev/null +++ b/src/datadog_api_client/v2/model/elastic_cloud_integration_account_authentication_update.py @@ -0,0 +1,44 @@ +# 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. +from __future__ import annotations + + +from datadog_api_client.model_utils import ( + ModelComposed, + cached_property, +) + + +class ElasticCloudIntegrationAccountAuthenticationUpdate(ModelComposed): + def __init__(self, **kwargs): + """ + Authentication for updating the Elastic Cloud integration account. Exactly one method is set. + + :param auth_type: The authentication method type. + :type auth_type: IntegrationAccountBasicAuthType + + :param password: Secret password or private key. + :type password: str, optional + + :param username: Non-secret username or public identifier for the credential pair. + :type username: str, optional + """ + super().__init__(kwargs) + + @cached_property + def _composed_schemas(_): + # we need this here to make our import statements work + # we must store _composed_schemas in here so the code is only run + # when we invoke this method. If we kept this at the class + # level we would get an error because the class level + # code would be run when this module is imported, and these composed + # classes don't exist yet because their module has not finished + # loading + from datadog_api_client.v2.model.integration_account_basic_auth_update import IntegrationAccountBasicAuthUpdate + + return { + "oneOf": [ + IntegrationAccountBasicAuthUpdate, + ], + } diff --git a/src/datadog_api_client/v2/model/elastic_cloud_integration_account_create_attributes.py b/src/datadog_api_client/v2/model/elastic_cloud_integration_account_create_attributes.py new file mode 100644 index 0000000000..28797086a7 --- /dev/null +++ b/src/datadog_api_client/v2/model/elastic_cloud_integration_account_create_attributes.py @@ -0,0 +1,85 @@ +# 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. +from __future__ import annotations + +from typing import Union, TYPE_CHECKING + +from datadog_api_client.model_utils import ( + ModelNormal, + cached_property, + unset, + UnsetType, +) + + +if TYPE_CHECKING: + from datadog_api_client.v2.model.elastic_cloud_integration_account_authentication_request import ( + ElasticCloudIntegrationAccountAuthenticationRequest, + ) + from datadog_api_client.v2.model.elastic_cloud_integration_dataflows_request import ( + ElasticCloudIntegrationDataflowsRequest, + ) + from datadog_api_client.v2.model.elastic_cloud_integration_account_settings_request import ( + ElasticCloudIntegrationAccountSettingsRequest, + ) + from datadog_api_client.v2.model.integration_account_basic_auth_request import IntegrationAccountBasicAuthRequest + + +class ElasticCloudIntegrationAccountCreateAttributes(ModelNormal): + @cached_property + def openapi_types(_): + from datadog_api_client.v2.model.elastic_cloud_integration_account_authentication_request import ( + ElasticCloudIntegrationAccountAuthenticationRequest, + ) + from datadog_api_client.v2.model.elastic_cloud_integration_dataflows_request import ( + ElasticCloudIntegrationDataflowsRequest, + ) + from datadog_api_client.v2.model.elastic_cloud_integration_account_settings_request import ( + ElasticCloudIntegrationAccountSettingsRequest, + ) + + return { + "authentication": (ElasticCloudIntegrationAccountAuthenticationRequest,), + "dataflows": (ElasticCloudIntegrationDataflowsRequest,), + "name": (str,), + "settings": (ElasticCloudIntegrationAccountSettingsRequest,), + } + + attribute_map = { + "authentication": "authentication", + "dataflows": "dataflows", + "name": "name", + "settings": "settings", + } + + def __init__( + self_, + authentication: Union[ElasticCloudIntegrationAccountAuthenticationRequest, IntegrationAccountBasicAuthRequest], + name: str, + settings: ElasticCloudIntegrationAccountSettingsRequest, + dataflows: Union[ElasticCloudIntegrationDataflowsRequest, UnsetType] = unset, + **kwargs, + ): + """ + Writable attributes used to create an Elastic Cloud integration account. + + :param authentication: Authentication for creating the Elastic Cloud integration account. Exactly one method is set. + :type authentication: ElasticCloudIntegrationAccountAuthenticationRequest + + :param dataflows: Dataflows to configure on the Elastic Cloud integration account, keyed by dataflow id. + :type dataflows: ElasticCloudIntegrationDataflowsRequest, optional + + :param name: Human-readable name of the Elastic Cloud integration account. + :type name: str + + :param settings: Settings for creating the Elastic Cloud integration account. + :type settings: ElasticCloudIntegrationAccountSettingsRequest + """ + if dataflows is not unset: + kwargs["dataflows"] = dataflows + super().__init__(kwargs) + + self_.authentication = authentication + self_.name = name + self_.settings = settings diff --git a/src/datadog_api_client/v2/model/elastic_cloud_integration_account_create_data.py b/src/datadog_api_client/v2/model/elastic_cloud_integration_account_create_data.py new file mode 100644 index 0000000000..9f18c39dcb --- /dev/null +++ b/src/datadog_api_client/v2/model/elastic_cloud_integration_account_create_data.py @@ -0,0 +1,54 @@ +# 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. +from __future__ import annotations + +from typing import TYPE_CHECKING + +from datadog_api_client.model_utils import ( + ModelNormal, + cached_property, +) + + +if TYPE_CHECKING: + from datadog_api_client.v2.model.elastic_cloud_integration_account_create_attributes import ( + ElasticCloudIntegrationAccountCreateAttributes, + ) + from datadog_api_client.v2.model.integration_account_type import IntegrationAccountType + + +class ElasticCloudIntegrationAccountCreateData(ModelNormal): + @cached_property + def openapi_types(_): + from datadog_api_client.v2.model.elastic_cloud_integration_account_create_attributes import ( + ElasticCloudIntegrationAccountCreateAttributes, + ) + from datadog_api_client.v2.model.integration_account_type import IntegrationAccountType + + return { + "attributes": (ElasticCloudIntegrationAccountCreateAttributes,), + "type": (IntegrationAccountType,), + } + + attribute_map = { + "attributes": "attributes", + "type": "type", + } + + def __init__( + self_, attributes: ElasticCloudIntegrationAccountCreateAttributes, type: IntegrationAccountType, **kwargs + ): + """ + Data envelope for creating an Elastic Cloud integration account. + + :param attributes: Writable attributes used to create an Elastic Cloud integration account. + :type attributes: ElasticCloudIntegrationAccountCreateAttributes + + :param type: The type of the integration account resource. Always ``integration-account``. + :type type: IntegrationAccountType + """ + super().__init__(kwargs) + + self_.attributes = attributes + self_.type = type diff --git a/src/datadog_api_client/v2/model/elastic_cloud_integration_account_create_request.py b/src/datadog_api_client/v2/model/elastic_cloud_integration_account_create_request.py new file mode 100644 index 0000000000..d67e5fafe9 --- /dev/null +++ b/src/datadog_api_client/v2/model/elastic_cloud_integration_account_create_request.py @@ -0,0 +1,44 @@ +# 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. +from __future__ import annotations + +from typing import TYPE_CHECKING + +from datadog_api_client.model_utils import ( + ModelNormal, + cached_property, +) + + +if TYPE_CHECKING: + from datadog_api_client.v2.model.elastic_cloud_integration_account_create_data import ( + ElasticCloudIntegrationAccountCreateData, + ) + + +class ElasticCloudIntegrationAccountCreateRequest(ModelNormal): + @cached_property + def openapi_types(_): + from datadog_api_client.v2.model.elastic_cloud_integration_account_create_data import ( + ElasticCloudIntegrationAccountCreateData, + ) + + return { + "data": (ElasticCloudIntegrationAccountCreateData,), + } + + attribute_map = { + "data": "data", + } + + def __init__(self_, data: ElasticCloudIntegrationAccountCreateData, **kwargs): + """ + Request payload to create an Elastic Cloud integration account. + + :param data: Data envelope for creating an Elastic Cloud integration account. + :type data: ElasticCloudIntegrationAccountCreateData + """ + super().__init__(kwargs) + + self_.data = data diff --git a/src/datadog_api_client/v2/model/elastic_cloud_integration_account_response.py b/src/datadog_api_client/v2/model/elastic_cloud_integration_account_response.py new file mode 100644 index 0000000000..04213ce1a3 --- /dev/null +++ b/src/datadog_api_client/v2/model/elastic_cloud_integration_account_response.py @@ -0,0 +1,44 @@ +# 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. +from __future__ import annotations + +from typing import TYPE_CHECKING + +from datadog_api_client.model_utils import ( + ModelNormal, + cached_property, +) + + +if TYPE_CHECKING: + from datadog_api_client.v2.model.elastic_cloud_integration_account_response_data import ( + ElasticCloudIntegrationAccountResponseData, + ) + + +class ElasticCloudIntegrationAccountResponse(ModelNormal): + @cached_property + def openapi_types(_): + from datadog_api_client.v2.model.elastic_cloud_integration_account_response_data import ( + ElasticCloudIntegrationAccountResponseData, + ) + + return { + "data": (ElasticCloudIntegrationAccountResponseData,), + } + + attribute_map = { + "data": "data", + } + + def __init__(self_, data: ElasticCloudIntegrationAccountResponseData, **kwargs): + """ + Response payload for a single Elastic Cloud integration account. + + :param data: Data envelope of an Elastic Cloud integration account, including server-assigned identity. + :type data: ElasticCloudIntegrationAccountResponseData + """ + super().__init__(kwargs) + + self_.data = data diff --git a/src/datadog_api_client/v2/model/elastic_cloud_integration_account_response_attributes.py b/src/datadog_api_client/v2/model/elastic_cloud_integration_account_response_attributes.py new file mode 100644 index 0000000000..00f81724d1 --- /dev/null +++ b/src/datadog_api_client/v2/model/elastic_cloud_integration_account_response_attributes.py @@ -0,0 +1,88 @@ +# 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. +from __future__ import annotations + +from typing import Union, TYPE_CHECKING + +from datadog_api_client.model_utils import ( + ModelNormal, + cached_property, + unset, + UnsetType, +) + + +if TYPE_CHECKING: + from datadog_api_client.v2.model.elastic_cloud_integration_account_authentication_response import ( + ElasticCloudIntegrationAccountAuthenticationResponse, + ) + from datadog_api_client.v2.model.elastic_cloud_integration_dataflows_response import ( + ElasticCloudIntegrationDataflowsResponse, + ) + from datadog_api_client.v2.model.elastic_cloud_integration_account_settings_response import ( + ElasticCloudIntegrationAccountSettingsResponse, + ) + from datadog_api_client.v2.model.integration_account_basic_auth_response import IntegrationAccountBasicAuthResponse + + +class ElasticCloudIntegrationAccountResponseAttributes(ModelNormal): + @cached_property + def openapi_types(_): + from datadog_api_client.v2.model.elastic_cloud_integration_account_authentication_response import ( + ElasticCloudIntegrationAccountAuthenticationResponse, + ) + from datadog_api_client.v2.model.elastic_cloud_integration_dataflows_response import ( + ElasticCloudIntegrationDataflowsResponse, + ) + from datadog_api_client.v2.model.elastic_cloud_integration_account_settings_response import ( + ElasticCloudIntegrationAccountSettingsResponse, + ) + + return { + "authentication": (ElasticCloudIntegrationAccountAuthenticationResponse,), + "dataflows": (ElasticCloudIntegrationDataflowsResponse,), + "name": (str,), + "settings": (ElasticCloudIntegrationAccountSettingsResponse,), + } + + attribute_map = { + "authentication": "authentication", + "dataflows": "dataflows", + "name": "name", + "settings": "settings", + } + + def __init__( + self_, + name: str, + settings: ElasticCloudIntegrationAccountSettingsResponse, + authentication: Union[ + ElasticCloudIntegrationAccountAuthenticationResponse, IntegrationAccountBasicAuthResponse, UnsetType + ] = unset, + dataflows: Union[ElasticCloudIntegrationDataflowsResponse, UnsetType] = unset, + **kwargs, + ): + """ + Attributes of an Elastic Cloud integration account returned in responses. + + :param authentication: Authentication configured on the Elastic Cloud integration account. + :type authentication: ElasticCloudIntegrationAccountAuthenticationResponse, optional + + :param dataflows: Dataflows configured on the Elastic Cloud integration account, keyed by dataflow id. + :type dataflows: ElasticCloudIntegrationDataflowsResponse, optional + + :param name: Human-readable name of the Elastic Cloud integration account. + :type name: str + + :param settings: Settings configured on the Elastic Cloud integration account. + :type settings: ElasticCloudIntegrationAccountSettingsResponse + """ + if authentication is not unset: + kwargs["authentication"] = authentication + if dataflows is not unset: + kwargs["dataflows"] = dataflows + super().__init__(kwargs) + + self_.name = name + self_.settings = settings diff --git a/src/datadog_api_client/v2/model/elastic_cloud_integration_account_response_data.py b/src/datadog_api_client/v2/model/elastic_cloud_integration_account_response_data.py new file mode 100644 index 0000000000..045e59b98f --- /dev/null +++ b/src/datadog_api_client/v2/model/elastic_cloud_integration_account_response_data.py @@ -0,0 +1,67 @@ +# Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License. +# This product includes software developed at Datadog (https://www.datadoghq.com/). +# Copyright 2019-Present Datadog, Inc. +from __future__ import annotations + +from typing import TYPE_CHECKING + +from datadog_api_client.model_utils import ( + ModelNormal, + cached_property, +) + + +if TYPE_CHECKING: + from datadog_api_client.v2.model.elastic_cloud_integration_account_response_attributes import ( + ElasticCloudIntegrationAccountResponseAttributes, + ) + from datadog_api_client.v2.model.integration_account_type import IntegrationAccountType + + +class ElasticCloudIntegrationAccountResponseData(ModelNormal): + @cached_property + def openapi_types(_): + from datadog_api_client.v2.model.elastic_cloud_integration_account_response_attributes import ( + ElasticCloudIntegrationAccountResponseAttributes, + ) + from datadog_api_client.v2.model.integration_account_type import IntegrationAccountType + + return { + "attributes": (ElasticCloudIntegrationAccountResponseAttributes,), + "id": (str,), + "type": (IntegrationAccountType,), + } + + attribute_map = { + "attributes": "attributes", + "id": "id", + "type": "type", + } + read_only_vars = { + "id", + } + + def __init__( + self_, + attributes: ElasticCloudIntegrationAccountResponseAttributes, + id: str, + type: IntegrationAccountType, + **kwargs, + ): + """ + Data envelope of an Elastic Cloud integration account, including server-assigned identity. + + :param attributes: Attributes of an Elastic Cloud integration account returned in responses. + :type attributes: ElasticCloudIntegrationAccountResponseAttributes + + :param id: Server-generated unique identifier of the Elastic Cloud integration account. + :type id: str + + :param type: The type of the integration account resource. Always ``integration-account``. + :type type: IntegrationAccountType + """ + super().__init__(kwargs) + + self_.attributes = attributes + self_.id = id + self_.type = type diff --git a/src/datadog_api_client/v2/model/elastic_cloud_integration_account_settings_request.py b/src/datadog_api_client/v2/model/elastic_cloud_integration_account_settings_request.py new file mode 100644 index 0000000000..310b134b5d --- /dev/null +++ b/src/datadog_api_client/v2/model/elastic_cloud_integration_account_settings_request.py @@ -0,0 +1,43 @@ +# 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. +from __future__ import annotations + +from typing import Union + +from datadog_api_client.model_utils import ( + ModelNormal, + cached_property, + unset, + UnsetType, +) + + +class ElasticCloudIntegrationAccountSettingsRequest(ModelNormal): + @cached_property + def openapi_types(_): + return { + "tags": (str,), + "url": (str,), + } + + attribute_map = { + "tags": "tags", + "url": "url", + } + + def __init__(self_, url: str, tags: Union[str, UnsetType] = unset, **kwargs): + """ + Settings for creating the Elastic Cloud integration account. + + :param tags: Comma-separated list of custom tags for this Elastic Cloud deployment. + :type tags: str, optional + + :param url: Elastic Cloud deployment URL. + :type url: str + """ + if tags is not unset: + kwargs["tags"] = tags + super().__init__(kwargs) + + self_.url = url diff --git a/src/datadog_api_client/v2/model/elastic_cloud_integration_account_settings_response.py b/src/datadog_api_client/v2/model/elastic_cloud_integration_account_settings_response.py new file mode 100644 index 0000000000..eb94324c68 --- /dev/null +++ b/src/datadog_api_client/v2/model/elastic_cloud_integration_account_settings_response.py @@ -0,0 +1,43 @@ +# 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. +from __future__ import annotations + +from typing import Union + +from datadog_api_client.model_utils import ( + ModelNormal, + cached_property, + unset, + UnsetType, +) + + +class ElasticCloudIntegrationAccountSettingsResponse(ModelNormal): + @cached_property + def openapi_types(_): + return { + "tags": (str,), + "url": (str,), + } + + attribute_map = { + "tags": "tags", + "url": "url", + } + + def __init__(self_, url: str, tags: Union[str, UnsetType] = unset, **kwargs): + """ + Settings configured on the Elastic Cloud integration account. + + :param tags: Comma-separated list of custom tags for this Elastic Cloud deployment. + :type tags: str, optional + + :param url: Elastic Cloud deployment URL. + :type url: str + """ + if tags is not unset: + kwargs["tags"] = tags + super().__init__(kwargs) + + self_.url = url diff --git a/src/datadog_api_client/v2/model/elastic_cloud_integration_account_settings_update.py b/src/datadog_api_client/v2/model/elastic_cloud_integration_account_settings_update.py new file mode 100644 index 0000000000..259d60a726 --- /dev/null +++ b/src/datadog_api_client/v2/model/elastic_cloud_integration_account_settings_update.py @@ -0,0 +1,43 @@ +# 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. +from __future__ import annotations + +from typing import Union + +from datadog_api_client.model_utils import ( + ModelNormal, + cached_property, + unset, + UnsetType, +) + + +class ElasticCloudIntegrationAccountSettingsUpdate(ModelNormal): + @cached_property + def openapi_types(_): + return { + "tags": (str,), + "url": (str,), + } + + attribute_map = { + "tags": "tags", + "url": "url", + } + + def __init__(self_, tags: Union[str, UnsetType] = unset, url: Union[str, UnsetType] = unset, **kwargs): + """ + Settings for updating the Elastic Cloud integration account. Only the fields provided are changed. + + :param tags: Comma-separated list of custom tags for this Elastic Cloud deployment. + :type tags: str, optional + + :param url: Elastic Cloud deployment URL. + :type url: str, optional + """ + if tags is not unset: + kwargs["tags"] = tags + if url is not unset: + kwargs["url"] = url + super().__init__(kwargs) diff --git a/src/datadog_api_client/v2/model/elastic_cloud_integration_account_update_attributes.py b/src/datadog_api_client/v2/model/elastic_cloud_integration_account_update_attributes.py new file mode 100644 index 0000000000..ab442422bd --- /dev/null +++ b/src/datadog_api_client/v2/model/elastic_cloud_integration_account_update_attributes.py @@ -0,0 +1,89 @@ +# 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. +from __future__ import annotations + +from typing import Union, TYPE_CHECKING + +from datadog_api_client.model_utils import ( + ModelNormal, + cached_property, + unset, + UnsetType, +) + + +if TYPE_CHECKING: + from datadog_api_client.v2.model.elastic_cloud_integration_account_authentication_update import ( + ElasticCloudIntegrationAccountAuthenticationUpdate, + ) + from datadog_api_client.v2.model.elastic_cloud_integration_dataflows_request import ( + ElasticCloudIntegrationDataflowsRequest, + ) + from datadog_api_client.v2.model.elastic_cloud_integration_account_settings_update import ( + ElasticCloudIntegrationAccountSettingsUpdate, + ) + from datadog_api_client.v2.model.integration_account_basic_auth_update import IntegrationAccountBasicAuthUpdate + + +class ElasticCloudIntegrationAccountUpdateAttributes(ModelNormal): + @cached_property + def openapi_types(_): + from datadog_api_client.v2.model.elastic_cloud_integration_account_authentication_update import ( + ElasticCloudIntegrationAccountAuthenticationUpdate, + ) + from datadog_api_client.v2.model.elastic_cloud_integration_dataflows_request import ( + ElasticCloudIntegrationDataflowsRequest, + ) + from datadog_api_client.v2.model.elastic_cloud_integration_account_settings_update import ( + ElasticCloudIntegrationAccountSettingsUpdate, + ) + + return { + "authentication": (ElasticCloudIntegrationAccountAuthenticationUpdate,), + "dataflows": (ElasticCloudIntegrationDataflowsRequest,), + "name": (str,), + "settings": (ElasticCloudIntegrationAccountSettingsUpdate,), + } + + attribute_map = { + "authentication": "authentication", + "dataflows": "dataflows", + "name": "name", + "settings": "settings", + } + + def __init__( + self_, + authentication: Union[ + ElasticCloudIntegrationAccountAuthenticationUpdate, IntegrationAccountBasicAuthUpdate, UnsetType + ] = unset, + dataflows: Union[ElasticCloudIntegrationDataflowsRequest, UnsetType] = unset, + name: Union[str, UnsetType] = unset, + settings: Union[ElasticCloudIntegrationAccountSettingsUpdate, UnsetType] = unset, + **kwargs, + ): + """ + 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. + + :param authentication: Authentication for updating the Elastic Cloud integration account. Exactly one method is set. + :type authentication: ElasticCloudIntegrationAccountAuthenticationUpdate, optional + + :param dataflows: Dataflows to configure on the Elastic Cloud integration account, keyed by dataflow id. + :type dataflows: ElasticCloudIntegrationDataflowsRequest, optional + + :param name: Human-readable name of the Elastic Cloud integration account. + :type name: str, optional + + :param settings: Settings for updating the Elastic Cloud integration account. Only the fields provided are changed. + :type settings: ElasticCloudIntegrationAccountSettingsUpdate, optional + """ + if authentication is not unset: + kwargs["authentication"] = authentication + if dataflows is not unset: + kwargs["dataflows"] = dataflows + if name is not unset: + kwargs["name"] = name + if settings is not unset: + kwargs["settings"] = settings + super().__init__(kwargs) diff --git a/src/datadog_api_client/v2/model/elastic_cloud_integration_account_update_data.py b/src/datadog_api_client/v2/model/elastic_cloud_integration_account_update_data.py new file mode 100644 index 0000000000..a5b07ee0fd --- /dev/null +++ b/src/datadog_api_client/v2/model/elastic_cloud_integration_account_update_data.py @@ -0,0 +1,64 @@ +# Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License. +# This product includes software developed at Datadog (https://www.datadoghq.com/). +# Copyright 2019-Present Datadog, Inc. +from __future__ import annotations + +from typing import TYPE_CHECKING + +from datadog_api_client.model_utils import ( + ModelNormal, + cached_property, +) + + +if TYPE_CHECKING: + from datadog_api_client.v2.model.elastic_cloud_integration_account_update_attributes import ( + ElasticCloudIntegrationAccountUpdateAttributes, + ) + from datadog_api_client.v2.model.integration_account_type import IntegrationAccountType + + +class ElasticCloudIntegrationAccountUpdateData(ModelNormal): + @cached_property + def openapi_types(_): + from datadog_api_client.v2.model.elastic_cloud_integration_account_update_attributes import ( + ElasticCloudIntegrationAccountUpdateAttributes, + ) + from datadog_api_client.v2.model.integration_account_type import IntegrationAccountType + + return { + "attributes": (ElasticCloudIntegrationAccountUpdateAttributes,), + "id": (str,), + "type": (IntegrationAccountType,), + } + + attribute_map = { + "attributes": "attributes", + "id": "id", + "type": "type", + } + + def __init__( + self_, + attributes: ElasticCloudIntegrationAccountUpdateAttributes, + id: str, + type: IntegrationAccountType, + **kwargs, + ): + """ + Data envelope for updating an Elastic Cloud integration account. + + :param attributes: 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. + :type attributes: ElasticCloudIntegrationAccountUpdateAttributes + + :param id: Unique identifier of the Elastic Cloud integration account to update. + :type id: str + + :param type: The type of the integration account resource. Always ``integration-account``. + :type type: IntegrationAccountType + """ + super().__init__(kwargs) + + self_.attributes = attributes + self_.id = id + self_.type = type diff --git a/src/datadog_api_client/v2/model/elastic_cloud_integration_account_update_request.py b/src/datadog_api_client/v2/model/elastic_cloud_integration_account_update_request.py new file mode 100644 index 0000000000..c05449e008 --- /dev/null +++ b/src/datadog_api_client/v2/model/elastic_cloud_integration_account_update_request.py @@ -0,0 +1,44 @@ +# 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. +from __future__ import annotations + +from typing import TYPE_CHECKING + +from datadog_api_client.model_utils import ( + ModelNormal, + cached_property, +) + + +if TYPE_CHECKING: + from datadog_api_client.v2.model.elastic_cloud_integration_account_update_data import ( + ElasticCloudIntegrationAccountUpdateData, + ) + + +class ElasticCloudIntegrationAccountUpdateRequest(ModelNormal): + @cached_property + def openapi_types(_): + from datadog_api_client.v2.model.elastic_cloud_integration_account_update_data import ( + ElasticCloudIntegrationAccountUpdateData, + ) + + return { + "data": (ElasticCloudIntegrationAccountUpdateData,), + } + + attribute_map = { + "data": "data", + } + + def __init__(self_, data: ElasticCloudIntegrationAccountUpdateData, **kwargs): + """ + Request payload to update an Elastic Cloud integration account. + + :param data: Data envelope for updating an Elastic Cloud integration account. + :type data: ElasticCloudIntegrationAccountUpdateData + """ + super().__init__(kwargs) + + self_.data = data diff --git a/src/datadog_api_client/v2/model/elastic_cloud_integration_accounts_response.py b/src/datadog_api_client/v2/model/elastic_cloud_integration_accounts_response.py new file mode 100644 index 0000000000..ed31f24b22 --- /dev/null +++ b/src/datadog_api_client/v2/model/elastic_cloud_integration_accounts_response.py @@ -0,0 +1,44 @@ +# 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. +from __future__ import annotations + +from typing import List, TYPE_CHECKING + +from datadog_api_client.model_utils import ( + ModelNormal, + cached_property, +) + + +if TYPE_CHECKING: + from datadog_api_client.v2.model.elastic_cloud_integration_account_response_data import ( + ElasticCloudIntegrationAccountResponseData, + ) + + +class ElasticCloudIntegrationAccountsResponse(ModelNormal): + @cached_property + def openapi_types(_): + from datadog_api_client.v2.model.elastic_cloud_integration_account_response_data import ( + ElasticCloudIntegrationAccountResponseData, + ) + + return { + "data": ([ElasticCloudIntegrationAccountResponseData],), + } + + attribute_map = { + "data": "data", + } + + def __init__(self_, data: List[ElasticCloudIntegrationAccountResponseData], **kwargs): + """ + Response payload for a list of Elastic Cloud integration accounts. + + :param data: List of Elastic Cloud integration accounts. + :type data: [ElasticCloudIntegrationAccountResponseData] + """ + super().__init__(kwargs) + + self_.data = data diff --git a/src/datadog_api_client/v2/model/elastic_cloud_integration_dataflows_request.py b/src/datadog_api_client/v2/model/elastic_cloud_integration_dataflows_request.py new file mode 100644 index 0000000000..e08e59b6ca --- /dev/null +++ b/src/datadog_api_client/v2/model/elastic_cloud_integration_dataflows_request.py @@ -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. +from __future__ import annotations + +from typing import Union, TYPE_CHECKING + +from datadog_api_client.model_utils import ( + ModelNormal, + cached_property, + unset, + UnsetType, +) + + +if TYPE_CHECKING: + from datadog_api_client.v2.model.elastic_cloud_detailed_index_stats_integration_dataflow_request import ( + ElasticCloudDetailedIndexStatsIntegrationDataflowRequest, + ) + from datadog_api_client.v2.model.elastic_cloud_index_stats_integration_dataflow_request import ( + ElasticCloudIndexStatsIntegrationDataflowRequest, + ) + from datadog_api_client.v2.model.elastic_cloud_pending_task_stats_integration_dataflow_request import ( + ElasticCloudPendingTaskStatsIntegrationDataflowRequest, + ) + from datadog_api_client.v2.model.elastic_cloud_primary_shard_graceful_timeout_integration_dataflow_request import ( + ElasticCloudPrimaryShardGracefulTimeoutIntegrationDataflowRequest, + ) + from datadog_api_client.v2.model.elastic_cloud_primary_shard_stats_integration_dataflow_request import ( + ElasticCloudPrimaryShardStatsIntegrationDataflowRequest, + ) + from datadog_api_client.v2.model.elastic_cloud_shard_allocation_stats_integration_dataflow_request import ( + ElasticCloudShardAllocationStatsIntegrationDataflowRequest, + ) + from datadog_api_client.v2.model.elastic_cloud_slm_stats_integration_dataflow_request import ( + ElasticCloudSlmStatsIntegrationDataflowRequest, + ) + + +class ElasticCloudIntegrationDataflowsRequest(ModelNormal): + @cached_property + def additional_properties_type(_): + return None + + @cached_property + def openapi_types(_): + from datadog_api_client.v2.model.elastic_cloud_detailed_index_stats_integration_dataflow_request import ( + ElasticCloudDetailedIndexStatsIntegrationDataflowRequest, + ) + from datadog_api_client.v2.model.elastic_cloud_index_stats_integration_dataflow_request import ( + ElasticCloudIndexStatsIntegrationDataflowRequest, + ) + from datadog_api_client.v2.model.elastic_cloud_pending_task_stats_integration_dataflow_request import ( + ElasticCloudPendingTaskStatsIntegrationDataflowRequest, + ) + from datadog_api_client.v2.model.elastic_cloud_primary_shard_graceful_timeout_integration_dataflow_request import ( + ElasticCloudPrimaryShardGracefulTimeoutIntegrationDataflowRequest, + ) + from datadog_api_client.v2.model.elastic_cloud_primary_shard_stats_integration_dataflow_request import ( + ElasticCloudPrimaryShardStatsIntegrationDataflowRequest, + ) + from datadog_api_client.v2.model.elastic_cloud_shard_allocation_stats_integration_dataflow_request import ( + ElasticCloudShardAllocationStatsIntegrationDataflowRequest, + ) + from datadog_api_client.v2.model.elastic_cloud_slm_stats_integration_dataflow_request import ( + ElasticCloudSlmStatsIntegrationDataflowRequest, + ) + + return { + "elastic_cloud_detailed_index_stats": (ElasticCloudDetailedIndexStatsIntegrationDataflowRequest,), + "elastic_cloud_index_stats": (ElasticCloudIndexStatsIntegrationDataflowRequest,), + "elastic_cloud_pending_task_stats": (ElasticCloudPendingTaskStatsIntegrationDataflowRequest,), + "elastic_cloud_primary_shard_graceful_timeout": ( + ElasticCloudPrimaryShardGracefulTimeoutIntegrationDataflowRequest, + ), + "elastic_cloud_primary_shard_stats": (ElasticCloudPrimaryShardStatsIntegrationDataflowRequest,), + "elastic_cloud_shard_allocation_stats": (ElasticCloudShardAllocationStatsIntegrationDataflowRequest,), + "elastic_cloud_slm_stats": (ElasticCloudSlmStatsIntegrationDataflowRequest,), + } + + attribute_map = { + "elastic_cloud_detailed_index_stats": "elastic-cloud-detailed-index-stats", + "elastic_cloud_index_stats": "elastic-cloud-index-stats", + "elastic_cloud_pending_task_stats": "elastic-cloud-pending-task-stats", + "elastic_cloud_primary_shard_graceful_timeout": "elastic-cloud-primary-shard-graceful-timeout", + "elastic_cloud_primary_shard_stats": "elastic-cloud-primary-shard-stats", + "elastic_cloud_shard_allocation_stats": "elastic-cloud-shard-allocation-stats", + "elastic_cloud_slm_stats": "elastic-cloud-slm-stats", + } + + def __init__( + self_, + elastic_cloud_detailed_index_stats: Union[ + ElasticCloudDetailedIndexStatsIntegrationDataflowRequest, UnsetType + ] = unset, + elastic_cloud_index_stats: Union[ElasticCloudIndexStatsIntegrationDataflowRequest, UnsetType] = unset, + elastic_cloud_pending_task_stats: Union[ + ElasticCloudPendingTaskStatsIntegrationDataflowRequest, UnsetType + ] = unset, + elastic_cloud_primary_shard_graceful_timeout: Union[ + ElasticCloudPrimaryShardGracefulTimeoutIntegrationDataflowRequest, UnsetType + ] = unset, + elastic_cloud_primary_shard_stats: Union[ + ElasticCloudPrimaryShardStatsIntegrationDataflowRequest, UnsetType + ] = unset, + elastic_cloud_shard_allocation_stats: Union[ + ElasticCloudShardAllocationStatsIntegrationDataflowRequest, UnsetType + ] = unset, + elastic_cloud_slm_stats: Union[ElasticCloudSlmStatsIntegrationDataflowRequest, UnsetType] = unset, + **kwargs, + ): + """ + Dataflows to configure on the Elastic Cloud integration account, keyed by dataflow id. + + :param elastic_cloud_detailed_index_stats: The Elastic Cloud detailed index stats dataflow. + :type elastic_cloud_detailed_index_stats: ElasticCloudDetailedIndexStatsIntegrationDataflowRequest, optional + + :param elastic_cloud_index_stats: The Elastic Cloud index stats dataflow. + :type elastic_cloud_index_stats: ElasticCloudIndexStatsIntegrationDataflowRequest, optional + + :param elastic_cloud_pending_task_stats: The Elastic Cloud pending task stats dataflow. + :type elastic_cloud_pending_task_stats: ElasticCloudPendingTaskStatsIntegrationDataflowRequest, optional + + :param elastic_cloud_primary_shard_graceful_timeout: The Elastic Cloud primary shard graceful timeout dataflow. + :type elastic_cloud_primary_shard_graceful_timeout: ElasticCloudPrimaryShardGracefulTimeoutIntegrationDataflowRequest, optional + + :param elastic_cloud_primary_shard_stats: The Elastic Cloud primary shard stats dataflow. + :type elastic_cloud_primary_shard_stats: ElasticCloudPrimaryShardStatsIntegrationDataflowRequest, optional + + :param elastic_cloud_shard_allocation_stats: The Elastic Cloud shard allocation stats dataflow. + :type elastic_cloud_shard_allocation_stats: ElasticCloudShardAllocationStatsIntegrationDataflowRequest, optional + + :param elastic_cloud_slm_stats: The Elastic Cloud snapshot lifecycle management stats dataflow. + :type elastic_cloud_slm_stats: ElasticCloudSlmStatsIntegrationDataflowRequest, optional + """ + if elastic_cloud_detailed_index_stats is not unset: + kwargs["elastic_cloud_detailed_index_stats"] = elastic_cloud_detailed_index_stats + if elastic_cloud_index_stats is not unset: + kwargs["elastic_cloud_index_stats"] = elastic_cloud_index_stats + if elastic_cloud_pending_task_stats is not unset: + kwargs["elastic_cloud_pending_task_stats"] = elastic_cloud_pending_task_stats + if elastic_cloud_primary_shard_graceful_timeout is not unset: + kwargs["elastic_cloud_primary_shard_graceful_timeout"] = elastic_cloud_primary_shard_graceful_timeout + if elastic_cloud_primary_shard_stats is not unset: + kwargs["elastic_cloud_primary_shard_stats"] = elastic_cloud_primary_shard_stats + if elastic_cloud_shard_allocation_stats is not unset: + kwargs["elastic_cloud_shard_allocation_stats"] = elastic_cloud_shard_allocation_stats + if elastic_cloud_slm_stats is not unset: + kwargs["elastic_cloud_slm_stats"] = elastic_cloud_slm_stats + super().__init__(kwargs) diff --git a/src/datadog_api_client/v2/model/elastic_cloud_integration_dataflows_response.py b/src/datadog_api_client/v2/model/elastic_cloud_integration_dataflows_response.py new file mode 100644 index 0000000000..4e1742229b --- /dev/null +++ b/src/datadog_api_client/v2/model/elastic_cloud_integration_dataflows_response.py @@ -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. +from __future__ import annotations + +from typing import Union, TYPE_CHECKING + +from datadog_api_client.model_utils import ( + ModelNormal, + cached_property, + unset, + UnsetType, +) + + +if TYPE_CHECKING: + from datadog_api_client.v2.model.elastic_cloud_detailed_index_stats_integration_dataflow_response import ( + ElasticCloudDetailedIndexStatsIntegrationDataflowResponse, + ) + from datadog_api_client.v2.model.elastic_cloud_index_stats_integration_dataflow_response import ( + ElasticCloudIndexStatsIntegrationDataflowResponse, + ) + from datadog_api_client.v2.model.elastic_cloud_metrics_integration_dataflow_response import ( + ElasticCloudMetricsIntegrationDataflowResponse, + ) + from datadog_api_client.v2.model.elastic_cloud_pending_task_stats_integration_dataflow_response import ( + ElasticCloudPendingTaskStatsIntegrationDataflowResponse, + ) + from datadog_api_client.v2.model.elastic_cloud_primary_shard_graceful_timeout_integration_dataflow_response import ( + ElasticCloudPrimaryShardGracefulTimeoutIntegrationDataflowResponse, + ) + from datadog_api_client.v2.model.elastic_cloud_primary_shard_stats_integration_dataflow_response import ( + ElasticCloudPrimaryShardStatsIntegrationDataflowResponse, + ) + from datadog_api_client.v2.model.elastic_cloud_shard_allocation_stats_integration_dataflow_response import ( + ElasticCloudShardAllocationStatsIntegrationDataflowResponse, + ) + from datadog_api_client.v2.model.elastic_cloud_slm_stats_integration_dataflow_response import ( + ElasticCloudSlmStatsIntegrationDataflowResponse, + ) + + +class ElasticCloudIntegrationDataflowsResponse(ModelNormal): + @cached_property + def openapi_types(_): + from datadog_api_client.v2.model.elastic_cloud_detailed_index_stats_integration_dataflow_response import ( + ElasticCloudDetailedIndexStatsIntegrationDataflowResponse, + ) + from datadog_api_client.v2.model.elastic_cloud_index_stats_integration_dataflow_response import ( + ElasticCloudIndexStatsIntegrationDataflowResponse, + ) + from datadog_api_client.v2.model.elastic_cloud_metrics_integration_dataflow_response import ( + ElasticCloudMetricsIntegrationDataflowResponse, + ) + from datadog_api_client.v2.model.elastic_cloud_pending_task_stats_integration_dataflow_response import ( + ElasticCloudPendingTaskStatsIntegrationDataflowResponse, + ) + from datadog_api_client.v2.model.elastic_cloud_primary_shard_graceful_timeout_integration_dataflow_response import ( + ElasticCloudPrimaryShardGracefulTimeoutIntegrationDataflowResponse, + ) + from datadog_api_client.v2.model.elastic_cloud_primary_shard_stats_integration_dataflow_response import ( + ElasticCloudPrimaryShardStatsIntegrationDataflowResponse, + ) + from datadog_api_client.v2.model.elastic_cloud_shard_allocation_stats_integration_dataflow_response import ( + ElasticCloudShardAllocationStatsIntegrationDataflowResponse, + ) + from datadog_api_client.v2.model.elastic_cloud_slm_stats_integration_dataflow_response import ( + ElasticCloudSlmStatsIntegrationDataflowResponse, + ) + + return { + "elastic_cloud_detailed_index_stats": (ElasticCloudDetailedIndexStatsIntegrationDataflowResponse,), + "elastic_cloud_index_stats": (ElasticCloudIndexStatsIntegrationDataflowResponse,), + "elastic_cloud_metrics": (ElasticCloudMetricsIntegrationDataflowResponse,), + "elastic_cloud_pending_task_stats": (ElasticCloudPendingTaskStatsIntegrationDataflowResponse,), + "elastic_cloud_primary_shard_graceful_timeout": ( + ElasticCloudPrimaryShardGracefulTimeoutIntegrationDataflowResponse, + ), + "elastic_cloud_primary_shard_stats": (ElasticCloudPrimaryShardStatsIntegrationDataflowResponse,), + "elastic_cloud_shard_allocation_stats": (ElasticCloudShardAllocationStatsIntegrationDataflowResponse,), + "elastic_cloud_slm_stats": (ElasticCloudSlmStatsIntegrationDataflowResponse,), + } + + attribute_map = { + "elastic_cloud_detailed_index_stats": "elastic-cloud-detailed-index-stats", + "elastic_cloud_index_stats": "elastic-cloud-index-stats", + "elastic_cloud_metrics": "elastic-cloud-metrics", + "elastic_cloud_pending_task_stats": "elastic-cloud-pending-task-stats", + "elastic_cloud_primary_shard_graceful_timeout": "elastic-cloud-primary-shard-graceful-timeout", + "elastic_cloud_primary_shard_stats": "elastic-cloud-primary-shard-stats", + "elastic_cloud_shard_allocation_stats": "elastic-cloud-shard-allocation-stats", + "elastic_cloud_slm_stats": "elastic-cloud-slm-stats", + } + + def __init__( + self_, + elastic_cloud_detailed_index_stats: Union[ + ElasticCloudDetailedIndexStatsIntegrationDataflowResponse, UnsetType + ] = unset, + elastic_cloud_index_stats: Union[ElasticCloudIndexStatsIntegrationDataflowResponse, UnsetType] = unset, + elastic_cloud_metrics: Union[ElasticCloudMetricsIntegrationDataflowResponse, UnsetType] = unset, + elastic_cloud_pending_task_stats: Union[ + ElasticCloudPendingTaskStatsIntegrationDataflowResponse, UnsetType + ] = unset, + elastic_cloud_primary_shard_graceful_timeout: Union[ + ElasticCloudPrimaryShardGracefulTimeoutIntegrationDataflowResponse, UnsetType + ] = unset, + elastic_cloud_primary_shard_stats: Union[ + ElasticCloudPrimaryShardStatsIntegrationDataflowResponse, UnsetType + ] = unset, + elastic_cloud_shard_allocation_stats: Union[ + ElasticCloudShardAllocationStatsIntegrationDataflowResponse, UnsetType + ] = unset, + elastic_cloud_slm_stats: Union[ElasticCloudSlmStatsIntegrationDataflowResponse, UnsetType] = unset, + **kwargs, + ): + """ + Dataflows configured on the Elastic Cloud integration account, keyed by dataflow id. + + :param elastic_cloud_detailed_index_stats: The Elastic Cloud detailed index stats dataflow. + :type elastic_cloud_detailed_index_stats: ElasticCloudDetailedIndexStatsIntegrationDataflowResponse, optional + + :param elastic_cloud_index_stats: The Elastic Cloud index stats dataflow. + :type elastic_cloud_index_stats: ElasticCloudIndexStatsIntegrationDataflowResponse, optional + + :param elastic_cloud_metrics: The Elastic Cloud metrics dataflow. + :type elastic_cloud_metrics: ElasticCloudMetricsIntegrationDataflowResponse, optional + + :param elastic_cloud_pending_task_stats: The Elastic Cloud pending task stats dataflow. + :type elastic_cloud_pending_task_stats: ElasticCloudPendingTaskStatsIntegrationDataflowResponse, optional + + :param elastic_cloud_primary_shard_graceful_timeout: The Elastic Cloud primary shard graceful timeout dataflow. + :type elastic_cloud_primary_shard_graceful_timeout: ElasticCloudPrimaryShardGracefulTimeoutIntegrationDataflowResponse, optional + + :param elastic_cloud_primary_shard_stats: The Elastic Cloud primary shard stats dataflow. + :type elastic_cloud_primary_shard_stats: ElasticCloudPrimaryShardStatsIntegrationDataflowResponse, optional + + :param elastic_cloud_shard_allocation_stats: The Elastic Cloud shard allocation stats dataflow. + :type elastic_cloud_shard_allocation_stats: ElasticCloudShardAllocationStatsIntegrationDataflowResponse, optional + + :param elastic_cloud_slm_stats: The Elastic Cloud snapshot lifecycle management stats dataflow. + :type elastic_cloud_slm_stats: ElasticCloudSlmStatsIntegrationDataflowResponse, optional + """ + if elastic_cloud_detailed_index_stats is not unset: + kwargs["elastic_cloud_detailed_index_stats"] = elastic_cloud_detailed_index_stats + if elastic_cloud_index_stats is not unset: + kwargs["elastic_cloud_index_stats"] = elastic_cloud_index_stats + if elastic_cloud_metrics is not unset: + kwargs["elastic_cloud_metrics"] = elastic_cloud_metrics + if elastic_cloud_pending_task_stats is not unset: + kwargs["elastic_cloud_pending_task_stats"] = elastic_cloud_pending_task_stats + if elastic_cloud_primary_shard_graceful_timeout is not unset: + kwargs["elastic_cloud_primary_shard_graceful_timeout"] = elastic_cloud_primary_shard_graceful_timeout + if elastic_cloud_primary_shard_stats is not unset: + kwargs["elastic_cloud_primary_shard_stats"] = elastic_cloud_primary_shard_stats + if elastic_cloud_shard_allocation_stats is not unset: + kwargs["elastic_cloud_shard_allocation_stats"] = elastic_cloud_shard_allocation_stats + if elastic_cloud_slm_stats is not unset: + kwargs["elastic_cloud_slm_stats"] = elastic_cloud_slm_stats + super().__init__(kwargs) diff --git a/src/datadog_api_client/v2/model/elastic_cloud_metrics_integration_dataflow_response.py b/src/datadog_api_client/v2/model/elastic_cloud_metrics_integration_dataflow_response.py new file mode 100644 index 0000000000..861423be9f --- /dev/null +++ b/src/datadog_api_client/v2/model/elastic_cloud_metrics_integration_dataflow_response.py @@ -0,0 +1,58 @@ +# 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. +from __future__ import annotations + +from typing import Union, TYPE_CHECKING + +from datadog_api_client.model_utils import ( + ModelNormal, + cached_property, + unset, + UnsetType, +) + + +if TYPE_CHECKING: + from datadog_api_client.v2.model.integration_account_dataflow_status import IntegrationAccountDataflowStatus + + +class ElasticCloudMetricsIntegrationDataflowResponse(ModelNormal): + @cached_property + def openapi_types(_): + from datadog_api_client.v2.model.integration_account_dataflow_status import IntegrationAccountDataflowStatus + + return { + "enabled": (bool,), + "status": (IntegrationAccountDataflowStatus,), + } + + attribute_map = { + "enabled": "enabled", + "status": "status", + } + read_only_vars = { + "enabled", + "status", + } + + def __init__( + self_, + enabled: Union[bool, UnsetType] = unset, + status: Union[IntegrationAccountDataflowStatus, UnsetType] = unset, + **kwargs, + ): + """ + The Elastic Cloud metrics dataflow. + + :param enabled: Whether the Elastic Cloud dataflow is enabled. + :type enabled: bool, optional + + :param status: Read-only collection status of a dataflow. + :type status: IntegrationAccountDataflowStatus, optional + """ + if enabled is not unset: + kwargs["enabled"] = enabled + if status is not unset: + kwargs["status"] = status + super().__init__(kwargs) diff --git a/src/datadog_api_client/v2/model/elastic_cloud_pending_task_stats_integration_dataflow_request.py b/src/datadog_api_client/v2/model/elastic_cloud_pending_task_stats_integration_dataflow_request.py new file mode 100644 index 0000000000..9377cf25e1 --- /dev/null +++ b/src/datadog_api_client/v2/model/elastic_cloud_pending_task_stats_integration_dataflow_request.py @@ -0,0 +1,36 @@ +# 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. +from __future__ import annotations + +from typing import Union + +from datadog_api_client.model_utils import ( + ModelNormal, + cached_property, + unset, + UnsetType, +) + + +class ElasticCloudPendingTaskStatsIntegrationDataflowRequest(ModelNormal): + @cached_property + def openapi_types(_): + return { + "enabled": (bool,), + } + + attribute_map = { + "enabled": "enabled", + } + + def __init__(self_, enabled: Union[bool, UnsetType] = unset, **kwargs): + """ + The Elastic Cloud pending task stats dataflow. + + :param enabled: Whether the Elastic Cloud dataflow is enabled. + :type enabled: bool, optional + """ + if enabled is not unset: + kwargs["enabled"] = enabled + super().__init__(kwargs) diff --git a/src/datadog_api_client/v2/model/elastic_cloud_pending_task_stats_integration_dataflow_response.py b/src/datadog_api_client/v2/model/elastic_cloud_pending_task_stats_integration_dataflow_response.py new file mode 100644 index 0000000000..2824c06977 --- /dev/null +++ b/src/datadog_api_client/v2/model/elastic_cloud_pending_task_stats_integration_dataflow_response.py @@ -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. +from __future__ import annotations + +from typing import Union, TYPE_CHECKING + +from datadog_api_client.model_utils import ( + ModelNormal, + cached_property, + unset, + UnsetType, +) + + +if TYPE_CHECKING: + from datadog_api_client.v2.model.integration_account_dataflow_status import IntegrationAccountDataflowStatus + + +class ElasticCloudPendingTaskStatsIntegrationDataflowResponse(ModelNormal): + @cached_property + def openapi_types(_): + from datadog_api_client.v2.model.integration_account_dataflow_status import IntegrationAccountDataflowStatus + + return { + "enabled": (bool,), + "status": (IntegrationAccountDataflowStatus,), + } + + attribute_map = { + "enabled": "enabled", + "status": "status", + } + read_only_vars = { + "status", + } + + def __init__( + self_, + enabled: Union[bool, UnsetType] = unset, + status: Union[IntegrationAccountDataflowStatus, UnsetType] = unset, + **kwargs, + ): + """ + The Elastic Cloud pending task stats dataflow. + + :param enabled: Whether the Elastic Cloud dataflow is enabled. + :type enabled: bool, optional + + :param status: Read-only collection status of a dataflow. + :type status: IntegrationAccountDataflowStatus, optional + """ + if enabled is not unset: + kwargs["enabled"] = enabled + if status is not unset: + kwargs["status"] = status + super().__init__(kwargs) diff --git a/src/datadog_api_client/v2/model/elastic_cloud_primary_shard_graceful_timeout_integration_dataflow_request.py b/src/datadog_api_client/v2/model/elastic_cloud_primary_shard_graceful_timeout_integration_dataflow_request.py new file mode 100644 index 0000000000..bc9fcef955 --- /dev/null +++ b/src/datadog_api_client/v2/model/elastic_cloud_primary_shard_graceful_timeout_integration_dataflow_request.py @@ -0,0 +1,36 @@ +# 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. +from __future__ import annotations + +from typing import Union + +from datadog_api_client.model_utils import ( + ModelNormal, + cached_property, + unset, + UnsetType, +) + + +class ElasticCloudPrimaryShardGracefulTimeoutIntegrationDataflowRequest(ModelNormal): + @cached_property + def openapi_types(_): + return { + "enabled": (bool,), + } + + attribute_map = { + "enabled": "enabled", + } + + def __init__(self_, enabled: Union[bool, UnsetType] = unset, **kwargs): + """ + The Elastic Cloud primary shard graceful timeout dataflow. + + :param enabled: Whether the Elastic Cloud dataflow is enabled. + :type enabled: bool, optional + """ + if enabled is not unset: + kwargs["enabled"] = enabled + super().__init__(kwargs) diff --git a/src/datadog_api_client/v2/model/elastic_cloud_primary_shard_graceful_timeout_integration_dataflow_response.py b/src/datadog_api_client/v2/model/elastic_cloud_primary_shard_graceful_timeout_integration_dataflow_response.py new file mode 100644 index 0000000000..0b13742b26 --- /dev/null +++ b/src/datadog_api_client/v2/model/elastic_cloud_primary_shard_graceful_timeout_integration_dataflow_response.py @@ -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. +from __future__ import annotations + +from typing import Union, TYPE_CHECKING + +from datadog_api_client.model_utils import ( + ModelNormal, + cached_property, + unset, + UnsetType, +) + + +if TYPE_CHECKING: + from datadog_api_client.v2.model.integration_account_dataflow_status import IntegrationAccountDataflowStatus + + +class ElasticCloudPrimaryShardGracefulTimeoutIntegrationDataflowResponse(ModelNormal): + @cached_property + def openapi_types(_): + from datadog_api_client.v2.model.integration_account_dataflow_status import IntegrationAccountDataflowStatus + + return { + "enabled": (bool,), + "status": (IntegrationAccountDataflowStatus,), + } + + attribute_map = { + "enabled": "enabled", + "status": "status", + } + read_only_vars = { + "status", + } + + def __init__( + self_, + enabled: Union[bool, UnsetType] = unset, + status: Union[IntegrationAccountDataflowStatus, UnsetType] = unset, + **kwargs, + ): + """ + The Elastic Cloud primary shard graceful timeout dataflow. + + :param enabled: Whether the Elastic Cloud dataflow is enabled. + :type enabled: bool, optional + + :param status: Read-only collection status of a dataflow. + :type status: IntegrationAccountDataflowStatus, optional + """ + if enabled is not unset: + kwargs["enabled"] = enabled + if status is not unset: + kwargs["status"] = status + super().__init__(kwargs) diff --git a/src/datadog_api_client/v2/model/elastic_cloud_primary_shard_stats_integration_dataflow_request.py b/src/datadog_api_client/v2/model/elastic_cloud_primary_shard_stats_integration_dataflow_request.py new file mode 100644 index 0000000000..5cbccf2186 --- /dev/null +++ b/src/datadog_api_client/v2/model/elastic_cloud_primary_shard_stats_integration_dataflow_request.py @@ -0,0 +1,36 @@ +# 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. +from __future__ import annotations + +from typing import Union + +from datadog_api_client.model_utils import ( + ModelNormal, + cached_property, + unset, + UnsetType, +) + + +class ElasticCloudPrimaryShardStatsIntegrationDataflowRequest(ModelNormal): + @cached_property + def openapi_types(_): + return { + "enabled": (bool,), + } + + attribute_map = { + "enabled": "enabled", + } + + def __init__(self_, enabled: Union[bool, UnsetType] = unset, **kwargs): + """ + The Elastic Cloud primary shard stats dataflow. + + :param enabled: Whether the Elastic Cloud dataflow is enabled. + :type enabled: bool, optional + """ + if enabled is not unset: + kwargs["enabled"] = enabled + super().__init__(kwargs) diff --git a/src/datadog_api_client/v2/model/elastic_cloud_primary_shard_stats_integration_dataflow_response.py b/src/datadog_api_client/v2/model/elastic_cloud_primary_shard_stats_integration_dataflow_response.py new file mode 100644 index 0000000000..399eb71475 --- /dev/null +++ b/src/datadog_api_client/v2/model/elastic_cloud_primary_shard_stats_integration_dataflow_response.py @@ -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. +from __future__ import annotations + +from typing import Union, TYPE_CHECKING + +from datadog_api_client.model_utils import ( + ModelNormal, + cached_property, + unset, + UnsetType, +) + + +if TYPE_CHECKING: + from datadog_api_client.v2.model.integration_account_dataflow_status import IntegrationAccountDataflowStatus + + +class ElasticCloudPrimaryShardStatsIntegrationDataflowResponse(ModelNormal): + @cached_property + def openapi_types(_): + from datadog_api_client.v2.model.integration_account_dataflow_status import IntegrationAccountDataflowStatus + + return { + "enabled": (bool,), + "status": (IntegrationAccountDataflowStatus,), + } + + attribute_map = { + "enabled": "enabled", + "status": "status", + } + read_only_vars = { + "status", + } + + def __init__( + self_, + enabled: Union[bool, UnsetType] = unset, + status: Union[IntegrationAccountDataflowStatus, UnsetType] = unset, + **kwargs, + ): + """ + The Elastic Cloud primary shard stats dataflow. + + :param enabled: Whether the Elastic Cloud dataflow is enabled. + :type enabled: bool, optional + + :param status: Read-only collection status of a dataflow. + :type status: IntegrationAccountDataflowStatus, optional + """ + if enabled is not unset: + kwargs["enabled"] = enabled + if status is not unset: + kwargs["status"] = status + super().__init__(kwargs) diff --git a/src/datadog_api_client/v2/model/elastic_cloud_shard_allocation_stats_integration_dataflow_request.py b/src/datadog_api_client/v2/model/elastic_cloud_shard_allocation_stats_integration_dataflow_request.py new file mode 100644 index 0000000000..bdf8c4528f --- /dev/null +++ b/src/datadog_api_client/v2/model/elastic_cloud_shard_allocation_stats_integration_dataflow_request.py @@ -0,0 +1,36 @@ +# 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. +from __future__ import annotations + +from typing import Union + +from datadog_api_client.model_utils import ( + ModelNormal, + cached_property, + unset, + UnsetType, +) + + +class ElasticCloudShardAllocationStatsIntegrationDataflowRequest(ModelNormal): + @cached_property + def openapi_types(_): + return { + "enabled": (bool,), + } + + attribute_map = { + "enabled": "enabled", + } + + def __init__(self_, enabled: Union[bool, UnsetType] = unset, **kwargs): + """ + The Elastic Cloud shard allocation stats dataflow. + + :param enabled: Whether the Elastic Cloud dataflow is enabled. + :type enabled: bool, optional + """ + if enabled is not unset: + kwargs["enabled"] = enabled + super().__init__(kwargs) diff --git a/src/datadog_api_client/v2/model/elastic_cloud_shard_allocation_stats_integration_dataflow_response.py b/src/datadog_api_client/v2/model/elastic_cloud_shard_allocation_stats_integration_dataflow_response.py new file mode 100644 index 0000000000..f240c0c319 --- /dev/null +++ b/src/datadog_api_client/v2/model/elastic_cloud_shard_allocation_stats_integration_dataflow_response.py @@ -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. +from __future__ import annotations + +from typing import Union, TYPE_CHECKING + +from datadog_api_client.model_utils import ( + ModelNormal, + cached_property, + unset, + UnsetType, +) + + +if TYPE_CHECKING: + from datadog_api_client.v2.model.integration_account_dataflow_status import IntegrationAccountDataflowStatus + + +class ElasticCloudShardAllocationStatsIntegrationDataflowResponse(ModelNormal): + @cached_property + def openapi_types(_): + from datadog_api_client.v2.model.integration_account_dataflow_status import IntegrationAccountDataflowStatus + + return { + "enabled": (bool,), + "status": (IntegrationAccountDataflowStatus,), + } + + attribute_map = { + "enabled": "enabled", + "status": "status", + } + read_only_vars = { + "status", + } + + def __init__( + self_, + enabled: Union[bool, UnsetType] = unset, + status: Union[IntegrationAccountDataflowStatus, UnsetType] = unset, + **kwargs, + ): + """ + The Elastic Cloud shard allocation stats dataflow. + + :param enabled: Whether the Elastic Cloud dataflow is enabled. + :type enabled: bool, optional + + :param status: Read-only collection status of a dataflow. + :type status: IntegrationAccountDataflowStatus, optional + """ + if enabled is not unset: + kwargs["enabled"] = enabled + if status is not unset: + kwargs["status"] = status + super().__init__(kwargs) diff --git a/src/datadog_api_client/v2/model/elastic_cloud_slm_stats_integration_dataflow_request.py b/src/datadog_api_client/v2/model/elastic_cloud_slm_stats_integration_dataflow_request.py new file mode 100644 index 0000000000..7800177f0d --- /dev/null +++ b/src/datadog_api_client/v2/model/elastic_cloud_slm_stats_integration_dataflow_request.py @@ -0,0 +1,36 @@ +# 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. +from __future__ import annotations + +from typing import Union + +from datadog_api_client.model_utils import ( + ModelNormal, + cached_property, + unset, + UnsetType, +) + + +class ElasticCloudSlmStatsIntegrationDataflowRequest(ModelNormal): + @cached_property + def openapi_types(_): + return { + "enabled": (bool,), + } + + attribute_map = { + "enabled": "enabled", + } + + def __init__(self_, enabled: Union[bool, UnsetType] = unset, **kwargs): + """ + The Elastic Cloud snapshot lifecycle management stats dataflow. + + :param enabled: Whether the Elastic Cloud dataflow is enabled. + :type enabled: bool, optional + """ + if enabled is not unset: + kwargs["enabled"] = enabled + super().__init__(kwargs) diff --git a/src/datadog_api_client/v2/model/elastic_cloud_slm_stats_integration_dataflow_response.py b/src/datadog_api_client/v2/model/elastic_cloud_slm_stats_integration_dataflow_response.py new file mode 100644 index 0000000000..c17b62eb56 --- /dev/null +++ b/src/datadog_api_client/v2/model/elastic_cloud_slm_stats_integration_dataflow_response.py @@ -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. +from __future__ import annotations + +from typing import Union, TYPE_CHECKING + +from datadog_api_client.model_utils import ( + ModelNormal, + cached_property, + unset, + UnsetType, +) + + +if TYPE_CHECKING: + from datadog_api_client.v2.model.integration_account_dataflow_status import IntegrationAccountDataflowStatus + + +class ElasticCloudSlmStatsIntegrationDataflowResponse(ModelNormal): + @cached_property + def openapi_types(_): + from datadog_api_client.v2.model.integration_account_dataflow_status import IntegrationAccountDataflowStatus + + return { + "enabled": (bool,), + "status": (IntegrationAccountDataflowStatus,), + } + + attribute_map = { + "enabled": "enabled", + "status": "status", + } + read_only_vars = { + "status", + } + + def __init__( + self_, + enabled: Union[bool, UnsetType] = unset, + status: Union[IntegrationAccountDataflowStatus, UnsetType] = unset, + **kwargs, + ): + """ + The Elastic Cloud snapshot lifecycle management stats dataflow. + + :param enabled: Whether the Elastic Cloud dataflow is enabled. + :type enabled: bool, optional + + :param status: Read-only collection status of a dataflow. + :type status: IntegrationAccountDataflowStatus, optional + """ + if enabled is not unset: + kwargs["enabled"] = enabled + if status is not unset: + kwargs["status"] = status + super().__init__(kwargs) diff --git a/src/datadog_api_client/v2/model/integration_account_basic_auth_request.py b/src/datadog_api_client/v2/model/integration_account_basic_auth_request.py new file mode 100644 index 0000000000..ecd36becdf --- /dev/null +++ b/src/datadog_api_client/v2/model/integration_account_basic_auth_request.py @@ -0,0 +1,52 @@ +# 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. +from __future__ import annotations + +from typing import TYPE_CHECKING + +from datadog_api_client.model_utils import ( + ModelNormal, + cached_property, +) + + +if TYPE_CHECKING: + from datadog_api_client.v2.model.integration_account_basic_auth_type import IntegrationAccountBasicAuthType + + +class IntegrationAccountBasicAuthRequest(ModelNormal): + @cached_property + def openapi_types(_): + from datadog_api_client.v2.model.integration_account_basic_auth_type import IntegrationAccountBasicAuthType + + return { + "auth_type": (IntegrationAccountBasicAuthType,), + "password": (str,), + "username": (str,), + } + + attribute_map = { + "auth_type": "auth_type", + "password": "password", + "username": "username", + } + + def __init__(self_, auth_type: IntegrationAccountBasicAuthType, password: str, username: str, **kwargs): + """ + Username and password authentication. + + :param auth_type: The authentication method type. + :type auth_type: IntegrationAccountBasicAuthType + + :param password: Secret password or private key. + :type password: str + + :param username: Non-secret username or public identifier for the credential pair. + :type username: str + """ + super().__init__(kwargs) + + self_.auth_type = auth_type + self_.password = password + self_.username = username diff --git a/src/datadog_api_client/v2/model/integration_account_basic_auth_response.py b/src/datadog_api_client/v2/model/integration_account_basic_auth_response.py new file mode 100644 index 0000000000..d347ca9744 --- /dev/null +++ b/src/datadog_api_client/v2/model/integration_account_basic_auth_response.py @@ -0,0 +1,46 @@ +# 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. +from __future__ import annotations + +from typing import TYPE_CHECKING + +from datadog_api_client.model_utils import ( + ModelNormal, + cached_property, +) + + +if TYPE_CHECKING: + from datadog_api_client.v2.model.integration_account_basic_auth_type import IntegrationAccountBasicAuthType + + +class IntegrationAccountBasicAuthResponse(ModelNormal): + @cached_property + def openapi_types(_): + from datadog_api_client.v2.model.integration_account_basic_auth_type import IntegrationAccountBasicAuthType + + return { + "auth_type": (IntegrationAccountBasicAuthType,), + "username": (str,), + } + + attribute_map = { + "auth_type": "auth_type", + "username": "username", + } + + def __init__(self_, auth_type: IntegrationAccountBasicAuthType, username: str, **kwargs): + """ + The basic authentication method and username configured on the account. + + :param auth_type: The authentication method type. + :type auth_type: IntegrationAccountBasicAuthType + + :param username: Non-secret username or public identifier for the credential pair. + :type username: str + """ + super().__init__(kwargs) + + self_.auth_type = auth_type + self_.username = username diff --git a/src/datadog_api_client/v2/model/integration_account_basic_auth_type.py b/src/datadog_api_client/v2/model/integration_account_basic_auth_type.py new file mode 100644 index 0000000000..5813677d6c --- /dev/null +++ b/src/datadog_api_client/v2/model/integration_account_basic_auth_type.py @@ -0,0 +1,35 @@ +# 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. +from __future__ import annotations + + +from datadog_api_client.model_utils import ( + ModelSimple, + cached_property, +) + +from typing import ClassVar + + +class IntegrationAccountBasicAuthType(ModelSimple): + """ + The authentication method type. + + :param value: If omitted defaults to "basic". Must be one of ["basic"]. + :type value: str + """ + + allowed_values = { + "basic", + } + BASIC: ClassVar["IntegrationAccountBasicAuthType"] + + @cached_property + def openapi_types(_): + return { + "value": (str,), + } + + +IntegrationAccountBasicAuthType.BASIC = IntegrationAccountBasicAuthType("basic") diff --git a/src/datadog_api_client/v2/model/integration_account_basic_auth_update.py b/src/datadog_api_client/v2/model/integration_account_basic_auth_update.py new file mode 100644 index 0000000000..df9da1e8ec --- /dev/null +++ b/src/datadog_api_client/v2/model/integration_account_basic_auth_update.py @@ -0,0 +1,62 @@ +# Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License. +# This product includes software developed at Datadog (https://www.datadoghq.com/). +# Copyright 2019-Present Datadog, Inc. +from __future__ import annotations + +from typing import Union, TYPE_CHECKING + +from datadog_api_client.model_utils import ( + ModelNormal, + cached_property, + unset, + UnsetType, +) + + +if TYPE_CHECKING: + from datadog_api_client.v2.model.integration_account_basic_auth_type import IntegrationAccountBasicAuthType + + +class IntegrationAccountBasicAuthUpdate(ModelNormal): + @cached_property + def openapi_types(_): + from datadog_api_client.v2.model.integration_account_basic_auth_type import IntegrationAccountBasicAuthType + + return { + "auth_type": (IntegrationAccountBasicAuthType,), + "password": (str,), + "username": (str,), + } + + attribute_map = { + "auth_type": "auth_type", + "password": "password", + "username": "username", + } + + def __init__( + self_, + auth_type: IntegrationAccountBasicAuthType, + password: Union[str, UnsetType] = unset, + username: Union[str, UnsetType] = unset, + **kwargs, + ): + """ + Username and password authentication. Only the fields provided are changed; omit ``password`` to keep the stored one. + + :param auth_type: The authentication method type. + :type auth_type: IntegrationAccountBasicAuthType + + :param password: Secret password or private key. + :type password: str, optional + + :param username: Non-secret username or public identifier for the credential pair. + :type username: str, optional + """ + if password is not unset: + kwargs["password"] = password + if username is not unset: + kwargs["username"] = username + super().__init__(kwargs) + + self_.auth_type = auth_type diff --git a/src/datadog_api_client/v2/model/integration_account_dataflow_health.py b/src/datadog_api_client/v2/model/integration_account_dataflow_health.py new file mode 100644 index 0000000000..2305100179 --- /dev/null +++ b/src/datadog_api_client/v2/model/integration_account_dataflow_health.py @@ -0,0 +1,41 @@ +# 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. +from __future__ import annotations + + +from datadog_api_client.model_utils import ( + ModelSimple, + cached_property, +) + +from typing import ClassVar + + +class IntegrationAccountDataflowHealth(ModelSimple): + """ + Collection health of a single dataflow. + + :param value: Must be one of ["DATAFLOW_HEALTH_OK", "DATAFLOW_HEALTH_BROKEN", "DATAFLOW_HEALTH_UNKNOWN"]. + :type value: str + """ + + allowed_values = { + "DATAFLOW_HEALTH_OK", + "DATAFLOW_HEALTH_BROKEN", + "DATAFLOW_HEALTH_UNKNOWN", + } + OK: ClassVar["IntegrationAccountDataflowHealth"] + BROKEN: ClassVar["IntegrationAccountDataflowHealth"] + UNKNOWN: ClassVar["IntegrationAccountDataflowHealth"] + + @cached_property + def openapi_types(_): + return { + "value": (str,), + } + + +IntegrationAccountDataflowHealth.OK = IntegrationAccountDataflowHealth("DATAFLOW_HEALTH_OK") +IntegrationAccountDataflowHealth.BROKEN = IntegrationAccountDataflowHealth("DATAFLOW_HEALTH_BROKEN") +IntegrationAccountDataflowHealth.UNKNOWN = IntegrationAccountDataflowHealth("DATAFLOW_HEALTH_UNKNOWN") diff --git a/src/datadog_api_client/v2/model/integration_account_dataflow_status.py b/src/datadog_api_client/v2/model/integration_account_dataflow_status.py new file mode 100644 index 0000000000..7e56ffe44a --- /dev/null +++ b/src/datadog_api_client/v2/model/integration_account_dataflow_status.py @@ -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. +from __future__ import annotations + +from typing import Union, TYPE_CHECKING + +from datadog_api_client.model_utils import ( + ModelNormal, + cached_property, + datetime, + unset, + UnsetType, +) + + +if TYPE_CHECKING: + from datadog_api_client.v2.model.integration_account_dataflow_health import IntegrationAccountDataflowHealth + + +class IntegrationAccountDataflowStatus(ModelNormal): + @cached_property + def openapi_types(_): + from datadog_api_client.v2.model.integration_account_dataflow_health import IntegrationAccountDataflowHealth + + return { + "health": (IntegrationAccountDataflowHealth,), + "message": (str,), + "updated_at": (datetime,), + } + + attribute_map = { + "health": "health", + "message": "message", + "updated_at": "updated_at", + } + + def __init__( + self_, + health: Union[IntegrationAccountDataflowHealth, UnsetType] = unset, + message: Union[str, UnsetType] = unset, + updated_at: Union[datetime, UnsetType] = unset, + **kwargs, + ): + """ + Read-only collection status of a dataflow. + + :param health: Collection health of a single dataflow. + :type health: IntegrationAccountDataflowHealth, optional + + :param message: Human-readable detail, populated when the dataflow is not healthy. + :type message: str, optional + + :param updated_at: Time the status was last computed. + :type updated_at: datetime, optional + """ + if health is not unset: + kwargs["health"] = health + if message is not unset: + kwargs["message"] = message + if updated_at is not unset: + kwargs["updated_at"] = updated_at + super().__init__(kwargs) diff --git a/src/datadog_api_client/v2/model/integration_account_type.py b/src/datadog_api_client/v2/model/integration_account_type.py new file mode 100644 index 0000000000..918dc1b632 --- /dev/null +++ b/src/datadog_api_client/v2/model/integration_account_type.py @@ -0,0 +1,35 @@ +# 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. +from __future__ import annotations + + +from datadog_api_client.model_utils import ( + ModelSimple, + cached_property, +) + +from typing import ClassVar + + +class IntegrationAccountType(ModelSimple): + """ + The type of the integration account resource. Always `integration-account`. + + :param value: If omitted defaults to "integration-account". Must be one of ["integration-account"]. + :type value: str + """ + + allowed_values = { + "integration-account", + } + INTEGRATION_ACCOUNT: ClassVar["IntegrationAccountType"] + + @cached_property + def openapi_types(_): + return { + "value": (str,), + } + + +IntegrationAccountType.INTEGRATION_ACCOUNT = IntegrationAccountType("integration-account") diff --git a/src/datadog_api_client/v2/model/twilio_alerts_logs_integration_dataflow_request.py b/src/datadog_api_client/v2/model/twilio_alerts_logs_integration_dataflow_request.py new file mode 100644 index 0000000000..e58f6111bd --- /dev/null +++ b/src/datadog_api_client/v2/model/twilio_alerts_logs_integration_dataflow_request.py @@ -0,0 +1,36 @@ +# 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. +from __future__ import annotations + +from typing import Union + +from datadog_api_client.model_utils import ( + ModelNormal, + cached_property, + unset, + UnsetType, +) + + +class TwilioAlertsLogsIntegrationDataflowRequest(ModelNormal): + @cached_property + def openapi_types(_): + return { + "enabled": (bool,), + } + + attribute_map = { + "enabled": "enabled", + } + + def __init__(self_, enabled: Union[bool, UnsetType] = unset, **kwargs): + """ + The Twilio alerts logs dataflow. + + :param enabled: Whether the Twilio dataflow is enabled. + :type enabled: bool, optional + """ + if enabled is not unset: + kwargs["enabled"] = enabled + super().__init__(kwargs) diff --git a/src/datadog_api_client/v2/model/twilio_alerts_logs_integration_dataflow_response.py b/src/datadog_api_client/v2/model/twilio_alerts_logs_integration_dataflow_response.py new file mode 100644 index 0000000000..9f1e16a445 --- /dev/null +++ b/src/datadog_api_client/v2/model/twilio_alerts_logs_integration_dataflow_response.py @@ -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. +from __future__ import annotations + +from typing import Union, TYPE_CHECKING + +from datadog_api_client.model_utils import ( + ModelNormal, + cached_property, + unset, + UnsetType, +) + + +if TYPE_CHECKING: + from datadog_api_client.v2.model.integration_account_dataflow_status import IntegrationAccountDataflowStatus + + +class TwilioAlertsLogsIntegrationDataflowResponse(ModelNormal): + @cached_property + def openapi_types(_): + from datadog_api_client.v2.model.integration_account_dataflow_status import IntegrationAccountDataflowStatus + + return { + "enabled": (bool,), + "status": (IntegrationAccountDataflowStatus,), + } + + attribute_map = { + "enabled": "enabled", + "status": "status", + } + read_only_vars = { + "status", + } + + def __init__( + self_, + enabled: Union[bool, UnsetType] = unset, + status: Union[IntegrationAccountDataflowStatus, UnsetType] = unset, + **kwargs, + ): + """ + The Twilio alerts logs dataflow. + + :param enabled: Whether the Twilio dataflow is enabled. + :type enabled: bool, optional + + :param status: Read-only collection status of a dataflow. + :type status: IntegrationAccountDataflowStatus, optional + """ + if enabled is not unset: + kwargs["enabled"] = enabled + if status is not unset: + kwargs["status"] = status + super().__init__(kwargs) diff --git a/src/datadog_api_client/v2/model/twilio_call_summaries_logs_integration_dataflow_request.py b/src/datadog_api_client/v2/model/twilio_call_summaries_logs_integration_dataflow_request.py new file mode 100644 index 0000000000..dcaa40da09 --- /dev/null +++ b/src/datadog_api_client/v2/model/twilio_call_summaries_logs_integration_dataflow_request.py @@ -0,0 +1,36 @@ +# 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. +from __future__ import annotations + +from typing import Union + +from datadog_api_client.model_utils import ( + ModelNormal, + cached_property, + unset, + UnsetType, +) + + +class TwilioCallSummariesLogsIntegrationDataflowRequest(ModelNormal): + @cached_property + def openapi_types(_): + return { + "enabled": (bool,), + } + + attribute_map = { + "enabled": "enabled", + } + + def __init__(self_, enabled: Union[bool, UnsetType] = unset, **kwargs): + """ + The Twilio call summaries logs dataflow. + + :param enabled: Whether the Twilio dataflow is enabled. + :type enabled: bool, optional + """ + if enabled is not unset: + kwargs["enabled"] = enabled + super().__init__(kwargs) diff --git a/src/datadog_api_client/v2/model/twilio_call_summaries_logs_integration_dataflow_response.py b/src/datadog_api_client/v2/model/twilio_call_summaries_logs_integration_dataflow_response.py new file mode 100644 index 0000000000..afda0733db --- /dev/null +++ b/src/datadog_api_client/v2/model/twilio_call_summaries_logs_integration_dataflow_response.py @@ -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. +from __future__ import annotations + +from typing import Union, TYPE_CHECKING + +from datadog_api_client.model_utils import ( + ModelNormal, + cached_property, + unset, + UnsetType, +) + + +if TYPE_CHECKING: + from datadog_api_client.v2.model.integration_account_dataflow_status import IntegrationAccountDataflowStatus + + +class TwilioCallSummariesLogsIntegrationDataflowResponse(ModelNormal): + @cached_property + def openapi_types(_): + from datadog_api_client.v2.model.integration_account_dataflow_status import IntegrationAccountDataflowStatus + + return { + "enabled": (bool,), + "status": (IntegrationAccountDataflowStatus,), + } + + attribute_map = { + "enabled": "enabled", + "status": "status", + } + read_only_vars = { + "status", + } + + def __init__( + self_, + enabled: Union[bool, UnsetType] = unset, + status: Union[IntegrationAccountDataflowStatus, UnsetType] = unset, + **kwargs, + ): + """ + The Twilio call summaries logs dataflow. + + :param enabled: Whether the Twilio dataflow is enabled. + :type enabled: bool, optional + + :param status: Read-only collection status of a dataflow. + :type status: IntegrationAccountDataflowStatus, optional + """ + if enabled is not unset: + kwargs["enabled"] = enabled + if status is not unset: + kwargs["status"] = status + super().__init__(kwargs) diff --git a/src/datadog_api_client/v2/model/twilio_cloud_cost_metrics_integration_dataflow_request.py b/src/datadog_api_client/v2/model/twilio_cloud_cost_metrics_integration_dataflow_request.py new file mode 100644 index 0000000000..a7a4f1d118 --- /dev/null +++ b/src/datadog_api_client/v2/model/twilio_cloud_cost_metrics_integration_dataflow_request.py @@ -0,0 +1,36 @@ +# 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. +from __future__ import annotations + +from typing import Union + +from datadog_api_client.model_utils import ( + ModelNormal, + cached_property, + unset, + UnsetType, +) + + +class TwilioCloudCostMetricsIntegrationDataflowRequest(ModelNormal): + @cached_property + def openapi_types(_): + return { + "enabled": (bool,), + } + + attribute_map = { + "enabled": "enabled", + } + + def __init__(self_, enabled: Union[bool, UnsetType] = unset, **kwargs): + """ + The Twilio cloud cost metrics dataflow. + + :param enabled: Whether the Twilio dataflow is enabled. + :type enabled: bool, optional + """ + if enabled is not unset: + kwargs["enabled"] = enabled + super().__init__(kwargs) diff --git a/src/datadog_api_client/v2/model/twilio_cloud_cost_metrics_integration_dataflow_response.py b/src/datadog_api_client/v2/model/twilio_cloud_cost_metrics_integration_dataflow_response.py new file mode 100644 index 0000000000..1dba92cf3e --- /dev/null +++ b/src/datadog_api_client/v2/model/twilio_cloud_cost_metrics_integration_dataflow_response.py @@ -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. +from __future__ import annotations + +from typing import Union, TYPE_CHECKING + +from datadog_api_client.model_utils import ( + ModelNormal, + cached_property, + unset, + UnsetType, +) + + +if TYPE_CHECKING: + from datadog_api_client.v2.model.integration_account_dataflow_status import IntegrationAccountDataflowStatus + + +class TwilioCloudCostMetricsIntegrationDataflowResponse(ModelNormal): + @cached_property + def openapi_types(_): + from datadog_api_client.v2.model.integration_account_dataflow_status import IntegrationAccountDataflowStatus + + return { + "enabled": (bool,), + "status": (IntegrationAccountDataflowStatus,), + } + + attribute_map = { + "enabled": "enabled", + "status": "status", + } + read_only_vars = { + "status", + } + + def __init__( + self_, + enabled: Union[bool, UnsetType] = unset, + status: Union[IntegrationAccountDataflowStatus, UnsetType] = unset, + **kwargs, + ): + """ + The Twilio cloud cost metrics dataflow. + + :param enabled: Whether the Twilio dataflow is enabled. + :type enabled: bool, optional + + :param status: Read-only collection status of a dataflow. + :type status: IntegrationAccountDataflowStatus, optional + """ + if enabled is not unset: + kwargs["enabled"] = enabled + if status is not unset: + kwargs["status"] = status + super().__init__(kwargs) diff --git a/src/datadog_api_client/v2/model/twilio_events_logs_integration_dataflow_request.py b/src/datadog_api_client/v2/model/twilio_events_logs_integration_dataflow_request.py new file mode 100644 index 0000000000..269f24755f --- /dev/null +++ b/src/datadog_api_client/v2/model/twilio_events_logs_integration_dataflow_request.py @@ -0,0 +1,36 @@ +# 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. +from __future__ import annotations + +from typing import Union + +from datadog_api_client.model_utils import ( + ModelNormal, + cached_property, + unset, + UnsetType, +) + + +class TwilioEventsLogsIntegrationDataflowRequest(ModelNormal): + @cached_property + def openapi_types(_): + return { + "enabled": (bool,), + } + + attribute_map = { + "enabled": "enabled", + } + + def __init__(self_, enabled: Union[bool, UnsetType] = unset, **kwargs): + """ + The Twilio events logs dataflow. + + :param enabled: Whether the Twilio dataflow is enabled. + :type enabled: bool, optional + """ + if enabled is not unset: + kwargs["enabled"] = enabled + super().__init__(kwargs) diff --git a/src/datadog_api_client/v2/model/twilio_events_logs_integration_dataflow_response.py b/src/datadog_api_client/v2/model/twilio_events_logs_integration_dataflow_response.py new file mode 100644 index 0000000000..a1c3274c28 --- /dev/null +++ b/src/datadog_api_client/v2/model/twilio_events_logs_integration_dataflow_response.py @@ -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. +from __future__ import annotations + +from typing import Union, TYPE_CHECKING + +from datadog_api_client.model_utils import ( + ModelNormal, + cached_property, + unset, + UnsetType, +) + + +if TYPE_CHECKING: + from datadog_api_client.v2.model.integration_account_dataflow_status import IntegrationAccountDataflowStatus + + +class TwilioEventsLogsIntegrationDataflowResponse(ModelNormal): + @cached_property + def openapi_types(_): + from datadog_api_client.v2.model.integration_account_dataflow_status import IntegrationAccountDataflowStatus + + return { + "enabled": (bool,), + "status": (IntegrationAccountDataflowStatus,), + } + + attribute_map = { + "enabled": "enabled", + "status": "status", + } + read_only_vars = { + "status", + } + + def __init__( + self_, + enabled: Union[bool, UnsetType] = unset, + status: Union[IntegrationAccountDataflowStatus, UnsetType] = unset, + **kwargs, + ): + """ + The Twilio events logs dataflow. + + :param enabled: Whether the Twilio dataflow is enabled. + :type enabled: bool, optional + + :param status: Read-only collection status of a dataflow. + :type status: IntegrationAccountDataflowStatus, optional + """ + if enabled is not unset: + kwargs["enabled"] = enabled + if status is not unset: + kwargs["status"] = status + super().__init__(kwargs) diff --git a/src/datadog_api_client/v2/model/twilio_integration_account_authentication_request.py b/src/datadog_api_client/v2/model/twilio_integration_account_authentication_request.py new file mode 100644 index 0000000000..81cae80607 --- /dev/null +++ b/src/datadog_api_client/v2/model/twilio_integration_account_authentication_request.py @@ -0,0 +1,46 @@ +# 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. +from __future__ import annotations + + +from datadog_api_client.model_utils import ( + ModelComposed, + cached_property, +) + + +class TwilioIntegrationAccountAuthenticationRequest(ModelComposed): + def __init__(self, **kwargs): + """ + Authentication for creating the Twilio integration account. Exactly one method is set. + + :param auth_type: The authentication method type. + :type auth_type: IntegrationAccountBasicAuthType + + :param password: Secret password or private key. + :type password: str + + :param username: Non-secret username or public identifier for the credential pair. + :type username: str + """ + super().__init__(kwargs) + + @cached_property + def _composed_schemas(_): + # we need this here to make our import statements work + # we must store _composed_schemas in here so the code is only run + # when we invoke this method. If we kept this at the class + # level we would get an error because the class level + # code would be run when this module is imported, and these composed + # classes don't exist yet because their module has not finished + # loading + from datadog_api_client.v2.model.integration_account_basic_auth_request import ( + IntegrationAccountBasicAuthRequest, + ) + + return { + "oneOf": [ + IntegrationAccountBasicAuthRequest, + ], + } diff --git a/src/datadog_api_client/v2/model/twilio_integration_account_authentication_response.py b/src/datadog_api_client/v2/model/twilio_integration_account_authentication_response.py new file mode 100644 index 0000000000..61ae49deee --- /dev/null +++ b/src/datadog_api_client/v2/model/twilio_integration_account_authentication_response.py @@ -0,0 +1,43 @@ +# 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. +from __future__ import annotations + + +from datadog_api_client.model_utils import ( + ModelComposed, + cached_property, +) + + +class TwilioIntegrationAccountAuthenticationResponse(ModelComposed): + def __init__(self, **kwargs): + """ + Authentication configured on the Twilio integration account. + + :param auth_type: The authentication method type. + :type auth_type: IntegrationAccountBasicAuthType + + :param username: Non-secret username or public identifier for the credential pair. + :type username: str + """ + super().__init__(kwargs) + + @cached_property + def _composed_schemas(_): + # we need this here to make our import statements work + # we must store _composed_schemas in here so the code is only run + # when we invoke this method. If we kept this at the class + # level we would get an error because the class level + # code would be run when this module is imported, and these composed + # classes don't exist yet because their module has not finished + # loading + from datadog_api_client.v2.model.integration_account_basic_auth_response import ( + IntegrationAccountBasicAuthResponse, + ) + + return { + "oneOf": [ + IntegrationAccountBasicAuthResponse, + ], + } diff --git a/src/datadog_api_client/v2/model/twilio_integration_account_authentication_update.py b/src/datadog_api_client/v2/model/twilio_integration_account_authentication_update.py new file mode 100644 index 0000000000..9f871d1e52 --- /dev/null +++ b/src/datadog_api_client/v2/model/twilio_integration_account_authentication_update.py @@ -0,0 +1,44 @@ +# 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. +from __future__ import annotations + + +from datadog_api_client.model_utils import ( + ModelComposed, + cached_property, +) + + +class TwilioIntegrationAccountAuthenticationUpdate(ModelComposed): + def __init__(self, **kwargs): + """ + Authentication for updating the Twilio integration account. Exactly one method is set. + + :param auth_type: The authentication method type. + :type auth_type: IntegrationAccountBasicAuthType + + :param password: Secret password or private key. + :type password: str, optional + + :param username: Non-secret username or public identifier for the credential pair. + :type username: str, optional + """ + super().__init__(kwargs) + + @cached_property + def _composed_schemas(_): + # we need this here to make our import statements work + # we must store _composed_schemas in here so the code is only run + # when we invoke this method. If we kept this at the class + # level we would get an error because the class level + # code would be run when this module is imported, and these composed + # classes don't exist yet because their module has not finished + # loading + from datadog_api_client.v2.model.integration_account_basic_auth_update import IntegrationAccountBasicAuthUpdate + + return { + "oneOf": [ + IntegrationAccountBasicAuthUpdate, + ], + } diff --git a/src/datadog_api_client/v2/model/twilio_integration_account_create_attributes.py b/src/datadog_api_client/v2/model/twilio_integration_account_create_attributes.py new file mode 100644 index 0000000000..2245960cea --- /dev/null +++ b/src/datadog_api_client/v2/model/twilio_integration_account_create_attributes.py @@ -0,0 +1,81 @@ +# 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. +from __future__ import annotations + +from typing import Union, TYPE_CHECKING + +from datadog_api_client.model_utils import ( + ModelNormal, + cached_property, + unset, + UnsetType, +) + + +if TYPE_CHECKING: + from datadog_api_client.v2.model.twilio_integration_account_authentication_request import ( + TwilioIntegrationAccountAuthenticationRequest, + ) + from datadog_api_client.v2.model.twilio_integration_dataflows_request import TwilioIntegrationDataflowsRequest + from datadog_api_client.v2.model.twilio_integration_account_settings_request import ( + TwilioIntegrationAccountSettingsRequest, + ) + from datadog_api_client.v2.model.integration_account_basic_auth_request import IntegrationAccountBasicAuthRequest + + +class TwilioIntegrationAccountCreateAttributes(ModelNormal): + @cached_property + def openapi_types(_): + from datadog_api_client.v2.model.twilio_integration_account_authentication_request import ( + TwilioIntegrationAccountAuthenticationRequest, + ) + from datadog_api_client.v2.model.twilio_integration_dataflows_request import TwilioIntegrationDataflowsRequest + from datadog_api_client.v2.model.twilio_integration_account_settings_request import ( + TwilioIntegrationAccountSettingsRequest, + ) + + return { + "authentication": (TwilioIntegrationAccountAuthenticationRequest,), + "dataflows": (TwilioIntegrationDataflowsRequest,), + "name": (str,), + "settings": (TwilioIntegrationAccountSettingsRequest,), + } + + attribute_map = { + "authentication": "authentication", + "dataflows": "dataflows", + "name": "name", + "settings": "settings", + } + + def __init__( + self_, + authentication: Union[TwilioIntegrationAccountAuthenticationRequest, IntegrationAccountBasicAuthRequest], + name: str, + settings: TwilioIntegrationAccountSettingsRequest, + dataflows: Union[TwilioIntegrationDataflowsRequest, UnsetType] = unset, + **kwargs, + ): + """ + Writable attributes used to create a Twilio integration account. + + :param authentication: Authentication for creating the Twilio integration account. Exactly one method is set. + :type authentication: TwilioIntegrationAccountAuthenticationRequest + + :param dataflows: Dataflows to configure on the Twilio integration account, keyed by dataflow id. + :type dataflows: TwilioIntegrationDataflowsRequest, optional + + :param name: Human-readable name of the Twilio integration account. + :type name: str + + :param settings: Settings for creating the Twilio integration account. + :type settings: TwilioIntegrationAccountSettingsRequest + """ + if dataflows is not unset: + kwargs["dataflows"] = dataflows + super().__init__(kwargs) + + self_.authentication = authentication + self_.name = name + self_.settings = settings diff --git a/src/datadog_api_client/v2/model/twilio_integration_account_create_data.py b/src/datadog_api_client/v2/model/twilio_integration_account_create_data.py new file mode 100644 index 0000000000..de005fa2a1 --- /dev/null +++ b/src/datadog_api_client/v2/model/twilio_integration_account_create_data.py @@ -0,0 +1,52 @@ +# 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. +from __future__ import annotations + +from typing import TYPE_CHECKING + +from datadog_api_client.model_utils import ( + ModelNormal, + cached_property, +) + + +if TYPE_CHECKING: + from datadog_api_client.v2.model.twilio_integration_account_create_attributes import ( + TwilioIntegrationAccountCreateAttributes, + ) + from datadog_api_client.v2.model.integration_account_type import IntegrationAccountType + + +class TwilioIntegrationAccountCreateData(ModelNormal): + @cached_property + def openapi_types(_): + from datadog_api_client.v2.model.twilio_integration_account_create_attributes import ( + TwilioIntegrationAccountCreateAttributes, + ) + from datadog_api_client.v2.model.integration_account_type import IntegrationAccountType + + return { + "attributes": (TwilioIntegrationAccountCreateAttributes,), + "type": (IntegrationAccountType,), + } + + attribute_map = { + "attributes": "attributes", + "type": "type", + } + + def __init__(self_, attributes: TwilioIntegrationAccountCreateAttributes, type: IntegrationAccountType, **kwargs): + """ + Data envelope for creating a Twilio integration account. + + :param attributes: Writable attributes used to create a Twilio integration account. + :type attributes: TwilioIntegrationAccountCreateAttributes + + :param type: The type of the integration account resource. Always ``integration-account``. + :type type: IntegrationAccountType + """ + super().__init__(kwargs) + + self_.attributes = attributes + self_.type = type diff --git a/src/datadog_api_client/v2/model/twilio_integration_account_create_request.py b/src/datadog_api_client/v2/model/twilio_integration_account_create_request.py new file mode 100644 index 0000000000..2ad8af2690 --- /dev/null +++ b/src/datadog_api_client/v2/model/twilio_integration_account_create_request.py @@ -0,0 +1,42 @@ +# 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. +from __future__ import annotations + +from typing import TYPE_CHECKING + +from datadog_api_client.model_utils import ( + ModelNormal, + cached_property, +) + + +if TYPE_CHECKING: + from datadog_api_client.v2.model.twilio_integration_account_create_data import TwilioIntegrationAccountCreateData + + +class TwilioIntegrationAccountCreateRequest(ModelNormal): + @cached_property + def openapi_types(_): + from datadog_api_client.v2.model.twilio_integration_account_create_data import ( + TwilioIntegrationAccountCreateData, + ) + + return { + "data": (TwilioIntegrationAccountCreateData,), + } + + attribute_map = { + "data": "data", + } + + def __init__(self_, data: TwilioIntegrationAccountCreateData, **kwargs): + """ + Request payload to create a Twilio integration account. + + :param data: Data envelope for creating a Twilio integration account. + :type data: TwilioIntegrationAccountCreateData + """ + super().__init__(kwargs) + + self_.data = data diff --git a/src/datadog_api_client/v2/model/twilio_integration_account_response.py b/src/datadog_api_client/v2/model/twilio_integration_account_response.py new file mode 100644 index 0000000000..d5076a7425 --- /dev/null +++ b/src/datadog_api_client/v2/model/twilio_integration_account_response.py @@ -0,0 +1,44 @@ +# 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. +from __future__ import annotations + +from typing import TYPE_CHECKING + +from datadog_api_client.model_utils import ( + ModelNormal, + cached_property, +) + + +if TYPE_CHECKING: + from datadog_api_client.v2.model.twilio_integration_account_response_data import ( + TwilioIntegrationAccountResponseData, + ) + + +class TwilioIntegrationAccountResponse(ModelNormal): + @cached_property + def openapi_types(_): + from datadog_api_client.v2.model.twilio_integration_account_response_data import ( + TwilioIntegrationAccountResponseData, + ) + + return { + "data": (TwilioIntegrationAccountResponseData,), + } + + attribute_map = { + "data": "data", + } + + def __init__(self_, data: TwilioIntegrationAccountResponseData, **kwargs): + """ + Response payload for a single Twilio integration account. + + :param data: Data envelope of a Twilio integration account, including server-assigned identity. + :type data: TwilioIntegrationAccountResponseData + """ + super().__init__(kwargs) + + self_.data = data diff --git a/src/datadog_api_client/v2/model/twilio_integration_account_response_attributes.py b/src/datadog_api_client/v2/model/twilio_integration_account_response_attributes.py new file mode 100644 index 0000000000..b162cd2ba4 --- /dev/null +++ b/src/datadog_api_client/v2/model/twilio_integration_account_response_attributes.py @@ -0,0 +1,84 @@ +# 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. +from __future__ import annotations + +from typing import Union, TYPE_CHECKING + +from datadog_api_client.model_utils import ( + ModelNormal, + cached_property, + unset, + UnsetType, +) + + +if TYPE_CHECKING: + from datadog_api_client.v2.model.twilio_integration_account_authentication_response import ( + TwilioIntegrationAccountAuthenticationResponse, + ) + from datadog_api_client.v2.model.twilio_integration_dataflows_response import TwilioIntegrationDataflowsResponse + from datadog_api_client.v2.model.twilio_integration_account_settings_response import ( + TwilioIntegrationAccountSettingsResponse, + ) + from datadog_api_client.v2.model.integration_account_basic_auth_response import IntegrationAccountBasicAuthResponse + + +class TwilioIntegrationAccountResponseAttributes(ModelNormal): + @cached_property + def openapi_types(_): + from datadog_api_client.v2.model.twilio_integration_account_authentication_response import ( + TwilioIntegrationAccountAuthenticationResponse, + ) + from datadog_api_client.v2.model.twilio_integration_dataflows_response import TwilioIntegrationDataflowsResponse + from datadog_api_client.v2.model.twilio_integration_account_settings_response import ( + TwilioIntegrationAccountSettingsResponse, + ) + + return { + "authentication": (TwilioIntegrationAccountAuthenticationResponse,), + "dataflows": (TwilioIntegrationDataflowsResponse,), + "name": (str,), + "settings": (TwilioIntegrationAccountSettingsResponse,), + } + + attribute_map = { + "authentication": "authentication", + "dataflows": "dataflows", + "name": "name", + "settings": "settings", + } + + def __init__( + self_, + name: str, + settings: TwilioIntegrationAccountSettingsResponse, + authentication: Union[ + TwilioIntegrationAccountAuthenticationResponse, IntegrationAccountBasicAuthResponse, UnsetType + ] = unset, + dataflows: Union[TwilioIntegrationDataflowsResponse, UnsetType] = unset, + **kwargs, + ): + """ + Attributes of a Twilio integration account returned in responses. + + :param authentication: Authentication configured on the Twilio integration account. + :type authentication: TwilioIntegrationAccountAuthenticationResponse, optional + + :param dataflows: Dataflows configured on the Twilio integration account, keyed by dataflow id. + :type dataflows: TwilioIntegrationDataflowsResponse, optional + + :param name: Human-readable name of the Twilio integration account. + :type name: str + + :param settings: Settings configured on the Twilio integration account. + :type settings: TwilioIntegrationAccountSettingsResponse + """ + if authentication is not unset: + kwargs["authentication"] = authentication + if dataflows is not unset: + kwargs["dataflows"] = dataflows + super().__init__(kwargs) + + self_.name = name + self_.settings = settings diff --git a/src/datadog_api_client/v2/model/twilio_integration_account_response_data.py b/src/datadog_api_client/v2/model/twilio_integration_account_response_data.py new file mode 100644 index 0000000000..1b4ee00863 --- /dev/null +++ b/src/datadog_api_client/v2/model/twilio_integration_account_response_data.py @@ -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. +from __future__ import annotations + +from typing import TYPE_CHECKING + +from datadog_api_client.model_utils import ( + ModelNormal, + cached_property, +) + + +if TYPE_CHECKING: + from datadog_api_client.v2.model.twilio_integration_account_response_attributes import ( + TwilioIntegrationAccountResponseAttributes, + ) + from datadog_api_client.v2.model.integration_account_type import IntegrationAccountType + + +class TwilioIntegrationAccountResponseData(ModelNormal): + @cached_property + def openapi_types(_): + from datadog_api_client.v2.model.twilio_integration_account_response_attributes import ( + TwilioIntegrationAccountResponseAttributes, + ) + from datadog_api_client.v2.model.integration_account_type import IntegrationAccountType + + return { + "attributes": (TwilioIntegrationAccountResponseAttributes,), + "id": (str,), + "type": (IntegrationAccountType,), + } + + attribute_map = { + "attributes": "attributes", + "id": "id", + "type": "type", + } + read_only_vars = { + "id", + } + + def __init__( + self_, attributes: TwilioIntegrationAccountResponseAttributes, id: str, type: IntegrationAccountType, **kwargs + ): + """ + Data envelope of a Twilio integration account, including server-assigned identity. + + :param attributes: Attributes of a Twilio integration account returned in responses. + :type attributes: TwilioIntegrationAccountResponseAttributes + + :param id: Server-generated unique identifier of the Twilio integration account. + :type id: str + + :param type: The type of the integration account resource. Always ``integration-account``. + :type type: IntegrationAccountType + """ + super().__init__(kwargs) + + self_.attributes = attributes + self_.id = id + self_.type = type diff --git a/src/datadog_api_client/v2/model/twilio_integration_account_settings_request.py b/src/datadog_api_client/v2/model/twilio_integration_account_settings_request.py new file mode 100644 index 0000000000..a8f823384a --- /dev/null +++ b/src/datadog_api_client/v2/model/twilio_integration_account_settings_request.py @@ -0,0 +1,43 @@ +# 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. +from __future__ import annotations + +from typing import Union + +from datadog_api_client.model_utils import ( + ModelNormal, + cached_property, + unset, + UnsetType, +) + + +class TwilioIntegrationAccountSettingsRequest(ModelNormal): + @cached_property + def openapi_types(_): + return { + "account_sid": (str,), + "censor_logs": (bool,), + } + + attribute_map = { + "account_sid": "account_sid", + "censor_logs": "censor_logs", + } + + def __init__(self_, account_sid: str, censor_logs: Union[bool, UnsetType] = unset, **kwargs): + """ + Settings for creating the Twilio integration account. + + :param account_sid: Twilio Account SID that uniquely identifies your Twilio account. + :type account_sid: str + + :param censor_logs: When enabled, Twilio phone numbers in the ``to`` field and SMS message bodies are censored for privacy. + :type censor_logs: bool, optional + """ + if censor_logs is not unset: + kwargs["censor_logs"] = censor_logs + super().__init__(kwargs) + + self_.account_sid = account_sid diff --git a/src/datadog_api_client/v2/model/twilio_integration_account_settings_response.py b/src/datadog_api_client/v2/model/twilio_integration_account_settings_response.py new file mode 100644 index 0000000000..b46136c58a --- /dev/null +++ b/src/datadog_api_client/v2/model/twilio_integration_account_settings_response.py @@ -0,0 +1,43 @@ +# 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. +from __future__ import annotations + +from typing import Union + +from datadog_api_client.model_utils import ( + ModelNormal, + cached_property, + unset, + UnsetType, +) + + +class TwilioIntegrationAccountSettingsResponse(ModelNormal): + @cached_property + def openapi_types(_): + return { + "account_sid": (str,), + "censor_logs": (bool,), + } + + attribute_map = { + "account_sid": "account_sid", + "censor_logs": "censor_logs", + } + + def __init__(self_, account_sid: str, censor_logs: Union[bool, UnsetType] = unset, **kwargs): + """ + Settings configured on the Twilio integration account. + + :param account_sid: Twilio Account SID that uniquely identifies your Twilio account. + :type account_sid: str + + :param censor_logs: When enabled, Twilio phone numbers in the ``to`` field and SMS message bodies are censored for privacy. + :type censor_logs: bool, optional + """ + if censor_logs is not unset: + kwargs["censor_logs"] = censor_logs + super().__init__(kwargs) + + self_.account_sid = account_sid diff --git a/src/datadog_api_client/v2/model/twilio_integration_account_settings_update.py b/src/datadog_api_client/v2/model/twilio_integration_account_settings_update.py new file mode 100644 index 0000000000..c5dbd2b9fa --- /dev/null +++ b/src/datadog_api_client/v2/model/twilio_integration_account_settings_update.py @@ -0,0 +1,45 @@ +# 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. +from __future__ import annotations + +from typing import Union + +from datadog_api_client.model_utils import ( + ModelNormal, + cached_property, + unset, + UnsetType, +) + + +class TwilioIntegrationAccountSettingsUpdate(ModelNormal): + @cached_property + def openapi_types(_): + return { + "account_sid": (str,), + "censor_logs": (bool,), + } + + attribute_map = { + "account_sid": "account_sid", + "censor_logs": "censor_logs", + } + + def __init__( + self_, account_sid: Union[str, UnsetType] = unset, censor_logs: Union[bool, UnsetType] = unset, **kwargs + ): + """ + Settings for updating the Twilio integration account. Only the fields provided are changed. + + :param account_sid: Twilio Account SID that uniquely identifies your Twilio account. + :type account_sid: str, optional + + :param censor_logs: When enabled, Twilio phone numbers in the ``to`` field and SMS message bodies are censored for privacy. + :type censor_logs: bool, optional + """ + if account_sid is not unset: + kwargs["account_sid"] = account_sid + if censor_logs is not unset: + kwargs["censor_logs"] = censor_logs + super().__init__(kwargs) diff --git a/src/datadog_api_client/v2/model/twilio_integration_account_update_attributes.py b/src/datadog_api_client/v2/model/twilio_integration_account_update_attributes.py new file mode 100644 index 0000000000..70ec1a6626 --- /dev/null +++ b/src/datadog_api_client/v2/model/twilio_integration_account_update_attributes.py @@ -0,0 +1,85 @@ +# 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. +from __future__ import annotations + +from typing import Union, TYPE_CHECKING + +from datadog_api_client.model_utils import ( + ModelNormal, + cached_property, + unset, + UnsetType, +) + + +if TYPE_CHECKING: + from datadog_api_client.v2.model.twilio_integration_account_authentication_update import ( + TwilioIntegrationAccountAuthenticationUpdate, + ) + from datadog_api_client.v2.model.twilio_integration_dataflows_request import TwilioIntegrationDataflowsRequest + from datadog_api_client.v2.model.twilio_integration_account_settings_update import ( + TwilioIntegrationAccountSettingsUpdate, + ) + from datadog_api_client.v2.model.integration_account_basic_auth_update import IntegrationAccountBasicAuthUpdate + + +class TwilioIntegrationAccountUpdateAttributes(ModelNormal): + @cached_property + def openapi_types(_): + from datadog_api_client.v2.model.twilio_integration_account_authentication_update import ( + TwilioIntegrationAccountAuthenticationUpdate, + ) + from datadog_api_client.v2.model.twilio_integration_dataflows_request import TwilioIntegrationDataflowsRequest + from datadog_api_client.v2.model.twilio_integration_account_settings_update import ( + TwilioIntegrationAccountSettingsUpdate, + ) + + return { + "authentication": (TwilioIntegrationAccountAuthenticationUpdate,), + "dataflows": (TwilioIntegrationDataflowsRequest,), + "name": (str,), + "settings": (TwilioIntegrationAccountSettingsUpdate,), + } + + attribute_map = { + "authentication": "authentication", + "dataflows": "dataflows", + "name": "name", + "settings": "settings", + } + + def __init__( + self_, + authentication: Union[ + TwilioIntegrationAccountAuthenticationUpdate, IntegrationAccountBasicAuthUpdate, UnsetType + ] = unset, + dataflows: Union[TwilioIntegrationDataflowsRequest, UnsetType] = unset, + name: Union[str, UnsetType] = unset, + settings: Union[TwilioIntegrationAccountSettingsUpdate, UnsetType] = unset, + **kwargs, + ): + """ + 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. + + :param authentication: Authentication for updating the Twilio integration account. Exactly one method is set. + :type authentication: TwilioIntegrationAccountAuthenticationUpdate, optional + + :param dataflows: Dataflows to configure on the Twilio integration account, keyed by dataflow id. + :type dataflows: TwilioIntegrationDataflowsRequest, optional + + :param name: Human-readable name of the Twilio integration account. + :type name: str, optional + + :param settings: Settings for updating the Twilio integration account. Only the fields provided are changed. + :type settings: TwilioIntegrationAccountSettingsUpdate, optional + """ + if authentication is not unset: + kwargs["authentication"] = authentication + if dataflows is not unset: + kwargs["dataflows"] = dataflows + if name is not unset: + kwargs["name"] = name + if settings is not unset: + kwargs["settings"] = settings + super().__init__(kwargs) diff --git a/src/datadog_api_client/v2/model/twilio_integration_account_update_data.py b/src/datadog_api_client/v2/model/twilio_integration_account_update_data.py new file mode 100644 index 0000000000..c7599ee350 --- /dev/null +++ b/src/datadog_api_client/v2/model/twilio_integration_account_update_data.py @@ -0,0 +1,60 @@ +# 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. +from __future__ import annotations + +from typing import TYPE_CHECKING + +from datadog_api_client.model_utils import ( + ModelNormal, + cached_property, +) + + +if TYPE_CHECKING: + from datadog_api_client.v2.model.twilio_integration_account_update_attributes import ( + TwilioIntegrationAccountUpdateAttributes, + ) + from datadog_api_client.v2.model.integration_account_type import IntegrationAccountType + + +class TwilioIntegrationAccountUpdateData(ModelNormal): + @cached_property + def openapi_types(_): + from datadog_api_client.v2.model.twilio_integration_account_update_attributes import ( + TwilioIntegrationAccountUpdateAttributes, + ) + from datadog_api_client.v2.model.integration_account_type import IntegrationAccountType + + return { + "attributes": (TwilioIntegrationAccountUpdateAttributes,), + "id": (str,), + "type": (IntegrationAccountType,), + } + + attribute_map = { + "attributes": "attributes", + "id": "id", + "type": "type", + } + + def __init__( + self_, attributes: TwilioIntegrationAccountUpdateAttributes, id: str, type: IntegrationAccountType, **kwargs + ): + """ + Data envelope for updating a Twilio integration account. + + :param attributes: 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. + :type attributes: TwilioIntegrationAccountUpdateAttributes + + :param id: Unique identifier of the Twilio integration account to update. + :type id: str + + :param type: The type of the integration account resource. Always ``integration-account``. + :type type: IntegrationAccountType + """ + super().__init__(kwargs) + + self_.attributes = attributes + self_.id = id + self_.type = type diff --git a/src/datadog_api_client/v2/model/twilio_integration_account_update_request.py b/src/datadog_api_client/v2/model/twilio_integration_account_update_request.py new file mode 100644 index 0000000000..68a96b740c --- /dev/null +++ b/src/datadog_api_client/v2/model/twilio_integration_account_update_request.py @@ -0,0 +1,42 @@ +# 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. +from __future__ import annotations + +from typing import TYPE_CHECKING + +from datadog_api_client.model_utils import ( + ModelNormal, + cached_property, +) + + +if TYPE_CHECKING: + from datadog_api_client.v2.model.twilio_integration_account_update_data import TwilioIntegrationAccountUpdateData + + +class TwilioIntegrationAccountUpdateRequest(ModelNormal): + @cached_property + def openapi_types(_): + from datadog_api_client.v2.model.twilio_integration_account_update_data import ( + TwilioIntegrationAccountUpdateData, + ) + + return { + "data": (TwilioIntegrationAccountUpdateData,), + } + + attribute_map = { + "data": "data", + } + + def __init__(self_, data: TwilioIntegrationAccountUpdateData, **kwargs): + """ + Request payload to update a Twilio integration account. + + :param data: Data envelope for updating a Twilio integration account. + :type data: TwilioIntegrationAccountUpdateData + """ + super().__init__(kwargs) + + self_.data = data diff --git a/src/datadog_api_client/v2/model/twilio_integration_accounts_response.py b/src/datadog_api_client/v2/model/twilio_integration_accounts_response.py new file mode 100644 index 0000000000..0d1016749c --- /dev/null +++ b/src/datadog_api_client/v2/model/twilio_integration_accounts_response.py @@ -0,0 +1,44 @@ +# 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. +from __future__ import annotations + +from typing import List, TYPE_CHECKING + +from datadog_api_client.model_utils import ( + ModelNormal, + cached_property, +) + + +if TYPE_CHECKING: + from datadog_api_client.v2.model.twilio_integration_account_response_data import ( + TwilioIntegrationAccountResponseData, + ) + + +class TwilioIntegrationAccountsResponse(ModelNormal): + @cached_property + def openapi_types(_): + from datadog_api_client.v2.model.twilio_integration_account_response_data import ( + TwilioIntegrationAccountResponseData, + ) + + return { + "data": ([TwilioIntegrationAccountResponseData],), + } + + attribute_map = { + "data": "data", + } + + def __init__(self_, data: List[TwilioIntegrationAccountResponseData], **kwargs): + """ + Response payload for a list of Twilio integration accounts. + + :param data: List of Twilio integration accounts. + :type data: [TwilioIntegrationAccountResponseData] + """ + super().__init__(kwargs) + + self_.data = data diff --git a/src/datadog_api_client/v2/model/twilio_integration_dataflows_request.py b/src/datadog_api_client/v2/model/twilio_integration_dataflows_request.py new file mode 100644 index 0000000000..1f63320ac5 --- /dev/null +++ b/src/datadog_api_client/v2/model/twilio_integration_dataflows_request.py @@ -0,0 +1,110 @@ +# 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. +from __future__ import annotations + +from typing import Union, TYPE_CHECKING + +from datadog_api_client.model_utils import ( + ModelNormal, + cached_property, + unset, + UnsetType, +) + + +if TYPE_CHECKING: + from datadog_api_client.v2.model.twilio_alerts_logs_integration_dataflow_request import ( + TwilioAlertsLogsIntegrationDataflowRequest, + ) + from datadog_api_client.v2.model.twilio_call_summaries_logs_integration_dataflow_request import ( + TwilioCallSummariesLogsIntegrationDataflowRequest, + ) + from datadog_api_client.v2.model.twilio_cloud_cost_metrics_integration_dataflow_request import ( + TwilioCloudCostMetricsIntegrationDataflowRequest, + ) + from datadog_api_client.v2.model.twilio_events_logs_integration_dataflow_request import ( + TwilioEventsLogsIntegrationDataflowRequest, + ) + from datadog_api_client.v2.model.twilio_messages_logs_integration_dataflow_request import ( + TwilioMessagesLogsIntegrationDataflowRequest, + ) + + +class TwilioIntegrationDataflowsRequest(ModelNormal): + @cached_property + def additional_properties_type(_): + return None + + @cached_property + def openapi_types(_): + from datadog_api_client.v2.model.twilio_alerts_logs_integration_dataflow_request import ( + TwilioAlertsLogsIntegrationDataflowRequest, + ) + from datadog_api_client.v2.model.twilio_call_summaries_logs_integration_dataflow_request import ( + TwilioCallSummariesLogsIntegrationDataflowRequest, + ) + from datadog_api_client.v2.model.twilio_cloud_cost_metrics_integration_dataflow_request import ( + TwilioCloudCostMetricsIntegrationDataflowRequest, + ) + from datadog_api_client.v2.model.twilio_events_logs_integration_dataflow_request import ( + TwilioEventsLogsIntegrationDataflowRequest, + ) + from datadog_api_client.v2.model.twilio_messages_logs_integration_dataflow_request import ( + TwilioMessagesLogsIntegrationDataflowRequest, + ) + + return { + "twilio_alerts_logs": (TwilioAlertsLogsIntegrationDataflowRequest,), + "twilio_call_summaries_logs": (TwilioCallSummariesLogsIntegrationDataflowRequest,), + "twilio_cloud_cost_metrics": (TwilioCloudCostMetricsIntegrationDataflowRequest,), + "twilio_events_logs": (TwilioEventsLogsIntegrationDataflowRequest,), + "twilio_messages_logs": (TwilioMessagesLogsIntegrationDataflowRequest,), + } + + attribute_map = { + "twilio_alerts_logs": "twilio-alerts-logs", + "twilio_call_summaries_logs": "twilio-call-summaries-logs", + "twilio_cloud_cost_metrics": "twilio-cloud-cost-metrics", + "twilio_events_logs": "twilio-events-logs", + "twilio_messages_logs": "twilio-messages-logs", + } + + def __init__( + self_, + twilio_alerts_logs: Union[TwilioAlertsLogsIntegrationDataflowRequest, UnsetType] = unset, + twilio_call_summaries_logs: Union[TwilioCallSummariesLogsIntegrationDataflowRequest, UnsetType] = unset, + twilio_cloud_cost_metrics: Union[TwilioCloudCostMetricsIntegrationDataflowRequest, UnsetType] = unset, + twilio_events_logs: Union[TwilioEventsLogsIntegrationDataflowRequest, UnsetType] = unset, + twilio_messages_logs: Union[TwilioMessagesLogsIntegrationDataflowRequest, UnsetType] = unset, + **kwargs, + ): + """ + Dataflows to configure on the Twilio integration account, keyed by dataflow id. + + :param twilio_alerts_logs: The Twilio alerts logs dataflow. + :type twilio_alerts_logs: TwilioAlertsLogsIntegrationDataflowRequest, optional + + :param twilio_call_summaries_logs: The Twilio call summaries logs dataflow. + :type twilio_call_summaries_logs: TwilioCallSummariesLogsIntegrationDataflowRequest, optional + + :param twilio_cloud_cost_metrics: The Twilio cloud cost metrics dataflow. + :type twilio_cloud_cost_metrics: TwilioCloudCostMetricsIntegrationDataflowRequest, optional + + :param twilio_events_logs: The Twilio events logs dataflow. + :type twilio_events_logs: TwilioEventsLogsIntegrationDataflowRequest, optional + + :param twilio_messages_logs: The Twilio messages logs dataflow. + :type twilio_messages_logs: TwilioMessagesLogsIntegrationDataflowRequest, optional + """ + if twilio_alerts_logs is not unset: + kwargs["twilio_alerts_logs"] = twilio_alerts_logs + if twilio_call_summaries_logs is not unset: + kwargs["twilio_call_summaries_logs"] = twilio_call_summaries_logs + if twilio_cloud_cost_metrics is not unset: + kwargs["twilio_cloud_cost_metrics"] = twilio_cloud_cost_metrics + if twilio_events_logs is not unset: + kwargs["twilio_events_logs"] = twilio_events_logs + if twilio_messages_logs is not unset: + kwargs["twilio_messages_logs"] = twilio_messages_logs + super().__init__(kwargs) diff --git a/src/datadog_api_client/v2/model/twilio_integration_dataflows_response.py b/src/datadog_api_client/v2/model/twilio_integration_dataflows_response.py new file mode 100644 index 0000000000..ad8fa09d39 --- /dev/null +++ b/src/datadog_api_client/v2/model/twilio_integration_dataflows_response.py @@ -0,0 +1,106 @@ +# 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. +from __future__ import annotations + +from typing import Union, TYPE_CHECKING + +from datadog_api_client.model_utils import ( + ModelNormal, + cached_property, + unset, + UnsetType, +) + + +if TYPE_CHECKING: + from datadog_api_client.v2.model.twilio_alerts_logs_integration_dataflow_response import ( + TwilioAlertsLogsIntegrationDataflowResponse, + ) + from datadog_api_client.v2.model.twilio_call_summaries_logs_integration_dataflow_response import ( + TwilioCallSummariesLogsIntegrationDataflowResponse, + ) + from datadog_api_client.v2.model.twilio_cloud_cost_metrics_integration_dataflow_response import ( + TwilioCloudCostMetricsIntegrationDataflowResponse, + ) + from datadog_api_client.v2.model.twilio_events_logs_integration_dataflow_response import ( + TwilioEventsLogsIntegrationDataflowResponse, + ) + from datadog_api_client.v2.model.twilio_messages_logs_integration_dataflow_response import ( + TwilioMessagesLogsIntegrationDataflowResponse, + ) + + +class TwilioIntegrationDataflowsResponse(ModelNormal): + @cached_property + def openapi_types(_): + from datadog_api_client.v2.model.twilio_alerts_logs_integration_dataflow_response import ( + TwilioAlertsLogsIntegrationDataflowResponse, + ) + from datadog_api_client.v2.model.twilio_call_summaries_logs_integration_dataflow_response import ( + TwilioCallSummariesLogsIntegrationDataflowResponse, + ) + from datadog_api_client.v2.model.twilio_cloud_cost_metrics_integration_dataflow_response import ( + TwilioCloudCostMetricsIntegrationDataflowResponse, + ) + from datadog_api_client.v2.model.twilio_events_logs_integration_dataflow_response import ( + TwilioEventsLogsIntegrationDataflowResponse, + ) + from datadog_api_client.v2.model.twilio_messages_logs_integration_dataflow_response import ( + TwilioMessagesLogsIntegrationDataflowResponse, + ) + + return { + "twilio_alerts_logs": (TwilioAlertsLogsIntegrationDataflowResponse,), + "twilio_call_summaries_logs": (TwilioCallSummariesLogsIntegrationDataflowResponse,), + "twilio_cloud_cost_metrics": (TwilioCloudCostMetricsIntegrationDataflowResponse,), + "twilio_events_logs": (TwilioEventsLogsIntegrationDataflowResponse,), + "twilio_messages_logs": (TwilioMessagesLogsIntegrationDataflowResponse,), + } + + attribute_map = { + "twilio_alerts_logs": "twilio-alerts-logs", + "twilio_call_summaries_logs": "twilio-call-summaries-logs", + "twilio_cloud_cost_metrics": "twilio-cloud-cost-metrics", + "twilio_events_logs": "twilio-events-logs", + "twilio_messages_logs": "twilio-messages-logs", + } + + def __init__( + self_, + twilio_alerts_logs: Union[TwilioAlertsLogsIntegrationDataflowResponse, UnsetType] = unset, + twilio_call_summaries_logs: Union[TwilioCallSummariesLogsIntegrationDataflowResponse, UnsetType] = unset, + twilio_cloud_cost_metrics: Union[TwilioCloudCostMetricsIntegrationDataflowResponse, UnsetType] = unset, + twilio_events_logs: Union[TwilioEventsLogsIntegrationDataflowResponse, UnsetType] = unset, + twilio_messages_logs: Union[TwilioMessagesLogsIntegrationDataflowResponse, UnsetType] = unset, + **kwargs, + ): + """ + Dataflows configured on the Twilio integration account, keyed by dataflow id. + + :param twilio_alerts_logs: The Twilio alerts logs dataflow. + :type twilio_alerts_logs: TwilioAlertsLogsIntegrationDataflowResponse, optional + + :param twilio_call_summaries_logs: The Twilio call summaries logs dataflow. + :type twilio_call_summaries_logs: TwilioCallSummariesLogsIntegrationDataflowResponse, optional + + :param twilio_cloud_cost_metrics: The Twilio cloud cost metrics dataflow. + :type twilio_cloud_cost_metrics: TwilioCloudCostMetricsIntegrationDataflowResponse, optional + + :param twilio_events_logs: The Twilio events logs dataflow. + :type twilio_events_logs: TwilioEventsLogsIntegrationDataflowResponse, optional + + :param twilio_messages_logs: The Twilio messages logs dataflow. + :type twilio_messages_logs: TwilioMessagesLogsIntegrationDataflowResponse, optional + """ + if twilio_alerts_logs is not unset: + kwargs["twilio_alerts_logs"] = twilio_alerts_logs + if twilio_call_summaries_logs is not unset: + kwargs["twilio_call_summaries_logs"] = twilio_call_summaries_logs + if twilio_cloud_cost_metrics is not unset: + kwargs["twilio_cloud_cost_metrics"] = twilio_cloud_cost_metrics + if twilio_events_logs is not unset: + kwargs["twilio_events_logs"] = twilio_events_logs + if twilio_messages_logs is not unset: + kwargs["twilio_messages_logs"] = twilio_messages_logs + super().__init__(kwargs) diff --git a/src/datadog_api_client/v2/model/twilio_messages_logs_integration_dataflow_request.py b/src/datadog_api_client/v2/model/twilio_messages_logs_integration_dataflow_request.py new file mode 100644 index 0000000000..7d6952c238 --- /dev/null +++ b/src/datadog_api_client/v2/model/twilio_messages_logs_integration_dataflow_request.py @@ -0,0 +1,36 @@ +# 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. +from __future__ import annotations + +from typing import Union + +from datadog_api_client.model_utils import ( + ModelNormal, + cached_property, + unset, + UnsetType, +) + + +class TwilioMessagesLogsIntegrationDataflowRequest(ModelNormal): + @cached_property + def openapi_types(_): + return { + "enabled": (bool,), + } + + attribute_map = { + "enabled": "enabled", + } + + def __init__(self_, enabled: Union[bool, UnsetType] = unset, **kwargs): + """ + The Twilio messages logs dataflow. + + :param enabled: Whether the Twilio dataflow is enabled. + :type enabled: bool, optional + """ + if enabled is not unset: + kwargs["enabled"] = enabled + super().__init__(kwargs) diff --git a/src/datadog_api_client/v2/model/twilio_messages_logs_integration_dataflow_response.py b/src/datadog_api_client/v2/model/twilio_messages_logs_integration_dataflow_response.py new file mode 100644 index 0000000000..fe3e7870dd --- /dev/null +++ b/src/datadog_api_client/v2/model/twilio_messages_logs_integration_dataflow_response.py @@ -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. +from __future__ import annotations + +from typing import Union, TYPE_CHECKING + +from datadog_api_client.model_utils import ( + ModelNormal, + cached_property, + unset, + UnsetType, +) + + +if TYPE_CHECKING: + from datadog_api_client.v2.model.integration_account_dataflow_status import IntegrationAccountDataflowStatus + + +class TwilioMessagesLogsIntegrationDataflowResponse(ModelNormal): + @cached_property + def openapi_types(_): + from datadog_api_client.v2.model.integration_account_dataflow_status import IntegrationAccountDataflowStatus + + return { + "enabled": (bool,), + "status": (IntegrationAccountDataflowStatus,), + } + + attribute_map = { + "enabled": "enabled", + "status": "status", + } + read_only_vars = { + "status", + } + + def __init__( + self_, + enabled: Union[bool, UnsetType] = unset, + status: Union[IntegrationAccountDataflowStatus, UnsetType] = unset, + **kwargs, + ): + """ + The Twilio messages logs dataflow. + + :param enabled: Whether the Twilio dataflow is enabled. + :type enabled: bool, optional + + :param status: Read-only collection status of a dataflow. + :type status: IntegrationAccountDataflowStatus, optional + """ + if enabled is not unset: + kwargs["enabled"] = enabled + if status is not unset: + kwargs["status"] = status + super().__init__(kwargs) diff --git a/src/datadog_api_client/v2/models/__init__.py b/src/datadog_api_client/v2/models/__init__.py index b168aca54c..b89371d392 100644 --- a/src/datadog_api_client/v2/models/__init__.py +++ b/src/datadog_api_client/v2/models/__init__.py @@ -2670,6 +2670,105 @@ from datadog_api_client.v2.model.elf_sourcemap_attributes import ELFSourcemapAttributes from datadog_api_client.v2.model.elf_sourcemap_data import ELFSourcemapData from datadog_api_client.v2.model.epss import EPSS +from datadog_api_client.v2.model.elastic_cloud_detailed_index_stats_integration_dataflow_request import ( + ElasticCloudDetailedIndexStatsIntegrationDataflowRequest, +) +from datadog_api_client.v2.model.elastic_cloud_detailed_index_stats_integration_dataflow_response import ( + ElasticCloudDetailedIndexStatsIntegrationDataflowResponse, +) +from datadog_api_client.v2.model.elastic_cloud_index_stats_integration_dataflow_request import ( + ElasticCloudIndexStatsIntegrationDataflowRequest, +) +from datadog_api_client.v2.model.elastic_cloud_index_stats_integration_dataflow_response import ( + ElasticCloudIndexStatsIntegrationDataflowResponse, +) +from datadog_api_client.v2.model.elastic_cloud_integration_account_authentication_request import ( + ElasticCloudIntegrationAccountAuthenticationRequest, +) +from datadog_api_client.v2.model.elastic_cloud_integration_account_authentication_response import ( + ElasticCloudIntegrationAccountAuthenticationResponse, +) +from datadog_api_client.v2.model.elastic_cloud_integration_account_authentication_update import ( + ElasticCloudIntegrationAccountAuthenticationUpdate, +) +from datadog_api_client.v2.model.elastic_cloud_integration_account_create_attributes import ( + ElasticCloudIntegrationAccountCreateAttributes, +) +from datadog_api_client.v2.model.elastic_cloud_integration_account_create_data import ( + ElasticCloudIntegrationAccountCreateData, +) +from datadog_api_client.v2.model.elastic_cloud_integration_account_create_request import ( + ElasticCloudIntegrationAccountCreateRequest, +) +from datadog_api_client.v2.model.elastic_cloud_integration_account_response import ( + ElasticCloudIntegrationAccountResponse, +) +from datadog_api_client.v2.model.elastic_cloud_integration_account_response_attributes import ( + ElasticCloudIntegrationAccountResponseAttributes, +) +from datadog_api_client.v2.model.elastic_cloud_integration_account_response_data import ( + ElasticCloudIntegrationAccountResponseData, +) +from datadog_api_client.v2.model.elastic_cloud_integration_account_settings_request import ( + ElasticCloudIntegrationAccountSettingsRequest, +) +from datadog_api_client.v2.model.elastic_cloud_integration_account_settings_response import ( + ElasticCloudIntegrationAccountSettingsResponse, +) +from datadog_api_client.v2.model.elastic_cloud_integration_account_settings_update import ( + ElasticCloudIntegrationAccountSettingsUpdate, +) +from datadog_api_client.v2.model.elastic_cloud_integration_account_update_attributes import ( + ElasticCloudIntegrationAccountUpdateAttributes, +) +from datadog_api_client.v2.model.elastic_cloud_integration_account_update_data import ( + ElasticCloudIntegrationAccountUpdateData, +) +from datadog_api_client.v2.model.elastic_cloud_integration_account_update_request import ( + ElasticCloudIntegrationAccountUpdateRequest, +) +from datadog_api_client.v2.model.elastic_cloud_integration_accounts_response import ( + ElasticCloudIntegrationAccountsResponse, +) +from datadog_api_client.v2.model.elastic_cloud_integration_dataflows_request import ( + ElasticCloudIntegrationDataflowsRequest, +) +from datadog_api_client.v2.model.elastic_cloud_integration_dataflows_response import ( + ElasticCloudIntegrationDataflowsResponse, +) +from datadog_api_client.v2.model.elastic_cloud_metrics_integration_dataflow_response import ( + ElasticCloudMetricsIntegrationDataflowResponse, +) +from datadog_api_client.v2.model.elastic_cloud_pending_task_stats_integration_dataflow_request import ( + ElasticCloudPendingTaskStatsIntegrationDataflowRequest, +) +from datadog_api_client.v2.model.elastic_cloud_pending_task_stats_integration_dataflow_response import ( + ElasticCloudPendingTaskStatsIntegrationDataflowResponse, +) +from datadog_api_client.v2.model.elastic_cloud_primary_shard_graceful_timeout_integration_dataflow_request import ( + ElasticCloudPrimaryShardGracefulTimeoutIntegrationDataflowRequest, +) +from datadog_api_client.v2.model.elastic_cloud_primary_shard_graceful_timeout_integration_dataflow_response import ( + ElasticCloudPrimaryShardGracefulTimeoutIntegrationDataflowResponse, +) +from datadog_api_client.v2.model.elastic_cloud_primary_shard_stats_integration_dataflow_request import ( + ElasticCloudPrimaryShardStatsIntegrationDataflowRequest, +) +from datadog_api_client.v2.model.elastic_cloud_primary_shard_stats_integration_dataflow_response import ( + ElasticCloudPrimaryShardStatsIntegrationDataflowResponse, +) +from datadog_api_client.v2.model.elastic_cloud_shard_allocation_stats_integration_dataflow_request import ( + ElasticCloudShardAllocationStatsIntegrationDataflowRequest, +) +from datadog_api_client.v2.model.elastic_cloud_shard_allocation_stats_integration_dataflow_response import ( + ElasticCloudShardAllocationStatsIntegrationDataflowResponse, +) +from datadog_api_client.v2.model.elastic_cloud_slm_stats_integration_dataflow_request import ( + ElasticCloudSlmStatsIntegrationDataflowRequest, +) +from datadog_api_client.v2.model.elastic_cloud_slm_stats_integration_dataflow_response import ( + ElasticCloudSlmStatsIntegrationDataflowResponse, +) from datadog_api_client.v2.model.entity_attributes import EntityAttributes from datadog_api_client.v2.model.entity_context_entity import EntityContextEntity from datadog_api_client.v2.model.entity_context_entity_attributes import EntityContextEntityAttributes @@ -4150,6 +4249,13 @@ from datadog_api_client.v2.model.input_schema_parameters_type import InputSchemaParametersType from datadog_api_client.v2.model.intake_payload_accepted import IntakePayloadAccepted from datadog_api_client.v2.model.integration import Integration +from datadog_api_client.v2.model.integration_account_basic_auth_request import IntegrationAccountBasicAuthRequest +from datadog_api_client.v2.model.integration_account_basic_auth_response import IntegrationAccountBasicAuthResponse +from datadog_api_client.v2.model.integration_account_basic_auth_type import IntegrationAccountBasicAuthType +from datadog_api_client.v2.model.integration_account_basic_auth_update import IntegrationAccountBasicAuthUpdate +from datadog_api_client.v2.model.integration_account_dataflow_health import IntegrationAccountDataflowHealth +from datadog_api_client.v2.model.integration_account_dataflow_status import IntegrationAccountDataflowStatus +from datadog_api_client.v2.model.integration_account_type import IntegrationAccountType from datadog_api_client.v2.model.integration_attributes import IntegrationAttributes from datadog_api_client.v2.model.integration_incident import IntegrationIncident from datadog_api_client.v2.model.integration_incident_field_mappings_items import IntegrationIncidentFieldMappingsItems @@ -10470,6 +10576,72 @@ from datadog_api_client.v2.model.trigger_type import TriggerType from datadog_api_client.v2.model.trigger_workflow_automation_action import TriggerWorkflowAutomationAction from datadog_api_client.v2.model.trigger_workflow_automation_action_type import TriggerWorkflowAutomationActionType +from datadog_api_client.v2.model.twilio_alerts_logs_integration_dataflow_request import ( + TwilioAlertsLogsIntegrationDataflowRequest, +) +from datadog_api_client.v2.model.twilio_alerts_logs_integration_dataflow_response import ( + TwilioAlertsLogsIntegrationDataflowResponse, +) +from datadog_api_client.v2.model.twilio_call_summaries_logs_integration_dataflow_request import ( + TwilioCallSummariesLogsIntegrationDataflowRequest, +) +from datadog_api_client.v2.model.twilio_call_summaries_logs_integration_dataflow_response import ( + TwilioCallSummariesLogsIntegrationDataflowResponse, +) +from datadog_api_client.v2.model.twilio_cloud_cost_metrics_integration_dataflow_request import ( + TwilioCloudCostMetricsIntegrationDataflowRequest, +) +from datadog_api_client.v2.model.twilio_cloud_cost_metrics_integration_dataflow_response import ( + TwilioCloudCostMetricsIntegrationDataflowResponse, +) +from datadog_api_client.v2.model.twilio_events_logs_integration_dataflow_request import ( + TwilioEventsLogsIntegrationDataflowRequest, +) +from datadog_api_client.v2.model.twilio_events_logs_integration_dataflow_response import ( + TwilioEventsLogsIntegrationDataflowResponse, +) +from datadog_api_client.v2.model.twilio_integration_account_authentication_request import ( + TwilioIntegrationAccountAuthenticationRequest, +) +from datadog_api_client.v2.model.twilio_integration_account_authentication_response import ( + TwilioIntegrationAccountAuthenticationResponse, +) +from datadog_api_client.v2.model.twilio_integration_account_authentication_update import ( + TwilioIntegrationAccountAuthenticationUpdate, +) +from datadog_api_client.v2.model.twilio_integration_account_create_attributes import ( + TwilioIntegrationAccountCreateAttributes, +) +from datadog_api_client.v2.model.twilio_integration_account_create_data import TwilioIntegrationAccountCreateData +from datadog_api_client.v2.model.twilio_integration_account_create_request import TwilioIntegrationAccountCreateRequest +from datadog_api_client.v2.model.twilio_integration_account_response import TwilioIntegrationAccountResponse +from datadog_api_client.v2.model.twilio_integration_account_response_attributes import ( + TwilioIntegrationAccountResponseAttributes, +) +from datadog_api_client.v2.model.twilio_integration_account_response_data import TwilioIntegrationAccountResponseData +from datadog_api_client.v2.model.twilio_integration_account_settings_request import ( + TwilioIntegrationAccountSettingsRequest, +) +from datadog_api_client.v2.model.twilio_integration_account_settings_response import ( + TwilioIntegrationAccountSettingsResponse, +) +from datadog_api_client.v2.model.twilio_integration_account_settings_update import ( + TwilioIntegrationAccountSettingsUpdate, +) +from datadog_api_client.v2.model.twilio_integration_account_update_attributes import ( + TwilioIntegrationAccountUpdateAttributes, +) +from datadog_api_client.v2.model.twilio_integration_account_update_data import TwilioIntegrationAccountUpdateData +from datadog_api_client.v2.model.twilio_integration_account_update_request import TwilioIntegrationAccountUpdateRequest +from datadog_api_client.v2.model.twilio_integration_accounts_response import TwilioIntegrationAccountsResponse +from datadog_api_client.v2.model.twilio_integration_dataflows_request import TwilioIntegrationDataflowsRequest +from datadog_api_client.v2.model.twilio_integration_dataflows_response import TwilioIntegrationDataflowsResponse +from datadog_api_client.v2.model.twilio_messages_logs_integration_dataflow_request import ( + TwilioMessagesLogsIntegrationDataflowRequest, +) +from datadog_api_client.v2.model.twilio_messages_logs_integration_dataflow_response import ( + TwilioMessagesLogsIntegrationDataflowResponse, +) from datadog_api_client.v2.model.uc_config_pair import UCConfigPair from datadog_api_client.v2.model.uc_config_pair_data import UCConfigPairData from datadog_api_client.v2.model.uc_config_pair_data_attributes import UCConfigPairDataAttributes @@ -12939,6 +13111,39 @@ "ELFSourcemapAttributes", "ELFSourcemapData", "EPSS", + "ElasticCloudDetailedIndexStatsIntegrationDataflowRequest", + "ElasticCloudDetailedIndexStatsIntegrationDataflowResponse", + "ElasticCloudIndexStatsIntegrationDataflowRequest", + "ElasticCloudIndexStatsIntegrationDataflowResponse", + "ElasticCloudIntegrationAccountAuthenticationRequest", + "ElasticCloudIntegrationAccountAuthenticationResponse", + "ElasticCloudIntegrationAccountAuthenticationUpdate", + "ElasticCloudIntegrationAccountCreateAttributes", + "ElasticCloudIntegrationAccountCreateData", + "ElasticCloudIntegrationAccountCreateRequest", + "ElasticCloudIntegrationAccountResponse", + "ElasticCloudIntegrationAccountResponseAttributes", + "ElasticCloudIntegrationAccountResponseData", + "ElasticCloudIntegrationAccountSettingsRequest", + "ElasticCloudIntegrationAccountSettingsResponse", + "ElasticCloudIntegrationAccountSettingsUpdate", + "ElasticCloudIntegrationAccountUpdateAttributes", + "ElasticCloudIntegrationAccountUpdateData", + "ElasticCloudIntegrationAccountUpdateRequest", + "ElasticCloudIntegrationAccountsResponse", + "ElasticCloudIntegrationDataflowsRequest", + "ElasticCloudIntegrationDataflowsResponse", + "ElasticCloudMetricsIntegrationDataflowResponse", + "ElasticCloudPendingTaskStatsIntegrationDataflowRequest", + "ElasticCloudPendingTaskStatsIntegrationDataflowResponse", + "ElasticCloudPrimaryShardGracefulTimeoutIntegrationDataflowRequest", + "ElasticCloudPrimaryShardGracefulTimeoutIntegrationDataflowResponse", + "ElasticCloudPrimaryShardStatsIntegrationDataflowRequest", + "ElasticCloudPrimaryShardStatsIntegrationDataflowResponse", + "ElasticCloudShardAllocationStatsIntegrationDataflowRequest", + "ElasticCloudShardAllocationStatsIntegrationDataflowResponse", + "ElasticCloudSlmStatsIntegrationDataflowRequest", + "ElasticCloudSlmStatsIntegrationDataflowResponse", "EntityAttributes", "EntityContextEntity", "EntityContextEntityAttributes", @@ -14053,6 +14258,13 @@ "InputSchemaParametersType", "IntakePayloadAccepted", "Integration", + "IntegrationAccountBasicAuthRequest", + "IntegrationAccountBasicAuthResponse", + "IntegrationAccountBasicAuthType", + "IntegrationAccountBasicAuthUpdate", + "IntegrationAccountDataflowHealth", + "IntegrationAccountDataflowStatus", + "IntegrationAccountType", "IntegrationAttributes", "IntegrationIncident", "IntegrationIncidentFieldMappingsItems", @@ -18181,6 +18393,34 @@ "TriggerType", "TriggerWorkflowAutomationAction", "TriggerWorkflowAutomationActionType", + "TwilioAlertsLogsIntegrationDataflowRequest", + "TwilioAlertsLogsIntegrationDataflowResponse", + "TwilioCallSummariesLogsIntegrationDataflowRequest", + "TwilioCallSummariesLogsIntegrationDataflowResponse", + "TwilioCloudCostMetricsIntegrationDataflowRequest", + "TwilioCloudCostMetricsIntegrationDataflowResponse", + "TwilioEventsLogsIntegrationDataflowRequest", + "TwilioEventsLogsIntegrationDataflowResponse", + "TwilioIntegrationAccountAuthenticationRequest", + "TwilioIntegrationAccountAuthenticationResponse", + "TwilioIntegrationAccountAuthenticationUpdate", + "TwilioIntegrationAccountCreateAttributes", + "TwilioIntegrationAccountCreateData", + "TwilioIntegrationAccountCreateRequest", + "TwilioIntegrationAccountResponse", + "TwilioIntegrationAccountResponseAttributes", + "TwilioIntegrationAccountResponseData", + "TwilioIntegrationAccountSettingsRequest", + "TwilioIntegrationAccountSettingsResponse", + "TwilioIntegrationAccountSettingsUpdate", + "TwilioIntegrationAccountUpdateAttributes", + "TwilioIntegrationAccountUpdateData", + "TwilioIntegrationAccountUpdateRequest", + "TwilioIntegrationAccountsResponse", + "TwilioIntegrationDataflowsRequest", + "TwilioIntegrationDataflowsResponse", + "TwilioMessagesLogsIntegrationDataflowRequest", + "TwilioMessagesLogsIntegrationDataflowResponse", "UCConfigPair", "UCConfigPairData", "UCConfigPairDataAttributes", diff --git a/tests/v2/features/elastic_cloud_integration_accounts.feature b/tests/v2/features/elastic_cloud_integration_accounts.feature new file mode 100644 index 0000000000..a4d54a29a0 --- /dev/null +++ b/tests/v2/features/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/tests/v2/features/twilio_integration_accounts.feature b/tests/v2/features/twilio_integration_accounts.feature new file mode 100644 index 0000000000..cb09ad702c --- /dev/null +++ b/tests/v2/features/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/tests/v2/features/undo.json b/tests/v2/features/undo.json index b10abaebef..c368e524c5 100644 --- a/tests/v2/features/undo.json +++ b/tests/v2/features/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": {