datadog_api_client 2.18.0 → 2.19.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (123) 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 +189 -11
  6. data/.generator/schemas/v2/openapi.yaml +1321 -188
  7. data/.generator/src/generator/templates/model_generic.j2 +2 -2
  8. data/CHANGELOG.md +18 -0
  9. data/examples/v1/azure-integration/CreateAzureIntegration.rb +4 -4
  10. data/examples/v1/azure-integration/DeleteAzureIntegration.rb +2 -15
  11. data/examples/v1/azure-integration/UpdateAzureIntegration.rb +4 -4
  12. data/examples/v1/gcp-integration/CreateGCPIntegration.rb +4 -5
  13. data/examples/v1/gcp-integration/DeleteGCPIntegration.rb +2 -14
  14. data/examples/v1/gcp-integration/UpdateGCPIntegration.rb +4 -5
  15. data/examples/v1/service-level-objectives/CreateSLO_3765703239.rb +46 -0
  16. data/examples/v2/ci-visibility-pipelines/CreateCIAppPipelineEvent.rb +0 -3
  17. data/examples/v2/ci-visibility-pipelines/CreateCIAppPipelineEvent_129899466.rb +0 -3
  18. data/examples/v2/cloud-cost-management/CreateCostAWSCURConfig.rb +18 -0
  19. data/examples/v2/cloud-cost-management/CreateCostAzureUCConfigs.rb +29 -0
  20. data/examples/v2/cloud-cost-management/DeleteCostAWSCURConfig.rb +5 -0
  21. data/examples/v2/cloud-cost-management/DeleteCostAzureUCConfig.rb +5 -0
  22. data/examples/v2/cloud-cost-management/GetCloudCostActivity.rb +5 -0
  23. data/examples/v2/cloud-cost-management/ListAWSRelatedAccounts.rb +5 -0
  24. data/examples/v2/cloud-cost-management/ListCostAWSCURConfigs.rb +5 -0
  25. data/examples/v2/cloud-cost-management/ListCostAzureUCConfigs.rb +5 -0
  26. data/examples/v2/cloud-cost-management/UpdateCostAWSCURConfig.rb +14 -0
  27. data/examples/v2/cloud-cost-management/UpdateCostAzureUCConfigs.rb +14 -0
  28. data/examples/v2/cloudflare-integration/CreateCloudflareAccount.rb +1 -1
  29. data/examples/v2/cloudflare-integration/UpdateCloudflareAccount.rb +4 -1
  30. data/examples/v2/downtimes/ListMonitorDowntimes_3316718253.rb +5 -0
  31. data/examples/v2/gcp-integration/CreateGCPSTSAccount_130557025.rb +16 -0
  32. data/examples/v2/gcp-integration/CreateGCPSTSAccount_2597004741.rb +16 -0
  33. data/examples/v2/gcp-integration/CreateGCPSTSAccount_4235664992.rb +17 -0
  34. data/examples/v2/gcp-integration/UpdateGCPSTSAccount_3205636354.rb +19 -0
  35. data/examples/v2/security-monitoring/CreateSecurityMonitoringRule_3367706049.rb +46 -0
  36. data/examples/v2/sensitive-data-scanner/CreateScanningRule.rb +7 -0
  37. data/examples/v2/sensitive-data-scanner/UpdateScanningRule.rb +7 -10
  38. data/examples/v2/teams/CreateTeamMembership.rb +6 -0
  39. data/lib/datadog_api_client/configuration.rb +0 -1
  40. data/lib/datadog_api_client/inflector.rb +52 -0
  41. data/lib/datadog_api_client/v1/api/downtimes_api.rb +28 -7
  42. data/lib/datadog_api_client/v1/api/monitors_api.rb +1 -1
  43. data/lib/datadog_api_client/v1/models/gcp_account.rb +22 -2
  44. data/lib/datadog_api_client/v1/models/organization.rb +1 -1
  45. data/lib/datadog_api_client/v1/models/service_level_objective.rb +11 -1
  46. data/lib/datadog_api_client/v1/models/service_level_objective_request.rb +11 -1
  47. data/lib/datadog_api_client/v1/models/slo_data_source_query_definition.rb +62 -0
  48. data/lib/datadog_api_client/v1/models/slo_formula.rb +98 -0
  49. data/lib/datadog_api_client/v1/models/slo_response_data.rb +11 -1
  50. data/lib/datadog_api_client/v1/models/slo_sli_spec.rb +62 -0
  51. data/lib/datadog_api_client/v1/models/slo_time_slice_comparator.rb +29 -0
  52. data/lib/datadog_api_client/v1/models/slo_time_slice_condition.rb +141 -0
  53. data/lib/datadog_api_client/v1/models/slo_time_slice_query.rb +131 -0
  54. data/lib/datadog_api_client/v1/models/slo_time_slice_spec.rb +99 -0
  55. data/lib/datadog_api_client/v1/models/slo_type.rb +1 -0
  56. data/lib/datadog_api_client/v1/models/slo_type_numeric.rb +1 -0
  57. data/lib/datadog_api_client/v1/models/usage_summary_date.rb +11 -1
  58. data/lib/datadog_api_client/v1/models/usage_summary_date_org.rb +11 -1
  59. data/lib/datadog_api_client/v1/models/usage_summary_response.rb +11 -1
  60. data/lib/datadog_api_client/v2/api/ci_visibility_pipelines_api.rb +0 -6
  61. data/lib/datadog_api_client/v2/api/cloud_cost_management_api.rb +680 -0
  62. data/lib/datadog_api_client/v2/api/downtimes_api.rb +25 -0
  63. data/lib/datadog_api_client/v2/api/metrics_api.rb +3 -2
  64. data/lib/datadog_api_client/v2/models/aws_cur_config.rb +129 -0
  65. data/lib/datadog_api_client/v2/models/aws_cur_config_attributes.rb +305 -0
  66. data/lib/datadog_api_client/v2/models/aws_cur_config_patch_data.rb +119 -0
  67. data/lib/datadog_api_client/v2/models/aws_cur_config_patch_request.rb +98 -0
  68. data/lib/datadog_api_client/v2/models/aws_cur_config_patch_request_attributes.rb +98 -0
  69. data/lib/datadog_api_client/v2/models/aws_cur_config_patch_request_type.rb +26 -0
  70. data/lib/datadog_api_client/v2/models/aws_cur_config_post_data.rb +119 -0
  71. data/lib/datadog_api_client/v2/models/aws_cur_config_post_request.rb +98 -0
  72. data/lib/datadog_api_client/v2/models/aws_cur_config_post_request_attributes.rb +202 -0
  73. data/lib/datadog_api_client/v2/models/aws_cur_config_post_request_type.rb +26 -0
  74. data/lib/datadog_api_client/v2/models/aws_cur_config_response.rb +80 -0
  75. data/lib/datadog_api_client/v2/models/aws_cur_config_type.rb +26 -0
  76. data/lib/datadog_api_client/v2/models/aws_cur_configs_response.rb +82 -0
  77. data/lib/datadog_api_client/v2/models/aws_related_account.rb +129 -0
  78. data/lib/datadog_api_client/v2/models/aws_related_account_attributes.rb +90 -0
  79. data/lib/datadog_api_client/v2/models/aws_related_account_type.rb +26 -0
  80. data/lib/datadog_api_client/v2/models/aws_related_accounts_response.rb +82 -0
  81. data/lib/datadog_api_client/v2/models/azure_uc_config.rb +378 -0
  82. data/lib/datadog_api_client/v2/models/azure_uc_config_pair.rb +129 -0
  83. data/lib/datadog_api_client/v2/models/azure_uc_config_pair_attributes.rb +110 -0
  84. data/lib/datadog_api_client/v2/models/azure_uc_config_pair_type.rb +26 -0
  85. data/lib/datadog_api_client/v2/models/azure_uc_config_pairs_response.rb +80 -0
  86. data/lib/datadog_api_client/v2/models/azure_uc_config_patch_data.rb +119 -0
  87. data/lib/datadog_api_client/v2/models/azure_uc_config_patch_request.rb +98 -0
  88. data/lib/datadog_api_client/v2/models/azure_uc_config_patch_request_attributes.rb +98 -0
  89. data/lib/datadog_api_client/v2/models/azure_uc_config_patch_request_type.rb +26 -0
  90. data/lib/datadog_api_client/v2/models/azure_uc_config_post_data.rb +119 -0
  91. data/lib/datadog_api_client/v2/models/azure_uc_config_post_request.rb +98 -0
  92. data/lib/datadog_api_client/v2/models/azure_uc_config_post_request_attributes.rb +192 -0
  93. data/lib/datadog_api_client/v2/models/azure_uc_config_post_request_type.rb +26 -0
  94. data/lib/datadog_api_client/v2/models/azure_uc_configs_response.rb +82 -0
  95. data/lib/datadog_api_client/v2/models/bill_config.rb +161 -0
  96. data/lib/datadog_api_client/v2/models/ci_app_git_info.rb +2 -2
  97. data/lib/datadog_api_client/v2/models/cloud_cost_activity.rb +119 -0
  98. data/lib/datadog_api_client/v2/models/cloud_cost_activity_attributes.rb +98 -0
  99. data/lib/datadog_api_client/v2/models/cloud_cost_activity_response.rb +80 -0
  100. data/lib/datadog_api_client/v2/models/cloud_cost_activity_type.rb +26 -0
  101. data/lib/datadog_api_client/v2/models/cloudflare_account_create_request_attributes.rb +28 -4
  102. data/lib/datadog_api_client/v2/models/cloudflare_account_response_attributes.rb +28 -4
  103. data/lib/datadog_api_client/v2/models/cloudflare_account_update_request_attributes.rb +28 -4
  104. data/lib/datadog_api_client/v2/models/dora_git_info.rb +2 -2
  105. data/lib/datadog_api_client/v2/models/gcpsts_service_account_attributes.rb +25 -5
  106. data/lib/datadog_api_client/v2/models/relationship_to_user_team_team.rb +98 -0
  107. data/lib/datadog_api_client/v2/models/relationship_to_user_team_team_data.rb +119 -0
  108. data/lib/datadog_api_client/v2/models/security_monitoring_rule_options.rb +14 -4
  109. data/lib/datadog_api_client/v2/models/security_monitoring_rule_third_party_options.rb +114 -0
  110. data/lib/datadog_api_client/v2/models/security_monitoring_rule_update_payload.rb +13 -1
  111. data/lib/datadog_api_client/v2/models/security_monitoring_standard_rule_create_payload.rb +13 -1
  112. data/lib/datadog_api_client/v2/models/security_monitoring_standard_rule_response.rb +13 -1
  113. data/lib/datadog_api_client/v2/models/security_monitoring_third_party_root_query.rb +92 -0
  114. data/lib/datadog_api_client/v2/models/security_monitoring_third_party_rule_case.rb +112 -0
  115. data/lib/datadog_api_client/v2/models/security_monitoring_third_party_rule_case_create.rb +130 -0
  116. data/lib/datadog_api_client/v2/models/sensitive_data_scanner_included_keyword_configuration.rb +134 -0
  117. data/lib/datadog_api_client/v2/models/sensitive_data_scanner_rule_attributes.rb +46 -1
  118. data/lib/datadog_api_client/v2/models/sensitive_data_scanner_standard_pattern_attributes.rb +33 -1
  119. data/lib/datadog_api_client/v2/models/user_team_attributes.rb +24 -1
  120. data/lib/datadog_api_client/v2/models/user_team_relationships.rb +11 -1
  121. data/lib/datadog_api_client/v2/models/user_team_team_type.rb +26 -0
  122. data/lib/datadog_api_client/version.rb +1 -1
  123. metadata +71 -2
