datadog_api_client 2.18.0 → 2.20.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (193) hide show
  1. checksums.yaml +4 -4
  2. data/.apigentools-info +4 -4
  3. data/.generator/conftest.py +1 -1
  4. data/.generator/poetry.lock +69 -69
  5. data/.generator/schemas/v1/openapi.yaml +286 -55
  6. data/.generator/schemas/v2/openapi.yaml +2021 -226
  7. data/.generator/src/generator/templates/api.j2 +5 -5
  8. data/.generator/src/generator/templates/model_generic.j2 +2 -2
  9. data/CHANGELOG.md +38 -0
  10. data/examples/v1/azure-integration/CreateAzureIntegration.rb +4 -4
  11. data/examples/v1/azure-integration/DeleteAzureIntegration.rb +2 -15
  12. data/examples/v1/azure-integration/UpdateAzureIntegration.rb +4 -4
  13. data/examples/v1/gcp-integration/CreateGCPIntegration.rb +4 -5
  14. data/examples/v1/gcp-integration/DeleteGCPIntegration.rb +2 -14
  15. data/examples/v1/gcp-integration/UpdateGCPIntegration.rb +4 -5
  16. data/examples/v1/logs-indexes/CreateLogsIndex.rb +5 -0
  17. data/examples/v1/logs-indexes/UpdateLogsIndex.rb +5 -0
  18. data/examples/v1/service-level-objectives/CreateSLO_3765703239.rb +46 -0
  19. data/examples/v1/synthetics/CreateSyntheticsAPITest.rb +1 -1
  20. data/examples/v1/synthetics/CreateSyntheticsBrowserTest.rb +1 -1
  21. data/examples/v1/synthetics/TriggerCITests.rb +1 -1
  22. data/examples/v1/synthetics/UpdateBrowserTest.rb +1 -1
  23. data/examples/v1/usage-metering/GetUsageLambda.rb +5 -2
  24. data/examples/v2/api-management/CreateOpenAPI.rb +11 -0
  25. data/examples/v2/api-management/DeleteOpenAPI.rb +11 -0
  26. data/examples/v2/api-management/GetOpenAPI.rb +11 -0
  27. data/examples/v2/api-management/UpdateOpenAPI.rb +14 -0
  28. data/examples/v2/ci-visibility-pipelines/CreateCIAppPipelineEvent.rb +0 -3
  29. data/examples/v2/ci-visibility-pipelines/CreateCIAppPipelineEvent_129899466.rb +0 -3
  30. data/examples/v2/cloud-cost-management/CreateCostAWSCURConfig.rb +18 -0
  31. data/examples/v2/cloud-cost-management/CreateCostAzureUCConfigs.rb +29 -0
  32. data/examples/v2/cloud-cost-management/DeleteCostAWSCURConfig.rb +5 -0
  33. data/examples/v2/cloud-cost-management/DeleteCostAzureUCConfig.rb +5 -0
  34. data/examples/v2/cloud-cost-management/GetCloudCostActivity.rb +5 -0
  35. data/examples/v2/cloud-cost-management/ListAWSRelatedAccounts.rb +5 -0
  36. data/examples/v2/cloud-cost-management/ListCostAWSCURConfigs.rb +5 -0
  37. data/examples/v2/cloud-cost-management/ListCostAzureUCConfigs.rb +5 -0
  38. data/examples/v2/cloud-cost-management/UpdateCostAWSCURConfig.rb +14 -0
  39. data/examples/v2/cloud-cost-management/UpdateCostAzureUCConfigs.rb +14 -0
  40. data/examples/v2/cloudflare-integration/CreateCloudflareAccount.rb +1 -1
  41. data/examples/v2/cloudflare-integration/UpdateCloudflareAccount.rb +4 -1
  42. data/examples/v2/downtimes/ListMonitorDowntimes_3316718253.rb +5 -0
  43. data/examples/v2/gcp-integration/CreateGCPSTSAccount_130557025.rb +16 -0
  44. data/examples/v2/gcp-integration/CreateGCPSTSAccount_2597004741.rb +16 -0
  45. data/examples/v2/gcp-integration/CreateGCPSTSAccount_4235664992.rb +17 -0
  46. data/examples/v2/gcp-integration/UpdateGCPSTSAccount_3205636354.rb +19 -0
  47. data/examples/v2/okta-integration/CreateOktaAccount.rb +1 -1
  48. data/examples/v2/security-monitoring/CreateSecurityMonitoringRule_3367706049.rb +46 -0
  49. data/examples/v2/security-monitoring/CreateSecurityMonitoringSuppression.rb +19 -0
  50. data/examples/v2/security-monitoring/DeleteSecurityMonitoringSuppression.rb +8 -0
  51. data/examples/v2/security-monitoring/GetSecurityMonitoringSuppression.rb +8 -0
  52. data/examples/v2/security-monitoring/ListSecurityMonitoringSuppressions.rb +5 -0
  53. data/examples/v2/security-monitoring/UpdateSecurityMonitoringSuppression.rb +17 -0
  54. data/examples/v2/sensitive-data-scanner/CreateScanningRule.rb +7 -0
  55. data/examples/v2/sensitive-data-scanner/UpdateScanningRule.rb +7 -10
  56. data/examples/v2/teams/CreateTeamMembership.rb +6 -0
  57. data/examples/v2/teams/GetTeamMemberships_3799131168.rb +8 -0
  58. data/examples/v2/usage-metering/GetUsageLambdaTracedInvocations.rb +1 -1
  59. data/lib/datadog_api_client/configuration.rb +4 -1
  60. data/lib/datadog_api_client/inflector.rb +74 -0
  61. data/lib/datadog_api_client/v1/api/downtimes_api.rb +28 -7
  62. data/lib/datadog_api_client/v1/api/monitors_api.rb +1 -1
  63. data/lib/datadog_api_client/v1/api/organizations_api.rb +1 -1
  64. data/lib/datadog_api_client/v1/api/usage_metering_api.rb +3 -3
  65. data/lib/datadog_api_client/v1/models/dashboard.rb +5 -1
  66. data/lib/datadog_api_client/v1/models/dashboard_summary_definition.rb +2 -0
  67. data/lib/datadog_api_client/v1/models/gcp_account.rb +22 -2
  68. data/lib/datadog_api_client/v1/models/log.rb +1 -1
  69. data/lib/datadog_api_client/v1/models/logs_daily_limit_reset.rb +90 -0
  70. data/lib/datadog_api_client/v1/models/logs_index.rb +36 -1
  71. data/lib/datadog_api_client/v1/models/logs_index_update_request.rb +36 -1
  72. data/lib/datadog_api_client/v1/models/metrics_payload.rb +1 -1
  73. data/lib/datadog_api_client/v1/models/metrics_query_metadata.rb +1 -1
  74. data/lib/datadog_api_client/v1/models/organization.rb +1 -1
  75. data/lib/datadog_api_client/v1/models/service_level_objective.rb +11 -1
  76. data/lib/datadog_api_client/v1/models/service_level_objective_request.rb +11 -1
  77. data/lib/datadog_api_client/v1/models/slo_correction_create_request_attributes.rb +1 -1
  78. data/lib/datadog_api_client/v1/models/slo_correction_response_attributes.rb +1 -1
  79. data/lib/datadog_api_client/v1/models/slo_correction_update_request_attributes.rb +1 -1
  80. data/lib/datadog_api_client/v1/models/slo_data_source_query_definition.rb +62 -0
  81. data/lib/datadog_api_client/v1/models/slo_formula.rb +98 -0
  82. data/lib/datadog_api_client/v1/models/slo_history_metrics.rb +2 -2
  83. data/lib/datadog_api_client/v1/models/slo_history_metrics_series.rb +1 -1
  84. data/lib/datadog_api_client/v1/models/slo_history_monitor.rb +1 -1
  85. data/lib/datadog_api_client/v1/models/slo_history_sli_data.rb +1 -1
  86. data/lib/datadog_api_client/v1/models/slo_response_data.rb +11 -1
  87. data/lib/datadog_api_client/v1/models/slo_sli_spec.rb +62 -0
  88. data/lib/datadog_api_client/v1/models/slo_time_slice_comparator.rb +29 -0
  89. data/lib/datadog_api_client/v1/models/slo_time_slice_condition.rb +141 -0
  90. data/lib/datadog_api_client/v1/models/slo_time_slice_query.rb +131 -0
  91. data/lib/datadog_api_client/v1/models/slo_time_slice_spec.rb +99 -0
  92. data/lib/datadog_api_client/v1/models/slo_type.rb +1 -0
  93. data/lib/datadog_api_client/v1/models/slo_type_numeric.rb +1 -0
  94. data/lib/datadog_api_client/v1/models/split_config.rb +6 -6
  95. data/lib/datadog_api_client/v1/models/synthetics_test_request.rb +11 -1
  96. data/lib/datadog_api_client/v1/models/usage_lambda_hour.rb +1 -1
  97. data/lib/datadog_api_client/v1/models/usage_lambda_response.rb +1 -1
  98. data/lib/datadog_api_client/v1/models/usage_summary_date.rb +11 -1
  99. data/lib/datadog_api_client/v1/models/usage_summary_date_org.rb +11 -1
  100. data/lib/datadog_api_client/v1/models/usage_summary_response.rb +11 -1
  101. data/lib/datadog_api_client/v2/api/api_management_api.rb +319 -0
  102. data/lib/datadog_api_client/v2/api/ci_visibility_pipelines_api.rb +0 -6
  103. data/lib/datadog_api_client/v2/api/cloud_cost_management_api.rb +680 -0
  104. data/lib/datadog_api_client/v2/api/downtimes_api.rb +25 -0
  105. data/lib/datadog_api_client/v2/api/metrics_api.rb +3 -2
  106. data/lib/datadog_api_client/v2/api/organizations_api.rb +1 -1
  107. data/lib/datadog_api_client/v2/api/security_monitoring_api.rb +329 -0
  108. data/lib/datadog_api_client/v2/api/teams_api.rb +22 -0
  109. data/lib/datadog_api_client/v2/api/usage_metering_api.rb +3 -3
  110. data/lib/datadog_api_client/v2/models/aws_cur_config.rb +129 -0
  111. data/lib/datadog_api_client/v2/models/aws_cur_config_attributes.rb +305 -0
  112. data/lib/datadog_api_client/v2/models/aws_cur_config_patch_data.rb +119 -0
  113. data/lib/datadog_api_client/v2/models/aws_cur_config_patch_request.rb +98 -0
  114. data/lib/datadog_api_client/v2/models/aws_cur_config_patch_request_attributes.rb +98 -0
  115. data/lib/datadog_api_client/v2/models/aws_cur_config_patch_request_type.rb +26 -0
  116. data/lib/datadog_api_client/v2/models/aws_cur_config_post_data.rb +119 -0
  117. data/lib/datadog_api_client/v2/models/aws_cur_config_post_request.rb +98 -0
  118. data/lib/datadog_api_client/v2/models/aws_cur_config_post_request_attributes.rb +202 -0
  119. data/lib/datadog_api_client/v2/models/aws_cur_config_post_request_type.rb +26 -0
  120. data/lib/datadog_api_client/v2/models/aws_cur_config_response.rb +80 -0
  121. data/lib/datadog_api_client/v2/models/aws_cur_config_type.rb +26 -0
  122. data/lib/datadog_api_client/v2/models/aws_cur_configs_response.rb +82 -0
  123. data/lib/datadog_api_client/v2/models/aws_related_account.rb +129 -0
  124. data/lib/datadog_api_client/v2/models/aws_related_account_attributes.rb +90 -0
  125. data/lib/datadog_api_client/v2/models/aws_related_account_type.rb +26 -0
  126. data/lib/datadog_api_client/v2/models/aws_related_accounts_response.rb +82 -0
  127. data/lib/datadog_api_client/v2/models/azure_uc_config.rb +378 -0
  128. data/lib/datadog_api_client/v2/models/azure_uc_config_pair.rb +129 -0
  129. data/lib/datadog_api_client/v2/models/azure_uc_config_pair_attributes.rb +110 -0
  130. data/lib/datadog_api_client/v2/models/azure_uc_config_pair_type.rb +26 -0
  131. data/lib/datadog_api_client/v2/models/azure_uc_config_pairs_response.rb +80 -0
  132. data/lib/datadog_api_client/v2/models/azure_uc_config_patch_data.rb +119 -0
  133. data/lib/datadog_api_client/v2/models/azure_uc_config_patch_request.rb +98 -0
  134. data/lib/datadog_api_client/v2/models/azure_uc_config_patch_request_attributes.rb +98 -0
  135. data/lib/datadog_api_client/v2/models/azure_uc_config_patch_request_type.rb +26 -0
  136. data/lib/datadog_api_client/v2/models/azure_uc_config_post_data.rb +119 -0
  137. data/lib/datadog_api_client/v2/models/azure_uc_config_post_request.rb +98 -0
  138. data/lib/datadog_api_client/v2/models/azure_uc_config_post_request_attributes.rb +192 -0
  139. data/lib/datadog_api_client/v2/models/azure_uc_config_post_request_type.rb +26 -0
  140. data/lib/datadog_api_client/v2/models/azure_uc_configs_response.rb +82 -0
  141. data/lib/datadog_api_client/v2/models/bill_config.rb +161 -0
  142. data/lib/datadog_api_client/v2/models/ci_app_git_info.rb +2 -2
  143. data/lib/datadog_api_client/v2/models/cloud_cost_activity.rb +119 -0
  144. data/lib/datadog_api_client/v2/models/cloud_cost_activity_attributes.rb +98 -0
  145. data/lib/datadog_api_client/v2/models/cloud_cost_activity_response.rb +80 -0
  146. data/lib/datadog_api_client/v2/models/cloud_cost_activity_type.rb +26 -0
  147. data/lib/datadog_api_client/v2/models/cloudflare_account_create_request_attributes.rb +28 -4
  148. data/lib/datadog_api_client/v2/models/cloudflare_account_response_attributes.rb +28 -4
  149. data/lib/datadog_api_client/v2/models/cloudflare_account_update_request_attributes.rb +28 -4
  150. data/lib/datadog_api_client/v2/models/create_open_api_response.rb +80 -0
  151. data/lib/datadog_api_client/v2/models/create_open_api_response_attributes.rb +82 -0
  152. data/lib/datadog_api_client/v2/models/create_open_api_response_data.rb +90 -0
  153. data/lib/datadog_api_client/v2/models/dora_deployment_request_attributes.rb +11 -1
  154. data/lib/datadog_api_client/v2/models/dora_git_info.rb +2 -2
  155. data/lib/datadog_api_client/v2/models/dora_incident_request_attributes.rb +11 -1
  156. data/lib/datadog_api_client/v2/models/gcpsts_service_account_attributes.rb +25 -5
  157. data/lib/datadog_api_client/v2/models/metric_payload.rb +1 -1
  158. data/lib/datadog_api_client/v2/models/open_api_endpoint.rb +90 -0
  159. data/lib/datadog_api_client/v2/models/open_api_file.rb +80 -0
  160. data/lib/datadog_api_client/v2/models/relationship_to_user_team_team.rb +98 -0
  161. data/lib/datadog_api_client/v2/models/relationship_to_user_team_team_data.rb +119 -0
  162. data/lib/datadog_api_client/v2/models/security_monitoring_rule_options.rb +14 -4
  163. data/lib/datadog_api_client/v2/models/security_monitoring_rule_third_party_options.rb +114 -0
  164. data/lib/datadog_api_client/v2/models/security_monitoring_rule_update_payload.rb +13 -1
  165. data/lib/datadog_api_client/v2/models/security_monitoring_standard_rule_create_payload.rb +13 -1
  166. data/lib/datadog_api_client/v2/models/security_monitoring_standard_rule_response.rb +13 -1
  167. data/lib/datadog_api_client/v2/models/security_monitoring_suppression.rb +100 -0
  168. data/lib/datadog_api_client/v2/models/security_monitoring_suppression_attributes.rb +198 -0
  169. data/lib/datadog_api_client/v2/models/security_monitoring_suppression_create_attributes.rb +181 -0
  170. data/lib/datadog_api_client/v2/models/security_monitoring_suppression_create_data.rb +119 -0
  171. data/lib/datadog_api_client/v2/models/security_monitoring_suppression_create_request.rb +98 -0
  172. data/lib/datadog_api_client/v2/models/security_monitoring_suppression_response.rb +80 -0
  173. data/lib/datadog_api_client/v2/models/security_monitoring_suppression_type.rb +26 -0
  174. data/lib/datadog_api_client/v2/models/security_monitoring_suppression_update_attributes.rb +166 -0
  175. data/lib/datadog_api_client/v2/models/security_monitoring_suppression_update_data.rb +119 -0
  176. data/lib/datadog_api_client/v2/models/security_monitoring_suppression_update_request.rb +98 -0
  177. data/lib/datadog_api_client/v2/models/security_monitoring_suppressions_response.rb +82 -0
  178. data/lib/datadog_api_client/v2/models/security_monitoring_third_party_root_query.rb +92 -0
  179. data/lib/datadog_api_client/v2/models/security_monitoring_third_party_rule_case.rb +112 -0
  180. data/lib/datadog_api_client/v2/models/security_monitoring_third_party_rule_case_create.rb +130 -0
  181. data/lib/datadog_api_client/v2/models/security_monitoring_user.rb +98 -0
  182. data/lib/datadog_api_client/v2/models/sensitive_data_scanner_included_keyword_configuration.rb +134 -0
  183. data/lib/datadog_api_client/v2/models/sensitive_data_scanner_rule_attributes.rb +46 -1
  184. data/lib/datadog_api_client/v2/models/sensitive_data_scanner_standard_pattern_attributes.rb +33 -1
  185. data/lib/datadog_api_client/v2/models/update_open_api_response.rb +80 -0
  186. data/lib/datadog_api_client/v2/models/update_open_api_response_attributes.rb +82 -0
  187. data/lib/datadog_api_client/v2/models/update_open_api_response_data.rb +90 -0
  188. data/lib/datadog_api_client/v2/models/user_team_attributes.rb +24 -1
  189. data/lib/datadog_api_client/v2/models/user_team_relationships.rb +11 -1
  190. data/lib/datadog_api_client/v2/models/user_team_team_type.rb +26 -0
  191. data/lib/datadog_api_client/version.rb +1 -1
  192. metadata +103 -3
  193. data/examples/v1/usage-metering/GetUsageLambda_3132428705.rb +0 -8
