From 78a62518f67bfea0721befcc1f7cbea502edf2d7 Mon Sep 17 00:00:00 2001 From: "ci.datadog-api-spec" Date: Mon, 19 Oct 2026 10:47:15 +0000 Subject: [PATCH] Regenerate client from commit 0d1d020 of spec repo --- .generator/schemas/v2/openapi.yaml | 494 ++++++++++++++++++ ...poralCloudOpenMetricsIntegrationAccount.rb | 26 + ...poralCloudOpenMetricsIntegrationAccount.rb | 9 + ...poralCloudOpenMetricsIntegrationAccount.rb | 9 + ...oralCloudOpenMetricsIntegrationAccounts.rb | 9 + ...poralCloudOpenMetricsIntegrationAccount.rb | 27 + features/scenarios_model_mapping.rb | 13 + ...oral_cloud_openmetrics_integration.feature | 149 ++++++ features/v2/undo.json | 37 ++ lib/datadog_api_client/configuration.rb | 5 + lib/datadog_api_client/inflector.rb | 23 + ...oral_cloud_open_metrics_integration_api.rb | 385 ++++++++++++++ ...egration_account_authentication_request.rb | 62 +++ ...gration_account_authentication_response.rb | 62 +++ ...tegration_account_authentication_update.rb | 62 +++ ...ation_account_bearer_token_auth_request.rb | 119 +++++ ...tion_account_bearer_token_auth_response.rb | 123 +++++ ...egration_account_bearer_token_auth_type.rb | 26 + ...ration_account_bearer_token_auth_update.rb | 108 ++++ ...s_integration_account_create_attributes.rb | 165 ++++++ ...metrics_integration_account_create_data.rb | 144 +++++ ...rics_integration_account_create_request.rb | 123 +++++ ...en_metrics_integration_account_response.rb | 123 +++++ ...integration_account_response_attributes.rb | 164 ++++++ ...trics_integration_account_response_data.rb | 165 ++++++ ...cs_integration_account_settings_request.rb | 90 ++++ ...s_integration_account_settings_response.rb | 115 ++++ ...ics_integration_account_settings_update.rb | 90 ++++ ...s_integration_account_update_attributes.rb | 125 +++++ ...metrics_integration_account_update_data.rb | 165 ++++++ ...rics_integration_account_update_request.rb | 123 +++++ ...n_metrics_integration_accounts_response.rb | 125 +++++ ..._metrics_integration_dataflows_response.rb | 105 ++++ ...s_metrics_integration_dataflow_response.rb | 115 ++++ 34 files changed, 3685 insertions(+) create mode 100644 examples/v2/temporal-cloud-openmetrics-integration/CreateTemporalCloudOpenMetricsIntegrationAccount.rb create mode 100644 examples/v2/temporal-cloud-openmetrics-integration/DeleteTemporalCloudOpenMetricsIntegrationAccount.rb create mode 100644 examples/v2/temporal-cloud-openmetrics-integration/GetTemporalCloudOpenMetricsIntegrationAccount.rb create mode 100644 examples/v2/temporal-cloud-openmetrics-integration/ListTemporalCloudOpenMetricsIntegrationAccounts.rb create mode 100644 examples/v2/temporal-cloud-openmetrics-integration/UpdateTemporalCloudOpenMetricsIntegrationAccount.rb create mode 100644 features/v2/temporal_cloud_openmetrics_integration.feature create mode 100644 lib/datadog_api_client/v2/api/temporal_cloud_open_metrics_integration_api.rb create mode 100644 lib/datadog_api_client/v2/models/temporal_cloud_open_metrics_integration_account_authentication_request.rb create mode 100644 lib/datadog_api_client/v2/models/temporal_cloud_open_metrics_integration_account_authentication_response.rb create mode 100644 lib/datadog_api_client/v2/models/temporal_cloud_open_metrics_integration_account_authentication_update.rb create mode 100644 lib/datadog_api_client/v2/models/temporal_cloud_open_metrics_integration_account_bearer_token_auth_request.rb create mode 100644 lib/datadog_api_client/v2/models/temporal_cloud_open_metrics_integration_account_bearer_token_auth_response.rb create mode 100644 lib/datadog_api_client/v2/models/temporal_cloud_open_metrics_integration_account_bearer_token_auth_type.rb create mode 100644 lib/datadog_api_client/v2/models/temporal_cloud_open_metrics_integration_account_bearer_token_auth_update.rb create mode 100644 lib/datadog_api_client/v2/models/temporal_cloud_open_metrics_integration_account_create_attributes.rb create mode 100644 lib/datadog_api_client/v2/models/temporal_cloud_open_metrics_integration_account_create_data.rb create mode 100644 lib/datadog_api_client/v2/models/temporal_cloud_open_metrics_integration_account_create_request.rb create mode 100644 lib/datadog_api_client/v2/models/temporal_cloud_open_metrics_integration_account_response.rb create mode 100644 lib/datadog_api_client/v2/models/temporal_cloud_open_metrics_integration_account_response_attributes.rb create mode 100644 lib/datadog_api_client/v2/models/temporal_cloud_open_metrics_integration_account_response_data.rb create mode 100644 lib/datadog_api_client/v2/models/temporal_cloud_open_metrics_integration_account_settings_request.rb create mode 100644 lib/datadog_api_client/v2/models/temporal_cloud_open_metrics_integration_account_settings_response.rb create mode 100644 lib/datadog_api_client/v2/models/temporal_cloud_open_metrics_integration_account_settings_update.rb create mode 100644 lib/datadog_api_client/v2/models/temporal_cloud_open_metrics_integration_account_update_attributes.rb create mode 100644 lib/datadog_api_client/v2/models/temporal_cloud_open_metrics_integration_account_update_data.rb create mode 100644 lib/datadog_api_client/v2/models/temporal_cloud_open_metrics_integration_account_update_request.rb create mode 100644 lib/datadog_api_client/v2/models/temporal_cloud_open_metrics_integration_accounts_response.rb create mode 100644 lib/datadog_api_client/v2/models/temporal_cloud_open_metrics_integration_dataflows_response.rb create mode 100644 lib/datadog_api_client/v2/models/temporal_cloud_open_metrics_metrics_integration_dataflow_response.rb diff --git a/.generator/schemas/v2/openapi.yaml b/.generator/schemas/v2/openapi.yaml index 00ba154a3a71..4231b687d9d0 100644 --- a/.generator/schemas/v2/openapi.yaml +++ b/.generator/schemas/v2/openapi.yaml @@ -132831,6 +132831,253 @@ components: description: Offset type. type: string type: object + TemporalCloudOpenMetricsIntegrationAccountAuthenticationRequest: + description: Authentication for creating the Temporal Cloud OpenMetrics integration account. Exactly one method is set. + oneOf: + - $ref: "#/components/schemas/TemporalCloudOpenMetricsIntegrationAccountBearerTokenAuthRequest" + TemporalCloudOpenMetricsIntegrationAccountAuthenticationResponse: + description: Authentication configured on the Temporal Cloud OpenMetrics integration account. + oneOf: + - $ref: "#/components/schemas/TemporalCloudOpenMetricsIntegrationAccountBearerTokenAuthResponse" + TemporalCloudOpenMetricsIntegrationAccountAuthenticationUpdate: + description: Authentication for updating the Temporal Cloud OpenMetrics integration account. Exactly one method is set. + oneOf: + - $ref: "#/components/schemas/TemporalCloudOpenMetricsIntegrationAccountBearerTokenAuthUpdate" + TemporalCloudOpenMetricsIntegrationAccountBearerTokenAuthRequest: + additionalProperties: false + description: >- + Bearer token authentication. Use the API key of a Temporal Cloud service account with the Metrics Read-Only account-level role. + properties: + auth_type: + $ref: "#/components/schemas/TemporalCloudOpenMetricsIntegrationAccountBearerTokenAuthType" + token: + description: Secret token used to authenticate with Temporal Cloud. + example: your-token + type: string + writeOnly: true + required: + - auth_type + - token + type: object + TemporalCloudOpenMetricsIntegrationAccountBearerTokenAuthResponse: + description: The bearer token authentication method configured on the account. + properties: + auth_type: + $ref: "#/components/schemas/TemporalCloudOpenMetricsIntegrationAccountBearerTokenAuthType" + required: + - auth_type + type: object + TemporalCloudOpenMetricsIntegrationAccountBearerTokenAuthType: + default: bearer_token + description: The authentication method type. + enum: + - bearer_token + example: bearer_token + type: string + x-enum-varnames: + - BEARER_TOKEN + TemporalCloudOpenMetricsIntegrationAccountBearerTokenAuthUpdate: + additionalProperties: false + description: >- + Bearer token authentication. Use the API key of a Temporal Cloud service account with the Metrics Read-Only account-level role. Only the fields provided are changed; omit `token` to keep the stored one. + properties: + auth_type: + $ref: "#/components/schemas/TemporalCloudOpenMetricsIntegrationAccountBearerTokenAuthType" + token: + description: Secret token used to authenticate with Temporal Cloud. + example: your-token + type: string + writeOnly: true + required: + - auth_type + type: object + TemporalCloudOpenMetricsIntegrationAccountCreateAttributes: + description: Writable attributes used to create a Temporal Cloud OpenMetrics integration account. + properties: + authentication: + $ref: "#/components/schemas/TemporalCloudOpenMetricsIntegrationAccountAuthenticationRequest" + name: + description: Human-readable name of the Temporal Cloud OpenMetrics integration account. + example: temporal-cloud-prod + type: string + settings: + $ref: "#/components/schemas/TemporalCloudOpenMetricsIntegrationAccountSettingsRequest" + required: + - name + - authentication + - settings + type: object + TemporalCloudOpenMetricsIntegrationAccountCreateData: + description: Data envelope for creating a Temporal Cloud OpenMetrics integration account. + properties: + attributes: + $ref: "#/components/schemas/TemporalCloudOpenMetricsIntegrationAccountCreateAttributes" + type: + $ref: "#/components/schemas/IntegrationAccountType" + required: + - type + - attributes + type: object + TemporalCloudOpenMetricsIntegrationAccountCreateRequest: + description: Request payload to create a Temporal Cloud OpenMetrics integration account. + properties: + data: + $ref: "#/components/schemas/TemporalCloudOpenMetricsIntegrationAccountCreateData" + required: + - data + type: object + TemporalCloudOpenMetricsIntegrationAccountResponse: + description: Response payload for a single Temporal Cloud OpenMetrics integration account. + properties: + data: + $ref: "#/components/schemas/TemporalCloudOpenMetricsIntegrationAccountResponseData" + required: + - data + type: object + TemporalCloudOpenMetricsIntegrationAccountResponseAttributes: + description: Attributes of a Temporal Cloud OpenMetrics integration account returned in responses. + properties: + authentication: + $ref: "#/components/schemas/TemporalCloudOpenMetricsIntegrationAccountAuthenticationResponse" + dataflows: + $ref: "#/components/schemas/TemporalCloudOpenMetricsIntegrationDataflowsResponse" + name: + description: Human-readable name of the Temporal Cloud OpenMetrics integration account. + example: temporal-cloud-prod + type: string + settings: + $ref: "#/components/schemas/TemporalCloudOpenMetricsIntegrationAccountSettingsResponse" + required: + - name + - settings + type: object + TemporalCloudOpenMetricsIntegrationAccountResponseData: + description: Data envelope of a Temporal Cloud OpenMetrics integration account, including server-assigned identity. + properties: + attributes: + $ref: "#/components/schemas/TemporalCloudOpenMetricsIntegrationAccountResponseAttributes" + id: + description: Server-generated unique identifier of the Temporal Cloud OpenMetrics integration account. + example: 7c2d4e91-5a3b-4f68-b0e2-9d1f6a8c3e57 + readOnly: true + type: string + type: + $ref: "#/components/schemas/IntegrationAccountType" + required: + - id + - attributes + - type + type: object + TemporalCloudOpenMetricsIntegrationAccountSettingsRequest: + additionalProperties: false + description: Settings for creating the Temporal Cloud OpenMetrics integration account. + properties: + include_opt_in_labels: + description: >- + When enabled, Datadog collects Temporal Cloud's [opt-in labels](https://docs.temporal.io/cloud/metrics/openmetrics/metrics-reference#opt-in-labels) (activity type, worker deployment name, and worker build ID) for more granularity on your existing metrics. Enabling them may increase metric collection latency. Defaults to `false`. + example: false + type: boolean + namespaces_to_include: + description: >- + Comma-separated list of Temporal Cloud namespaces to collect metrics for. An entry can use `*` as a wildcard; for example, `prod-*` matches every namespace starting with `prod-`. Entries may contain only lowercase letters, digits, hyphens, periods and `*`; any other value is rejected with a `422` response. Omit it or leave it empty to collect metrics for all namespaces. + example: prod-*,billing.a1b2c + type: string + type: object + TemporalCloudOpenMetricsIntegrationAccountSettingsResponse: + description: Settings configured on the Temporal Cloud OpenMetrics integration account. + properties: + include_opt_in_labels: + description: >- + When enabled, Datadog collects Temporal Cloud's [opt-in labels](https://docs.temporal.io/cloud/metrics/openmetrics/metrics-reference#opt-in-labels) (activity type, worker deployment name, and worker build ID) for more granularity on your existing metrics. Enabling them may increase metric collection latency. + example: false + type: boolean + namespaces_to_include: + description: >- + Comma-separated list of Temporal Cloud namespaces to collect metrics for. An entry can use `*` as a wildcard; for example, `prod-*` matches every namespace starting with `prod-`. Empty or absent when metrics are collected for all namespaces. + example: prod-*,billing.a1b2c + type: string + type: object + TemporalCloudOpenMetricsIntegrationAccountSettingsUpdate: + additionalProperties: false + description: Settings for updating the Temporal Cloud OpenMetrics integration account. Only the fields provided are changed. + properties: + include_opt_in_labels: + description: >- + When enabled, Datadog collects Temporal Cloud's [opt-in labels](https://docs.temporal.io/cloud/metrics/openmetrics/metrics-reference#opt-in-labels) (activity type, worker deployment name, and worker build ID) for more granularity on your existing metrics. Enabling them may increase metric collection latency. + example: false + type: boolean + namespaces_to_include: + description: >- + Comma-separated list of Temporal Cloud namespaces to collect metrics for. An entry can use `*` as a wildcard; for example, `prod-*` matches every namespace starting with `prod-`. Entries may contain only lowercase letters, digits, hyphens, periods and `*`; any other value is rejected with a `422` response. Omit it or leave it empty to collect metrics for all namespaces. + example: prod-*,billing.a1b2c + type: string + type: object + TemporalCloudOpenMetricsIntegrationAccountUpdateAttributes: + description: >- + Writable attributes used to update a Temporal Cloud OpenMetrics integration account. Every field is optional; only the fields provided are changed. + properties: + authentication: + $ref: "#/components/schemas/TemporalCloudOpenMetricsIntegrationAccountAuthenticationUpdate" + name: + description: Human-readable name of the Temporal Cloud OpenMetrics integration account. + example: temporal-cloud-prod + type: string + settings: + $ref: "#/components/schemas/TemporalCloudOpenMetricsIntegrationAccountSettingsUpdate" + type: object + TemporalCloudOpenMetricsIntegrationAccountUpdateData: + description: Data envelope for updating a Temporal Cloud OpenMetrics integration account. + properties: + attributes: + $ref: "#/components/schemas/TemporalCloudOpenMetricsIntegrationAccountUpdateAttributes" + id: + description: Unique identifier of the Temporal Cloud OpenMetrics integration account to update. + example: 7c2d4e91-5a3b-4f68-b0e2-9d1f6a8c3e57 + type: string + type: + $ref: "#/components/schemas/IntegrationAccountType" + required: + - id + - type + - attributes + type: object + TemporalCloudOpenMetricsIntegrationAccountUpdateRequest: + description: Request payload to update a Temporal Cloud OpenMetrics integration account. + properties: + data: + $ref: "#/components/schemas/TemporalCloudOpenMetricsIntegrationAccountUpdateData" + required: + - data + type: object + TemporalCloudOpenMetricsIntegrationAccountsResponse: + description: Response payload for a list of Temporal Cloud OpenMetrics integration accounts. + properties: + data: + description: List of Temporal Cloud OpenMetrics integration accounts. + items: + $ref: "#/components/schemas/TemporalCloudOpenMetricsIntegrationAccountResponseData" + type: array + required: + - data + type: object + TemporalCloudOpenMetricsIntegrationDataflowsResponse: + description: Data Datadog collects from Temporal Cloud OpenMetrics, keyed by dataflow id. + properties: + temporal-cloud-openmetrics-metrics: + $ref: "#/components/schemas/TemporalCloudOpenMetricsMetricsIntegrationDataflowResponse" + type: object + TemporalCloudOpenMetricsMetricsIntegrationDataflowResponse: + description: >- + Temporal Cloud operational metrics for your namespaces, workflows and task queues, such as workflow and activity rates, task polling, and service request latency, collected from Temporal Cloud's OpenMetrics endpoint. This is the integration's only collection: it is always on and cannot be turned off, which is why it appears in responses only. + properties: + enabled: + description: Whether Datadog collects this data. Always `true`, because this collection cannot be turned off. + example: true + readOnly: true + type: boolean + status: + $ref: "#/components/schemas/IntegrationAccountDataflowStatus" + type: object TenancyConfig: description: Response containing a single OCI tenancy integration configuration. example: @@ -184028,6 +184275,244 @@ 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/temporal-cloud-openmetrics/accounts: + get: + description: List Temporal Cloud OpenMetrics integration accounts. + operationId: ListTemporalCloudOpenMetricsIntegrationAccounts + responses: + "200": + content: + application/json: + examples: + default: + value: + data: + - attributes: + authentication: + auth_type: bearer_token + dataflows: + temporal-cloud-openmetrics-metrics: + enabled: true + status: + health: DATAFLOW_HEALTH_OK + updated_at: "2026-06-25T08:30:50Z" + name: temporal-cloud-prod + settings: + include_opt_in_labels: false + namespaces_to_include: prod-*,billing.a1b2c + id: 7c2d4e91-5a3b-4f68-b0e2-9d1f6a8c3e57 + type: integration-account + schema: + $ref: "#/components/schemas/TemporalCloudOpenMetricsIntegrationAccountsResponse" + description: OK + "400": + $ref: "#/components/responses/BadRequestResponse" + "403": + $ref: "#/components/responses/ForbiddenResponse" + "404": + $ref: "#/components/responses/NotFoundResponse" + "429": + $ref: "#/components/responses/TooManyRequestsResponse" + summary: List Temporal Cloud OpenMetrics accounts + tags: + - Temporal Cloud OpenMetrics Integration + "x-permission": + operator: OR + permissions: + - integrations_read + 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/). + post: + description: Create a Temporal Cloud OpenMetrics integration account. + operationId: CreateTemporalCloudOpenMetricsIntegrationAccount + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/TemporalCloudOpenMetricsIntegrationAccountCreateRequest" + required: true + responses: + "201": + content: + application/json: + examples: + default: + value: + data: + attributes: + authentication: + auth_type: bearer_token + dataflows: + temporal-cloud-openmetrics-metrics: + enabled: true + status: + health: DATAFLOW_HEALTH_OK + updated_at: "2026-06-25T08:30:50Z" + name: temporal-cloud-prod + settings: + include_opt_in_labels: false + namespaces_to_include: prod-*,billing.a1b2c + id: 7c2d4e91-5a3b-4f68-b0e2-9d1f6a8c3e57 + type: integration-account + schema: + $ref: "#/components/schemas/TemporalCloudOpenMetricsIntegrationAccountResponse" + 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 Temporal Cloud OpenMetrics account + tags: + - Temporal Cloud OpenMetrics Integration + x-codegen-request-body-name: body + "x-permission": + operator: OR + permissions: + - manage_integrations + 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/temporal-cloud-openmetrics/accounts/{account_id}: + delete: + description: Delete a Temporal Cloud OpenMetrics integration account. + operationId: DeleteTemporalCloudOpenMetricsIntegrationAccount + 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 Temporal Cloud OpenMetrics account + tags: + - Temporal Cloud OpenMetrics Integration + "x-permission": + operator: OR + permissions: + - manage_integrations + 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/). + get: + description: Get a Temporal Cloud OpenMetrics integration account. + operationId: GetTemporalCloudOpenMetricsIntegrationAccount + parameters: + - $ref: "#/components/parameters/IntegrationAccountIdParameter" + responses: + "200": + content: + application/json: + examples: + default: + value: + data: + attributes: + authentication: + auth_type: bearer_token + dataflows: + temporal-cloud-openmetrics-metrics: + enabled: true + status: + health: DATAFLOW_HEALTH_OK + updated_at: "2026-06-25T08:30:50Z" + name: temporal-cloud-prod + settings: + include_opt_in_labels: false + namespaces_to_include: prod-*,billing.a1b2c + id: 7c2d4e91-5a3b-4f68-b0e2-9d1f6a8c3e57 + type: integration-account + schema: + $ref: "#/components/schemas/TemporalCloudOpenMetricsIntegrationAccountResponse" + 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 Temporal Cloud OpenMetrics account + tags: + - Temporal Cloud OpenMetrics Integration + "x-permission": + operator: OR + permissions: + - integrations_read + 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/). + patch: + description: Update a Temporal Cloud OpenMetrics integration account. Only the fields provided are changed. + operationId: UpdateTemporalCloudOpenMetricsIntegrationAccount + parameters: + - $ref: "#/components/parameters/IntegrationAccountIdParameter" + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/TemporalCloudOpenMetricsIntegrationAccountUpdateRequest" + required: true + responses: + "200": + content: + application/json: + examples: + default: + value: + data: + attributes: + authentication: + auth_type: bearer_token + dataflows: + temporal-cloud-openmetrics-metrics: + enabled: true + status: + health: DATAFLOW_HEALTH_OK + updated_at: "2026-06-25T08:30:50Z" + name: temporal-cloud-prod + settings: + include_opt_in_labels: false + namespaces_to_include: prod-*,billing.a1b2c + id: 7c2d4e91-5a3b-4f68-b0e2-9d1f6a8c3e57 + type: integration-account + schema: + $ref: "#/components/schemas/TemporalCloudOpenMetricsIntegrationAccountResponse" + 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 Temporal Cloud OpenMetrics account + tags: + - Temporal Cloud OpenMetrics Integration + x-codegen-request-body-name: body + "x-permission": + operator: OR + permissions: + - manage_integrations + 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/twilio/accounts: get: description: List Twilio integration accounts. @@ -251060,6 +251545,15 @@ tags: name: Tag Rules - description: View and manage teams within Datadog. See the [Teams page](https://docs.datadoghq.com/account_management/teams/) for more information. name: Teams + - description: |- + Manage your Datadog Temporal Cloud OpenMetrics integration accounts and account resources + directly through the Datadog API. See the + [Temporal Cloud OpenMetrics integration page](https://docs.datadoghq.com/integrations/temporal-cloud-openmetrics/) for + more information. + externalDocs: + description: Temporal Cloud OpenMetrics integration. + url: https://docs.datadoghq.com/integrations/temporal-cloud-openmetrics/ + name: Temporal Cloud OpenMetrics Integration - 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 diff --git a/examples/v2/temporal-cloud-openmetrics-integration/CreateTemporalCloudOpenMetricsIntegrationAccount.rb b/examples/v2/temporal-cloud-openmetrics-integration/CreateTemporalCloudOpenMetricsIntegrationAccount.rb new file mode 100644 index 000000000000..48ada32b1ec1 --- /dev/null +++ b/examples/v2/temporal-cloud-openmetrics-integration/CreateTemporalCloudOpenMetricsIntegrationAccount.rb @@ -0,0 +1,26 @@ +# Create a Temporal Cloud OpenMetrics account returns "Created" response + +require "datadog_api_client" +DatadogAPIClient.configure do |config| + config.access_token = ENV["DD_BEARER_TOKEN"] + config.unstable_operations["v2.create_temporal_cloud_open_metrics_integration_account".to_sym] = true +end +api_instance = DatadogAPIClient::V2::TemporalCloudOpenMetricsIntegrationAPI.new + +body = DatadogAPIClient::V2::TemporalCloudOpenMetricsIntegrationAccountCreateRequest.new({ + data: DatadogAPIClient::V2::TemporalCloudOpenMetricsIntegrationAccountCreateData.new({ + attributes: DatadogAPIClient::V2::TemporalCloudOpenMetricsIntegrationAccountCreateAttributes.new({ + authentication: DatadogAPIClient::V2::TemporalCloudOpenMetricsIntegrationAccountBearerTokenAuthRequest.new({ + auth_type: DatadogAPIClient::V2::TemporalCloudOpenMetricsIntegrationAccountBearerTokenAuthType::BEARER_TOKEN, + token: "your-token", + }), + name: "temporal-cloud-prod", + settings: DatadogAPIClient::V2::TemporalCloudOpenMetricsIntegrationAccountSettingsRequest.new({ + include_opt_in_labels: false, + namespaces_to_include: "prod-*,billing.a1b2c", + }), + }), + type: DatadogAPIClient::V2::IntegrationAccountType::INTEGRATION_ACCOUNT, + }), +}) +p api_instance.create_temporal_cloud_open_metrics_integration_account(body) diff --git a/examples/v2/temporal-cloud-openmetrics-integration/DeleteTemporalCloudOpenMetricsIntegrationAccount.rb b/examples/v2/temporal-cloud-openmetrics-integration/DeleteTemporalCloudOpenMetricsIntegrationAccount.rb new file mode 100644 index 000000000000..9f2781e6816a --- /dev/null +++ b/examples/v2/temporal-cloud-openmetrics-integration/DeleteTemporalCloudOpenMetricsIntegrationAccount.rb @@ -0,0 +1,9 @@ +# Delete a Temporal Cloud OpenMetrics account returns "OK" response + +require "datadog_api_client" +DatadogAPIClient.configure do |config| + config.access_token = ENV["DD_BEARER_TOKEN"] + config.unstable_operations["v2.delete_temporal_cloud_open_metrics_integration_account".to_sym] = true +end +api_instance = DatadogAPIClient::V2::TemporalCloudOpenMetricsIntegrationAPI.new +p api_instance.delete_temporal_cloud_open_metrics_integration_account("account_id") diff --git a/examples/v2/temporal-cloud-openmetrics-integration/GetTemporalCloudOpenMetricsIntegrationAccount.rb b/examples/v2/temporal-cloud-openmetrics-integration/GetTemporalCloudOpenMetricsIntegrationAccount.rb new file mode 100644 index 000000000000..0a0e33fd53c2 --- /dev/null +++ b/examples/v2/temporal-cloud-openmetrics-integration/GetTemporalCloudOpenMetricsIntegrationAccount.rb @@ -0,0 +1,9 @@ +# Get a Temporal Cloud OpenMetrics account returns "OK" response + +require "datadog_api_client" +DatadogAPIClient.configure do |config| + config.access_token = ENV["DD_BEARER_TOKEN"] + config.unstable_operations["v2.get_temporal_cloud_open_metrics_integration_account".to_sym] = true +end +api_instance = DatadogAPIClient::V2::TemporalCloudOpenMetricsIntegrationAPI.new +p api_instance.get_temporal_cloud_open_metrics_integration_account("account_id") diff --git a/examples/v2/temporal-cloud-openmetrics-integration/ListTemporalCloudOpenMetricsIntegrationAccounts.rb b/examples/v2/temporal-cloud-openmetrics-integration/ListTemporalCloudOpenMetricsIntegrationAccounts.rb new file mode 100644 index 000000000000..5f8e9ff033ea --- /dev/null +++ b/examples/v2/temporal-cloud-openmetrics-integration/ListTemporalCloudOpenMetricsIntegrationAccounts.rb @@ -0,0 +1,9 @@ +# List Temporal Cloud OpenMetrics accounts returns "OK" response + +require "datadog_api_client" +DatadogAPIClient.configure do |config| + config.access_token = ENV["DD_BEARER_TOKEN"] + config.unstable_operations["v2.list_temporal_cloud_open_metrics_integration_accounts".to_sym] = true +end +api_instance = DatadogAPIClient::V2::TemporalCloudOpenMetricsIntegrationAPI.new +p api_instance.list_temporal_cloud_open_metrics_integration_accounts() diff --git a/examples/v2/temporal-cloud-openmetrics-integration/UpdateTemporalCloudOpenMetricsIntegrationAccount.rb b/examples/v2/temporal-cloud-openmetrics-integration/UpdateTemporalCloudOpenMetricsIntegrationAccount.rb new file mode 100644 index 000000000000..1902a532c5c2 --- /dev/null +++ b/examples/v2/temporal-cloud-openmetrics-integration/UpdateTemporalCloudOpenMetricsIntegrationAccount.rb @@ -0,0 +1,27 @@ +# Update a Temporal Cloud OpenMetrics account returns "OK" response + +require "datadog_api_client" +DatadogAPIClient.configure do |config| + config.access_token = ENV["DD_BEARER_TOKEN"] + config.unstable_operations["v2.update_temporal_cloud_open_metrics_integration_account".to_sym] = true +end +api_instance = DatadogAPIClient::V2::TemporalCloudOpenMetricsIntegrationAPI.new + +body = DatadogAPIClient::V2::TemporalCloudOpenMetricsIntegrationAccountUpdateRequest.new({ + data: DatadogAPIClient::V2::TemporalCloudOpenMetricsIntegrationAccountUpdateData.new({ + attributes: DatadogAPIClient::V2::TemporalCloudOpenMetricsIntegrationAccountUpdateAttributes.new({ + authentication: DatadogAPIClient::V2::TemporalCloudOpenMetricsIntegrationAccountBearerTokenAuthUpdate.new({ + auth_type: DatadogAPIClient::V2::TemporalCloudOpenMetricsIntegrationAccountBearerTokenAuthType::BEARER_TOKEN, + token: "your-token", + }), + name: "temporal-cloud-prod", + settings: DatadogAPIClient::V2::TemporalCloudOpenMetricsIntegrationAccountSettingsUpdate.new({ + include_opt_in_labels: false, + namespaces_to_include: "prod-*,billing.a1b2c", + }), + }), + id: "7c2d4e91-5a3b-4f68-b0e2-9d1f6a8c3e57", + type: DatadogAPIClient::V2::IntegrationAccountType::INTEGRATION_ACCOUNT, + }), +}) +p api_instance.update_temporal_cloud_open_metrics_integration_account("account_id", body) diff --git a/features/scenarios_model_mapping.rb b/features/scenarios_model_mapping.rb index 29634ac78665..d0762f2b788f 100644 --- a/features/scenarios_model_mapping.rb +++ b/features/scenarios_model_mapping.rb @@ -4465,6 +4465,19 @@ "account_id" => "String", "body" => "SnowflakeIntegrationAccountUpdateRequest", }, + "v2.CreateTemporalCloudOpenMetricsIntegrationAccount" => { + "body" => "TemporalCloudOpenMetricsIntegrationAccountCreateRequest", + }, + "v2.DeleteTemporalCloudOpenMetricsIntegrationAccount" => { + "account_id" => "String", + }, + "v2.GetTemporalCloudOpenMetricsIntegrationAccount" => { + "account_id" => "String", + }, + "v2.UpdateTemporalCloudOpenMetricsIntegrationAccount" => { + "account_id" => "String", + "body" => "TemporalCloudOpenMetricsIntegrationAccountUpdateRequest", + }, "v2.CreateTwilioIntegrationAccount" => { "body" => "TwilioIntegrationAccountCreateRequest", }, diff --git a/features/v2/temporal_cloud_openmetrics_integration.feature b/features/v2/temporal_cloud_openmetrics_integration.feature new file mode 100644 index 000000000000..a3f062edc0ff --- /dev/null +++ b/features/v2/temporal_cloud_openmetrics_integration.feature @@ -0,0 +1,149 @@ +@endpoint(temporal-cloud-openmetrics-integration) @endpoint(temporal-cloud-openmetrics-integration-v2) +Feature: Temporal Cloud OpenMetrics Integration + Manage your Datadog Temporal Cloud OpenMetrics integration accounts and + account resources directly through the Datadog API. See the [Temporal + Cloud OpenMetrics integration + page](https://docs.datadoghq.com/integrations/temporal-cloud-openmetrics/) + for more information. + + Background: + Given a valid "apiKeyAuth" key in the system + And a valid "appKeyAuth" key in the system + And an instance of "TemporalCloudOpenMetricsIntegration" API + + @generated @skip @team:ddoghq/saas-integrations + Scenario: Create a Temporal Cloud OpenMetrics account returns "Bad Request" response + Given operation "CreateTemporalCloudOpenMetricsIntegrationAccount" enabled + And new "CreateTemporalCloudOpenMetricsIntegrationAccount" request + And body with value {"data": {"attributes": {"authentication": {"auth_type": "bearer_token", "token": "your-token"}, "name": "temporal-cloud-prod", "settings": {"include_opt_in_labels": false, "namespaces_to_include": "prod-*,billing.a1b2c"}}, "type": "integration-account"}} + When the request is sent + Then the response status is 400 Bad Request + + @generated @skip @team:ddoghq/saas-integrations + Scenario: Create a Temporal Cloud OpenMetrics account returns "Created" response + Given operation "CreateTemporalCloudOpenMetricsIntegrationAccount" enabled + And new "CreateTemporalCloudOpenMetricsIntegrationAccount" request + And body with value {"data": {"attributes": {"authentication": {"auth_type": "bearer_token", "token": "your-token"}, "name": "temporal-cloud-prod", "settings": {"include_opt_in_labels": false, "namespaces_to_include": "prod-*,billing.a1b2c"}}, "type": "integration-account"}} + When the request is sent + Then the response status is 201 Created + + @generated @skip @team:ddoghq/saas-integrations + Scenario: Create a Temporal Cloud OpenMetrics account returns "Not Found" response + Given operation "CreateTemporalCloudOpenMetricsIntegrationAccount" enabled + And new "CreateTemporalCloudOpenMetricsIntegrationAccount" request + And body with value {"data": {"attributes": {"authentication": {"auth_type": "bearer_token", "token": "your-token"}, "name": "temporal-cloud-prod", "settings": {"include_opt_in_labels": false, "namespaces_to_include": "prod-*,billing.a1b2c"}}, "type": "integration-account"}} + When the request is sent + Then the response status is 404 Not Found + + @generated @skip @team:ddoghq/saas-integrations + Scenario: Create a Temporal Cloud OpenMetrics account returns "The server cannot process the request because it contains invalid data." response + Given operation "CreateTemporalCloudOpenMetricsIntegrationAccount" enabled + And new "CreateTemporalCloudOpenMetricsIntegrationAccount" request + And body with value {"data": {"attributes": {"authentication": {"auth_type": "bearer_token", "token": "your-token"}, "name": "temporal-cloud-prod", "settings": {"include_opt_in_labels": false, "namespaces_to_include": "prod-*,billing.a1b2c"}}, "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:ddoghq/saas-integrations + Scenario: Delete a Temporal Cloud OpenMetrics account returns "Bad Request" response + Given operation "DeleteTemporalCloudOpenMetricsIntegrationAccount" enabled + And new "DeleteTemporalCloudOpenMetricsIntegrationAccount" 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:ddoghq/saas-integrations + Scenario: Delete a Temporal Cloud OpenMetrics account returns "Not Found" response + Given operation "DeleteTemporalCloudOpenMetricsIntegrationAccount" enabled + And new "DeleteTemporalCloudOpenMetricsIntegrationAccount" 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:ddoghq/saas-integrations + Scenario: Delete a Temporal Cloud OpenMetrics account returns "OK" response + Given operation "DeleteTemporalCloudOpenMetricsIntegrationAccount" enabled + And new "DeleteTemporalCloudOpenMetricsIntegrationAccount" 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:ddoghq/saas-integrations + Scenario: Get a Temporal Cloud OpenMetrics account returns "Bad Request" response + Given operation "GetTemporalCloudOpenMetricsIntegrationAccount" enabled + And new "GetTemporalCloudOpenMetricsIntegrationAccount" 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:ddoghq/saas-integrations + Scenario: Get a Temporal Cloud OpenMetrics account returns "Not Found" response + Given operation "GetTemporalCloudOpenMetricsIntegrationAccount" enabled + And new "GetTemporalCloudOpenMetricsIntegrationAccount" 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:ddoghq/saas-integrations + Scenario: Get a Temporal Cloud OpenMetrics account returns "OK" response + Given operation "GetTemporalCloudOpenMetricsIntegrationAccount" enabled + And new "GetTemporalCloudOpenMetricsIntegrationAccount" 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:ddoghq/saas-integrations + Scenario: List Temporal Cloud OpenMetrics accounts returns "Bad Request" response + Given operation "ListTemporalCloudOpenMetricsIntegrationAccounts" enabled + And new "ListTemporalCloudOpenMetricsIntegrationAccounts" request + When the request is sent + Then the response status is 400 Bad Request + + @generated @skip @team:ddoghq/saas-integrations + Scenario: List Temporal Cloud OpenMetrics accounts returns "Not Found" response + Given operation "ListTemporalCloudOpenMetricsIntegrationAccounts" enabled + And new "ListTemporalCloudOpenMetricsIntegrationAccounts" request + When the request is sent + Then the response status is 404 Not Found + + @generated @skip @team:ddoghq/saas-integrations + Scenario: List Temporal Cloud OpenMetrics accounts returns "OK" response + Given operation "ListTemporalCloudOpenMetricsIntegrationAccounts" enabled + And new "ListTemporalCloudOpenMetricsIntegrationAccounts" request + When the request is sent + Then the response status is 200 OK + + @generated @skip @team:ddoghq/saas-integrations + Scenario: Update a Temporal Cloud OpenMetrics account returns "Bad Request" response + Given operation "UpdateTemporalCloudOpenMetricsIntegrationAccount" enabled + And new "UpdateTemporalCloudOpenMetricsIntegrationAccount" request + And request contains "account_id" parameter from "REPLACE.ME" + And body with value {"data": {"attributes": {"authentication": {"auth_type": "bearer_token", "token": "your-token"}, "name": "temporal-cloud-prod", "settings": {"include_opt_in_labels": false, "namespaces_to_include": "prod-*,billing.a1b2c"}}, "id": "7c2d4e91-5a3b-4f68-b0e2-9d1f6a8c3e57", "type": "integration-account"}} + When the request is sent + Then the response status is 400 Bad Request + + @generated @skip @team:ddoghq/saas-integrations + Scenario: Update a Temporal Cloud OpenMetrics account returns "Not Found" response + Given operation "UpdateTemporalCloudOpenMetricsIntegrationAccount" enabled + And new "UpdateTemporalCloudOpenMetricsIntegrationAccount" request + And request contains "account_id" parameter from "REPLACE.ME" + And body with value {"data": {"attributes": {"authentication": {"auth_type": "bearer_token", "token": "your-token"}, "name": "temporal-cloud-prod", "settings": {"include_opt_in_labels": false, "namespaces_to_include": "prod-*,billing.a1b2c"}}, "id": "7c2d4e91-5a3b-4f68-b0e2-9d1f6a8c3e57", "type": "integration-account"}} + When the request is sent + Then the response status is 404 Not Found + + @generated @skip @team:ddoghq/saas-integrations + Scenario: Update a Temporal Cloud OpenMetrics account returns "OK" response + Given operation "UpdateTemporalCloudOpenMetricsIntegrationAccount" enabled + And new "UpdateTemporalCloudOpenMetricsIntegrationAccount" request + And request contains "account_id" parameter from "REPLACE.ME" + And body with value {"data": {"attributes": {"authentication": {"auth_type": "bearer_token", "token": "your-token"}, "name": "temporal-cloud-prod", "settings": {"include_opt_in_labels": false, "namespaces_to_include": "prod-*,billing.a1b2c"}}, "id": "7c2d4e91-5a3b-4f68-b0e2-9d1f6a8c3e57", "type": "integration-account"}} + When the request is sent + Then the response status is 200 OK + + @generated @skip @team:ddoghq/saas-integrations + Scenario: Update a Temporal Cloud OpenMetrics account returns "The server cannot process the request because it contains invalid data." response + Given operation "UpdateTemporalCloudOpenMetricsIntegrationAccount" enabled + And new "UpdateTemporalCloudOpenMetricsIntegrationAccount" request + And request contains "account_id" parameter from "REPLACE.ME" + And body with value {"data": {"attributes": {"authentication": {"auth_type": "bearer_token", "token": "your-token"}, "name": "temporal-cloud-prod", "settings": {"include_opt_in_labels": false, "namespaces_to_include": "prod-*,billing.a1b2c"}}, "id": "7c2d4e91-5a3b-4f68-b0e2-9d1f6a8c3e57", "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/features/v2/undo.json b/features/v2/undo.json index 71f452ee1186..bfe1be017af6 100644 --- a/features/v2/undo.json +++ b/features/v2/undo.json @@ -4257,6 +4257,43 @@ "type": "idempotent" } }, + "ListTemporalCloudOpenMetricsIntegrationAccounts": { + "tag": "Temporal Cloud OpenMetrics Integration", + "undo": { + "type": "safe" + } + }, + "CreateTemporalCloudOpenMetricsIntegrationAccount": { + "tag": "Temporal Cloud OpenMetrics Integration", + "undo": { + "operationId": "DeleteTemporalCloudOpenMetricsIntegrationAccount", + "parameters": [ + { + "name": "account_id", + "source": "data.id" + } + ], + "type": "unsafe" + } + }, + "DeleteTemporalCloudOpenMetricsIntegrationAccount": { + "tag": "Temporal Cloud OpenMetrics Integration", + "undo": { + "type": "idempotent" + } + }, + "GetTemporalCloudOpenMetricsIntegrationAccount": { + "tag": "Temporal Cloud OpenMetrics Integration", + "undo": { + "type": "safe" + } + }, + "UpdateTemporalCloudOpenMetricsIntegrationAccount": { + "tag": "Temporal Cloud OpenMetrics Integration", + "undo": { + "type": "idempotent" + } + }, "ListTwilioIntegrationAccounts": { "tag": "Twilio Integration", "undo": { diff --git a/lib/datadog_api_client/configuration.rb b/lib/datadog_api_client/configuration.rb index dc11aecae1dd..9bab3a7a59d9 100644 --- a/lib/datadog_api_client/configuration.rb +++ b/lib/datadog_api_client/configuration.rb @@ -632,6 +632,11 @@ def initialize "v2.get_snowflake_integration_account": false, "v2.list_snowflake_integration_accounts": false, "v2.update_snowflake_integration_account": false, + "v2.create_temporal_cloud_open_metrics_integration_account": false, + "v2.delete_temporal_cloud_open_metrics_integration_account": false, + "v2.get_temporal_cloud_open_metrics_integration_account": false, + "v2.list_temporal_cloud_open_metrics_integration_accounts": false, + "v2.update_temporal_cloud_open_metrics_integration_account": false, "v2.create_twilio_integration_account": false, "v2.delete_twilio_integration_account": false, "v2.get_twilio_integration_account": false, diff --git a/lib/datadog_api_client/inflector.rb b/lib/datadog_api_client/inflector.rb index 04fa388f4dce..25771fc2dc33 100644 --- a/lib/datadog_api_client/inflector.rb +++ b/lib/datadog_api_client/inflector.rb @@ -9087,6 +9087,28 @@ def overrides "v2.team_update_attributes" => "TeamUpdateAttributes", "v2.team_update_relationships" => "TeamUpdateRelationships", "v2.team_update_request" => "TeamUpdateRequest", + "v2.temporal_cloud_open_metrics_integration_account_authentication_request" => "TemporalCloudOpenMetricsIntegrationAccountAuthenticationRequest", + "v2.temporal_cloud_open_metrics_integration_account_authentication_response" => "TemporalCloudOpenMetricsIntegrationAccountAuthenticationResponse", + "v2.temporal_cloud_open_metrics_integration_account_authentication_update" => "TemporalCloudOpenMetricsIntegrationAccountAuthenticationUpdate", + "v2.temporal_cloud_open_metrics_integration_account_bearer_token_auth_request" => "TemporalCloudOpenMetricsIntegrationAccountBearerTokenAuthRequest", + "v2.temporal_cloud_open_metrics_integration_account_bearer_token_auth_response" => "TemporalCloudOpenMetricsIntegrationAccountBearerTokenAuthResponse", + "v2.temporal_cloud_open_metrics_integration_account_bearer_token_auth_type" => "TemporalCloudOpenMetricsIntegrationAccountBearerTokenAuthType", + "v2.temporal_cloud_open_metrics_integration_account_bearer_token_auth_update" => "TemporalCloudOpenMetricsIntegrationAccountBearerTokenAuthUpdate", + "v2.temporal_cloud_open_metrics_integration_account_create_attributes" => "TemporalCloudOpenMetricsIntegrationAccountCreateAttributes", + "v2.temporal_cloud_open_metrics_integration_account_create_data" => "TemporalCloudOpenMetricsIntegrationAccountCreateData", + "v2.temporal_cloud_open_metrics_integration_account_create_request" => "TemporalCloudOpenMetricsIntegrationAccountCreateRequest", + "v2.temporal_cloud_open_metrics_integration_account_response" => "TemporalCloudOpenMetricsIntegrationAccountResponse", + "v2.temporal_cloud_open_metrics_integration_account_response_attributes" => "TemporalCloudOpenMetricsIntegrationAccountResponseAttributes", + "v2.temporal_cloud_open_metrics_integration_account_response_data" => "TemporalCloudOpenMetricsIntegrationAccountResponseData", + "v2.temporal_cloud_open_metrics_integration_account_settings_request" => "TemporalCloudOpenMetricsIntegrationAccountSettingsRequest", + "v2.temporal_cloud_open_metrics_integration_account_settings_response" => "TemporalCloudOpenMetricsIntegrationAccountSettingsResponse", + "v2.temporal_cloud_open_metrics_integration_account_settings_update" => "TemporalCloudOpenMetricsIntegrationAccountSettingsUpdate", + "v2.temporal_cloud_open_metrics_integration_accounts_response" => "TemporalCloudOpenMetricsIntegrationAccountsResponse", + "v2.temporal_cloud_open_metrics_integration_account_update_attributes" => "TemporalCloudOpenMetricsIntegrationAccountUpdateAttributes", + "v2.temporal_cloud_open_metrics_integration_account_update_data" => "TemporalCloudOpenMetricsIntegrationAccountUpdateData", + "v2.temporal_cloud_open_metrics_integration_account_update_request" => "TemporalCloudOpenMetricsIntegrationAccountUpdateRequest", + "v2.temporal_cloud_open_metrics_integration_dataflows_response" => "TemporalCloudOpenMetricsIntegrationDataflowsResponse", + "v2.temporal_cloud_open_metrics_metrics_integration_dataflow_response" => "TemporalCloudOpenMetricsMetricsIntegrationDataflowResponse", "v2.tenancy_config" => "TenancyConfig", "v2.tenancy_config_data" => "TenancyConfigData", "v2.tenancy_config_data_attributes" => "TenancyConfigDataAttributes", @@ -9834,6 +9856,7 @@ def overrides "v2.synthetics_api" => "SyntheticsAPI", "v2.tag_rules_api" => "TagRulesAPI", "v2.teams_api" => "TeamsAPI", + "v2.temporal_cloud_open_metrics_integration_api" => "TemporalCloudOpenMetricsIntegrationAPI", "v2.test_optimization_api" => "TestOptimizationAPI", "v2.threat_intelligence_api" => "ThreatIntelligenceAPI", "v2.timeseries_anomaly_investigations_api" => "TimeseriesAnomalyInvestigationsAPI", diff --git a/lib/datadog_api_client/v2/api/temporal_cloud_open_metrics_integration_api.rb b/lib/datadog_api_client/v2/api/temporal_cloud_open_metrics_integration_api.rb new file mode 100644 index 000000000000..5b0bf0cacbda --- /dev/null +++ b/lib/datadog_api_client/v2/api/temporal_cloud_open_metrics_integration_api.rb @@ -0,0 +1,385 @@ +=begin +#Datadog API V2 Collection + +#Collection of all Datadog Public endpoints. + +The version of the OpenAPI document: 1.0 +Contact: support@datadoghq.com +Generated by: https://github.com/DataDog/datadog-api-client-ruby/tree/master/.generator + + 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 2020-Present Datadog, Inc. + +=end + +require 'cgi' + +module DatadogAPIClient::V2 + class TemporalCloudOpenMetricsIntegrationAPI + attr_accessor :api_client + + def initialize(api_client = DatadogAPIClient::APIClient.default) + @api_client = api_client + end + + # Create a Temporal Cloud OpenMetrics account. + # + # @see #create_temporal_cloud_open_metrics_integration_account_with_http_info + def create_temporal_cloud_open_metrics_integration_account(body, opts = {}) + data, _status_code, _headers = create_temporal_cloud_open_metrics_integration_account_with_http_info(body, opts) + data + end + + # Create a Temporal Cloud OpenMetrics account. + # + # Create a Temporal Cloud OpenMetrics integration account. + # + # @param body [TemporalCloudOpenMetricsIntegrationAccountCreateRequest] + # @param opts [Hash] the optional parameters + # @return [Array<(TemporalCloudOpenMetricsIntegrationAccountResponse, Integer, Hash)>] TemporalCloudOpenMetricsIntegrationAccountResponse data, response status code and response headers + def create_temporal_cloud_open_metrics_integration_account_with_http_info(body, opts = {}) + unstable_enabled = @api_client.config.unstable_operations["v2.create_temporal_cloud_open_metrics_integration_account".to_sym] + if unstable_enabled + @api_client.config.logger.warn format("Using unstable operation '%s'", "v2.create_temporal_cloud_open_metrics_integration_account") + else + raise DatadogAPIClient::APIError.new(message: format("Unstable operation '%s' is disabled", "v2.create_temporal_cloud_open_metrics_integration_account")) + end + + if @api_client.config.debugging + @api_client.config.logger.debug 'Calling API: TemporalCloudOpenMetricsIntegrationAPI.create_temporal_cloud_open_metrics_integration_account ...' + end + # verify the required parameter 'body' is set + if @api_client.config.client_side_validation && body.nil? + fail ArgumentError, "Missing the required parameter 'body' when calling TemporalCloudOpenMetricsIntegrationAPI.create_temporal_cloud_open_metrics_integration_account" + end + # resource path + local_var_path = '/api/v2/integration-interfaces/temporal-cloud-openmetrics/accounts' + + # query parameters + query_params = opts[:query_params] || {} + + # header parameters + header_params = opts[:header_params] || {} + # HTTP header 'Accept' (if needed) + header_params['Accept'] = @api_client.select_header_accept(['application/json']) + # HTTP header 'Content-Type' + header_params['Content-Type'] = @api_client.select_header_content_type(['application/json']) + + # form parameters + form_params = opts[:form_params] || {} + + # http body (model) + post_body = opts[:debug_body] || @api_client.object_to_http_body(body) + + # return_type + return_type = opts[:debug_return_type] || 'TemporalCloudOpenMetricsIntegrationAccountResponse' + + # auth_names + auth_names = opts[:debug_auth_names] || [:apiKeyAuth, :appKeyAuth, :AuthZ] + + new_options = opts.merge( + :operation => :create_temporal_cloud_open_metrics_integration_account, + :header_params => header_params, + :query_params => query_params, + :form_params => form_params, + :body => post_body, + :auth_names => auth_names, + :return_type => return_type, + :api_version => "V2" + ) + + data, status_code, headers = @api_client.call_api(Net::HTTP::Post, local_var_path, new_options) + if @api_client.config.debugging + @api_client.config.logger.debug "API called: TemporalCloudOpenMetricsIntegrationAPI#create_temporal_cloud_open_metrics_integration_account\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}" + end + return data, status_code, headers + end + + # Delete a Temporal Cloud OpenMetrics account. + # + # @see #delete_temporal_cloud_open_metrics_integration_account_with_http_info + def delete_temporal_cloud_open_metrics_integration_account(account_id, opts = {}) + delete_temporal_cloud_open_metrics_integration_account_with_http_info(account_id, opts) + nil + end + + # Delete a Temporal Cloud OpenMetrics account. + # + # Delete a Temporal Cloud OpenMetrics integration account. + # + # @param account_id [String] Unique identifier of the integration account. + # @param opts [Hash] the optional parameters + # @return [Array<(nil, Integer, Hash)>] nil, response status code and response headers + def delete_temporal_cloud_open_metrics_integration_account_with_http_info(account_id, opts = {}) + unstable_enabled = @api_client.config.unstable_operations["v2.delete_temporal_cloud_open_metrics_integration_account".to_sym] + if unstable_enabled + @api_client.config.logger.warn format("Using unstable operation '%s'", "v2.delete_temporal_cloud_open_metrics_integration_account") + else + raise DatadogAPIClient::APIError.new(message: format("Unstable operation '%s' is disabled", "v2.delete_temporal_cloud_open_metrics_integration_account")) + end + + if @api_client.config.debugging + @api_client.config.logger.debug 'Calling API: TemporalCloudOpenMetricsIntegrationAPI.delete_temporal_cloud_open_metrics_integration_account ...' + end + # verify the required parameter 'account_id' is set + if @api_client.config.client_side_validation && account_id.nil? + fail ArgumentError, "Missing the required parameter 'account_id' when calling TemporalCloudOpenMetricsIntegrationAPI.delete_temporal_cloud_open_metrics_integration_account" + end + # resource path + local_var_path = '/api/v2/integration-interfaces/temporal-cloud-openmetrics/accounts/{account_id}'.sub('{account_id}', CGI.escape(account_id.to_s).gsub('%2F', '/')) + + # query parameters + query_params = opts[:query_params] || {} + + # header parameters + header_params = opts[:header_params] || {} + # HTTP header 'Accept' (if needed) + header_params['Accept'] = @api_client.select_header_accept(['*/*']) + + # form parameters + form_params = opts[:form_params] || {} + + # http body (model) + post_body = opts[:debug_body] + + # return_type + return_type = opts[:debug_return_type] + + # auth_names + auth_names = opts[:debug_auth_names] || [:apiKeyAuth, :appKeyAuth, :AuthZ] + + new_options = opts.merge( + :operation => :delete_temporal_cloud_open_metrics_integration_account, + :header_params => header_params, + :query_params => query_params, + :form_params => form_params, + :body => post_body, + :auth_names => auth_names, + :return_type => return_type, + :api_version => "V2" + ) + + data, status_code, headers = @api_client.call_api(Net::HTTP::Delete, local_var_path, new_options) + if @api_client.config.debugging + @api_client.config.logger.debug "API called: TemporalCloudOpenMetricsIntegrationAPI#delete_temporal_cloud_open_metrics_integration_account\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}" + end + return data, status_code, headers + end + + # Get a Temporal Cloud OpenMetrics account. + # + # @see #get_temporal_cloud_open_metrics_integration_account_with_http_info + def get_temporal_cloud_open_metrics_integration_account(account_id, opts = {}) + data, _status_code, _headers = get_temporal_cloud_open_metrics_integration_account_with_http_info(account_id, opts) + data + end + + # Get a Temporal Cloud OpenMetrics account. + # + # Get a Temporal Cloud OpenMetrics integration account. + # + # @param account_id [String] Unique identifier of the integration account. + # @param opts [Hash] the optional parameters + # @return [Array<(TemporalCloudOpenMetricsIntegrationAccountResponse, Integer, Hash)>] TemporalCloudOpenMetricsIntegrationAccountResponse data, response status code and response headers + def get_temporal_cloud_open_metrics_integration_account_with_http_info(account_id, opts = {}) + unstable_enabled = @api_client.config.unstable_operations["v2.get_temporal_cloud_open_metrics_integration_account".to_sym] + if unstable_enabled + @api_client.config.logger.warn format("Using unstable operation '%s'", "v2.get_temporal_cloud_open_metrics_integration_account") + else + raise DatadogAPIClient::APIError.new(message: format("Unstable operation '%s' is disabled", "v2.get_temporal_cloud_open_metrics_integration_account")) + end + + if @api_client.config.debugging + @api_client.config.logger.debug 'Calling API: TemporalCloudOpenMetricsIntegrationAPI.get_temporal_cloud_open_metrics_integration_account ...' + end + # verify the required parameter 'account_id' is set + if @api_client.config.client_side_validation && account_id.nil? + fail ArgumentError, "Missing the required parameter 'account_id' when calling TemporalCloudOpenMetricsIntegrationAPI.get_temporal_cloud_open_metrics_integration_account" + end + # resource path + local_var_path = '/api/v2/integration-interfaces/temporal-cloud-openmetrics/accounts/{account_id}'.sub('{account_id}', CGI.escape(account_id.to_s).gsub('%2F', '/')) + + # query parameters + query_params = opts[:query_params] || {} + + # header parameters + header_params = opts[:header_params] || {} + # HTTP header 'Accept' (if needed) + header_params['Accept'] = @api_client.select_header_accept(['application/json']) + + # form parameters + form_params = opts[:form_params] || {} + + # http body (model) + post_body = opts[:debug_body] + + # return_type + return_type = opts[:debug_return_type] || 'TemporalCloudOpenMetricsIntegrationAccountResponse' + + # auth_names + auth_names = opts[:debug_auth_names] || [:apiKeyAuth, :appKeyAuth, :AuthZ] + + new_options = opts.merge( + :operation => :get_temporal_cloud_open_metrics_integration_account, + :header_params => header_params, + :query_params => query_params, + :form_params => form_params, + :body => post_body, + :auth_names => auth_names, + :return_type => return_type, + :api_version => "V2" + ) + + data, status_code, headers = @api_client.call_api(Net::HTTP::Get, local_var_path, new_options) + if @api_client.config.debugging + @api_client.config.logger.debug "API called: TemporalCloudOpenMetricsIntegrationAPI#get_temporal_cloud_open_metrics_integration_account\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}" + end + return data, status_code, headers + end + + # List Temporal Cloud OpenMetrics accounts. + # + # @see #list_temporal_cloud_open_metrics_integration_accounts_with_http_info + def list_temporal_cloud_open_metrics_integration_accounts(opts = {}) + data, _status_code, _headers = list_temporal_cloud_open_metrics_integration_accounts_with_http_info(opts) + data + end + + # List Temporal Cloud OpenMetrics accounts. + # + # List Temporal Cloud OpenMetrics integration accounts. + # + # @param opts [Hash] the optional parameters + # @return [Array<(TemporalCloudOpenMetricsIntegrationAccountsResponse, Integer, Hash)>] TemporalCloudOpenMetricsIntegrationAccountsResponse data, response status code and response headers + def list_temporal_cloud_open_metrics_integration_accounts_with_http_info(opts = {}) + unstable_enabled = @api_client.config.unstable_operations["v2.list_temporal_cloud_open_metrics_integration_accounts".to_sym] + if unstable_enabled + @api_client.config.logger.warn format("Using unstable operation '%s'", "v2.list_temporal_cloud_open_metrics_integration_accounts") + else + raise DatadogAPIClient::APIError.new(message: format("Unstable operation '%s' is disabled", "v2.list_temporal_cloud_open_metrics_integration_accounts")) + end + + if @api_client.config.debugging + @api_client.config.logger.debug 'Calling API: TemporalCloudOpenMetricsIntegrationAPI.list_temporal_cloud_open_metrics_integration_accounts ...' + end + # resource path + local_var_path = '/api/v2/integration-interfaces/temporal-cloud-openmetrics/accounts' + + # query parameters + query_params = opts[:query_params] || {} + + # header parameters + header_params = opts[:header_params] || {} + # HTTP header 'Accept' (if needed) + header_params['Accept'] = @api_client.select_header_accept(['application/json']) + + # form parameters + form_params = opts[:form_params] || {} + + # http body (model) + post_body = opts[:debug_body] + + # return_type + return_type = opts[:debug_return_type] || 'TemporalCloudOpenMetricsIntegrationAccountsResponse' + + # auth_names + auth_names = opts[:debug_auth_names] || [:apiKeyAuth, :appKeyAuth, :AuthZ] + + new_options = opts.merge( + :operation => :list_temporal_cloud_open_metrics_integration_accounts, + :header_params => header_params, + :query_params => query_params, + :form_params => form_params, + :body => post_body, + :auth_names => auth_names, + :return_type => return_type, + :api_version => "V2" + ) + + data, status_code, headers = @api_client.call_api(Net::HTTP::Get, local_var_path, new_options) + if @api_client.config.debugging + @api_client.config.logger.debug "API called: TemporalCloudOpenMetricsIntegrationAPI#list_temporal_cloud_open_metrics_integration_accounts\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}" + end + return data, status_code, headers + end + + # Update a Temporal Cloud OpenMetrics account. + # + # @see #update_temporal_cloud_open_metrics_integration_account_with_http_info + def update_temporal_cloud_open_metrics_integration_account(account_id, body, opts = {}) + data, _status_code, _headers = update_temporal_cloud_open_metrics_integration_account_with_http_info(account_id, body, opts) + data + end + + # Update a Temporal Cloud OpenMetrics account. + # + # Update a Temporal Cloud OpenMetrics integration account. Only the fields provided are changed. + # + # @param account_id [String] Unique identifier of the integration account. + # @param body [TemporalCloudOpenMetricsIntegrationAccountUpdateRequest] + # @param opts [Hash] the optional parameters + # @return [Array<(TemporalCloudOpenMetricsIntegrationAccountResponse, Integer, Hash)>] TemporalCloudOpenMetricsIntegrationAccountResponse data, response status code and response headers + def update_temporal_cloud_open_metrics_integration_account_with_http_info(account_id, body, opts = {}) + unstable_enabled = @api_client.config.unstable_operations["v2.update_temporal_cloud_open_metrics_integration_account".to_sym] + if unstable_enabled + @api_client.config.logger.warn format("Using unstable operation '%s'", "v2.update_temporal_cloud_open_metrics_integration_account") + else + raise DatadogAPIClient::APIError.new(message: format("Unstable operation '%s' is disabled", "v2.update_temporal_cloud_open_metrics_integration_account")) + end + + if @api_client.config.debugging + @api_client.config.logger.debug 'Calling API: TemporalCloudOpenMetricsIntegrationAPI.update_temporal_cloud_open_metrics_integration_account ...' + end + # verify the required parameter 'account_id' is set + if @api_client.config.client_side_validation && account_id.nil? + fail ArgumentError, "Missing the required parameter 'account_id' when calling TemporalCloudOpenMetricsIntegrationAPI.update_temporal_cloud_open_metrics_integration_account" + end + # verify the required parameter 'body' is set + if @api_client.config.client_side_validation && body.nil? + fail ArgumentError, "Missing the required parameter 'body' when calling TemporalCloudOpenMetricsIntegrationAPI.update_temporal_cloud_open_metrics_integration_account" + end + # resource path + local_var_path = '/api/v2/integration-interfaces/temporal-cloud-openmetrics/accounts/{account_id}'.sub('{account_id}', CGI.escape(account_id.to_s).gsub('%2F', '/')) + + # query parameters + query_params = opts[:query_params] || {} + + # header parameters + header_params = opts[:header_params] || {} + # HTTP header 'Accept' (if needed) + header_params['Accept'] = @api_client.select_header_accept(['application/json']) + # HTTP header 'Content-Type' + header_params['Content-Type'] = @api_client.select_header_content_type(['application/json']) + + # form parameters + form_params = opts[:form_params] || {} + + # http body (model) + post_body = opts[:debug_body] || @api_client.object_to_http_body(body) + + # return_type + return_type = opts[:debug_return_type] || 'TemporalCloudOpenMetricsIntegrationAccountResponse' + + # auth_names + auth_names = opts[:debug_auth_names] || [:apiKeyAuth, :appKeyAuth, :AuthZ] + + new_options = opts.merge( + :operation => :update_temporal_cloud_open_metrics_integration_account, + :header_params => header_params, + :query_params => query_params, + :form_params => form_params, + :body => post_body, + :auth_names => auth_names, + :return_type => return_type, + :api_version => "V2" + ) + + data, status_code, headers = @api_client.call_api(Net::HTTP::Patch, local_var_path, new_options) + if @api_client.config.debugging + @api_client.config.logger.debug "API called: TemporalCloudOpenMetricsIntegrationAPI#update_temporal_cloud_open_metrics_integration_account\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}" + end + return data, status_code, headers + end + end +end diff --git a/lib/datadog_api_client/v2/models/temporal_cloud_open_metrics_integration_account_authentication_request.rb b/lib/datadog_api_client/v2/models/temporal_cloud_open_metrics_integration_account_authentication_request.rb new file mode 100644 index 000000000000..6d998746b5dc --- /dev/null +++ b/lib/datadog_api_client/v2/models/temporal_cloud_open_metrics_integration_account_authentication_request.rb @@ -0,0 +1,62 @@ +=begin +#Datadog API V2 Collection + +#Collection of all Datadog Public endpoints. + +The version of the OpenAPI document: 1.0 +Contact: support@datadoghq.com +Generated by: https://github.com/DataDog/datadog-api-client-ruby/tree/master/.generator + + 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 2020-Present Datadog, Inc. + +=end + +require 'date' +require 'time' + +module DatadogAPIClient::V2 + # Authentication for creating the Temporal Cloud OpenMetrics integration account. Exactly one method is set. + module TemporalCloudOpenMetricsIntegrationAccountAuthenticationRequest + class << self + include BaseOneOfModel + include BaseOneOfModelNoDiscriminator + + # List of class defined in oneOf (OpenAPI v3) + def openapi_one_of + [ + :'TemporalCloudOpenMetricsIntegrationAccountBearerTokenAuthRequest' + ] + end + # Builds the object + # @param data [Mixed] Data to be matched against the list of oneOf items + # @return [Object] Returns the model or the data itself + def build(data) + # Go through the list of oneOf items and attempt to identify the appropriate one. + # Note: + # - We do not attempt to check whether exactly one item matches. + # - No advanced validation of types in some cases (e.g. "x: { type: string }" will happily match { x: 123 }) + # due to the way the deserialization is made in the base_object template (it just casts without verifying). + # - TODO: scalar values are de facto behaving as if they were nullable. + # - TODO: logging when debugging is set. + openapi_one_of.each do |klass| + begin + next if klass == :AnyType # "nullable: true" + typed_data = find_and_cast_into_type(klass, data) + next if typed_data.respond_to?(:_unparsed) && typed_data._unparsed + return typed_data if typed_data + rescue # rescue all errors so we keep iterating even if the current item lookup raises + end + end + + if openapi_one_of.include?(:AnyType) + data + else + self._unparsed = true + DatadogAPIClient::UnparsedObject.new(data) + end + end + end + end +end diff --git a/lib/datadog_api_client/v2/models/temporal_cloud_open_metrics_integration_account_authentication_response.rb b/lib/datadog_api_client/v2/models/temporal_cloud_open_metrics_integration_account_authentication_response.rb new file mode 100644 index 000000000000..84c4947b76b3 --- /dev/null +++ b/lib/datadog_api_client/v2/models/temporal_cloud_open_metrics_integration_account_authentication_response.rb @@ -0,0 +1,62 @@ +=begin +#Datadog API V2 Collection + +#Collection of all Datadog Public endpoints. + +The version of the OpenAPI document: 1.0 +Contact: support@datadoghq.com +Generated by: https://github.com/DataDog/datadog-api-client-ruby/tree/master/.generator + + 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 2020-Present Datadog, Inc. + +=end + +require 'date' +require 'time' + +module DatadogAPIClient::V2 + # Authentication configured on the Temporal Cloud OpenMetrics integration account. + module TemporalCloudOpenMetricsIntegrationAccountAuthenticationResponse + class << self + include BaseOneOfModel + include BaseOneOfModelNoDiscriminator + + # List of class defined in oneOf (OpenAPI v3) + def openapi_one_of + [ + :'TemporalCloudOpenMetricsIntegrationAccountBearerTokenAuthResponse' + ] + end + # Builds the object + # @param data [Mixed] Data to be matched against the list of oneOf items + # @return [Object] Returns the model or the data itself + def build(data) + # Go through the list of oneOf items and attempt to identify the appropriate one. + # Note: + # - We do not attempt to check whether exactly one item matches. + # - No advanced validation of types in some cases (e.g. "x: { type: string }" will happily match { x: 123 }) + # due to the way the deserialization is made in the base_object template (it just casts without verifying). + # - TODO: scalar values are de facto behaving as if they were nullable. + # - TODO: logging when debugging is set. + openapi_one_of.each do |klass| + begin + next if klass == :AnyType # "nullable: true" + typed_data = find_and_cast_into_type(klass, data) + next if typed_data.respond_to?(:_unparsed) && typed_data._unparsed + return typed_data if typed_data + rescue # rescue all errors so we keep iterating even if the current item lookup raises + end + end + + if openapi_one_of.include?(:AnyType) + data + else + self._unparsed = true + DatadogAPIClient::UnparsedObject.new(data) + end + end + end + end +end diff --git a/lib/datadog_api_client/v2/models/temporal_cloud_open_metrics_integration_account_authentication_update.rb b/lib/datadog_api_client/v2/models/temporal_cloud_open_metrics_integration_account_authentication_update.rb new file mode 100644 index 000000000000..d87293c7d4b0 --- /dev/null +++ b/lib/datadog_api_client/v2/models/temporal_cloud_open_metrics_integration_account_authentication_update.rb @@ -0,0 +1,62 @@ +=begin +#Datadog API V2 Collection + +#Collection of all Datadog Public endpoints. + +The version of the OpenAPI document: 1.0 +Contact: support@datadoghq.com +Generated by: https://github.com/DataDog/datadog-api-client-ruby/tree/master/.generator + + 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 2020-Present Datadog, Inc. + +=end + +require 'date' +require 'time' + +module DatadogAPIClient::V2 + # Authentication for updating the Temporal Cloud OpenMetrics integration account. Exactly one method is set. + module TemporalCloudOpenMetricsIntegrationAccountAuthenticationUpdate + class << self + include BaseOneOfModel + include BaseOneOfModelNoDiscriminator + + # List of class defined in oneOf (OpenAPI v3) + def openapi_one_of + [ + :'TemporalCloudOpenMetricsIntegrationAccountBearerTokenAuthUpdate' + ] + end + # Builds the object + # @param data [Mixed] Data to be matched against the list of oneOf items + # @return [Object] Returns the model or the data itself + def build(data) + # Go through the list of oneOf items and attempt to identify the appropriate one. + # Note: + # - We do not attempt to check whether exactly one item matches. + # - No advanced validation of types in some cases (e.g. "x: { type: string }" will happily match { x: 123 }) + # due to the way the deserialization is made in the base_object template (it just casts without verifying). + # - TODO: scalar values are de facto behaving as if they were nullable. + # - TODO: logging when debugging is set. + openapi_one_of.each do |klass| + begin + next if klass == :AnyType # "nullable: true" + typed_data = find_and_cast_into_type(klass, data) + next if typed_data.respond_to?(:_unparsed) && typed_data._unparsed + return typed_data if typed_data + rescue # rescue all errors so we keep iterating even if the current item lookup raises + end + end + + if openapi_one_of.include?(:AnyType) + data + else + self._unparsed = true + DatadogAPIClient::UnparsedObject.new(data) + end + end + end + end +end diff --git a/lib/datadog_api_client/v2/models/temporal_cloud_open_metrics_integration_account_bearer_token_auth_request.rb b/lib/datadog_api_client/v2/models/temporal_cloud_open_metrics_integration_account_bearer_token_auth_request.rb new file mode 100644 index 000000000000..f1791e9b5ec6 --- /dev/null +++ b/lib/datadog_api_client/v2/models/temporal_cloud_open_metrics_integration_account_bearer_token_auth_request.rb @@ -0,0 +1,119 @@ +=begin +#Datadog API V2 Collection + +#Collection of all Datadog Public endpoints. + +The version of the OpenAPI document: 1.0 +Contact: support@datadoghq.com +Generated by: https://github.com/DataDog/datadog-api-client-ruby/tree/master/.generator + + 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 2020-Present Datadog, Inc. + +=end + +require 'date' +require 'time' + +module DatadogAPIClient::V2 + # Bearer token authentication. Use the API key of a Temporal Cloud service account with the Metrics Read-Only account-level role. + class TemporalCloudOpenMetricsIntegrationAccountBearerTokenAuthRequest + include BaseGenericModel + + # The authentication method type. + attr_reader :auth_type + + # Secret token used to authenticate with Temporal Cloud. + attr_reader :token + + # Attribute mapping from ruby-style variable name to JSON key. + # @!visibility private + def self.attribute_map + { + :'auth_type' => :'auth_type', + :'token' => :'token' + } + end + + # Attribute type mapping. + # @!visibility private + def self.openapi_types + { + :'auth_type' => :'TemporalCloudOpenMetricsIntegrationAccountBearerTokenAuthType', + :'token' => :'String' + } + end + + # Initializes the object + # @param attributes [Hash] Model attributes in the form of hash + # @!visibility private + def initialize(attributes = {}) + if (!attributes.is_a?(Hash)) + fail ArgumentError, "The input argument (attributes) must be a hash in `DatadogAPIClient::V2::TemporalCloudOpenMetricsIntegrationAccountBearerTokenAuthRequest` initialize method" + end + + # check to see if the attribute exists and convert string to symbol for hash key + attributes = attributes.each_with_object({}) { |(k, v), h| + if (!self.class.attribute_map.key?(k.to_sym)) + fail ArgumentError, "`#{k}` is not a valid attribute in `DatadogAPIClient::V2::TemporalCloudOpenMetricsIntegrationAccountBearerTokenAuthRequest`. Please check the name to make sure it's valid. List of attributes: " + self.class.attribute_map.keys.inspect + end + h[k.to_sym] = v + } + + if attributes.key?(:'auth_type') + self.auth_type = attributes[:'auth_type'] + end + + if attributes.key?(:'token') + self.token = attributes[:'token'] + end + end + + # Check to see if the all the properties in the model are valid + # @return true if the model is valid + # @!visibility private + def valid? + return false if @auth_type.nil? + return false if @token.nil? + true + end + + # Custom attribute writer method with validation + # @param auth_type [Object] Object to be assigned + # @!visibility private + def auth_type=(auth_type) + if auth_type.nil? + fail ArgumentError, 'invalid value for "auth_type", auth_type cannot be nil.' + end + @auth_type = auth_type + end + + # Custom attribute writer method with validation + # @param token [Object] Object to be assigned + # @!visibility private + def token=(token) + if token.nil? + fail ArgumentError, 'invalid value for "token", token cannot be nil.' + end + @token = token + end + + # Checks equality by comparing each attribute. + # @param o [Object] Object to be compared + # @!visibility private + def ==(o) + return true if self.equal?(o) + self.class == o.class && + auth_type == o.auth_type && + token == o.token + end + + # Calculates hash code according to all attributes. + # @return [Integer] Hash code + # @!visibility private + def hash + [auth_type, token].hash + end + end +end diff --git a/lib/datadog_api_client/v2/models/temporal_cloud_open_metrics_integration_account_bearer_token_auth_response.rb b/lib/datadog_api_client/v2/models/temporal_cloud_open_metrics_integration_account_bearer_token_auth_response.rb new file mode 100644 index 000000000000..584747a93685 --- /dev/null +++ b/lib/datadog_api_client/v2/models/temporal_cloud_open_metrics_integration_account_bearer_token_auth_response.rb @@ -0,0 +1,123 @@ +=begin +#Datadog API V2 Collection + +#Collection of all Datadog Public endpoints. + +The version of the OpenAPI document: 1.0 +Contact: support@datadoghq.com +Generated by: https://github.com/DataDog/datadog-api-client-ruby/tree/master/.generator + + 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 2020-Present Datadog, Inc. + +=end + +require 'date' +require 'time' + +module DatadogAPIClient::V2 + # The bearer token authentication method configured on the account. + class TemporalCloudOpenMetricsIntegrationAccountBearerTokenAuthResponse + include BaseGenericModel + + # The authentication method type. + attr_reader :auth_type + + attr_accessor :additional_properties + + # Attribute mapping from ruby-style variable name to JSON key. + # @!visibility private + def self.attribute_map + { + :'auth_type' => :'auth_type' + } + end + + # Attribute type mapping. + # @!visibility private + def self.openapi_types + { + :'auth_type' => :'TemporalCloudOpenMetricsIntegrationAccountBearerTokenAuthType' + } + end + + # Initializes the object + # @param attributes [Hash] Model attributes in the form of hash + # @!visibility private + def initialize(attributes = {}) + if (!attributes.is_a?(Hash)) + fail ArgumentError, "The input argument (attributes) must be a hash in `DatadogAPIClient::V2::TemporalCloudOpenMetricsIntegrationAccountBearerTokenAuthResponse` initialize method" + end + + self.additional_properties = {} + # check to see if the attribute exists and convert string to symbol for hash key + attributes = attributes.each_with_object({}) { |(k, v), h| + if (!self.class.attribute_map.key?(k.to_sym)) + self.additional_properties[k.to_sym] = v + else + h[k.to_sym] = v + end + } + + if attributes.key?(:'auth_type') + self.auth_type = attributes[:'auth_type'] + end + end + + # Check to see if the all the properties in the model are valid + # @return true if the model is valid + # @!visibility private + def valid? + return false if @auth_type.nil? + true + end + + # Custom attribute writer method with validation + # @param auth_type [Object] Object to be assigned + # @!visibility private + def auth_type=(auth_type) + if auth_type.nil? + fail ArgumentError, 'invalid value for "auth_type", auth_type cannot be nil.' + end + @auth_type = auth_type + end + + # Returns the object in the form of hash, with additionalProperties support. + # @return [Hash] Returns the object in the form of hash + # @!visibility private + def to_hash + hash = {} + self.class.attribute_map.each_pair do |attr, param| + value = self.send(attr) + if value.nil? + is_nullable = self.class.openapi_nullable.include?(attr) + next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}")) + end + + hash[param] = _to_hash(value) + end + self.additional_properties.each_pair do |attr, value| + hash[attr] = value + end + hash + end + + # Checks equality by comparing each attribute. + # @param o [Object] Object to be compared + # @!visibility private + def ==(o) + return true if self.equal?(o) + self.class == o.class && + auth_type == o.auth_type && + additional_properties == o.additional_properties + end + + # Calculates hash code according to all attributes. + # @return [Integer] Hash code + # @!visibility private + def hash + [auth_type, additional_properties].hash + end + end +end diff --git a/lib/datadog_api_client/v2/models/temporal_cloud_open_metrics_integration_account_bearer_token_auth_type.rb b/lib/datadog_api_client/v2/models/temporal_cloud_open_metrics_integration_account_bearer_token_auth_type.rb new file mode 100644 index 000000000000..f774ca693432 --- /dev/null +++ b/lib/datadog_api_client/v2/models/temporal_cloud_open_metrics_integration_account_bearer_token_auth_type.rb @@ -0,0 +1,26 @@ +=begin +#Datadog API V2 Collection + +#Collection of all Datadog Public endpoints. + +The version of the OpenAPI document: 1.0 +Contact: support@datadoghq.com +Generated by: https://github.com/DataDog/datadog-api-client-ruby/tree/master/.generator + + 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 2020-Present Datadog, Inc. + +=end + +require 'date' +require 'time' + +module DatadogAPIClient::V2 + # The authentication method type. + class TemporalCloudOpenMetricsIntegrationAccountBearerTokenAuthType + include BaseEnumModel + + BEARER_TOKEN = "bearer_token".freeze + end +end diff --git a/lib/datadog_api_client/v2/models/temporal_cloud_open_metrics_integration_account_bearer_token_auth_update.rb b/lib/datadog_api_client/v2/models/temporal_cloud_open_metrics_integration_account_bearer_token_auth_update.rb new file mode 100644 index 000000000000..13515751d84b --- /dev/null +++ b/lib/datadog_api_client/v2/models/temporal_cloud_open_metrics_integration_account_bearer_token_auth_update.rb @@ -0,0 +1,108 @@ +=begin +#Datadog API V2 Collection + +#Collection of all Datadog Public endpoints. + +The version of the OpenAPI document: 1.0 +Contact: support@datadoghq.com +Generated by: https://github.com/DataDog/datadog-api-client-ruby/tree/master/.generator + + 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 2020-Present Datadog, Inc. + +=end + +require 'date' +require 'time' + +module DatadogAPIClient::V2 + # Bearer token authentication. Use the API key of a Temporal Cloud service account with the Metrics Read-Only account-level role. Only the fields provided are changed; omit `token` to keep the stored one. + class TemporalCloudOpenMetricsIntegrationAccountBearerTokenAuthUpdate + include BaseGenericModel + + # The authentication method type. + attr_reader :auth_type + + # Secret token used to authenticate with Temporal Cloud. + attr_accessor :token + + # Attribute mapping from ruby-style variable name to JSON key. + # @!visibility private + def self.attribute_map + { + :'auth_type' => :'auth_type', + :'token' => :'token' + } + end + + # Attribute type mapping. + # @!visibility private + def self.openapi_types + { + :'auth_type' => :'TemporalCloudOpenMetricsIntegrationAccountBearerTokenAuthType', + :'token' => :'String' + } + end + + # Initializes the object + # @param attributes [Hash] Model attributes in the form of hash + # @!visibility private + def initialize(attributes = {}) + if (!attributes.is_a?(Hash)) + fail ArgumentError, "The input argument (attributes) must be a hash in `DatadogAPIClient::V2::TemporalCloudOpenMetricsIntegrationAccountBearerTokenAuthUpdate` initialize method" + end + + # check to see if the attribute exists and convert string to symbol for hash key + attributes = attributes.each_with_object({}) { |(k, v), h| + if (!self.class.attribute_map.key?(k.to_sym)) + fail ArgumentError, "`#{k}` is not a valid attribute in `DatadogAPIClient::V2::TemporalCloudOpenMetricsIntegrationAccountBearerTokenAuthUpdate`. Please check the name to make sure it's valid. List of attributes: " + self.class.attribute_map.keys.inspect + end + h[k.to_sym] = v + } + + if attributes.key?(:'auth_type') + self.auth_type = attributes[:'auth_type'] + end + + if attributes.key?(:'token') + self.token = attributes[:'token'] + end + end + + # Check to see if the all the properties in the model are valid + # @return true if the model is valid + # @!visibility private + def valid? + return false if @auth_type.nil? + true + end + + # Custom attribute writer method with validation + # @param auth_type [Object] Object to be assigned + # @!visibility private + def auth_type=(auth_type) + if auth_type.nil? + fail ArgumentError, 'invalid value for "auth_type", auth_type cannot be nil.' + end + @auth_type = auth_type + end + + # Checks equality by comparing each attribute. + # @param o [Object] Object to be compared + # @!visibility private + def ==(o) + return true if self.equal?(o) + self.class == o.class && + auth_type == o.auth_type && + token == o.token + end + + # Calculates hash code according to all attributes. + # @return [Integer] Hash code + # @!visibility private + def hash + [auth_type, token].hash + end + end +end diff --git a/lib/datadog_api_client/v2/models/temporal_cloud_open_metrics_integration_account_create_attributes.rb b/lib/datadog_api_client/v2/models/temporal_cloud_open_metrics_integration_account_create_attributes.rb new file mode 100644 index 000000000000..c6842772945c --- /dev/null +++ b/lib/datadog_api_client/v2/models/temporal_cloud_open_metrics_integration_account_create_attributes.rb @@ -0,0 +1,165 @@ +=begin +#Datadog API V2 Collection + +#Collection of all Datadog Public endpoints. + +The version of the OpenAPI document: 1.0 +Contact: support@datadoghq.com +Generated by: https://github.com/DataDog/datadog-api-client-ruby/tree/master/.generator + + 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 2020-Present Datadog, Inc. + +=end + +require 'date' +require 'time' + +module DatadogAPIClient::V2 + # Writable attributes used to create a Temporal Cloud OpenMetrics integration account. + class TemporalCloudOpenMetricsIntegrationAccountCreateAttributes + include BaseGenericModel + + # Authentication for creating the Temporal Cloud OpenMetrics integration account. Exactly one method is set. + attr_reader :authentication + + # Human-readable name of the Temporal Cloud OpenMetrics integration account. + attr_reader :name + + # Settings for creating the Temporal Cloud OpenMetrics integration account. + attr_reader :settings + + attr_accessor :additional_properties + + # Attribute mapping from ruby-style variable name to JSON key. + # @!visibility private + def self.attribute_map + { + :'authentication' => :'authentication', + :'name' => :'name', + :'settings' => :'settings' + } + end + + # Attribute type mapping. + # @!visibility private + def self.openapi_types + { + :'authentication' => :'TemporalCloudOpenMetricsIntegrationAccountAuthenticationRequest', + :'name' => :'String', + :'settings' => :'TemporalCloudOpenMetricsIntegrationAccountSettingsRequest' + } + end + + # Initializes the object + # @param attributes [Hash] Model attributes in the form of hash + # @!visibility private + def initialize(attributes = {}) + if (!attributes.is_a?(Hash)) + fail ArgumentError, "The input argument (attributes) must be a hash in `DatadogAPIClient::V2::TemporalCloudOpenMetricsIntegrationAccountCreateAttributes` initialize method" + end + + self.additional_properties = {} + # check to see if the attribute exists and convert string to symbol for hash key + attributes = attributes.each_with_object({}) { |(k, v), h| + if (!self.class.attribute_map.key?(k.to_sym)) + self.additional_properties[k.to_sym] = v + else + h[k.to_sym] = v + end + } + + if attributes.key?(:'authentication') + self.authentication = attributes[:'authentication'] + end + + if attributes.key?(:'name') + self.name = attributes[:'name'] + end + + if attributes.key?(:'settings') + self.settings = attributes[:'settings'] + end + end + + # Check to see if the all the properties in the model are valid + # @return true if the model is valid + # @!visibility private + def valid? + return false if @authentication.nil? + return false if @name.nil? + return false if @settings.nil? + true + end + + # Custom attribute writer method with validation + # @param authentication [Object] Object to be assigned + # @!visibility private + def authentication=(authentication) + if authentication.nil? + fail ArgumentError, 'invalid value for "authentication", authentication cannot be nil.' + end + @authentication = authentication + end + + # Custom attribute writer method with validation + # @param name [Object] Object to be assigned + # @!visibility private + def name=(name) + if name.nil? + fail ArgumentError, 'invalid value for "name", name cannot be nil.' + end + @name = name + end + + # Custom attribute writer method with validation + # @param settings [Object] Object to be assigned + # @!visibility private + def settings=(settings) + if settings.nil? + fail ArgumentError, 'invalid value for "settings", settings cannot be nil.' + end + @settings = settings + end + + # Returns the object in the form of hash, with additionalProperties support. + # @return [Hash] Returns the object in the form of hash + # @!visibility private + def to_hash + hash = {} + self.class.attribute_map.each_pair do |attr, param| + value = self.send(attr) + if value.nil? + is_nullable = self.class.openapi_nullable.include?(attr) + next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}")) + end + + hash[param] = _to_hash(value) + end + self.additional_properties.each_pair do |attr, value| + hash[attr] = value + end + hash + end + + # Checks equality by comparing each attribute. + # @param o [Object] Object to be compared + # @!visibility private + def ==(o) + return true if self.equal?(o) + self.class == o.class && + authentication == o.authentication && + name == o.name && + settings == o.settings && + additional_properties == o.additional_properties + end + + # Calculates hash code according to all attributes. + # @return [Integer] Hash code + # @!visibility private + def hash + [authentication, name, settings, additional_properties].hash + end + end +end diff --git a/lib/datadog_api_client/v2/models/temporal_cloud_open_metrics_integration_account_create_data.rb b/lib/datadog_api_client/v2/models/temporal_cloud_open_metrics_integration_account_create_data.rb new file mode 100644 index 000000000000..8f9dcdf6f1ae --- /dev/null +++ b/lib/datadog_api_client/v2/models/temporal_cloud_open_metrics_integration_account_create_data.rb @@ -0,0 +1,144 @@ +=begin +#Datadog API V2 Collection + +#Collection of all Datadog Public endpoints. + +The version of the OpenAPI document: 1.0 +Contact: support@datadoghq.com +Generated by: https://github.com/DataDog/datadog-api-client-ruby/tree/master/.generator + + 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 2020-Present Datadog, Inc. + +=end + +require 'date' +require 'time' + +module DatadogAPIClient::V2 + # Data envelope for creating a Temporal Cloud OpenMetrics integration account. + class TemporalCloudOpenMetricsIntegrationAccountCreateData + include BaseGenericModel + + # Writable attributes used to create a Temporal Cloud OpenMetrics integration account. + attr_reader :attributes + + # The type of the integration account resource. Always `integration-account`. + attr_reader :type + + attr_accessor :additional_properties + + # Attribute mapping from ruby-style variable name to JSON key. + # @!visibility private + def self.attribute_map + { + :'attributes' => :'attributes', + :'type' => :'type' + } + end + + # Attribute type mapping. + # @!visibility private + def self.openapi_types + { + :'attributes' => :'TemporalCloudOpenMetricsIntegrationAccountCreateAttributes', + :'type' => :'IntegrationAccountType' + } + end + + # Initializes the object + # @param attributes [Hash] Model attributes in the form of hash + # @!visibility private + def initialize(attributes = {}) + if (!attributes.is_a?(Hash)) + fail ArgumentError, "The input argument (attributes) must be a hash in `DatadogAPIClient::V2::TemporalCloudOpenMetricsIntegrationAccountCreateData` initialize method" + end + + self.additional_properties = {} + # check to see if the attribute exists and convert string to symbol for hash key + attributes = attributes.each_with_object({}) { |(k, v), h| + if (!self.class.attribute_map.key?(k.to_sym)) + self.additional_properties[k.to_sym] = v + else + h[k.to_sym] = v + end + } + + if attributes.key?(:'attributes') + self.attributes = attributes[:'attributes'] + end + + if attributes.key?(:'type') + self.type = attributes[:'type'] + end + end + + # Check to see if the all the properties in the model are valid + # @return true if the model is valid + # @!visibility private + def valid? + return false if @attributes.nil? + return false if @type.nil? + true + end + + # Custom attribute writer method with validation + # @param attributes [Object] Object to be assigned + # @!visibility private + def attributes=(attributes) + if attributes.nil? + fail ArgumentError, 'invalid value for "attributes", attributes cannot be nil.' + end + @attributes = attributes + end + + # Custom attribute writer method with validation + # @param type [Object] Object to be assigned + # @!visibility private + def type=(type) + if type.nil? + fail ArgumentError, 'invalid value for "type", type cannot be nil.' + end + @type = type + end + + # Returns the object in the form of hash, with additionalProperties support. + # @return [Hash] Returns the object in the form of hash + # @!visibility private + def to_hash + hash = {} + self.class.attribute_map.each_pair do |attr, param| + value = self.send(attr) + if value.nil? + is_nullable = self.class.openapi_nullable.include?(attr) + next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}")) + end + + hash[param] = _to_hash(value) + end + self.additional_properties.each_pair do |attr, value| + hash[attr] = value + end + hash + end + + # Checks equality by comparing each attribute. + # @param o [Object] Object to be compared + # @!visibility private + def ==(o) + return true if self.equal?(o) + self.class == o.class && + attributes == o.attributes && + type == o.type && + additional_properties == o.additional_properties + end + + # Calculates hash code according to all attributes. + # @return [Integer] Hash code + # @!visibility private + def hash + [attributes, type, additional_properties].hash + end + end +end diff --git a/lib/datadog_api_client/v2/models/temporal_cloud_open_metrics_integration_account_create_request.rb b/lib/datadog_api_client/v2/models/temporal_cloud_open_metrics_integration_account_create_request.rb new file mode 100644 index 000000000000..382d94021328 --- /dev/null +++ b/lib/datadog_api_client/v2/models/temporal_cloud_open_metrics_integration_account_create_request.rb @@ -0,0 +1,123 @@ +=begin +#Datadog API V2 Collection + +#Collection of all Datadog Public endpoints. + +The version of the OpenAPI document: 1.0 +Contact: support@datadoghq.com +Generated by: https://github.com/DataDog/datadog-api-client-ruby/tree/master/.generator + + 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 2020-Present Datadog, Inc. + +=end + +require 'date' +require 'time' + +module DatadogAPIClient::V2 + # Request payload to create a Temporal Cloud OpenMetrics integration account. + class TemporalCloudOpenMetricsIntegrationAccountCreateRequest + include BaseGenericModel + + # Data envelope for creating a Temporal Cloud OpenMetrics integration account. + attr_reader :data + + attr_accessor :additional_properties + + # Attribute mapping from ruby-style variable name to JSON key. + # @!visibility private + def self.attribute_map + { + :'data' => :'data' + } + end + + # Attribute type mapping. + # @!visibility private + def self.openapi_types + { + :'data' => :'TemporalCloudOpenMetricsIntegrationAccountCreateData' + } + end + + # Initializes the object + # @param attributes [Hash] Model attributes in the form of hash + # @!visibility private + def initialize(attributes = {}) + if (!attributes.is_a?(Hash)) + fail ArgumentError, "The input argument (attributes) must be a hash in `DatadogAPIClient::V2::TemporalCloudOpenMetricsIntegrationAccountCreateRequest` initialize method" + end + + self.additional_properties = {} + # check to see if the attribute exists and convert string to symbol for hash key + attributes = attributes.each_with_object({}) { |(k, v), h| + if (!self.class.attribute_map.key?(k.to_sym)) + self.additional_properties[k.to_sym] = v + else + h[k.to_sym] = v + end + } + + if attributes.key?(:'data') + self.data = attributes[:'data'] + end + end + + # Check to see if the all the properties in the model are valid + # @return true if the model is valid + # @!visibility private + def valid? + return false if @data.nil? + true + end + + # Custom attribute writer method with validation + # @param data [Object] Object to be assigned + # @!visibility private + def data=(data) + if data.nil? + fail ArgumentError, 'invalid value for "data", data cannot be nil.' + end + @data = data + end + + # Returns the object in the form of hash, with additionalProperties support. + # @return [Hash] Returns the object in the form of hash + # @!visibility private + def to_hash + hash = {} + self.class.attribute_map.each_pair do |attr, param| + value = self.send(attr) + if value.nil? + is_nullable = self.class.openapi_nullable.include?(attr) + next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}")) + end + + hash[param] = _to_hash(value) + end + self.additional_properties.each_pair do |attr, value| + hash[attr] = value + end + hash + end + + # Checks equality by comparing each attribute. + # @param o [Object] Object to be compared + # @!visibility private + def ==(o) + return true if self.equal?(o) + self.class == o.class && + data == o.data && + additional_properties == o.additional_properties + end + + # Calculates hash code according to all attributes. + # @return [Integer] Hash code + # @!visibility private + def hash + [data, additional_properties].hash + end + end +end diff --git a/lib/datadog_api_client/v2/models/temporal_cloud_open_metrics_integration_account_response.rb b/lib/datadog_api_client/v2/models/temporal_cloud_open_metrics_integration_account_response.rb new file mode 100644 index 000000000000..a11ceac8e308 --- /dev/null +++ b/lib/datadog_api_client/v2/models/temporal_cloud_open_metrics_integration_account_response.rb @@ -0,0 +1,123 @@ +=begin +#Datadog API V2 Collection + +#Collection of all Datadog Public endpoints. + +The version of the OpenAPI document: 1.0 +Contact: support@datadoghq.com +Generated by: https://github.com/DataDog/datadog-api-client-ruby/tree/master/.generator + + 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 2020-Present Datadog, Inc. + +=end + +require 'date' +require 'time' + +module DatadogAPIClient::V2 + # Response payload for a single Temporal Cloud OpenMetrics integration account. + class TemporalCloudOpenMetricsIntegrationAccountResponse + include BaseGenericModel + + # Data envelope of a Temporal Cloud OpenMetrics integration account, including server-assigned identity. + attr_reader :data + + attr_accessor :additional_properties + + # Attribute mapping from ruby-style variable name to JSON key. + # @!visibility private + def self.attribute_map + { + :'data' => :'data' + } + end + + # Attribute type mapping. + # @!visibility private + def self.openapi_types + { + :'data' => :'TemporalCloudOpenMetricsIntegrationAccountResponseData' + } + end + + # Initializes the object + # @param attributes [Hash] Model attributes in the form of hash + # @!visibility private + def initialize(attributes = {}) + if (!attributes.is_a?(Hash)) + fail ArgumentError, "The input argument (attributes) must be a hash in `DatadogAPIClient::V2::TemporalCloudOpenMetricsIntegrationAccountResponse` initialize method" + end + + self.additional_properties = {} + # check to see if the attribute exists and convert string to symbol for hash key + attributes = attributes.each_with_object({}) { |(k, v), h| + if (!self.class.attribute_map.key?(k.to_sym)) + self.additional_properties[k.to_sym] = v + else + h[k.to_sym] = v + end + } + + if attributes.key?(:'data') + self.data = attributes[:'data'] + end + end + + # Check to see if the all the properties in the model are valid + # @return true if the model is valid + # @!visibility private + def valid? + return false if @data.nil? + true + end + + # Custom attribute writer method with validation + # @param data [Object] Object to be assigned + # @!visibility private + def data=(data) + if data.nil? + fail ArgumentError, 'invalid value for "data", data cannot be nil.' + end + @data = data + end + + # Returns the object in the form of hash, with additionalProperties support. + # @return [Hash] Returns the object in the form of hash + # @!visibility private + def to_hash + hash = {} + self.class.attribute_map.each_pair do |attr, param| + value = self.send(attr) + if value.nil? + is_nullable = self.class.openapi_nullable.include?(attr) + next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}")) + end + + hash[param] = _to_hash(value) + end + self.additional_properties.each_pair do |attr, value| + hash[attr] = value + end + hash + end + + # Checks equality by comparing each attribute. + # @param o [Object] Object to be compared + # @!visibility private + def ==(o) + return true if self.equal?(o) + self.class == o.class && + data == o.data && + additional_properties == o.additional_properties + end + + # Calculates hash code according to all attributes. + # @return [Integer] Hash code + # @!visibility private + def hash + [data, additional_properties].hash + end + end +end diff --git a/lib/datadog_api_client/v2/models/temporal_cloud_open_metrics_integration_account_response_attributes.rb b/lib/datadog_api_client/v2/models/temporal_cloud_open_metrics_integration_account_response_attributes.rb new file mode 100644 index 000000000000..1b9df3bb6b95 --- /dev/null +++ b/lib/datadog_api_client/v2/models/temporal_cloud_open_metrics_integration_account_response_attributes.rb @@ -0,0 +1,164 @@ +=begin +#Datadog API V2 Collection + +#Collection of all Datadog Public endpoints. + +The version of the OpenAPI document: 1.0 +Contact: support@datadoghq.com +Generated by: https://github.com/DataDog/datadog-api-client-ruby/tree/master/.generator + + 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 2020-Present Datadog, Inc. + +=end + +require 'date' +require 'time' + +module DatadogAPIClient::V2 + # Attributes of a Temporal Cloud OpenMetrics integration account returned in responses. + class TemporalCloudOpenMetricsIntegrationAccountResponseAttributes + include BaseGenericModel + + # Authentication configured on the Temporal Cloud OpenMetrics integration account. + attr_accessor :authentication + + # Data Datadog collects from Temporal Cloud OpenMetrics, keyed by dataflow id. + attr_accessor :dataflows + + # Human-readable name of the Temporal Cloud OpenMetrics integration account. + attr_reader :name + + # Settings configured on the Temporal Cloud OpenMetrics integration account. + attr_reader :settings + + attr_accessor :additional_properties + + # Attribute mapping from ruby-style variable name to JSON key. + # @!visibility private + def self.attribute_map + { + :'authentication' => :'authentication', + :'dataflows' => :'dataflows', + :'name' => :'name', + :'settings' => :'settings' + } + end + + # Attribute type mapping. + # @!visibility private + def self.openapi_types + { + :'authentication' => :'TemporalCloudOpenMetricsIntegrationAccountAuthenticationResponse', + :'dataflows' => :'TemporalCloudOpenMetricsIntegrationDataflowsResponse', + :'name' => :'String', + :'settings' => :'TemporalCloudOpenMetricsIntegrationAccountSettingsResponse' + } + end + + # Initializes the object + # @param attributes [Hash] Model attributes in the form of hash + # @!visibility private + def initialize(attributes = {}) + if (!attributes.is_a?(Hash)) + fail ArgumentError, "The input argument (attributes) must be a hash in `DatadogAPIClient::V2::TemporalCloudOpenMetricsIntegrationAccountResponseAttributes` initialize method" + end + + self.additional_properties = {} + # check to see if the attribute exists and convert string to symbol for hash key + attributes = attributes.each_with_object({}) { |(k, v), h| + if (!self.class.attribute_map.key?(k.to_sym)) + self.additional_properties[k.to_sym] = v + else + h[k.to_sym] = v + end + } + + if attributes.key?(:'authentication') + self.authentication = attributes[:'authentication'] + end + + if attributes.key?(:'dataflows') + self.dataflows = attributes[:'dataflows'] + end + + if attributes.key?(:'name') + self.name = attributes[:'name'] + end + + if attributes.key?(:'settings') + self.settings = attributes[:'settings'] + end + end + + # Check to see if the all the properties in the model are valid + # @return true if the model is valid + # @!visibility private + def valid? + return false if @name.nil? + return false if @settings.nil? + true + end + + # Custom attribute writer method with validation + # @param name [Object] Object to be assigned + # @!visibility private + def name=(name) + if name.nil? + fail ArgumentError, 'invalid value for "name", name cannot be nil.' + end + @name = name + end + + # Custom attribute writer method with validation + # @param settings [Object] Object to be assigned + # @!visibility private + def settings=(settings) + if settings.nil? + fail ArgumentError, 'invalid value for "settings", settings cannot be nil.' + end + @settings = settings + end + + # Returns the object in the form of hash, with additionalProperties support. + # @return [Hash] Returns the object in the form of hash + # @!visibility private + def to_hash + hash = {} + self.class.attribute_map.each_pair do |attr, param| + value = self.send(attr) + if value.nil? + is_nullable = self.class.openapi_nullable.include?(attr) + next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}")) + end + + hash[param] = _to_hash(value) + end + self.additional_properties.each_pair do |attr, value| + hash[attr] = value + end + hash + end + + # Checks equality by comparing each attribute. + # @param o [Object] Object to be compared + # @!visibility private + def ==(o) + return true if self.equal?(o) + self.class == o.class && + authentication == o.authentication && + dataflows == o.dataflows && + name == o.name && + settings == o.settings && + additional_properties == o.additional_properties + end + + # Calculates hash code according to all attributes. + # @return [Integer] Hash code + # @!visibility private + def hash + [authentication, dataflows, name, settings, additional_properties].hash + end + end +end diff --git a/lib/datadog_api_client/v2/models/temporal_cloud_open_metrics_integration_account_response_data.rb b/lib/datadog_api_client/v2/models/temporal_cloud_open_metrics_integration_account_response_data.rb new file mode 100644 index 000000000000..8e8fe92d3fed --- /dev/null +++ b/lib/datadog_api_client/v2/models/temporal_cloud_open_metrics_integration_account_response_data.rb @@ -0,0 +1,165 @@ +=begin +#Datadog API V2 Collection + +#Collection of all Datadog Public endpoints. + +The version of the OpenAPI document: 1.0 +Contact: support@datadoghq.com +Generated by: https://github.com/DataDog/datadog-api-client-ruby/tree/master/.generator + + 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 2020-Present Datadog, Inc. + +=end + +require 'date' +require 'time' + +module DatadogAPIClient::V2 + # Data envelope of a Temporal Cloud OpenMetrics integration account, including server-assigned identity. + class TemporalCloudOpenMetricsIntegrationAccountResponseData + include BaseGenericModel + + # Attributes of a Temporal Cloud OpenMetrics integration account returned in responses. + attr_reader :attributes + + # Server-generated unique identifier of the Temporal Cloud OpenMetrics integration account. + attr_reader :id + + # The type of the integration account resource. Always `integration-account`. + attr_reader :type + + attr_accessor :additional_properties + + # Attribute mapping from ruby-style variable name to JSON key. + # @!visibility private + def self.attribute_map + { + :'attributes' => :'attributes', + :'id' => :'id', + :'type' => :'type' + } + end + + # Attribute type mapping. + # @!visibility private + def self.openapi_types + { + :'attributes' => :'TemporalCloudOpenMetricsIntegrationAccountResponseAttributes', + :'id' => :'String', + :'type' => :'IntegrationAccountType' + } + end + + # Initializes the object + # @param attributes [Hash] Model attributes in the form of hash + # @!visibility private + def initialize(attributes = {}) + if (!attributes.is_a?(Hash)) + fail ArgumentError, "The input argument (attributes) must be a hash in `DatadogAPIClient::V2::TemporalCloudOpenMetricsIntegrationAccountResponseData` initialize method" + end + + self.additional_properties = {} + # check to see if the attribute exists and convert string to symbol for hash key + attributes = attributes.each_with_object({}) { |(k, v), h| + if (!self.class.attribute_map.key?(k.to_sym)) + self.additional_properties[k.to_sym] = v + else + h[k.to_sym] = v + end + } + + if attributes.key?(:'attributes') + self.attributes = attributes[:'attributes'] + end + + if attributes.key?(:'id') + self.id = attributes[:'id'] + end + + if attributes.key?(:'type') + self.type = attributes[:'type'] + end + end + + # Check to see if the all the properties in the model are valid + # @return true if the model is valid + # @!visibility private + def valid? + return false if @attributes.nil? + return false if @id.nil? + return false if @type.nil? + true + end + + # Custom attribute writer method with validation + # @param attributes [Object] Object to be assigned + # @!visibility private + def attributes=(attributes) + if attributes.nil? + fail ArgumentError, 'invalid value for "attributes", attributes cannot be nil.' + end + @attributes = attributes + end + + # Custom attribute writer method with validation + # @param id [Object] Object to be assigned + # @!visibility private + def id=(id) + if id.nil? + fail ArgumentError, 'invalid value for "id", id cannot be nil.' + end + @id = id + end + + # Custom attribute writer method with validation + # @param type [Object] Object to be assigned + # @!visibility private + def type=(type) + if type.nil? + fail ArgumentError, 'invalid value for "type", type cannot be nil.' + end + @type = type + end + + # Returns the object in the form of hash, with additionalProperties support. + # @return [Hash] Returns the object in the form of hash + # @!visibility private + def to_hash + hash = {} + self.class.attribute_map.each_pair do |attr, param| + value = self.send(attr) + if value.nil? + is_nullable = self.class.openapi_nullable.include?(attr) + next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}")) + end + + hash[param] = _to_hash(value) + end + self.additional_properties.each_pair do |attr, value| + hash[attr] = value + end + hash + end + + # Checks equality by comparing each attribute. + # @param o [Object] Object to be compared + # @!visibility private + def ==(o) + return true if self.equal?(o) + self.class == o.class && + attributes == o.attributes && + id == o.id && + type == o.type && + additional_properties == o.additional_properties + end + + # Calculates hash code according to all attributes. + # @return [Integer] Hash code + # @!visibility private + def hash + [attributes, id, type, additional_properties].hash + end + end +end diff --git a/lib/datadog_api_client/v2/models/temporal_cloud_open_metrics_integration_account_settings_request.rb b/lib/datadog_api_client/v2/models/temporal_cloud_open_metrics_integration_account_settings_request.rb new file mode 100644 index 000000000000..0a4f72f671da --- /dev/null +++ b/lib/datadog_api_client/v2/models/temporal_cloud_open_metrics_integration_account_settings_request.rb @@ -0,0 +1,90 @@ +=begin +#Datadog API V2 Collection + +#Collection of all Datadog Public endpoints. + +The version of the OpenAPI document: 1.0 +Contact: support@datadoghq.com +Generated by: https://github.com/DataDog/datadog-api-client-ruby/tree/master/.generator + + 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 2020-Present Datadog, Inc. + +=end + +require 'date' +require 'time' + +module DatadogAPIClient::V2 + # Settings for creating the Temporal Cloud OpenMetrics integration account. + class TemporalCloudOpenMetricsIntegrationAccountSettingsRequest + include BaseGenericModel + + # When enabled, Datadog collects Temporal Cloud's [opt-in labels](https://docs.temporal.io/cloud/metrics/openmetrics/metrics-reference#opt-in-labels) (activity type, worker deployment name, and worker build ID) for more granularity on your existing metrics. Enabling them may increase metric collection latency. Defaults to `false`. + attr_accessor :include_opt_in_labels + + # Comma-separated list of Temporal Cloud namespaces to collect metrics for. An entry can use `*` as a wildcard; for example, `prod-*` matches every namespace starting with `prod-`. Entries may contain only lowercase letters, digits, hyphens, periods and `*`; any other value is rejected with a `422` response. Omit it or leave it empty to collect metrics for all namespaces. + attr_accessor :namespaces_to_include + + # Attribute mapping from ruby-style variable name to JSON key. + # @!visibility private + def self.attribute_map + { + :'include_opt_in_labels' => :'include_opt_in_labels', + :'namespaces_to_include' => :'namespaces_to_include' + } + end + + # Attribute type mapping. + # @!visibility private + def self.openapi_types + { + :'include_opt_in_labels' => :'Boolean', + :'namespaces_to_include' => :'String' + } + end + + # Initializes the object + # @param attributes [Hash] Model attributes in the form of hash + # @!visibility private + def initialize(attributes = {}) + if (!attributes.is_a?(Hash)) + fail ArgumentError, "The input argument (attributes) must be a hash in `DatadogAPIClient::V2::TemporalCloudOpenMetricsIntegrationAccountSettingsRequest` initialize method" + end + + # check to see if the attribute exists and convert string to symbol for hash key + attributes = attributes.each_with_object({}) { |(k, v), h| + if (!self.class.attribute_map.key?(k.to_sym)) + fail ArgumentError, "`#{k}` is not a valid attribute in `DatadogAPIClient::V2::TemporalCloudOpenMetricsIntegrationAccountSettingsRequest`. Please check the name to make sure it's valid. List of attributes: " + self.class.attribute_map.keys.inspect + end + h[k.to_sym] = v + } + + if attributes.key?(:'include_opt_in_labels') + self.include_opt_in_labels = attributes[:'include_opt_in_labels'] + end + + if attributes.key?(:'namespaces_to_include') + self.namespaces_to_include = attributes[:'namespaces_to_include'] + end + end + + # Checks equality by comparing each attribute. + # @param o [Object] Object to be compared + # @!visibility private + def ==(o) + return true if self.equal?(o) + self.class == o.class && + include_opt_in_labels == o.include_opt_in_labels && + namespaces_to_include == o.namespaces_to_include + end + + # Calculates hash code according to all attributes. + # @return [Integer] Hash code + # @!visibility private + def hash + [include_opt_in_labels, namespaces_to_include].hash + end + end +end diff --git a/lib/datadog_api_client/v2/models/temporal_cloud_open_metrics_integration_account_settings_response.rb b/lib/datadog_api_client/v2/models/temporal_cloud_open_metrics_integration_account_settings_response.rb new file mode 100644 index 000000000000..40e569098d70 --- /dev/null +++ b/lib/datadog_api_client/v2/models/temporal_cloud_open_metrics_integration_account_settings_response.rb @@ -0,0 +1,115 @@ +=begin +#Datadog API V2 Collection + +#Collection of all Datadog Public endpoints. + +The version of the OpenAPI document: 1.0 +Contact: support@datadoghq.com +Generated by: https://github.com/DataDog/datadog-api-client-ruby/tree/master/.generator + + 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 2020-Present Datadog, Inc. + +=end + +require 'date' +require 'time' + +module DatadogAPIClient::V2 + # Settings configured on the Temporal Cloud OpenMetrics integration account. + class TemporalCloudOpenMetricsIntegrationAccountSettingsResponse + include BaseGenericModel + + # When enabled, Datadog collects Temporal Cloud's [opt-in labels](https://docs.temporal.io/cloud/metrics/openmetrics/metrics-reference#opt-in-labels) (activity type, worker deployment name, and worker build ID) for more granularity on your existing metrics. Enabling them may increase metric collection latency. + attr_accessor :include_opt_in_labels + + # Comma-separated list of Temporal Cloud namespaces to collect metrics for. An entry can use `*` as a wildcard; for example, `prod-*` matches every namespace starting with `prod-`. Empty or absent when metrics are collected for all namespaces. + attr_accessor :namespaces_to_include + + attr_accessor :additional_properties + + # Attribute mapping from ruby-style variable name to JSON key. + # @!visibility private + def self.attribute_map + { + :'include_opt_in_labels' => :'include_opt_in_labels', + :'namespaces_to_include' => :'namespaces_to_include' + } + end + + # Attribute type mapping. + # @!visibility private + def self.openapi_types + { + :'include_opt_in_labels' => :'Boolean', + :'namespaces_to_include' => :'String' + } + end + + # Initializes the object + # @param attributes [Hash] Model attributes in the form of hash + # @!visibility private + def initialize(attributes = {}) + if (!attributes.is_a?(Hash)) + fail ArgumentError, "The input argument (attributes) must be a hash in `DatadogAPIClient::V2::TemporalCloudOpenMetricsIntegrationAccountSettingsResponse` initialize method" + end + + self.additional_properties = {} + # check to see if the attribute exists and convert string to symbol for hash key + attributes = attributes.each_with_object({}) { |(k, v), h| + if (!self.class.attribute_map.key?(k.to_sym)) + self.additional_properties[k.to_sym] = v + else + h[k.to_sym] = v + end + } + + if attributes.key?(:'include_opt_in_labels') + self.include_opt_in_labels = attributes[:'include_opt_in_labels'] + end + + if attributes.key?(:'namespaces_to_include') + self.namespaces_to_include = attributes[:'namespaces_to_include'] + end + end + + # Returns the object in the form of hash, with additionalProperties support. + # @return [Hash] Returns the object in the form of hash + # @!visibility private + def to_hash + hash = {} + self.class.attribute_map.each_pair do |attr, param| + value = self.send(attr) + if value.nil? + is_nullable = self.class.openapi_nullable.include?(attr) + next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}")) + end + + hash[param] = _to_hash(value) + end + self.additional_properties.each_pair do |attr, value| + hash[attr] = value + end + hash + end + + # Checks equality by comparing each attribute. + # @param o [Object] Object to be compared + # @!visibility private + def ==(o) + return true if self.equal?(o) + self.class == o.class && + include_opt_in_labels == o.include_opt_in_labels && + namespaces_to_include == o.namespaces_to_include && + additional_properties == o.additional_properties + end + + # Calculates hash code according to all attributes. + # @return [Integer] Hash code + # @!visibility private + def hash + [include_opt_in_labels, namespaces_to_include, additional_properties].hash + end + end +end diff --git a/lib/datadog_api_client/v2/models/temporal_cloud_open_metrics_integration_account_settings_update.rb b/lib/datadog_api_client/v2/models/temporal_cloud_open_metrics_integration_account_settings_update.rb new file mode 100644 index 000000000000..af32a3810c9b --- /dev/null +++ b/lib/datadog_api_client/v2/models/temporal_cloud_open_metrics_integration_account_settings_update.rb @@ -0,0 +1,90 @@ +=begin +#Datadog API V2 Collection + +#Collection of all Datadog Public endpoints. + +The version of the OpenAPI document: 1.0 +Contact: support@datadoghq.com +Generated by: https://github.com/DataDog/datadog-api-client-ruby/tree/master/.generator + + 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 2020-Present Datadog, Inc. + +=end + +require 'date' +require 'time' + +module DatadogAPIClient::V2 + # Settings for updating the Temporal Cloud OpenMetrics integration account. Only the fields provided are changed. + class TemporalCloudOpenMetricsIntegrationAccountSettingsUpdate + include BaseGenericModel + + # When enabled, Datadog collects Temporal Cloud's [opt-in labels](https://docs.temporal.io/cloud/metrics/openmetrics/metrics-reference#opt-in-labels) (activity type, worker deployment name, and worker build ID) for more granularity on your existing metrics. Enabling them may increase metric collection latency. + attr_accessor :include_opt_in_labels + + # Comma-separated list of Temporal Cloud namespaces to collect metrics for. An entry can use `*` as a wildcard; for example, `prod-*` matches every namespace starting with `prod-`. Entries may contain only lowercase letters, digits, hyphens, periods and `*`; any other value is rejected with a `422` response. Omit it or leave it empty to collect metrics for all namespaces. + attr_accessor :namespaces_to_include + + # Attribute mapping from ruby-style variable name to JSON key. + # @!visibility private + def self.attribute_map + { + :'include_opt_in_labels' => :'include_opt_in_labels', + :'namespaces_to_include' => :'namespaces_to_include' + } + end + + # Attribute type mapping. + # @!visibility private + def self.openapi_types + { + :'include_opt_in_labels' => :'Boolean', + :'namespaces_to_include' => :'String' + } + end + + # Initializes the object + # @param attributes [Hash] Model attributes in the form of hash + # @!visibility private + def initialize(attributes = {}) + if (!attributes.is_a?(Hash)) + fail ArgumentError, "The input argument (attributes) must be a hash in `DatadogAPIClient::V2::TemporalCloudOpenMetricsIntegrationAccountSettingsUpdate` initialize method" + end + + # check to see if the attribute exists and convert string to symbol for hash key + attributes = attributes.each_with_object({}) { |(k, v), h| + if (!self.class.attribute_map.key?(k.to_sym)) + fail ArgumentError, "`#{k}` is not a valid attribute in `DatadogAPIClient::V2::TemporalCloudOpenMetricsIntegrationAccountSettingsUpdate`. Please check the name to make sure it's valid. List of attributes: " + self.class.attribute_map.keys.inspect + end + h[k.to_sym] = v + } + + if attributes.key?(:'include_opt_in_labels') + self.include_opt_in_labels = attributes[:'include_opt_in_labels'] + end + + if attributes.key?(:'namespaces_to_include') + self.namespaces_to_include = attributes[:'namespaces_to_include'] + end + end + + # Checks equality by comparing each attribute. + # @param o [Object] Object to be compared + # @!visibility private + def ==(o) + return true if self.equal?(o) + self.class == o.class && + include_opt_in_labels == o.include_opt_in_labels && + namespaces_to_include == o.namespaces_to_include + end + + # Calculates hash code according to all attributes. + # @return [Integer] Hash code + # @!visibility private + def hash + [include_opt_in_labels, namespaces_to_include].hash + end + end +end diff --git a/lib/datadog_api_client/v2/models/temporal_cloud_open_metrics_integration_account_update_attributes.rb b/lib/datadog_api_client/v2/models/temporal_cloud_open_metrics_integration_account_update_attributes.rb new file mode 100644 index 000000000000..0d867f1b5b87 --- /dev/null +++ b/lib/datadog_api_client/v2/models/temporal_cloud_open_metrics_integration_account_update_attributes.rb @@ -0,0 +1,125 @@ +=begin +#Datadog API V2 Collection + +#Collection of all Datadog Public endpoints. + +The version of the OpenAPI document: 1.0 +Contact: support@datadoghq.com +Generated by: https://github.com/DataDog/datadog-api-client-ruby/tree/master/.generator + + 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 2020-Present Datadog, Inc. + +=end + +require 'date' +require 'time' + +module DatadogAPIClient::V2 + # Writable attributes used to update a Temporal Cloud OpenMetrics integration account. Every field is optional; only the fields provided are changed. + class TemporalCloudOpenMetricsIntegrationAccountUpdateAttributes + include BaseGenericModel + + # Authentication for updating the Temporal Cloud OpenMetrics integration account. Exactly one method is set. + attr_accessor :authentication + + # Human-readable name of the Temporal Cloud OpenMetrics integration account. + attr_accessor :name + + # Settings for updating the Temporal Cloud OpenMetrics integration account. Only the fields provided are changed. + attr_accessor :settings + + attr_accessor :additional_properties + + # Attribute mapping from ruby-style variable name to JSON key. + # @!visibility private + def self.attribute_map + { + :'authentication' => :'authentication', + :'name' => :'name', + :'settings' => :'settings' + } + end + + # Attribute type mapping. + # @!visibility private + def self.openapi_types + { + :'authentication' => :'TemporalCloudOpenMetricsIntegrationAccountAuthenticationUpdate', + :'name' => :'String', + :'settings' => :'TemporalCloudOpenMetricsIntegrationAccountSettingsUpdate' + } + end + + # Initializes the object + # @param attributes [Hash] Model attributes in the form of hash + # @!visibility private + def initialize(attributes = {}) + if (!attributes.is_a?(Hash)) + fail ArgumentError, "The input argument (attributes) must be a hash in `DatadogAPIClient::V2::TemporalCloudOpenMetricsIntegrationAccountUpdateAttributes` initialize method" + end + + self.additional_properties = {} + # check to see if the attribute exists and convert string to symbol for hash key + attributes = attributes.each_with_object({}) { |(k, v), h| + if (!self.class.attribute_map.key?(k.to_sym)) + self.additional_properties[k.to_sym] = v + else + h[k.to_sym] = v + end + } + + if attributes.key?(:'authentication') + self.authentication = attributes[:'authentication'] + end + + if attributes.key?(:'name') + self.name = attributes[:'name'] + end + + if attributes.key?(:'settings') + self.settings = attributes[:'settings'] + end + end + + # Returns the object in the form of hash, with additionalProperties support. + # @return [Hash] Returns the object in the form of hash + # @!visibility private + def to_hash + hash = {} + self.class.attribute_map.each_pair do |attr, param| + value = self.send(attr) + if value.nil? + is_nullable = self.class.openapi_nullable.include?(attr) + next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}")) + end + + hash[param] = _to_hash(value) + end + self.additional_properties.each_pair do |attr, value| + hash[attr] = value + end + hash + end + + # Checks equality by comparing each attribute. + # @param o [Object] Object to be compared + # @!visibility private + def ==(o) + return true if self.equal?(o) + self.class == o.class && + authentication == o.authentication && + name == o.name && + settings == o.settings && + additional_properties == o.additional_properties + end + + # Calculates hash code according to all attributes. + # @return [Integer] Hash code + # @!visibility private + def hash + [authentication, name, settings, additional_properties].hash + end + end +end diff --git a/lib/datadog_api_client/v2/models/temporal_cloud_open_metrics_integration_account_update_data.rb b/lib/datadog_api_client/v2/models/temporal_cloud_open_metrics_integration_account_update_data.rb new file mode 100644 index 000000000000..f84411207671 --- /dev/null +++ b/lib/datadog_api_client/v2/models/temporal_cloud_open_metrics_integration_account_update_data.rb @@ -0,0 +1,165 @@ +=begin +#Datadog API V2 Collection + +#Collection of all Datadog Public endpoints. + +The version of the OpenAPI document: 1.0 +Contact: support@datadoghq.com +Generated by: https://github.com/DataDog/datadog-api-client-ruby/tree/master/.generator + + 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 2020-Present Datadog, Inc. + +=end + +require 'date' +require 'time' + +module DatadogAPIClient::V2 + # Data envelope for updating a Temporal Cloud OpenMetrics integration account. + class TemporalCloudOpenMetricsIntegrationAccountUpdateData + include BaseGenericModel + + # Writable attributes used to update a Temporal Cloud OpenMetrics integration account. Every field is optional; only the fields provided are changed. + attr_reader :attributes + + # Unique identifier of the Temporal Cloud OpenMetrics integration account to update. + attr_reader :id + + # The type of the integration account resource. Always `integration-account`. + attr_reader :type + + attr_accessor :additional_properties + + # Attribute mapping from ruby-style variable name to JSON key. + # @!visibility private + def self.attribute_map + { + :'attributes' => :'attributes', + :'id' => :'id', + :'type' => :'type' + } + end + + # Attribute type mapping. + # @!visibility private + def self.openapi_types + { + :'attributes' => :'TemporalCloudOpenMetricsIntegrationAccountUpdateAttributes', + :'id' => :'String', + :'type' => :'IntegrationAccountType' + } + end + + # Initializes the object + # @param attributes [Hash] Model attributes in the form of hash + # @!visibility private + def initialize(attributes = {}) + if (!attributes.is_a?(Hash)) + fail ArgumentError, "The input argument (attributes) must be a hash in `DatadogAPIClient::V2::TemporalCloudOpenMetricsIntegrationAccountUpdateData` initialize method" + end + + self.additional_properties = {} + # check to see if the attribute exists and convert string to symbol for hash key + attributes = attributes.each_with_object({}) { |(k, v), h| + if (!self.class.attribute_map.key?(k.to_sym)) + self.additional_properties[k.to_sym] = v + else + h[k.to_sym] = v + end + } + + if attributes.key?(:'attributes') + self.attributes = attributes[:'attributes'] + end + + if attributes.key?(:'id') + self.id = attributes[:'id'] + end + + if attributes.key?(:'type') + self.type = attributes[:'type'] + end + end + + # Check to see if the all the properties in the model are valid + # @return true if the model is valid + # @!visibility private + def valid? + return false if @attributes.nil? + return false if @id.nil? + return false if @type.nil? + true + end + + # Custom attribute writer method with validation + # @param attributes [Object] Object to be assigned + # @!visibility private + def attributes=(attributes) + if attributes.nil? + fail ArgumentError, 'invalid value for "attributes", attributes cannot be nil.' + end + @attributes = attributes + end + + # Custom attribute writer method with validation + # @param id [Object] Object to be assigned + # @!visibility private + def id=(id) + if id.nil? + fail ArgumentError, 'invalid value for "id", id cannot be nil.' + end + @id = id + end + + # Custom attribute writer method with validation + # @param type [Object] Object to be assigned + # @!visibility private + def type=(type) + if type.nil? + fail ArgumentError, 'invalid value for "type", type cannot be nil.' + end + @type = type + end + + # Returns the object in the form of hash, with additionalProperties support. + # @return [Hash] Returns the object in the form of hash + # @!visibility private + def to_hash + hash = {} + self.class.attribute_map.each_pair do |attr, param| + value = self.send(attr) + if value.nil? + is_nullable = self.class.openapi_nullable.include?(attr) + next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}")) + end + + hash[param] = _to_hash(value) + end + self.additional_properties.each_pair do |attr, value| + hash[attr] = value + end + hash + end + + # Checks equality by comparing each attribute. + # @param o [Object] Object to be compared + # @!visibility private + def ==(o) + return true if self.equal?(o) + self.class == o.class && + attributes == o.attributes && + id == o.id && + type == o.type && + additional_properties == o.additional_properties + end + + # Calculates hash code according to all attributes. + # @return [Integer] Hash code + # @!visibility private + def hash + [attributes, id, type, additional_properties].hash + end + end +end diff --git a/lib/datadog_api_client/v2/models/temporal_cloud_open_metrics_integration_account_update_request.rb b/lib/datadog_api_client/v2/models/temporal_cloud_open_metrics_integration_account_update_request.rb new file mode 100644 index 000000000000..ba118375b294 --- /dev/null +++ b/lib/datadog_api_client/v2/models/temporal_cloud_open_metrics_integration_account_update_request.rb @@ -0,0 +1,123 @@ +=begin +#Datadog API V2 Collection + +#Collection of all Datadog Public endpoints. + +The version of the OpenAPI document: 1.0 +Contact: support@datadoghq.com +Generated by: https://github.com/DataDog/datadog-api-client-ruby/tree/master/.generator + + 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 2020-Present Datadog, Inc. + +=end + +require 'date' +require 'time' + +module DatadogAPIClient::V2 + # Request payload to update a Temporal Cloud OpenMetrics integration account. + class TemporalCloudOpenMetricsIntegrationAccountUpdateRequest + include BaseGenericModel + + # Data envelope for updating a Temporal Cloud OpenMetrics integration account. + attr_reader :data + + attr_accessor :additional_properties + + # Attribute mapping from ruby-style variable name to JSON key. + # @!visibility private + def self.attribute_map + { + :'data' => :'data' + } + end + + # Attribute type mapping. + # @!visibility private + def self.openapi_types + { + :'data' => :'TemporalCloudOpenMetricsIntegrationAccountUpdateData' + } + end + + # Initializes the object + # @param attributes [Hash] Model attributes in the form of hash + # @!visibility private + def initialize(attributes = {}) + if (!attributes.is_a?(Hash)) + fail ArgumentError, "The input argument (attributes) must be a hash in `DatadogAPIClient::V2::TemporalCloudOpenMetricsIntegrationAccountUpdateRequest` initialize method" + end + + self.additional_properties = {} + # check to see if the attribute exists and convert string to symbol for hash key + attributes = attributes.each_with_object({}) { |(k, v), h| + if (!self.class.attribute_map.key?(k.to_sym)) + self.additional_properties[k.to_sym] = v + else + h[k.to_sym] = v + end + } + + if attributes.key?(:'data') + self.data = attributes[:'data'] + end + end + + # Check to see if the all the properties in the model are valid + # @return true if the model is valid + # @!visibility private + def valid? + return false if @data.nil? + true + end + + # Custom attribute writer method with validation + # @param data [Object] Object to be assigned + # @!visibility private + def data=(data) + if data.nil? + fail ArgumentError, 'invalid value for "data", data cannot be nil.' + end + @data = data + end + + # Returns the object in the form of hash, with additionalProperties support. + # @return [Hash] Returns the object in the form of hash + # @!visibility private + def to_hash + hash = {} + self.class.attribute_map.each_pair do |attr, param| + value = self.send(attr) + if value.nil? + is_nullable = self.class.openapi_nullable.include?(attr) + next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}")) + end + + hash[param] = _to_hash(value) + end + self.additional_properties.each_pair do |attr, value| + hash[attr] = value + end + hash + end + + # Checks equality by comparing each attribute. + # @param o [Object] Object to be compared + # @!visibility private + def ==(o) + return true if self.equal?(o) + self.class == o.class && + data == o.data && + additional_properties == o.additional_properties + end + + # Calculates hash code according to all attributes. + # @return [Integer] Hash code + # @!visibility private + def hash + [data, additional_properties].hash + end + end +end diff --git a/lib/datadog_api_client/v2/models/temporal_cloud_open_metrics_integration_accounts_response.rb b/lib/datadog_api_client/v2/models/temporal_cloud_open_metrics_integration_accounts_response.rb new file mode 100644 index 000000000000..4d49607f36fc --- /dev/null +++ b/lib/datadog_api_client/v2/models/temporal_cloud_open_metrics_integration_accounts_response.rb @@ -0,0 +1,125 @@ +=begin +#Datadog API V2 Collection + +#Collection of all Datadog Public endpoints. + +The version of the OpenAPI document: 1.0 +Contact: support@datadoghq.com +Generated by: https://github.com/DataDog/datadog-api-client-ruby/tree/master/.generator + + 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 2020-Present Datadog, Inc. + +=end + +require 'date' +require 'time' + +module DatadogAPIClient::V2 + # Response payload for a list of Temporal Cloud OpenMetrics integration accounts. + class TemporalCloudOpenMetricsIntegrationAccountsResponse + include BaseGenericModel + + # List of Temporal Cloud OpenMetrics integration accounts. + attr_reader :data + + attr_accessor :additional_properties + + # Attribute mapping from ruby-style variable name to JSON key. + # @!visibility private + def self.attribute_map + { + :'data' => :'data' + } + end + + # Attribute type mapping. + # @!visibility private + def self.openapi_types + { + :'data' => :'Array' + } + end + + # Initializes the object + # @param attributes [Hash] Model attributes in the form of hash + # @!visibility private + def initialize(attributes = {}) + if (!attributes.is_a?(Hash)) + fail ArgumentError, "The input argument (attributes) must be a hash in `DatadogAPIClient::V2::TemporalCloudOpenMetricsIntegrationAccountsResponse` initialize method" + end + + self.additional_properties = {} + # check to see if the attribute exists and convert string to symbol for hash key + attributes = attributes.each_with_object({}) { |(k, v), h| + if (!self.class.attribute_map.key?(k.to_sym)) + self.additional_properties[k.to_sym] = v + else + h[k.to_sym] = v + end + } + + if attributes.key?(:'data') + if (value = attributes[:'data']).is_a?(Array) + self.data = value + end + end + end + + # Check to see if the all the properties in the model are valid + # @return true if the model is valid + # @!visibility private + def valid? + return false if @data.nil? + true + end + + # Custom attribute writer method with validation + # @param data [Object] Object to be assigned + # @!visibility private + def data=(data) + if data.nil? + fail ArgumentError, 'invalid value for "data", data cannot be nil.' + end + @data = data + end + + # Returns the object in the form of hash, with additionalProperties support. + # @return [Hash] Returns the object in the form of hash + # @!visibility private + def to_hash + hash = {} + self.class.attribute_map.each_pair do |attr, param| + value = self.send(attr) + if value.nil? + is_nullable = self.class.openapi_nullable.include?(attr) + next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}")) + end + + hash[param] = _to_hash(value) + end + self.additional_properties.each_pair do |attr, value| + hash[attr] = value + end + hash + end + + # Checks equality by comparing each attribute. + # @param o [Object] Object to be compared + # @!visibility private + def ==(o) + return true if self.equal?(o) + self.class == o.class && + data == o.data && + additional_properties == o.additional_properties + end + + # Calculates hash code according to all attributes. + # @return [Integer] Hash code + # @!visibility private + def hash + [data, additional_properties].hash + end + end +end diff --git a/lib/datadog_api_client/v2/models/temporal_cloud_open_metrics_integration_dataflows_response.rb b/lib/datadog_api_client/v2/models/temporal_cloud_open_metrics_integration_dataflows_response.rb new file mode 100644 index 000000000000..6383ee14bff2 --- /dev/null +++ b/lib/datadog_api_client/v2/models/temporal_cloud_open_metrics_integration_dataflows_response.rb @@ -0,0 +1,105 @@ +=begin +#Datadog API V2 Collection + +#Collection of all Datadog Public endpoints. + +The version of the OpenAPI document: 1.0 +Contact: support@datadoghq.com +Generated by: https://github.com/DataDog/datadog-api-client-ruby/tree/master/.generator + + 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 2020-Present Datadog, Inc. + +=end + +require 'date' +require 'time' + +module DatadogAPIClient::V2 + # Data Datadog collects from Temporal Cloud OpenMetrics, keyed by dataflow id. + class TemporalCloudOpenMetricsIntegrationDataflowsResponse + include BaseGenericModel + + # Temporal Cloud operational metrics for your namespaces, workflows and task queues, such as workflow and activity rates, task polling, and service request latency, collected from Temporal Cloud's OpenMetrics endpoint. This is the integration's only collection: it is always on and cannot be turned off, which is why it appears in responses only. + attr_accessor :temporal_cloud_openmetrics_metrics + + attr_accessor :additional_properties + + # Attribute mapping from ruby-style variable name to JSON key. + # @!visibility private + def self.attribute_map + { + :'temporal_cloud_openmetrics_metrics' => :'temporal-cloud-openmetrics-metrics' + } + end + + # Attribute type mapping. + # @!visibility private + def self.openapi_types + { + :'temporal_cloud_openmetrics_metrics' => :'TemporalCloudOpenMetricsMetricsIntegrationDataflowResponse' + } + end + + # Initializes the object + # @param attributes [Hash] Model attributes in the form of hash + # @!visibility private + def initialize(attributes = {}) + if (!attributes.is_a?(Hash)) + fail ArgumentError, "The input argument (attributes) must be a hash in `DatadogAPIClient::V2::TemporalCloudOpenMetricsIntegrationDataflowsResponse` initialize method" + end + + self.additional_properties = {} + # check to see if the attribute exists and convert string to symbol for hash key + attributes = attributes.each_with_object({}) { |(k, v), h| + if (!self.class.attribute_map.key?(k.to_sym)) + self.additional_properties[k.to_sym] = v + else + h[k.to_sym] = v + end + } + + if attributes.key?(:'temporal_cloud_openmetrics_metrics') + self.temporal_cloud_openmetrics_metrics = attributes[:'temporal_cloud_openmetrics_metrics'] + end + end + + # Returns the object in the form of hash, with additionalProperties support. + # @return [Hash] Returns the object in the form of hash + # @!visibility private + def to_hash + hash = {} + self.class.attribute_map.each_pair do |attr, param| + value = self.send(attr) + if value.nil? + is_nullable = self.class.openapi_nullable.include?(attr) + next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}")) + end + + hash[param] = _to_hash(value) + end + self.additional_properties.each_pair do |attr, value| + hash[attr] = value + end + hash + end + + # Checks equality by comparing each attribute. + # @param o [Object] Object to be compared + # @!visibility private + def ==(o) + return true if self.equal?(o) + self.class == o.class && + temporal_cloud_openmetrics_metrics == o.temporal_cloud_openmetrics_metrics && + additional_properties == o.additional_properties + end + + # Calculates hash code according to all attributes. + # @return [Integer] Hash code + # @!visibility private + def hash + [temporal_cloud_openmetrics_metrics, additional_properties].hash + end + end +end diff --git a/lib/datadog_api_client/v2/models/temporal_cloud_open_metrics_metrics_integration_dataflow_response.rb b/lib/datadog_api_client/v2/models/temporal_cloud_open_metrics_metrics_integration_dataflow_response.rb new file mode 100644 index 000000000000..c33b09f3d67f --- /dev/null +++ b/lib/datadog_api_client/v2/models/temporal_cloud_open_metrics_metrics_integration_dataflow_response.rb @@ -0,0 +1,115 @@ +=begin +#Datadog API V2 Collection + +#Collection of all Datadog Public endpoints. + +The version of the OpenAPI document: 1.0 +Contact: support@datadoghq.com +Generated by: https://github.com/DataDog/datadog-api-client-ruby/tree/master/.generator + + 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 2020-Present Datadog, Inc. + +=end + +require 'date' +require 'time' + +module DatadogAPIClient::V2 + # Temporal Cloud operational metrics for your namespaces, workflows and task queues, such as workflow and activity rates, task polling, and service request latency, collected from Temporal Cloud's OpenMetrics endpoint. This is the integration's only collection: it is always on and cannot be turned off, which is why it appears in responses only. + class TemporalCloudOpenMetricsMetricsIntegrationDataflowResponse + include BaseGenericModel + + # Whether Datadog collects this data. Always `true`, because this collection cannot be turned off. + attr_accessor :enabled + + # Read-only collection status of a dataflow. + attr_accessor :status + + attr_accessor :additional_properties + + # Attribute mapping from ruby-style variable name to JSON key. + # @!visibility private + def self.attribute_map + { + :'enabled' => :'enabled', + :'status' => :'status' + } + end + + # Attribute type mapping. + # @!visibility private + def self.openapi_types + { + :'enabled' => :'Boolean', + :'status' => :'IntegrationAccountDataflowStatus' + } + end + + # Initializes the object + # @param attributes [Hash] Model attributes in the form of hash + # @!visibility private + def initialize(attributes = {}) + if (!attributes.is_a?(Hash)) + fail ArgumentError, "The input argument (attributes) must be a hash in `DatadogAPIClient::V2::TemporalCloudOpenMetricsMetricsIntegrationDataflowResponse` initialize method" + end + + self.additional_properties = {} + # check to see if the attribute exists and convert string to symbol for hash key + attributes = attributes.each_with_object({}) { |(k, v), h| + if (!self.class.attribute_map.key?(k.to_sym)) + self.additional_properties[k.to_sym] = v + else + h[k.to_sym] = v + end + } + + if attributes.key?(:'enabled') + self.enabled = attributes[:'enabled'] + end + + if attributes.key?(:'status') + self.status = attributes[:'status'] + end + end + + # Returns the object in the form of hash, with additionalProperties support. + # @return [Hash] Returns the object in the form of hash + # @!visibility private + def to_hash + hash = {} + self.class.attribute_map.each_pair do |attr, param| + value = self.send(attr) + if value.nil? + is_nullable = self.class.openapi_nullable.include?(attr) + next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}")) + end + + hash[param] = _to_hash(value) + end + self.additional_properties.each_pair do |attr, value| + hash[attr] = value + end + hash + end + + # Checks equality by comparing each attribute. + # @param o [Object] Object to be compared + # @!visibility private + def ==(o) + return true if self.equal?(o) + self.class == o.class && + enabled == o.enabled && + status == o.status && + additional_properties == o.additional_properties + end + + # Calculates hash code according to all attributes. + # @return [Integer] Hash code + # @!visibility private + def hash + [enabled, status, additional_properties].hash + end + end +end