@@ -0,0 +1,80 @@
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
+ # Response for Cloud Cost activity.
21
+ class CloudCostActivityResponse
22
+ include BaseGenericModel
23
+
24
+ # Cloud Cost Activity.
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' => :'CloudCostActivity'
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::CloudCostActivityResponse` 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::CloudCostActivityResponse`. 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
+ self.data = attributes[:'data']
61
+ end
62
+ end
63
+
64
+ # Checks equality by comparing each attribute.
65
+ # @param o [Object] Object to be compared
66
+ # @!visibility private
67
+ def ==(o)
68
+ return true if self.equal?(o)
69
+ self.class == o.class &&
70
+ data == o.data
71
+ end
72
+
73
+ # Calculates hash code according to all attributes.
74
+ # @return [Integer] Hash code
75
+ # @!visibility private
76
+ def hash
77
+ [data].hash
78
+ end
79
+ end
80
+ 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 Cloud Cost Activity.
21
+ class CloudCostActivityType
22
+ include BaseEnumModel
23
+
24
+ CLOUD_COST_ACTIVITY = "cloud_cost_activity".freeze
25
+ end
26
+ end
@@ -30,13 +30,21 @@ module DatadogAPIClient::V2
30
30
  # The name of the Cloudflare account.
31
31
  attr_reader :name
