datadog_api_client 2.17.0 → 2.19.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/.apigentools-info +4 -4
- data/.generator/conftest.py +1 -1
- data/.generator/poetry.lock +69 -69
- data/.generator/schemas/v1/openapi.yaml +334 -16
- data/.generator/schemas/v2/openapi.yaml +2864 -470
- data/.generator/src/generator/cli.py +5 -0
- data/.generator/src/generator/templates/datadog_api_client.j2 +19 -0
- data/.generator/src/generator/templates/model_generic.j2 +2 -2
- data/.pre-commit-config.yaml +1 -1
- data/CHANGELOG.md +43 -0
- data/examples/v1/aws-integration/CreateAWSAccount.rb +2 -2
- data/examples/v1/aws-integration/DeleteAWSAccount.rb +1 -1
- data/examples/v1/aws-integration/UpdateAWSAccount.rb +6 -6
- data/examples/v1/azure-integration/CreateAzureIntegration.rb +5 -4
- data/examples/v1/azure-integration/DeleteAzureIntegration.rb +2 -14
- data/examples/v1/azure-integration/UpdateAzureHostFilters.rb +1 -0
- data/examples/v1/azure-integration/UpdateAzureIntegration.rb +5 -4
- data/examples/v1/dashboards/CreateDashboard_1284514532.rb +3 -0
- data/examples/v1/gcp-integration/CreateGCPIntegration.rb +4 -5
- data/examples/v1/gcp-integration/DeleteGCPIntegration.rb +2 -14
- data/examples/v1/gcp-integration/UpdateGCPIntegration.rb +4 -5
- data/examples/v1/service-level-objectives/CreateSLO_3765703239.rb +46 -0
- data/examples/v1/synthetics/PatchTest.rb +22 -0
- data/examples/v2/ci-visibility-pipelines/CreateCIAppPipelineEvent.rb +0 -3
- data/examples/v2/ci-visibility-pipelines/CreateCIAppPipelineEvent_129899466.rb +0 -3
- data/examples/v2/cloud-cost-management/CreateCostAWSCURConfig.rb +18 -0
- data/examples/v2/cloud-cost-management/CreateCostAzureUCConfigs.rb +29 -0
- data/examples/v2/cloud-cost-management/DeleteCostAWSCURConfig.rb +5 -0
- data/examples/v2/cloud-cost-management/DeleteCostAzureUCConfig.rb +5 -0
- data/examples/v2/cloud-cost-management/GetCloudCostActivity.rb +5 -0
- data/examples/v2/cloud-cost-management/ListAWSRelatedAccounts.rb +5 -0
- data/examples/v2/cloud-cost-management/ListCostAWSCURConfigs.rb +5 -0
- data/examples/v2/cloud-cost-management/ListCostAzureUCConfigs.rb +5 -0
- data/examples/v2/cloud-cost-management/UpdateCostAWSCURConfig.rb +14 -0
- data/examples/v2/cloud-cost-management/UpdateCostAzureUCConfigs.rb +14 -0
- data/examples/v2/cloudflare-integration/CreateCloudflareAccount.rb +1 -1
- data/examples/v2/cloudflare-integration/UpdateCloudflareAccount.rb +4 -1
- data/examples/v2/container-images/ListContainerImages.rb +0 -3
- data/examples/v2/container-images/ListContainerImages_3088586393.rb +0 -3
- data/examples/v2/container-images/ListContainerImages_3974828736.rb +0 -3
- data/examples/v2/containers/ListContainers.rb +0 -3
- data/examples/v2/containers/ListContainers_2175733917.rb +0 -3
- data/examples/v2/containers/ListContainers_931009654.rb +0 -3
- data/examples/v2/dora-metrics/CreateDORADeployment.rb +23 -0
- data/examples/v2/dora-metrics/CreateDORAIncident.rb +25 -0
- data/examples/v2/downtimes/ListMonitorDowntimes_3316718253.rb +5 -0
- data/examples/v2/events/ListEvents.rb +0 -3
- data/examples/v2/events/ListEvents_1527584014.rb +0 -3
- data/examples/v2/events/ListEvents_2663715109.rb +0 -3
- data/examples/v2/events/SearchEvents.rb +0 -3
- data/examples/v2/events/SearchEvents_3856995058.rb +0 -3
- data/examples/v2/gcp-integration/CreateGCPSTSAccount_130557025.rb +16 -0
- data/examples/v2/gcp-integration/CreateGCPSTSAccount_2597004741.rb +16 -0
- data/examples/v2/gcp-integration/CreateGCPSTSAccount_4235664992.rb +17 -0
- data/examples/v2/gcp-integration/UpdateGCPSTSAccount_3205636354.rb +19 -0
- data/examples/v2/okta-integration/CreateOktaAccount.rb +19 -0
- data/examples/v2/okta-integration/DeleteOktaAccount.rb +5 -0
- data/examples/v2/okta-integration/GetOktaAccount.rb +8 -0
- data/examples/v2/okta-integration/ListOktaAccounts.rb +5 -0
- data/examples/v2/okta-integration/UpdateOktaAccount.rb +20 -0
- data/examples/v2/security-monitoring/CreateSecurityMonitoringRule_3367706049.rb +46 -0
- data/examples/v2/sensitive-data-scanner/CreateScanningRule.rb +7 -0
- data/examples/v2/sensitive-data-scanner/UpdateScanningRule.rb +7 -10
- data/examples/v2/teams/CreateTeamMembership.rb +6 -0
- data/examples/v2/usage-metering/GetActiveBillingDimensions.rb +8 -0
- data/examples/v2/usage-metering/GetMonthlyCostAttribution.rb +8 -0
- data/examples/v2/usage-metering/GetProjectedCost.rb +8 -0
- data/lib/datadog_api_client/configuration.rb +4 -5
- data/lib/datadog_api_client/inflector.rb +113 -0
- data/lib/datadog_api_client/v1/api/downtimes_api.rb +28 -7
- data/lib/datadog_api_client/v1/api/hosts_api.rb +1 -1
- data/lib/datadog_api_client/v1/api/monitors_api.rb +1 -1
- data/lib/datadog_api_client/v1/api/synthetics_api.rb +73 -1
- data/lib/datadog_api_client/v1/models/azure_account.rb +13 -2
- data/lib/datadog_api_client/v1/models/gcp_account.rb +22 -2
- data/lib/datadog_api_client/v1/models/organization.rb +1 -1
- data/lib/datadog_api_client/v1/models/service_level_objective.rb +11 -1
- data/lib/datadog_api_client/v1/models/service_level_objective_request.rb +11 -1
- data/lib/datadog_api_client/v1/models/slo_data_source_query_definition.rb +62 -0
- data/lib/datadog_api_client/v1/models/slo_formula.rb +98 -0
- data/lib/datadog_api_client/v1/models/slo_response_data.rb +11 -1
- data/lib/datadog_api_client/v1/models/slo_sli_spec.rb +62 -0
- data/lib/datadog_api_client/v1/models/slo_time_slice_comparator.rb +29 -0
- data/lib/datadog_api_client/v1/models/slo_time_slice_condition.rb +141 -0
- data/lib/datadog_api_client/v1/models/slo_time_slice_query.rb +131 -0
- data/lib/datadog_api_client/v1/models/slo_time_slice_spec.rb +99 -0
- data/lib/datadog_api_client/v1/models/slo_type.rb +1 -0
- data/lib/datadog_api_client/v1/models/slo_type_numeric.rb +1 -0
- data/lib/datadog_api_client/v1/models/synthetics_patch_test_body.rb +82 -0
- data/lib/datadog_api_client/v1/models/synthetics_patch_test_operation.rb +100 -0
- data/lib/datadog_api_client/v1/models/synthetics_patch_test_operation_name.rb +31 -0
- data/lib/datadog_api_client/v1/models/usage_summary_date.rb +11 -1
- data/lib/datadog_api_client/v1/models/usage_summary_date_org.rb +31 -1
- data/lib/datadog_api_client/v1/models/usage_summary_response.rb +31 -1
- data/lib/datadog_api_client/v1/models/widget_live_span.rb +2 -0
- data/lib/datadog_api_client/v2/api/ci_visibility_pipelines_api.rb +0 -6
- data/lib/datadog_api_client/v2/api/cloud_cost_management_api.rb +680 -0
- data/lib/datadog_api_client/v2/api/container_images_api.rb +0 -6
- data/lib/datadog_api_client/v2/api/containers_api.rb +0 -6
- data/lib/datadog_api_client/v2/api/dora_metrics_api.rb +181 -0
- data/lib/datadog_api_client/v2/api/downtimes_api.rb +25 -0
- data/lib/datadog_api_client/v2/api/events_api.rb +0 -12
- data/lib/datadog_api_client/v2/api/metrics_api.rb +3 -2
- data/lib/datadog_api_client/v2/api/okta_integration_api.rb +355 -0
- data/lib/datadog_api_client/v2/api/usage_metering_api.rb +241 -0
- data/lib/datadog_api_client/v2/models/active_billing_dimensions_attributes.rb +92 -0
- data/lib/datadog_api_client/v2/models/active_billing_dimensions_body.rb +100 -0
- data/lib/datadog_api_client/v2/models/active_billing_dimensions_response.rb +80 -0
- data/lib/datadog_api_client/v2/models/active_billing_dimensions_type.rb +26 -0
- data/lib/datadog_api_client/v2/models/api_keys_response.rb +14 -4
- data/lib/datadog_api_client/v2/models/api_keys_response_meta.rb +90 -0
- data/lib/datadog_api_client/v2/models/api_keys_response_meta_page.rb +80 -0
- data/lib/datadog_api_client/v2/models/application_key_response_meta.rb +90 -0
- data/lib/datadog_api_client/v2/models/application_key_response_meta_page.rb +80 -0
- data/lib/datadog_api_client/v2/models/aws_cur_config.rb +129 -0
- data/lib/datadog_api_client/v2/models/aws_cur_config_attributes.rb +305 -0
- data/lib/datadog_api_client/v2/models/aws_cur_config_patch_data.rb +119 -0
- data/lib/datadog_api_client/v2/models/aws_cur_config_patch_request.rb +98 -0
- data/lib/datadog_api_client/v2/models/aws_cur_config_patch_request_attributes.rb +98 -0
- data/lib/datadog_api_client/v2/models/aws_cur_config_patch_request_type.rb +26 -0
- data/lib/datadog_api_client/v2/models/aws_cur_config_post_data.rb +119 -0
- data/lib/datadog_api_client/v2/models/aws_cur_config_post_request.rb +98 -0
- data/lib/datadog_api_client/v2/models/aws_cur_config_post_request_attributes.rb +202 -0
- data/lib/datadog_api_client/v2/models/aws_cur_config_post_request_type.rb +26 -0
- data/lib/datadog_api_client/v2/models/aws_cur_config_response.rb +80 -0
- data/lib/datadog_api_client/v2/models/aws_cur_config_type.rb +26 -0
- data/lib/datadog_api_client/v2/models/aws_cur_configs_response.rb +82 -0
- data/lib/datadog_api_client/v2/models/aws_related_account.rb +129 -0
- data/lib/datadog_api_client/v2/models/aws_related_account_attributes.rb +90 -0
- data/lib/datadog_api_client/v2/models/aws_related_account_type.rb +26 -0
- data/lib/datadog_api_client/v2/models/aws_related_accounts_response.rb +82 -0
- data/lib/datadog_api_client/v2/models/azure_uc_config.rb +378 -0
- data/lib/datadog_api_client/v2/models/azure_uc_config_pair.rb +129 -0
- data/lib/datadog_api_client/v2/models/azure_uc_config_pair_attributes.rb +110 -0
- data/lib/datadog_api_client/v2/models/azure_uc_config_pair_type.rb +26 -0
- data/lib/datadog_api_client/v2/models/azure_uc_config_pairs_response.rb +80 -0
- data/lib/datadog_api_client/v2/models/azure_uc_config_patch_data.rb +119 -0
- data/lib/datadog_api_client/v2/models/azure_uc_config_patch_request.rb +98 -0
- data/lib/datadog_api_client/v2/models/azure_uc_config_patch_request_attributes.rb +98 -0
- data/lib/datadog_api_client/v2/models/azure_uc_config_patch_request_type.rb +26 -0
- data/lib/datadog_api_client/v2/models/azure_uc_config_post_data.rb +119 -0
- data/lib/datadog_api_client/v2/models/azure_uc_config_post_request.rb +98 -0
- data/lib/datadog_api_client/v2/models/azure_uc_config_post_request_attributes.rb +192 -0
- data/lib/datadog_api_client/v2/models/azure_uc_config_post_request_type.rb +26 -0
- data/lib/datadog_api_client/v2/models/azure_uc_configs_response.rb +82 -0
- data/lib/datadog_api_client/v2/models/bill_config.rb +161 -0
- data/lib/datadog_api_client/v2/models/ci_app_git_info.rb +2 -2
- data/lib/datadog_api_client/v2/models/cloud_cost_activity.rb +119 -0
- data/lib/datadog_api_client/v2/models/cloud_cost_activity_attributes.rb +98 -0
- data/lib/datadog_api_client/v2/models/cloud_cost_activity_response.rb +80 -0
- data/lib/datadog_api_client/v2/models/cloud_cost_activity_type.rb +26 -0
- data/lib/datadog_api_client/v2/models/cloud_workload_security_agent_rule_attributes.rb +13 -1
- data/lib/datadog_api_client/v2/models/cloudflare_account_create_request_attributes.rb +28 -4
- data/lib/datadog_api_client/v2/models/cloudflare_account_response_attributes.rb +28 -4
- data/lib/datadog_api_client/v2/models/cloudflare_account_update_request_attributes.rb +28 -4
- data/lib/datadog_api_client/v2/models/cost_attribution_aggregates_body.rb +100 -0
- data/lib/datadog_api_client/v2/models/cost_attribution_type.rb +26 -0
- data/lib/datadog_api_client/v2/models/dora_deployment_request.rb +98 -0
- data/lib/datadog_api_client/v2/models/dora_deployment_request_attributes.rb +170 -0
- data/lib/datadog_api_client/v2/models/dora_deployment_request_data.rb +98 -0
- data/lib/datadog_api_client/v2/models/dora_deployment_response.rb +98 -0
- data/lib/datadog_api_client/v2/models/dora_deployment_response_data.rb +108 -0
- data/lib/datadog_api_client/v2/models/dora_deployment_type.rb +26 -0
- data/lib/datadog_api_client/v2/models/dora_git_info.rb +125 -0
- data/lib/datadog_api_client/v2/models/dora_incident_request.rb +98 -0
- data/lib/datadog_api_client/v2/models/dora_incident_request_attributes.rb +179 -0
- data/lib/datadog_api_client/v2/models/dora_incident_request_data.rb +98 -0
- data/lib/datadog_api_client/v2/models/dora_incident_response.rb +98 -0
- data/lib/datadog_api_client/v2/models/dora_incident_response_data.rb +108 -0
- data/lib/datadog_api_client/v2/models/dora_incident_type.rb +26 -0
- data/lib/datadog_api_client/v2/models/full_api_key_attributes.rb +24 -4
- data/lib/datadog_api_client/v2/models/gcpsts_service_account_attributes.rb +25 -5
- data/lib/datadog_api_client/v2/models/incident_attachment_link_attributes.rb +14 -4
- data/lib/datadog_api_client/v2/models/incident_create_relationships.rb +9 -19
- data/lib/datadog_api_client/v2/models/incident_impacts_type.rb +26 -0
- data/lib/datadog_api_client/v2/models/incident_integration_metadata_attributes.rb +21 -1
- data/lib/datadog_api_client/v2/models/incident_integration_metadata_response_data.rb +11 -1
- data/lib/datadog_api_client/v2/models/incident_integration_relationships.rb +90 -0
- data/lib/datadog_api_client/v2/models/incident_non_datadog_creator.rb +90 -0
- data/lib/datadog_api_client/v2/models/incident_responders_type.rb +26 -0
- data/lib/datadog_api_client/v2/models/incident_response_attributes.rb +69 -4
- data/lib/datadog_api_client/v2/models/incident_response_relationships.rb +42 -4
- data/lib/datadog_api_client/v2/models/incident_severity.rb +31 -0
- data/lib/datadog_api_client/v2/models/incident_todo_attributes.rb +24 -4
- data/lib/datadog_api_client/v2/models/incident_todo_relationships.rb +90 -0
- data/lib/datadog_api_client/v2/models/incident_todo_response_data.rb +11 -1
- data/lib/datadog_api_client/v2/models/incident_update_relationships.rb +8 -0
- data/lib/datadog_api_client/v2/models/incident_user_defined_field_type.rb +26 -0
- data/lib/datadog_api_client/v2/models/list_application_keys_response.rb +14 -4
- data/lib/datadog_api_client/v2/models/monthly_cost_attribution_attributes.rb +151 -0
- data/lib/datadog_api_client/v2/models/monthly_cost_attribution_body.rb +100 -0
- data/lib/datadog_api_client/v2/models/monthly_cost_attribution_meta.rb +92 -0
- data/lib/datadog_api_client/v2/models/monthly_cost_attribution_pagination.rb +88 -0
- data/lib/datadog_api_client/v2/models/monthly_cost_attribution_response.rb +92 -0
- data/lib/datadog_api_client/v2/models/okta_account.rb +129 -0
- data/lib/datadog_api_client/v2/models/okta_account_attributes.rb +170 -0
- data/lib/datadog_api_client/v2/models/okta_account_request.rb +98 -0
- data/lib/datadog_api_client/v2/models/okta_account_response.rb +80 -0
- data/lib/datadog_api_client/v2/models/okta_account_response_data.rb +140 -0
- data/lib/datadog_api_client/v2/models/okta_account_type.rb +26 -0
- data/lib/datadog_api_client/v2/models/okta_account_update_request.rb +98 -0
- data/lib/datadog_api_client/v2/models/okta_account_update_request_attributes.rb +149 -0
- data/lib/datadog_api_client/v2/models/okta_account_update_request_data.rb +90 -0
- data/lib/datadog_api_client/v2/models/okta_accounts_response.rb +82 -0
- data/lib/datadog_api_client/v2/models/partial_api_key_attributes.rb +24 -4
- data/lib/datadog_api_client/v2/models/powerpack_relationships.rb +2 -2
- data/lib/datadog_api_client/v2/models/powerpacks_response_meta_pagination.rb +8 -0
- data/lib/datadog_api_client/v2/models/projected_cost.rb +100 -0
- data/lib/datadog_api_client/v2/models/projected_cost_attributes.rb +132 -0
- data/lib/datadog_api_client/v2/models/projected_cost_response.rb +82 -0
- data/lib/datadog_api_client/v2/models/projected_cost_type.rb +26 -0
- data/lib/datadog_api_client/v2/models/relationship_to_incident_impact_data.rb +119 -0
- data/lib/datadog_api_client/v2/models/relationship_to_incident_impacts.rb +100 -0
- data/lib/datadog_api_client/v2/models/relationship_to_incident_responder_data.rb +119 -0
- data/lib/datadog_api_client/v2/models/relationship_to_incident_responders.rb +100 -0
- data/lib/datadog_api_client/v2/models/relationship_to_incident_user_defined_field_data.rb +119 -0
- data/lib/datadog_api_client/v2/models/relationship_to_incident_user_defined_fields.rb +100 -0
- data/lib/datadog_api_client/v2/models/relationship_to_user_team_team.rb +98 -0
- data/lib/datadog_api_client/v2/models/relationship_to_user_team_team_data.rb +119 -0
- data/lib/datadog_api_client/v2/models/security_monitoring_rule_options.rb +14 -4
- data/lib/datadog_api_client/v2/models/security_monitoring_rule_third_party_options.rb +114 -0
- data/lib/datadog_api_client/v2/models/security_monitoring_rule_type_create.rb +1 -0
- data/lib/datadog_api_client/v2/models/security_monitoring_rule_update_payload.rb +13 -1
- data/lib/datadog_api_client/v2/models/security_monitoring_standard_rule_create_payload.rb +13 -1
- data/lib/datadog_api_client/v2/models/security_monitoring_standard_rule_response.rb +13 -1
- data/lib/datadog_api_client/v2/models/security_monitoring_third_party_root_query.rb +92 -0
- data/lib/datadog_api_client/v2/models/security_monitoring_third_party_rule_case.rb +112 -0
- data/lib/datadog_api_client/v2/models/security_monitoring_third_party_rule_case_create.rb +130 -0
- data/lib/datadog_api_client/v2/models/sensitive_data_scanner_included_keyword_configuration.rb +134 -0
- data/lib/datadog_api_client/v2/models/sensitive_data_scanner_rule_attributes.rb +46 -1
- data/lib/datadog_api_client/v2/models/sensitive_data_scanner_standard_pattern_attributes.rb +45 -1
- data/lib/datadog_api_client/v2/models/sort_direction.rb +27 -0
- data/lib/datadog_api_client/v2/models/user_team_attributes.rb +24 -1
- data/lib/datadog_api_client/v2/models/user_team_relationships.rb +11 -1
- data/lib/datadog_api_client/v2/models/user_team_team_type.rb +26 -0
- data/lib/datadog_api_client/version.rb +1 -1
- data/lib/datadog_api_client.rb +16 -1
- metadata +144 -2
@@ -47,9 +47,12 @@ module DatadogAPIClient::V1
|
|
47
47
|
# Only hosts that match one of the defined tags are imported into Datadog.
|
48
48
|
attr_accessor :host_filters
|
49
49
|
|
50
|
-
# When enabled, Datadog
|
50
|
+
# When enabled, Datadog will activate the Cloud Security Monitoring product for this service account. Note: This requires resource_collection_enabled to be set to true.
|
51
51
|
attr_accessor :is_cspm_enabled
|
52
52
|
|
53
|
+
# When enabled, Datadog will attempt to collect Security Command Center Findings. Note: This requires additional permissions on the service account.
|
54
|
+
attr_accessor :is_security_command_center_enabled
|
55
|
+
|
53
56
|
# Your private key name found in your JSON service account key.
|
54
57
|
attr_accessor :private_key
|
55
58
|
|
@@ -59,6 +62,9 @@ module DatadogAPIClient::V1
|
|
59
62
|
# Your Google Cloud project ID found in your JSON service account key.
|
60
63
|
attr_accessor :project_id
|
61
64
|
|
65
|
+
# When enabled, Datadog scans for all resources in your GCP environment.
|
66
|
+
attr_accessor :resource_collection_enabled
|
67
|
+
|
62
68
|
# Should be `https://accounts.google.com/o/oauth2/token`.
|
63
69
|
attr_accessor :token_uri
|
64
70
|
|
@@ -78,9 +84,11 @@ module DatadogAPIClient::V1
|
|
78
84
|
:'errors' => :'errors',
|
79
85
|
:'host_filters' => :'host_filters',
|
80
86
|
:'is_cspm_enabled' => :'is_cspm_enabled',
|
87
|
+
:'is_security_command_center_enabled' => :'is_security_command_center_enabled',
|
81
88
|
:'private_key' => :'private_key',
|
82
89
|
:'private_key_id' => :'private_key_id',
|
83
90
|
:'project_id' => :'project_id',
|
91
|
+
:'resource_collection_enabled' => :'resource_collection_enabled',
|
84
92
|
:'token_uri' => :'token_uri',
|
85
93
|
:'type' => :'type'
|
86
94
|
}
|
@@ -99,9 +107,11 @@ module DatadogAPIClient::V1
|
|
99
107
|
:'errors' => :'Array<String>',
|
100
108
|
:'host_filters' => :'String',
|
101
109
|
:'is_cspm_enabled' => :'Boolean',
|
110
|
+
:'is_security_command_center_enabled' => :'Boolean',
|
102
111
|
:'private_key' => :'String',
|
103
112
|
:'private_key_id' => :'String',
|
104
113
|
:'project_id' => :'String',
|
114
|
+
:'resource_collection_enabled' => :'Boolean',
|
105
115
|
:'token_uri' => :'String',
|
106
116
|
:'type' => :'String'
|
107
117
|
}
|
@@ -161,6 +171,10 @@ module DatadogAPIClient::V1
|
|
161
171
|
self.is_cspm_enabled = attributes[:'is_cspm_enabled']
|
162
172
|
end
|
163
173
|
|
174
|
+
if attributes.key?(:'is_security_command_center_enabled')
|
175
|
+
self.is_security_command_center_enabled = attributes[:'is_security_command_center_enabled']
|
176
|
+
end
|
177
|
+
|
164
178
|
if attributes.key?(:'private_key')
|
165
179
|
self.private_key = attributes[:'private_key']
|
166
180
|
end
|
@@ -173,6 +187,10 @@ module DatadogAPIClient::V1
|
|
173
187
|
self.project_id = attributes[:'project_id']
|
174
188
|
end
|
175
189
|
|
190
|
+
if attributes.key?(:'resource_collection_enabled')
|
191
|
+
self.resource_collection_enabled = attributes[:'resource_collection_enabled']
|
192
|
+
end
|
193
|
+
|
176
194
|
if attributes.key?(:'token_uri')
|
177
195
|
self.token_uri = attributes[:'token_uri']
|
178
196
|
end
|
@@ -197,9 +215,11 @@ module DatadogAPIClient::V1
|
|
197
215
|
errors == o.errors &&
|
198
216
|
host_filters == o.host_filters &&
|
199
217
|
is_cspm_enabled == o.is_cspm_enabled &&
|
218
|
+
is_security_command_center_enabled == o.is_security_command_center_enabled &&
|
200
219
|
private_key == o.private_key &&
|
201
220
|
private_key_id == o.private_key_id &&
|
202
221
|
project_id == o.project_id &&
|
222
|
+
resource_collection_enabled == o.resource_collection_enabled &&
|
203
223
|
token_uri == o.token_uri &&
|
204
224
|
type == o.type
|
205
225
|
end
|
@@ -208,7 +228,7 @@ module DatadogAPIClient::V1
|
|
208
228
|
# @return [Integer] Hash code
|
209
229
|
# @!visibility private
|
210
230
|
def hash
|
211
|
-
[auth_provider_x509_cert_url, auth_uri, automute, client_email, client_id, client_x509_cert_url, errors, host_filters, is_cspm_enabled, private_key, private_key_id, project_id, token_uri, type].hash
|
231
|
+
[auth_provider_x509_cert_url, auth_uri, automute, client_email, client_id, client_x509_cert_url, errors, host_filters, is_cspm_enabled, is_security_command_center_enabled, private_key, private_key_id, project_id, resource_collection_enabled, token_uri, type].hash
|
212
232
|
end
|
213
233
|
end
|
214
234
|
end
|
@@ -30,7 +30,7 @@ module DatadogAPIClient::V1
|
|
30
30
|
# Description of the organization.
|
31
31
|
attr_accessor :description
|
32
32
|
|
33
|
-
# The name of the
|
33
|
+
# The name of the child organization, limited to 32 characters.
|
34
34
|
attr_reader :name
|
35
35
|
|
36
36
|
# The `public_id` of the organization you are operating within.
|
@@ -73,6 +73,9 @@ module DatadogAPIClient::V1
|
|
73
73
|
# min of all of those requests.
|
74
74
|
attr_accessor :query
|
75
75
|
|
76
|
+
# A generic SLI specification. This is currently used for time-slice SLOs only.
|
77
|
+
attr_accessor :sli_specification
|
78
|
+
|
76
79
|
# A list of tags associated with this service level objective.
|
77
80
|
# Always included in service level objective responses (but may be empty).
|
78
81
|
# Optional in create/update requests.
|
@@ -112,6 +115,7 @@ module DatadogAPIClient::V1
|
|
112
115
|
:'monitor_tags' => :'monitor_tags',
|
113
116
|
:'name' => :'name',
|
114
117
|
:'query' => :'query',
|
118
|
+
:'sli_specification' => :'sli_specification',
|
115
119
|
:'tags' => :'tags',
|
116
120
|
:'target_threshold' => :'target_threshold',
|
117
121
|
:'thresholds' => :'thresholds',
|
@@ -135,6 +139,7 @@ module DatadogAPIClient::V1
|
|
135
139
|
:'monitor_tags' => :'Array<String>',
|
136
140
|
:'name' => :'String',
|
137
141
|
:'query' => :'ServiceLevelObjectiveQuery',
|
142
|
+
:'sli_specification' => :'SLOSliSpec',
|
138
143
|
:'tags' => :'Array<String>',
|
139
144
|
:'target_threshold' => :'Float',
|
140
145
|
:'thresholds' => :'Array<SLOThreshold>',
|
@@ -214,6 +219,10 @@ module DatadogAPIClient::V1
|
|
214
219
|
self.query = attributes[:'query']
|
215
220
|
end
|
216
221
|
|
222
|
+
if attributes.key?(:'sli_specification')
|
223
|
+
self.sli_specification = attributes[:'sli_specification']
|
224
|
+
end
|
225
|
+
|
217
226
|
if attributes.key?(:'tags')
|
218
227
|
if (value = attributes[:'tags']).is_a?(Array)
|
219
228
|
self.tags = value
|
@@ -299,6 +308,7 @@ module DatadogAPIClient::V1
|
|
299
308
|
monitor_tags == o.monitor_tags &&
|
300
309
|
name == o.name &&
|
301
310
|
query == o.query &&
|
311
|
+
sli_specification == o.sli_specification &&
|
302
312
|
tags == o.tags &&
|
303
313
|
target_threshold == o.target_threshold &&
|
304
314
|
thresholds == o.thresholds &&
|
@@ -311,7 +321,7 @@ module DatadogAPIClient::V1
|
|
311
321
|
# @return [Integer] Hash code
|
312
322
|
# @!visibility private
|
313
323
|
def hash
|
314
|
-
[created_at, creator, description, groups, id, modified_at, monitor_ids, monitor_tags, name, query, tags, target_threshold, thresholds, timeframe, type, warning_threshold].hash
|
324
|
+
[created_at, creator, description, groups, id, modified_at, monitor_ids, monitor_tags, name, query, sli_specification, tags, target_threshold, thresholds, timeframe, type, warning_threshold].hash
|
315
325
|
end
|
316
326
|
end
|
317
327
|
end
|
@@ -47,6 +47,9 @@ module DatadogAPIClient::V1
|
|
47
47
|
# min of all of those requests.
|
48
48
|
attr_accessor :query
|
49
49
|
|
50
|
+
# A generic SLI specification. This is currently used for time-slice SLOs only.
|
51
|
+
attr_accessor :sli_specification
|
52
|
+
|
50
53
|
# A list of tags associated with this service level objective.
|
51
54
|
# Always included in service level objective responses (but may be empty).
|
52
55
|
# Optional in create/update requests.
|
@@ -81,6 +84,7 @@ module DatadogAPIClient::V1
|
|
81
84
|
:'monitor_ids' => :'monitor_ids',
|
82
85
|
:'name' => :'name',
|
83
86
|
:'query' => :'query',
|
87
|
+
:'sli_specification' => :'sli_specification',
|
84
88
|
:'tags' => :'tags',
|
85
89
|
:'target_threshold' => :'target_threshold',
|
86
90
|
:'thresholds' => :'thresholds',
|
@@ -99,6 +103,7 @@ module DatadogAPIClient::V1
|
|
99
103
|
:'monitor_ids' => :'Array<Integer>',
|
100
104
|
:'name' => :'String',
|
101
105
|
:'query' => :'ServiceLevelObjectiveQuery',
|
106
|
+
:'sli_specification' => :'SLOSliSpec',
|
102
107
|
:'tags' => :'Array<String>',
|
103
108
|
:'target_threshold' => :'Float',
|
104
109
|
:'thresholds' => :'Array<SLOThreshold>',
|
@@ -156,6 +161,10 @@ module DatadogAPIClient::V1
|
|
156
161
|
self.query = attributes[:'query']
|
157
162
|
end
|
158
163
|
|
164
|
+
if attributes.key?(:'sli_specification')
|
165
|
+
self.sli_specification = attributes[:'sli_specification']
|
166
|
+
end
|
167
|
+
|
159
168
|
if attributes.key?(:'tags')
|
160
169
|
if (value = attributes[:'tags']).is_a?(Array)
|
161
170
|
self.tags = value
|
@@ -236,6 +245,7 @@ module DatadogAPIClient::V1
|
|
236
245
|
monitor_ids == o.monitor_ids &&
|
237
246
|
name == o.name &&
|
238
247
|
query == o.query &&
|
248
|
+
sli_specification == o.sli_specification &&
|
239
249
|
tags == o.tags &&
|
240
250
|
target_threshold == o.target_threshold &&
|
241
251
|
thresholds == o.thresholds &&
|
@@ -248,7 +258,7 @@ module DatadogAPIClient::V1
|
|
248
258
|
# @return [Integer] Hash code
|
249
259
|
# @!visibility private
|
250
260
|
def hash
|
251
|
-
[description, groups, monitor_ids, name, query, tags, target_threshold, thresholds, timeframe, type, warning_threshold].hash
|
261
|
+
[description, groups, monitor_ids, name, query, sli_specification, tags, target_threshold, thresholds, timeframe, type, warning_threshold].hash
|
252
262
|
end
|
253
263
|
end
|
254
264
|
end
|
@@ -0,0 +1,62 @@
|
|
1
|
+
=begin
|
2
|
+
#Datadog API V1 Collection
|
3
|
+
|
4
|
+
#Collection of all Datadog Public endpoints.
|
5
|
+
|
6
|
+
The version of the OpenAPI document: 1.0
|
7
|
+
Contact: support@datadoghq.com
|
8
|
+
Generated by: https://github.com/DataDog/datadog-api-client-ruby/tree/master/.generator
|
9
|
+
|
10
|
+
Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License.
|
11
|
+
This product includes software developed at Datadog (https://www.datadoghq.com/).
|
12
|
+
Copyright 2020-Present Datadog, Inc.
|
13
|
+
|
14
|
+
=end
|
15
|
+
|
16
|
+
require 'date'
|
17
|
+
require 'time'
|
18
|
+
|
19
|
+
module DatadogAPIClient::V1
|
20
|
+
# A formula and function query.
|
21
|
+
module SLODataSourceQueryDefinition
|
22
|
+
class << self
|
23
|
+
include BaseOneOfModel
|
24
|
+
include BaseOneOfModelNoDiscriminator
|
25
|
+
|
26
|
+
# List of class defined in oneOf (OpenAPI v3)
|
27
|
+
def openapi_one_of
|
28
|
+
[
|
29
|
+
:'FormulaAndFunctionMetricQueryDefinition'
|
30
|
+
]
|
31
|
+
end
|
32
|
+
# Builds the object
|
33
|
+
# @param data [Mixed] Data to be matched against the list of oneOf items
|
34
|
+
# @return [Object] Returns the model or the data itself
|
35
|
+
def build(data)
|
36
|
+
# Go through the list of oneOf items and attempt to identify the appropriate one.
|
37
|
+
# Note:
|
38
|
+
# - We do not attempt to check whether exactly one item matches.
|
39
|
+
# - No advanced validation of types in some cases (e.g. "x: { type: string }" will happily match { x: 123 })
|
40
|
+
# due to the way the deserialization is made in the base_object template (it just casts without verifying).
|
41
|
+
# - TODO: scalar values are de facto behaving as if they were nullable.
|
42
|
+
# - TODO: logging when debugging is set.
|
43
|
+
openapi_one_of.each do |klass|
|
44
|
+
begin
|
45
|
+
next if klass == :AnyType # "nullable: true"
|
46
|
+
typed_data = find_and_cast_into_type(klass, data)
|
47
|
+
next if typed_data.respond_to?(:_unparsed) && typed_data._unparsed
|
48
|
+
return typed_data if typed_data
|
49
|
+
rescue # rescue all errors so we keep iterating even if the current item lookup raises
|
50
|
+
end
|
51
|
+
end
|
52
|
+
|
53
|
+
if openapi_one_of.include?(:AnyType)
|
54
|
+
data
|
55
|
+
else
|
56
|
+
self._unparsed = true
|
57
|
+
DatadogAPIClient::UnparsedObject.new(data)
|
58
|
+
end
|
59
|
+
end
|
60
|
+
end
|
61
|
+
end
|
62
|
+
end
|
@@ -0,0 +1,98 @@
|
|
1
|
+
=begin
|
2
|
+
#Datadog API V1 Collection
|
3
|
+
|
4
|
+
#Collection of all Datadog Public endpoints.
|
5
|
+
|
6
|
+
The version of the OpenAPI document: 1.0
|
7
|
+
Contact: support@datadoghq.com
|
8
|
+
Generated by: https://github.com/DataDog/datadog-api-client-ruby/tree/master/.generator
|
9
|
+
|
10
|
+
Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License.
|
11
|
+
This product includes software developed at Datadog (https://www.datadoghq.com/).
|
12
|
+
Copyright 2020-Present Datadog, Inc.
|
13
|
+
|
14
|
+
=end
|
15
|
+
|
16
|
+
require 'date'
|
17
|
+
require 'time'
|
18
|
+
|
19
|
+
module DatadogAPIClient::V1
|
20
|
+
# A formula that specifies how to combine the results of multiple queries.
|
21
|
+
class SLOFormula
|
22
|
+
include BaseGenericModel
|
23
|
+
|
24
|
+
# The formula string, which is an expression involving named queries.
|
25
|
+
attr_reader :formula
|
26
|
+
|
27
|
+
# Attribute mapping from ruby-style variable name to JSON key.
|
28
|
+
# @!visibility private
|
29
|
+
def self.attribute_map
|
30
|
+
{
|
31
|
+
:'formula' => :'formula'
|
32
|
+
}
|
33
|
+
end
|
34
|
+
|
35
|
+
# Attribute type mapping.
|
36
|
+
# @!visibility private
|
37
|
+
def self.openapi_types
|
38
|
+
{
|
39
|
+
:'formula' => :'String'
|
40
|
+
}
|
41
|
+
end
|
42
|
+
|
43
|
+
# Initializes the object
|
44
|
+
# @param attributes [Hash] Model attributes in the form of hash
|
45
|
+
# @!visibility private
|
46
|
+
def initialize(attributes = {})
|
47
|
+
if (!attributes.is_a?(Hash))
|
48
|
+
fail ArgumentError, "The input argument (attributes) must be a hash in `DatadogAPIClient::V1::SLOFormula` initialize method"
|
49
|
+
end
|
50
|
+
|
51
|
+
# check to see if the attribute exists and convert string to symbol for hash key
|
52
|
+
attributes = attributes.each_with_object({}) { |(k, v), h|
|
53
|
+
if (!self.class.attribute_map.key?(k.to_sym))
|
54
|
+
fail ArgumentError, "`#{k}` is not a valid attribute in `DatadogAPIClient::V1::SLOFormula`. Please check the name to make sure it's valid. List of attributes: " + self.class.attribute_map.keys.inspect
|
55
|
+
end
|
56
|
+
h[k.to_sym] = v
|
57
|
+
}
|
58
|
+
|
59
|
+
if attributes.key?(:'formula')
|
60
|
+
self.formula = attributes[:'formula']
|
61
|
+
end
|
62
|
+
end
|
63
|
+
|
64
|
+
# Check to see if the all the properties in the model are valid
|
65
|
+
# @return true if the model is valid
|
66
|
+
# @!visibility private
|
67
|
+
def valid?
|
68
|
+
return false if @formula.nil?
|
69
|
+
true
|
70
|
+
end
|
71
|
+
|
72
|
+
# Custom attribute writer method with validation
|
73
|
+
# @param formula [Object] Object to be assigned
|
74
|
+
# @!visibility private
|
75
|
+
def formula=(formula)
|
76
|
+
if formula.nil?
|
77
|
+
fail ArgumentError, 'invalid value for "formula", formula cannot be nil.'
|
78
|
+
end
|
79
|
+
@formula = formula
|
80
|
+
end
|
81
|
+
|
82
|
+
# Checks equality by comparing each attribute.
|
83
|
+
# @param o [Object] Object to be compared
|
84
|
+
# @!visibility private
|
85
|
+
def ==(o)
|
86
|
+
return true if self.equal?(o)
|
87
|
+
self.class == o.class &&
|
88
|
+
formula == o.formula
|
89
|
+
end
|
90
|
+
|
91
|
+
# Calculates hash code according to all attributes.
|
92
|
+
# @return [Integer] Hash code
|
93
|
+
# @!visibility private
|
94
|
+
def hash
|
95
|
+
[formula].hash
|
96
|
+
end
|
97
|
+
end
|
98
|
+
end
|
@@ -76,6 +76,9 @@ module DatadogAPIClient::V1
|
|
76
76
|
# min of all of those requests.
|
77
77
|
attr_accessor :query
|
78
78
|
|
79
|
+
# A generic SLI specification. This is currently used for time-slice SLOs only.
|
80
|
+
attr_accessor :sli_specification
|
81
|
+
|
79
82
|
# A list of tags associated with this service level objective.
|
80
83
|
# Always included in service level objective responses (but may be empty).
|
81
84
|
# Optional in create/update requests.
|
@@ -116,6 +119,7 @@ module DatadogAPIClient::V1
|
|
116
119
|
:'monitor_tags' => :'monitor_tags',
|
117
120
|
:'name' => :'name',
|
118
121
|
:'query' => :'query',
|
122
|
+
:'sli_specification' => :'sli_specification',
|
119
123
|
:'tags' => :'tags',
|
120
124
|
:'target_threshold' => :'target_threshold',
|
121
125
|
:'thresholds' => :'thresholds',
|
@@ -140,6 +144,7 @@ module DatadogAPIClient::V1
|
|
140
144
|
:'monitor_tags' => :'Array<String>',
|
141
145
|
:'name' => :'String',
|
142
146
|
:'query' => :'ServiceLevelObjectiveQuery',
|
147
|
+
:'sli_specification' => :'SLOSliSpec',
|
143
148
|
:'tags' => :'Array<String>',
|
144
149
|
:'target_threshold' => :'Float',
|
145
150
|
:'thresholds' => :'Array<SLOThreshold>',
|
@@ -225,6 +230,10 @@ module DatadogAPIClient::V1
|
|
225
230
|
self.query = attributes[:'query']
|
226
231
|
end
|
227
232
|
|
233
|
+
if attributes.key?(:'sli_specification')
|
234
|
+
self.sli_specification = attributes[:'sli_specification']
|
235
|
+
end
|
236
|
+
|
228
237
|
if attributes.key?(:'tags')
|
229
238
|
if (value = attributes[:'tags']).is_a?(Array)
|
230
239
|
self.tags = value
|
@@ -271,6 +280,7 @@ module DatadogAPIClient::V1
|
|
271
280
|
monitor_tags == o.monitor_tags &&
|
272
281
|
name == o.name &&
|
273
282
|
query == o.query &&
|
283
|
+
sli_specification == o.sli_specification &&
|
274
284
|
tags == o.tags &&
|
275
285
|
target_threshold == o.target_threshold &&
|
276
286
|
thresholds == o.thresholds &&
|
@@ -283,7 +293,7 @@ module DatadogAPIClient::V1
|
|
283
293
|
# @return [Integer] Hash code
|
284
294
|
# @!visibility private
|
285
295
|
def hash
|
286
|
-
[configured_alert_ids, created_at, creator, description, groups, id, modified_at, monitor_ids, monitor_tags, name, query, tags, target_threshold, thresholds, timeframe, type, warning_threshold].hash
|
296
|
+
[configured_alert_ids, created_at, creator, description, groups, id, modified_at, monitor_ids, monitor_tags, name, query, sli_specification, tags, target_threshold, thresholds, timeframe, type, warning_threshold].hash
|
287
297
|
end
|
288
298
|
end
|
289
299
|
end
|
@@ -0,0 +1,62 @@
|
|
1
|
+
=begin
|
2
|
+
#Datadog API V1 Collection
|
3
|
+
|
4
|
+
#Collection of all Datadog Public endpoints.
|
5
|
+
|
6
|
+
The version of the OpenAPI document: 1.0
|
7
|
+
Contact: support@datadoghq.com
|
8
|
+
Generated by: https://github.com/DataDog/datadog-api-client-ruby/tree/master/.generator
|
9
|
+
|
10
|
+
Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License.
|
11
|
+
This product includes software developed at Datadog (https://www.datadoghq.com/).
|
12
|
+
Copyright 2020-Present Datadog, Inc.
|
13
|
+
|
14
|
+
=end
|
15
|
+
|
16
|
+
require 'date'
|
17
|
+
require 'time'
|
18
|
+
|
19
|
+
module DatadogAPIClient::V1
|
20
|
+
# A generic SLI specification. This is currently used for time-slice SLOs only.
|
21
|
+
module SLOSliSpec
|
22
|
+
class << self
|
23
|
+
include BaseOneOfModel
|
24
|
+
include BaseOneOfModelNoDiscriminator
|
25
|
+
|
26
|
+
# List of class defined in oneOf (OpenAPI v3)
|
27
|
+
def openapi_one_of
|
28
|
+
[
|
29
|
+
:'SLOTimeSliceSpec'
|
30
|
+
]
|
31
|
+
end
|
32
|
+
# Builds the object
|
33
|
+
# @param data [Mixed] Data to be matched against the list of oneOf items
|
34
|
+
# @return [Object] Returns the model or the data itself
|
35
|
+
def build(data)
|
36
|
+
# Go through the list of oneOf items and attempt to identify the appropriate one.
|
37
|
+
# Note:
|
38
|
+
# - We do not attempt to check whether exactly one item matches.
|
39
|
+
# - No advanced validation of types in some cases (e.g. "x: { type: string }" will happily match { x: 123 })
|
40
|
+
# due to the way the deserialization is made in the base_object template (it just casts without verifying).
|
41
|
+
# - TODO: scalar values are de facto behaving as if they were nullable.
|
42
|
+
# - TODO: logging when debugging is set.
|
43
|
+
openapi_one_of.each do |klass|
|
44
|
+
begin
|
45
|
+
next if klass == :AnyType # "nullable: true"
|
46
|
+
typed_data = find_and_cast_into_type(klass, data)
|
47
|
+
next if typed_data.respond_to?(:_unparsed) && typed_data._unparsed
|
48
|
+
return typed_data if typed_data
|
49
|
+
rescue # rescue all errors so we keep iterating even if the current item lookup raises
|
50
|
+
end
|
51
|
+
end
|
52
|
+
|
53
|
+
if openapi_one_of.include?(:AnyType)
|
54
|
+
data
|
55
|
+
else
|
56
|
+
self._unparsed = true
|
57
|
+
DatadogAPIClient::UnparsedObject.new(data)
|
58
|
+
end
|
59
|
+
end
|
60
|
+
end
|
61
|
+
end
|
62
|
+
end
|
@@ -0,0 +1,29 @@
|
|
1
|
+
=begin
|
2
|
+
#Datadog API V1 Collection
|
3
|
+
|
4
|
+
#Collection of all Datadog Public endpoints.
|
5
|
+
|
6
|
+
The version of the OpenAPI document: 1.0
|
7
|
+
Contact: support@datadoghq.com
|
8
|
+
Generated by: https://github.com/DataDog/datadog-api-client-ruby/tree/master/.generator
|
9
|
+
|
10
|
+
Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License.
|
11
|
+
This product includes software developed at Datadog (https://www.datadoghq.com/).
|
12
|
+
Copyright 2020-Present Datadog, Inc.
|
13
|
+
|
14
|
+
=end
|
15
|
+
|
16
|
+
require 'date'
|
17
|
+
require 'time'
|
18
|
+
|
19
|
+
module DatadogAPIClient::V1
|
20
|
+
# The comparator used to compare the SLI value to the threshold.
|
21
|
+
class SLOTimeSliceComparator
|
22
|
+
include BaseEnumModel
|
23
|
+
|
24
|
+
GREATER = ">".freeze
|
25
|
+
GREATER_EQUAL = ">=".freeze
|
26
|
+
LESS = "<".freeze
|
27
|
+
LESS_EQUAL = "<=".freeze
|
28
|
+
end
|
29
|
+
end
|
@@ -0,0 +1,141 @@
|
|
1
|
+
=begin
|
2
|
+
#Datadog API V1 Collection
|
3
|
+
|
4
|
+
#Collection of all Datadog Public endpoints.
|
5
|
+
|
6
|
+
The version of the OpenAPI document: 1.0
|
7
|
+
Contact: support@datadoghq.com
|
8
|
+
Generated by: https://github.com/DataDog/datadog-api-client-ruby/tree/master/.generator
|
9
|
+
|
10
|
+
Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License.
|
11
|
+
This product includes software developed at Datadog (https://www.datadoghq.com/).
|
12
|
+
Copyright 2020-Present Datadog, Inc.
|
13
|
+
|
14
|
+
=end
|
15
|
+
|
16
|
+
require 'date'
|
17
|
+
require 'time'
|
18
|
+
|
19
|
+
module DatadogAPIClient::V1
|
20
|
+
# The time-slice condition, composed of 3 parts: 1. the metric timeseries query, 2. the comparator,
|
21
|
+
# and 3. the threshold.
|
22
|
+
class SLOTimeSliceCondition
|
23
|
+
include BaseGenericModel
|
24
|
+
|
25
|
+
# The comparator used to compare the SLI value to the threshold.
|
26
|
+
attr_reader :comparator
|
27
|
+
|
28
|
+
# The queries and formula used to calculate the SLI value.
|
29
|
+
attr_reader :query
|
30
|
+
|
31
|
+
# The threshold value to which each SLI value will be compared.
|
32
|
+
attr_reader :threshold
|
33
|
+
|
34
|
+
# Attribute mapping from ruby-style variable name to JSON key.
|
35
|
+
# @!visibility private
|
36
|
+
def self.attribute_map
|
37
|
+
{
|
38
|
+
:'comparator' => :'comparator',
|
39
|
+
:'query' => :'query',
|
40
|
+
:'threshold' => :'threshold'
|
41
|
+
}
|
42
|
+
end
|
43
|
+
|
44
|
+
# Attribute type mapping.
|
45
|
+
# @!visibility private
|
46
|
+
def self.openapi_types
|
47
|
+
{
|
48
|
+
:'comparator' => :'SLOTimeSliceComparator',
|
49
|
+
:'query' => :'SLOTimeSliceQuery',
|
50
|
+
:'threshold' => :'Float'
|
51
|
+
}
|
52
|
+
end
|
53
|
+
|
54
|
+
# Initializes the object
|
55
|
+
# @param attributes [Hash] Model attributes in the form of hash
|
56
|
+
# @!visibility private
|
57
|
+
def initialize(attributes = {})
|
58
|
+
if (!attributes.is_a?(Hash))
|
59
|
+
fail ArgumentError, "The input argument (attributes) must be a hash in `DatadogAPIClient::V1::SLOTimeSliceCondition` initialize method"
|
60
|
+
end
|
61
|
+
|
62
|
+
# check to see if the attribute exists and convert string to symbol for hash key
|
63
|
+
attributes = attributes.each_with_object({}) { |(k, v), h|
|
64
|
+
if (!self.class.attribute_map.key?(k.to_sym))
|
65
|
+
fail ArgumentError, "`#{k}` is not a valid attribute in `DatadogAPIClient::V1::SLOTimeSliceCondition`. Please check the name to make sure it's valid. List of attributes: " + self.class.attribute_map.keys.inspect
|
66
|
+
end
|
67
|
+
h[k.to_sym] = v
|
68
|
+
}
|
69
|
+
|
70
|
+
if attributes.key?(:'comparator')
|
71
|
+
self.comparator = attributes[:'comparator']
|
72
|
+
end
|
73
|
+
|
74
|
+
if attributes.key?(:'query')
|
75
|
+
self.query = attributes[:'query']
|
76
|
+
end
|
77
|
+
|
78
|
+
if attributes.key?(:'threshold')
|
79
|
+
self.threshold = attributes[:'threshold']
|
80
|
+
end
|
81
|
+
end
|
82
|
+
|
83
|
+
# Check to see if the all the properties in the model are valid
|
84
|
+
# @return true if the model is valid
|
85
|
+
# @!visibility private
|
86
|
+
def valid?
|
87
|
+
return false if @comparator.nil?
|
88
|
+
return false if @query.nil?
|
89
|
+
return false if @threshold.nil?
|
90
|
+
true
|
91
|
+
end
|
92
|
+
|
93
|
+
# Custom attribute writer method with validation
|
94
|
+
# @param comparator [Object] Object to be assigned
|
95
|
+
# @!visibility private
|
96
|
+
def comparator=(comparator)
|
97
|
+
if comparator.nil?
|
98
|
+
fail ArgumentError, 'invalid value for "comparator", comparator cannot be nil.'
|
99
|
+
end
|
100
|
+
@comparator = comparator
|
101
|
+
end
|
102
|
+
|
103
|
+
# Custom attribute writer method with validation
|
104
|
+
# @param query [Object] Object to be assigned
|
105
|
+
# @!visibility private
|
106
|
+
def query=(query)
|
107
|
+
if query.nil?
|
108
|
+
fail ArgumentError, 'invalid value for "query", query cannot be nil.'
|
109
|
+
end
|
110
|
+
@query = query
|
111
|
+
end
|
112
|
+
|
113
|
+
# Custom attribute writer method with validation
|
114
|
+
# @param threshold [Object] Object to be assigned
|
115
|
+
# @!visibility private
|
116
|
+
def threshold=(threshold)
|
117
|
+
if threshold.nil?
|
118
|
+
fail ArgumentError, 'invalid value for "threshold", threshold cannot be nil.'
|
119
|
+
end
|
120
|
+
@threshold = threshold
|
121
|
+
end
|
122
|
+
|
123
|
+
# Checks equality by comparing each attribute.
|
124
|
+
# @param o [Object] Object to be compared
|
125
|
+
# @!visibility private
|
126
|
+
def ==(o)
|
127
|
+
return true if self.equal?(o)
|
128
|
+
self.class == o.class &&
|
129
|
+
comparator == o.comparator &&
|
130
|
+
query == o.query &&
|
131
|
+
threshold == o.threshold
|
132
|
+
end
|
133
|
+
|
134
|
+
# Calculates hash code according to all attributes.
|
135
|
+
# @return [Integer] Hash code
|
136
|
+
# @!visibility private
|
137
|
+
def hash
|
138
|
+
[comparator, query, threshold].hash
|
139
|
+
end
|
140
|
+
end
|
141
|
+
end
|