@@ -0,0 +1,129 @@
1
+ =begin
2
+ #Datadog API V2 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::V2
20
+ # AWS related account.
21
+ class AWSRelatedAccount
22
+ include BaseGenericModel
23
+
24
+ # Attributes for an AWS related account.
25
+ attr_accessor :attributes
26
+
27
+ # The AWS account ID.
28
+ attr_reader :id
29
+
30
+ # Type of AWS related account.
31
+ attr_reader :type
32
+
33
+ # Attribute mapping from ruby-style variable name to JSON key.
34
+ # @!visibility private
35
+ def self.attribute_map
36
+ {
37
+ :'attributes' => :'attributes',
38
+ :'id' => :'id',
39
+ :'type' => :'type'
40
+ }
41
+ end
42
+
43
+ # Attribute type mapping.
44
+ # @!visibility private
45
+ def self.openapi_types
46
+ {
47
+ :'attributes' => :'AWSRelatedAccountAttributes',
48
+ :'id' => :'String',
49
+ :'type' => :'AWSRelatedAccountType'
50
+ }
51
+ end
52
+
53
+ # Initializes the object
54
+ # @param attributes [Hash] Model attributes in the form of hash
55
+ # @!visibility private
56
+ def initialize(attributes = {})
57
+ if (!attributes.is_a?(Hash))
58
+ fail ArgumentError, "The input argument (attributes) must be a hash in `DatadogAPIClient::V2::AWSRelatedAccount` initialize method"
59
+ end
60
+
61
+ # check to see if the attribute exists and convert string to symbol for hash key
62
+ attributes = attributes.each_with_object({}) { |(k, v), h|
63
+ if (!self.class.attribute_map.key?(k.to_sym))
64
+ fail ArgumentError, "`#{k}` is not a valid attribute in `DatadogAPIClient::V2::AWSRelatedAccount`. Please check the name to make sure it's valid. List of attributes: " + self.class.attribute_map.keys.inspect
65
+ end
66
+ h[k.to_sym] = v
67
+ }
68
+
69
+ if attributes.key?(:'attributes')
70
+ self.attributes = attributes[:'attributes']
71
+ end
72
+
73
+ if attributes.key?(:'id')
74
+ self.id = attributes[:'id']
75
+ end
76
+
77
+ if attributes.key?(:'type')
78
+ self.type = attributes[:'type']
79
+ end
80
+ end
81
+
82
+ # Check to see if the all the properties in the model are valid
83
+ # @return true if the model is valid
84
+ # @!visibility private
85
+ def valid?
86
+ return false if @id.nil?
87
+ return false if @type.nil?
88
+ true
89
+ end
90
+
91
+ # Custom attribute writer method with validation
92
+ # @param id [Object] Object to be assigned
93
+ # @!visibility private
94
+ def id=(id)
95
+ if id.nil?
96
+ fail ArgumentError, 'invalid value for "id", id cannot be nil.'
97
+ end
98
+ @id = id
99
+ end
100
+
101
+ # Custom attribute writer method with validation
102
+ # @param type [Object] Object to be assigned
103
+ # @!visibility private
104
+ def type=(type)
105
+ if type.nil?
106
+ fail ArgumentError, 'invalid value for "type", type cannot be nil.'
107
+ end
108
+ @type = type
109
+ end
110
+
111
+ # Checks equality by comparing each attribute.
112
+ # @param o [Object] Object to be compared
113
+ # @!visibility private
114
+ def ==(o)
115
+ return true if self.equal?(o)
116
+ self.class == o.class &&
117
+ attributes == o.attributes &&
118
+ id == o.id &&
119
+ type == o.type
120
+ end
121
+
122
+ # Calculates hash code according to all attributes.
123
+ # @return [Integer] Hash code
124
+ # @!visibility private
125
+ def hash
126
+ [attributes, id, type].hash
127
+ end
128
+ end
129
+ end
@@ -0,0 +1,90 @@
1
+ =begin
2
+ #Datadog API V2 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::V2
20
+ # Attributes for an AWS related account.
21
+ class AWSRelatedAccountAttributes
22
+ include BaseGenericModel
23
+
24
+ # Whether or not the AWS account has a Datadog integration.
25
+ attr_accessor :has_datadog_integration
26
+
27
+ # The name of the AWS account.
28
+ attr_accessor :name
29
+
30
+ # Attribute mapping from ruby-style variable name to JSON key.
31
+ # @!visibility private
32
+ def self.attribute_map
33
+ {
34
+ :'has_datadog_integration' => :'has_datadog_integration',
35
+ :'name' => :'name'
36
+ }
37
+ end
38
+
39
+ # Attribute type mapping.
40
+ # @!visibility private
41
+ def self.openapi_types
42
+ {
43
+ :'has_datadog_integration' => :'Boolean',
44
+ :'name' => :'String'
45
+ }
46
+ end
47
+
48
+ # Initializes the object
49
+ # @param attributes [Hash] Model attributes in the form of hash
50
+ # @!visibility private
51
+ def initialize(attributes = {})
52
+ if (!attributes.is_a?(Hash))
53
+ fail ArgumentError, "The input argument (attributes) must be a hash in `DatadogAPIClient::V2::AWSRelatedAccountAttributes` initialize method"
54
+ end
55
+
56
+ # check to see if the attribute exists and convert string to symbol for hash key
57
+ attributes = attributes.each_with_object({}) { |(k, v), h|
58
+ if (!self.class.attribute_map.key?(k.to_sym))
59
+ fail ArgumentError, "`#{k}` is not a valid attribute in `DatadogAPIClient::V2::AWSRelatedAccountAttributes`. Please check the name to make sure it's valid. List of attributes: " + self.class.attribute_map.keys.inspect
60
+ end
61
+ h[k.to_sym] = v
62
+ }
63
+
64
+ if attributes.key?(:'has_datadog_integration')
65
+ self.has_datadog_integration = attributes[:'has_datadog_integration']
66
+ end
67
+
68
+ if attributes.key?(:'name')
69
+ self.name = attributes[:'name']
70
+ end
71
+ end
72
+
73
+ # Checks equality by comparing each attribute.
74
+ # @param o [Object] Object to be compared
75
+ # @!visibility private
76
+ def ==(o)
77
+ return true if self.equal?(o)
78
+ self.class == o.class &&
79
+ has_datadog_integration == o.has_datadog_integration &&
80
+ name == o.name
81
+ end
82
+
83
+ # Calculates hash code according to all attributes.
84
+ # @return [Integer] Hash code
85
+ # @!visibility private
86
+ def hash
87
+ [has_datadog_integration, name].hash
88
+ end
89
+ end
90
+ end
@@ -0,0 +1,26 @@
1
+ =begin
2
+ #Datadog API V2 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::V2
20
+ # Type of AWS related account.
21
+ class AWSRelatedAccountType
22
+ include BaseEnumModel
23
+
24
+ AWS_ACCOUNT = "aws_account".freeze
25
+ end
26
+ end
@@ -0,0 +1,82 @@
1
+ =begin
2
+ #Datadog API V2 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::V2
20
+ # List of AWS related accounts.
21
+ class AWSRelatedAccountsResponse
22
+ include BaseGenericModel
23
+
24
+ # An AWS related account.
25
+ attr_accessor :data
26
+
27
+ # Attribute mapping from ruby-style variable name to JSON key.
28
+ # @!visibility private
29
+ def self.attribute_map
30
+ {
31
+ :'data' => :'data'
32
+ }
33
+ end
34
+
35
+ # Attribute type mapping.
36
+ # @!visibility private
37
+ def self.openapi_types
38
+ {
39
+ :'data' => :'Array<AWSRelatedAccount>'
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::V2::AWSRelatedAccountsResponse` 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::V2::AWSRelatedAccountsResponse`. 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?(:'data')
60
+ if (value = attributes[:'data']).is_a?(Array)
61
+ self.data = value
62
+ end
63
+ end
64
+ end
65
+
66
+ # Checks equality by comparing each attribute.
67
+ # @param o [Object] Object to be compared
68
+ # @!visibility private
69
+ def ==(o)
70
+ return true if self.equal?(o)
71
+ self.class == o.class &&
72
+ data == o.data
73
+ end
74
+
75
+ # Calculates hash code according to all attributes.
76
+ # @return [Integer] Hash code
77
+ # @!visibility private
78
+ def hash
79
+ [data].hash
80
+ end
81
+ end
82
+ end
@@ -0,0 +1,378 @@
1
+ =begin
2
+ #Datadog API V2 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::V2
20
+ # Azure config.
21
+ class AzureUCConfig
22
+ include BaseGenericModel
23
+
24
+ # The tenant ID of the azure account.
25
+ attr_reader :account_id
26
+
27
+ # The client ID of the Azure account.
28
+ attr_reader :client_id
29
+
30
+ # The timestamp when the Azure config was created.
31
+ attr_reader :created_at
32
+
33
+ # The dataset type of the Azure config.
34
+ attr_reader :dataset_type
35
+
36
+ # The error messages for the Azure config.
37
+ attr_accessor :error_messages
38
+
39
+ # The name of the configured Azure Export.
40
+ attr_reader :export_name
41
+
42
+ # The path where the Azure Export is saved.
43
+ attr_reader :export_path
44
+
45
+ # The ID of the Azure config.
46
+ attr_accessor :id
47
+
48
+ # The number of months the report has been backfilled.
49
+ attr_reader :months
50
+
51
+ # The scope of your observed subscription.
52
+ attr_reader :scope
53
+
54
+ # The status of the Azure config.
55
+ attr_reader :status
56
+
57
+ # The timestamp when the Azure config status was last updated.
58
+ attr_reader :status_updated_at
59
+
60
+ # The name of the storage account where the Azure Export is saved.
61
+ attr_reader :storage_account
62
+
63
+ # The name of the storage container where the Azure Export is saved.
64
+ attr_reader :storage_container
65
+
66
+ # The timestamp when the Azure config was last updated.
67
+ attr_reader :updated_at
68
+
69
+ # Attribute mapping from ruby-style variable name to JSON key.
70
+ # @!visibility private
71
+ def self.attribute_map
72
+ {
73
+ :'account_id' => :'account_id',
74
+ :'client_id' => :'client_id',
75
+ :'created_at' => :'created_at',
76
+ :'dataset_type' => :'dataset_type',
77
+ :'error_messages' => :'error_messages',
78
+ :'export_name' => :'export_name',
79
+ :'export_path' => :'export_path',
80
+ :'id' => :'id',
81
+ :'months' => :'months',
82
+ :'scope' => :'scope',
83
+ :'status' => :'status',
84
+ :'status_updated_at' => :'status_updated_at',
85
+ :'storage_account' => :'storage_account',
86
+ :'storage_container' => :'storage_container',
87
+ :'updated_at' => :'updated_at'
88
+ }
89
+ end
90
+
91
+ # Attribute type mapping.
92
+ # @!visibility private
93
+ def self.openapi_types
94
+ {
95
+ :'account_id' => :'String',
96
+ :'client_id' => :'String',
97
+ :'created_at' => :'String',
98
+ :'dataset_type' => :'String',
99
+ :'error_messages' => :'Array<String>',
100
+ :'export_name' => :'String',
101
+ :'export_path' => :'String',
102
+ :'id' => :'Integer',
103
+ :'months' => :'Integer',
104
+ :'scope' => :'String',
105
+ :'status' => :'String',
106
+ :'status_updated_at' => :'String',
107
+ :'storage_account' => :'String',
108
+ :'storage_container' => :'String',
109
+ :'updated_at' => :'String'
110
+ }
111
+ end
112
+
113
+ # Initializes the object
114
+ # @param attributes [Hash] Model attributes in the form of hash
115
+ # @!visibility private
116
+ def initialize(attributes = {})
117
+ if (!attributes.is_a?(Hash))
118
+ fail ArgumentError, "The input argument (attributes) must be a hash in `DatadogAPIClient::V2::AzureUCConfig` initialize method"
119
+ end
120
+
121
+ # check to see if the attribute exists and convert string to symbol for hash key
122
+ attributes = attributes.each_with_object({}) { |(k, v), h|
123
+ if (!self.class.attribute_map.key?(k.to_sym))
124
+ fail ArgumentError, "`#{k}` is not a valid attribute in `DatadogAPIClient::V2::AzureUCConfig`. Please check the name to make sure it's valid. List of attributes: " + self.class.attribute_map.keys.inspect
125
+ end
126
+ h[k.to_sym] = v
127
+ }
128
+
129
+ if attributes.key?(:'account_id')
130
+ self.account_id = attributes[:'account_id']
131
+ end
132
+
133
+ if attributes.key?(:'client_id')
134
+ self.client_id = attributes[:'client_id']
135
+ end
136
+
137
+ if attributes.key?(:'created_at')
138
+ self.created_at = attributes[:'created_at']
139
+ end
140
+
141
+ if attributes.key?(:'dataset_type')
142
+ self.dataset_type = attributes[:'dataset_type']
143
+ end
144
+
145
+ if attributes.key?(:'error_messages')
146
+ if (value = attributes[:'error_messages']).is_a?(Array)
147
+ self.error_messages = value
148
+ end
149
+ end
150
+
151
+ if attributes.key?(:'export_name')
152
+ self.export_name = attributes[:'export_name']
153
+ end
154
+
155
+ if attributes.key?(:'export_path')
156
+ self.export_path = attributes[:'export_path']
157
+ end
158
+
159
+ if attributes.key?(:'id')
160
+ self.id = attributes[:'id']
161
+ end
162
+
163
+ if attributes.key?(:'months')
164
+ self.months = attributes[:'months']
165
+ end
166
+
167
+ if attributes.key?(:'scope')
168
+ self.scope = attributes[:'scope']
169
+ end
170
+
171
+ if attributes.key?(:'status')
172
+ self.status = attributes[:'status']
173
+ end
174
+
175
+ if attributes.key?(:'status_updated_at')
176
+ self.status_updated_at = attributes[:'status_updated_at']
177
+ end
178
+
179
+ if attributes.key?(:'storage_account')
180
+ self.storage_account = attributes[:'storage_account']
181
+ end
182
+
183
+ if attributes.key?(:'storage_container')
184
+ self.storage_container = attributes[:'storage_container']
185
+ end
186
+
187
+ if attributes.key?(:'updated_at')
188
+ self.updated_at = attributes[:'updated_at']
189
+ end
190
+ end
191
+
192
+ # Check to see if the all the properties in the model are valid
193
+ # @return true if the model is valid
194
+ # @!visibility private
195
+ def valid?
196
+ return false if @account_id.nil?
197
+ return false if @client_id.nil?
198
+ pattern = Regexp.new(/^\d{4}-\d{2}-\d{2}T\d{2}:\d{2}:\d{2}.\d{6}$/)
199
+ return false if !@created_at.nil? && @created_at !~ pattern
200
+ return false if @dataset_type.nil?
201
+ return false if @export_name.nil?
202
+ return false if @export_path.nil?
203
+ return false if !@months.nil? && @months > 36
204
+ return false if @scope.nil?
205
+ return false if @status.nil?
206
+ pattern = Regexp.new(/^\d{4}-\d{2}-\d{2}T\d{2}:\d{2}:\d{2}.\d{6}$/)
207
+ return false if !@status_updated_at.nil? && @status_updated_at !~ pattern
208
+ return false if @storage_account.nil?
209
+ return false if @storage_container.nil?
210
+ pattern = Regexp.new(/^\d{4}-\d{2}-\d{2}T\d{2}:\d{2}:\d{2}.\d{6}$/)
211
+ return false if !@updated_at.nil? && @updated_at !~ pattern
212
+ true
213
+ end
214
+
215
+ # Custom attribute writer method with validation
216
+ # @param account_id [Object] Object to be assigned
217
+ # @!visibility private
218
+ def account_id=(account_id)
219
+ if account_id.nil?
220
+ fail ArgumentError, 'invalid value for "account_id", account_id cannot be nil.'
221
+ end
222
+ @account_id = account_id
223
+ end
224
+
225
+ # Custom attribute writer method with validation
226
+ # @param client_id [Object] Object to be assigned
227
+ # @!visibility private
228
+ def client_id=(client_id)
229
+ if client_id.nil?
230
+ fail ArgumentError, 'invalid value for "client_id", client_id cannot be nil.'
231
+ end
232
+ @client_id = client_id
233
+ end
234
+
235
+ # Custom attribute writer method with validation
236
+ # @param created_at [Object] Object to be assigned
237
+ # @!visibility private
238
+ def created_at=(created_at)
239
+ pattern = Regexp.new(/^\d{4}-\d{2}-\d{2}T\d{2}:\d{2}:\d{2}.\d{6}$/)
240
+ if !created_at.nil? && created_at !~ pattern
241
+ fail ArgumentError, "invalid value for \"created_at\", must conform to the pattern #{pattern}."
242
+ end
243
+ @created_at = created_at
244
+ end
245
+
246
+ # Custom attribute writer method with validation
247
+ # @param dataset_type [Object] Object to be assigned
248
+ # @!visibility private
249
+ def dataset_type=(dataset_type)
250
+ if dataset_type.nil?
251
+ fail ArgumentError, 'invalid value for "dataset_type", dataset_type cannot be nil.'
252
+ end
253
+ @dataset_type = dataset_type
254
+ end
255
+
256
+ # Custom attribute writer method with validation
257
+ # @param export_name [Object] Object to be assigned
258
+ # @!visibility private
259
+ def export_name=(export_name)
260
+ if export_name.nil?
261
+ fail ArgumentError, 'invalid value for "export_name", export_name cannot be nil.'
262
+ end
263
+ @export_name = export_name
264
+ end
265
+
266
+ # Custom attribute writer method with validation
267
+ # @param export_path [Object] Object to be assigned
268
+ # @!visibility private
269
+ def export_path=(export_path)
270
+ if export_path.nil?
271
+ fail ArgumentError, 'invalid value for "export_path", export_path cannot be nil.'
272
+ end
273
+ @export_path = export_path
274
+ end
275
+
276
+ # Custom attribute writer method with validation
277
+ # @param months [Object] Object to be assigned
278
+ # @!visibility private
279
+ def months=(months)
280
+ if !months.nil? && months > 36
281
+ fail ArgumentError, 'invalid value for "months", must be smaller than or equal to 36.'
282
+ end
283
+ @months = months
284
+ end
285
+
286
+ # Custom attribute writer method with validation
287
+ # @param scope [Object] Object to be assigned
288
+ # @!visibility private
289
+ def scope=(scope)
290
+ if scope.nil?
291
+ fail ArgumentError, 'invalid value for "scope", scope cannot be nil.'
292
+ end
293
+ @scope = scope
294
+ end
295
+
296
+ # Custom attribute writer method with validation
297
+ # @param status [Object] Object to be assigned
298
+ # @!visibility private
299
+ def status=(status)
300
+ if status.nil?
301
+ fail ArgumentError, 'invalid value for "status", status cannot be nil.'
302
+ end
303
+ @status = status
304
+ end
305
+
306
+ # Custom attribute writer method with validation
307
+ # @param status_updated_at [Object] Object to be assigned
308
+ # @!visibility private
309
+ def status_updated_at=(status_updated_at)
310
+ pattern = Regexp.new(/^\d{4}-\d{2}-\d{2}T\d{2}:\d{2}:\d{2}.\d{6}$/)
311
+ if !status_updated_at.nil? && status_updated_at !~ pattern
312
+ fail ArgumentError, "invalid value for \"status_updated_at\", must conform to the pattern #{pattern}."
313
+ end
314
+ @status_updated_at = status_updated_at
315
+ end
316
+
317
+ # Custom attribute writer method with validation
318
+ # @param storage_account [Object] Object to be assigned
319
+ # @!visibility private
320
+ def storage_account=(storage_account)
321
+ if storage_account.nil?
322
+ fail ArgumentError, 'invalid value for "storage_account", storage_account cannot be nil.'
323
+ end
324
+ @storage_account = storage_account
325
+ end
326
+
327
+ # Custom attribute writer method with validation
328
+ # @param storage_container [Object] Object to be assigned
329
+ # @!visibility private
330
+ def storage_container=(storage_container)
331
+ if storage_container.nil?
332
+ fail ArgumentError, 'invalid value for "storage_container", storage_container cannot be nil.'
333
+ end
334
+ @storage_container = storage_container
335
+ end
336
+
337
+ # Custom attribute writer method with validation
338
+ # @param updated_at [Object] Object to be assigned
339
+ # @!visibility private
340
+ def updated_at=(updated_at)
341
+ pattern = Regexp.new(/^\d{4}-\d{2}-\d{2}T\d{2}:\d{2}:\d{2}.\d{6}$/)
342
+ if !updated_at.nil? && updated_at !~ pattern
343
+ fail ArgumentError, "invalid value for \"updated_at\", must conform to the pattern #{pattern}."
344
+ end
345
+ @updated_at = updated_at
346
+ end
347
+
348
+ # Checks equality by comparing each attribute.
349
+ # @param o [Object] Object to be compared
350
+ # @!visibility private
351
+ def ==(o)
352
+ return true if self.equal?(o)
353
+ self.class == o.class &&
354
+ account_id == o.account_id &&
355
+ client_id == o.client_id &&
356
+ created_at == o.created_at &&
357
+ dataset_type == o.dataset_type &&
358
+ error_messages == o.error_messages &&
359
+ export_name == o.export_name &&
360
+ export_path == o.export_path &&
361
+ id == o.id &&
362
+ months == o.months &&
363
+ scope == o.scope &&
364
+ status == o.status &&
365
+ status_updated_at == o.status_updated_at &&
366
+ storage_account == o.storage_account &&
367
+ storage_container == o.storage_container &&
368
+ updated_at == o.updated_at
369
+ end
370
+
371
+ # Calculates hash code according to all attributes.
372
+ # @return [Integer] Hash code
373
+ # @!visibility private
374
+ def hash
375
+ [account_id, client_id, created_at, dataset_type, error_messages, export_name, export_path, id, months, scope, status, status_updated_at, storage_account, storage_container, updated_at].hash
376
+ end
377
+ end
378
+ end