32
32
 
33
+ # An allowlist of resources to restrict pulling metrics for.
34
+ attr_accessor :resources
35
+
36
+ # An allowlist of zones to restrict pulling metrics for.
37
+ attr_accessor :zones
38
+
33
39
  # Attribute mapping from ruby-style variable name to JSON key.
34
40
  # @!visibility private
35
41
  def self.attribute_map
36
42
  {
37
43
  :'api_key' => :'api_key',
38
44
  :'email' => :'email',
39
- :'name' => :'name'
45
+ :'name' => :'name',
46
+ :'resources' => :'resources',
47
+ :'zones' => :'zones'
40
48
  }
41
49
  end
42
50
 
@@ -46,7 +54,9 @@ module DatadogAPIClient::V2
46
54
  {
47
55
  :'api_key' => :'String',
48
56
  :'email' => :'String',
49
- :'name' => :'String'
57
+ :'name' => :'String',
58
+ :'resources' => :'Array<String>',
59
+ :'zones' => :'Array<String>'
50
60
  }
51
61
  end
52
62
 
@@ -77,6 +87,18 @@ module DatadogAPIClient::V2
77
87
  if attributes.key?(:'name')
78
88
  self.name = attributes[:'name']
79
89
  end
90
+
91
+ if attributes.key?(:'resources')
92
+ if (value = attributes[:'resources']).is_a?(Array)
93
+ self.resources = value
94
+ end
95
+ end
96
+
97
+ if attributes.key?(:'zones')
98
+ if (value = attributes[:'zones']).is_a?(Array)
99
+ self.zones = value
100
+ end
101
+ end
80
102
  end
81
103
 
82
104
  # Check to see if the all the properties in the model are valid
@@ -116,14 +138,16 @@ module DatadogAPIClient::V2
116
138
  self.class == o.class &&
117
139
  api_key == o.api_key &&
118
140
  email == o.email &&
119
- name == o.name
141
+ name == o.name &&
142
+ resources == o.resources &&
143
+ zones == o.zones
120
144
  end
121
145
 
122
146
  # Calculates hash code according to all attributes.
123
147
  # @return [Integer] Hash code
124
148
  # @!visibility private
125
149
  def hash
126
- [api_key, email, name].hash
150
+ [api_key, email, name, resources, zones].hash
127
151
  end
128
152
  end
129
153
  end
@@ -27,12 +27,20 @@ module DatadogAPIClient::V2
27
27
  # The name of the Cloudflare account.
28
28
  attr_reader :name
29
29
 
30
+ # An allowlist of resources to restrict pulling metrics for.
31
+ attr_accessor :resources
32
+
33
+ # An allowlist of zones to restrict pulling metrics for.
34
+ attr_accessor :zones
35
+
30
36
  # Attribute mapping from ruby-style variable name to JSON key.
31
37
  # @!visibility private
32
38
  def self.attribute_map
33
39
  {
34
40
  :'email' => :'email',
35
- :'name' => :'name'
41
+ :'name' => :'name',
42
+ :'resources' => :'resources',
43
+ :'zones' => :'zones'
36
44
  }
37
45
  end
38
46
 
@@ -41,7 +49,9 @@ module DatadogAPIClient::V2
41
49
  def self.openapi_types
42
50
  {
43
51
  :'email' => :'String',
44
- :'name' => :'String'
52
+ :'name' => :'String',
53
+ :'resources' => :'Array<String>',
54
+ :'zones' => :'Array<String>'
45
55
  }
46
56
  end
47
57
 
@@ -68,6 +78,18 @@ module DatadogAPIClient::V2
68
78
  if attributes.key?(:'name')
69
79
  self.name = attributes[:'name']
70
80
  end
81
+
82
+ if attributes.key?(:'resources')
83
+ if (value = attributes[:'resources']).is_a?(Array)
84
+ self.resources = value
85
+ end
86
+ end
87
+
88
+ if attributes.key?(:'zones')
89
+ if (value = attributes[:'zones']).is_a?(Array)
90
+ self.zones = value
91
+ end
92
+ end
71
93
  end
72
94
 
73
95
  # Check to see if the all the properties in the model are valid
@@ -95,14 +117,16 @@ module DatadogAPIClient::V2
95
117
  return true if self.equal?(o)
96
118
  self.class == o.class &&
97
119
  email == o.email &&
98
- name == o.name
120
+ name == o.name &&
121
+ resources == o.resources &&
122
+ zones == o.zones
99
123
  end
100
124
 
101
125
  # Calculates hash code according to all attributes.
102
126
  # @return [Integer] Hash code
103
127
  # @!visibility private
104
128
  def hash
105
- [email, name].hash
129
+ [email, name, resources, zones].hash
106
130
  end
107
131
  end
108
132
  end
@@ -27,12 +27,20 @@ module DatadogAPIClient::V2
27
27
  # The email associated with the Cloudflare account. If an API key is provided (and not a token), this field is also required.
28
28
  attr_accessor :email
29
29
 
30
+ # An allowlist of resources to restrict pulling metrics for.
31
+ attr_accessor :resources
32
+
33
+ # An allowlist of zones to restrict pulling metrics for.
34
+ attr_accessor :zones
35
+
30
36
  # Attribute mapping from ruby-style variable name to JSON key.
31
37
  # @!visibility private
32
38
  def self.attribute_map
33
39
  {
34
40
  :'api_key' => :'api_key',
35
- :'email' => :'email'
41
+ :'email' => :'email',
42
+ :'resources' => :'resources',
43
+ :'zones' => :'zones'
36
44
  }
37
45
  end
38
46
 
@@ -41,7 +49,9 @@ module DatadogAPIClient::V2
41
49
  def self.openapi_types
42
50
  {
43
51
  :'api_key' => :'String',
44
- :'email' => :'String'
52
+ :'email' => :'String',
53
+ :'resources' => :'Array<String>',
54
+ :'zones' => :'Array<String>'
45
55
  }
46
56
  end
47
57
 
@@ -68,6 +78,18 @@ module DatadogAPIClient::V2
68
78
  if attributes.key?(:'email')
69
79
  self.email = attributes[:'email']
70
80
  end
81
+
82
+ if attributes.key?(:'resources')
83
+ if (value = attributes[:'resources']).is_a?(Array)
84
+ self.resources = value
85
+ end
86
+ end
87
+
88
+ if attributes.key?(:'zones')
89
+ if (value = attributes[:'zones']).is_a?(Array)
90
+ self.zones = value
91
+ end
92
+ end
71
93
  end
72
94
 
73
95
  # Check to see if the all the properties in the model are valid
@@ -95,14 +117,16 @@ module DatadogAPIClient::V2
95
117
  return true if self.equal?(o)
96
118
  self.class == o.class &&
97
119
  api_key == o.api_key &&
98
- email == o.email
120
+ email == o.email &&
121
+ resources == o.resources &&
122
+ zones == o.zones
99
123
  end
100
124
 
101
125
  # Calculates hash code according to all attributes.
102
126
  # @return [Integer] Hash code
103
127
  # @!visibility private
104
128
  def hash
105
- [api_key, email].hash
129
+ [api_key, email, resources, zones].hash
106
130
  end
107
131
  end
108
132
  end
@@ -75,7 +75,7 @@ module DatadogAPIClient::V2
75
75
  # @!visibility private
76
76
  def valid?
77
77
  return false if @commit_sha.nil?
78
- pattern = Regexp.new("^[a-fA-F0-9]{40,}$")
78
+ pattern = Regexp.new(/^[a-fA-F0-9]{40,}$/)
79
79
  return false if @commit_sha !~ pattern
80
80
  return false if @repository_url.nil?
81
81
  true
@@ -88,7 +88,7 @@ module DatadogAPIClient::V2
88
88
  if commit_sha.nil?
89
89
  fail ArgumentError, 'invalid value for "commit_sha", commit_sha cannot be nil.'
90
90
  end
91
- pattern = Regexp.new("^[a-fA-F0-9]{40,}$")
91
+ pattern = Regexp.new(/^[a-fA-F0-9]{40,}$/)
92
92
  if commit_sha !~ pattern
93
93
  fail ArgumentError, "invalid value for \"commit_sha\", must conform to the pattern #{pattern}."
94
94
  end
@@ -33,9 +33,15 @@ module DatadogAPIClient::V2
33
33
  # Your Host Filters.
34
34
  attr_accessor :host_filters
35
35
 
36
- # When enabled, Datadog performs configuration checks across your Google Cloud environment by continuously scanning every resource.
36
+ # 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.
37
37
  attr_accessor :is_cspm_enabled
38
38
 
39
+ # When enabled, Datadog will attempt to collect Security Command Center Findings. Note: This requires additional permissions on the service account.
40
+ attr_accessor :is_security_command_center_enabled
41
+
42
+ # When enabled, Datadog scans for all resources in your GCP environment.
43
+ attr_accessor :resource_collection_enabled
44
+
39
45
  # Attribute mapping from ruby-style variable name to JSON key.
40
46
  # @!visibility private
41
47
  def self.attribute_map
@@ -44,7 +50,9 @@ module DatadogAPIClient::V2
44
50
  :'automute' => :'automute',
45
51
  :'client_email' => :'client_email',
46
52
  :'host_filters' => :'host_filters',
47
- :'is_cspm_enabled' => :'is_cspm_enabled'
53
+ :'is_cspm_enabled' => :'is_cspm_enabled',
54
+ :'is_security_command_center_enabled' => :'is_security_command_center_enabled',
55
+ :'resource_collection_enabled' => :'resource_collection_enabled'
48
56
  }
49
57
  end
50
58
 
@@ -56,7 +64,9 @@ module DatadogAPIClient::V2
56
64
  :'automute' => :'Boolean',
57
65
  :'client_email' => :'String',
58
66
  :'host_filters' => :'Array<String>',
59
- :'is_cspm_enabled' => :'Boolean'
67
+ :'is_cspm_enabled' => :'Boolean',
68
+ :'is_security_command_center_enabled' => :'Boolean',
69
+ :'resource_collection_enabled' => :'Boolean'
60
70
  }
61
71
  end
62
72
 
@@ -99,6 +109,14 @@ module DatadogAPIClient::V2
99
109
  if attributes.key?(:'is_cspm_enabled')
100
110
  self.is_cspm_enabled = attributes[:'is_cspm_enabled']
101
111
  end
112
+
113
+ if attributes.key?(:'is_security_command_center_enabled')
114
+ self.is_security_command_center_enabled = attributes[:'is_security_command_center_enabled']
115
+ end
116
+
117
+ if attributes.key?(:'resource_collection_enabled')
118
+ self.resource_collection_enabled = attributes[:'resource_collection_enabled']
119
+ end
102
120
  end
103
121
 
104
122
  # Checks equality by comparing each attribute.
@@ -111,14 +129,16 @@ module DatadogAPIClient::V2
111
129
  automute == o.automute &&
112
130
  client_email == o.client_email &&
113
131
  host_filters == o.host_filters &&
114
- is_cspm_enabled == o.is_cspm_enabled
132
+ is_cspm_enabled == o.is_cspm_enabled &&
133
+ is_security_command_center_enabled == o.is_security_command_center_enabled &&
134
+ resource_collection_enabled == o.resource_collection_enabled
115
135
  end
116
136
 
117
137
  # Calculates hash code according to all attributes.
118
138
  # @return [Integer] Hash code
119
139
  # @!visibility private
120
140
  def hash
121
- [account_tags, automute, client_email, host_filters, is_cspm_enabled].hash
141
+ [account_tags, automute, client_email, host_filters, is_cspm_enabled, is_security_command_center_enabled, resource_collection_enabled].hash
122
142
  end
123
143
  end
124
144
  end
@@ -0,0 +1,98 @@
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
+ # Relationship between team membership and team
21
+ class RelationshipToUserTeamTeam
22
+ include BaseGenericModel
23
+
24
+ # The team associated with the membership
25
+ attr_reader :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' => :'RelationshipToUserTeamTeamData'
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::RelationshipToUserTeamTeam` 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::RelationshipToUserTeamTeam`. 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
+ self.data = attributes[:'data']
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 @data.nil?
69
+ true
70
+ end
71
+
72
+ # Custom attribute writer method with validation
73
+ # @param data [Object] Object to be assigned
74
+ # @!visibility private
75
+ def data=(data)
76
+ if data.nil?
77
+ fail ArgumentError, 'invalid value for "data", data cannot be nil.'
78
+ end
79
+ @data = data
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
+ data == o.data
89
+ end
90
+
91
+ # Calculates hash code according to all attributes.
92
+ # @return [Integer] Hash code
93
+ # @!visibility private
94
+ def hash
95
+ [data].hash
96
+ end
97
+ end
98
+ end
@@ -0,0 +1,119 @@
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
+ # The team associated with the membership
21
+ class RelationshipToUserTeamTeamData
22
+ include BaseGenericModel
23
+
24
+ # The ID of the team associated with the membership
25
+ attr_reader :id
26
+
27
+ # User team team type
28
+ attr_reader :type
29
+
30
+ # Attribute mapping from ruby-style variable name to JSON key.
31
+ # @!visibility private
32
+ def self.attribute_map
33
+ {
34
+ :'id' => :'id',
35
+ :'type' => :'type'
36
+ }
37
+ end
38
+
39
+ # Attribute type mapping.
40
+ # @!visibility private
41
+ def self.openapi_types
42
+ {
43
+ :'id' => :'String',
44
+ :'type' => :'UserTeamTeamType'
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::RelationshipToUserTeamTeamData` 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::RelationshipToUserTeamTeamData`. 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?(:'id')
65
+ self.id = attributes[:'id']
66
+ end
67
+
68
+ if attributes.key?(:'type')
69
+ self.type = attributes[:'type']
70
+ end
71
+ end
72
+
73
+ # Check to see if the all the properties in the model are valid
74
+ # @return true if the model is valid
75
+ # @!visibility private
76
+ def valid?
77
+ return false if @id.nil?
78
+ return false if @type.nil?
79
+ true
80
+ end
81
+
82
+ # Custom attribute writer method with validation
83
+ # @param id [Object] Object to be assigned
84
+ # @!visibility private
85
+ def id=(id)
86
+ if id.nil?
87
+ fail ArgumentError, 'invalid value for "id", id cannot be nil.'
88
+ end
89
+ @id = id
90
+ end
91
+
92
+ # Custom attribute writer method with validation
93
+ # @param type [Object] Object to be assigned
94
+ # @!visibility private
95
+ def type=(type)
96
+ if type.nil?
97
+ fail ArgumentError, 'invalid value for "type", type cannot be nil.'
98
+ end
99
+ @type = type
100
+ end
101
+
102
+ # Checks equality by comparing each attribute.
103
+ # @param o [Object] Object to be compared
104
+ # @!visibility private
105
+ def ==(o)
106
+ return true if self.equal?(o)
107
+ self.class == o.class &&
108
+ id == o.id &&
109
+ type == o.type
110
+ end
111
+
112
+ # Calculates hash code according to all attributes.
113
+ # @return [Integer] Hash code
114
+ # @!visibility private
115
+ def hash
116
+ [id, type].hash
117
+ end
118
+ end
119
+ end
@@ -55,6 +55,9 @@ module DatadogAPIClient::V2
55
55
  # Options on new value rules.
56
56
  attr_accessor :new_value_options
57
57
 
58
+ # Options on third party rules.
59
+ attr_accessor :third_party_rule_options
60
+
58
61
  # Attribute mapping from ruby-style variable name to JSON key.
59
62
  # @!visibility private
60
63
  def self.attribute_map
@@ -67,7 +70,8 @@ module DatadogAPIClient::V2
67
70
  :'impossible_travel_options' => :'impossibleTravelOptions',
68
71
  :'keep_alive' => :'keepAlive',
69
72
  :'max_signal_duration' => :'maxSignalDuration',
70
- :'new_value_options' => :'newValueOptions'
73
+ :'new_value_options' => :'newValueOptions',
74
+ :'third_party_rule_options' => :'thirdPartyRuleOptions'
71
75
  }
72
76
  end
73
77
 
@@ -83,7 +87,8 @@ module DatadogAPIClient::V2
83
87
  :'impossible_travel_options' => :'SecurityMonitoringRuleImpossibleTravelOptions',
84
88
  :'keep_alive' => :'SecurityMonitoringRuleKeepAlive',
85
89
  :'max_signal_duration' => :'SecurityMonitoringRuleMaxSignalDuration',
86
- :'new_value_options' => :'SecurityMonitoringRuleNewValueOptions'
90
+ :'new_value_options' => :'SecurityMonitoringRuleNewValueOptions',
91
+ :'third_party_rule_options' => :'SecurityMonitoringRuleThirdPartyOptions'
87
92
  }
88
93
  end
89
94
 
@@ -138,6 +143,10 @@ module DatadogAPIClient::V2
138
143
  if attributes.key?(:'new_value_options')
139
144
  self.new_value_options = attributes[:'new_value_options']
140
145
  end
146
+
147
+ if attributes.key?(:'third_party_rule_options')
148
+ self.third_party_rule_options = attributes[:'third_party_rule_options']
149
+ end
141
150
  end
142
151
 
143
152
  # Checks equality by comparing each attribute.
@@ -154,14 +163,15 @@ module DatadogAPIClient::V2
154
163
  impossible_travel_options == o.impossible_travel_options &&
155
164
  keep_alive == o.keep_alive &&
156
165
  max_signal_duration == o.max_signal_duration &&
157
- new_value_options == o.new_value_options
166
+ new_value_options == o.new_value_options &&
167
+ third_party_rule_options == o.third_party_rule_options
158
168
  end
159
169
 
160
170
  # Calculates hash code according to all attributes.
161
171
  # @return [Integer] Hash code
162
172
  # @!visibility private
163
173
  def hash
164
- [compliance_rule_options, decrease_criticality_based_on_env, detection_method, evaluation_window, hardcoded_evaluator_type, impossible_travel_options, keep_alive, max_signal_duration, new_value_options].hash
174
+ [compliance_rule_options, decrease_criticality_based_on_env, detection_method, evaluation_window, hardcoded_evaluator_type, impossible_travel_options, keep_alive, max_signal_duration, new_value_options, third_party_rule_options].hash
165
175
  end
166
176
  end
167
177
  end