datadog_api_client 2.21.0 → 2.22.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (102) hide show
  1. checksums.yaml +4 -4
  2. data/.apigentools-info +4 -4
  3. data/.generator/schemas/v1/openapi.yaml +180 -637
  4. data/.generator/schemas/v2/openapi.yaml +515 -33
  5. data/.github/workflows/prepare_release.yml +2 -2
  6. data/.github/workflows/publish.yml +2 -2
  7. data/.github/workflows/release.yml +2 -2
  8. data/.github/workflows/test.yml +1 -1
  9. data/CHANGELOG.md +24 -0
  10. data/Gemfile +1 -1
  11. data/examples/v1/aws-integration/CreateAWSAccount.rb +1 -1
  12. data/examples/v1/aws-integration/CreateNewAWSExternalID.rb +1 -0
  13. data/examples/v1/aws-integration/UpdateAWSAccount.rb +1 -1
  14. data/examples/v1/synthetics/CreateSyntheticsAPITest_1241981394.rb +118 -0
  15. data/examples/v1/synthetics/UpdateBrowserTest.rb +3 -0
  16. data/examples/v2/apm-retention-filters/UpdateApmRetentionFilter.rb +2 -2
  17. data/examples/v2/authn-mappings/CreateAuthNMapping.rb +1 -1
  18. data/examples/v2/authn-mappings/UpdateAuthNMapping.rb +1 -1
  19. data/examples/v2/cloud-workload-security/CreateCSMThreatsAgentRule.rb +1 -1
  20. data/examples/v2/gcp-integration/CreateGCPSTSAccount.rb +1 -1
  21. data/examples/v2/gcp-integration/CreateGCPSTSAccount_109518525.rb +1 -1
  22. data/examples/v2/gcp-integration/CreateGCPSTSAccount_130557025.rb +1 -1
  23. data/examples/v2/gcp-integration/CreateGCPSTSAccount_194782945.rb +1 -1
  24. data/examples/v2/gcp-integration/CreateGCPSTSAccount_2597004741.rb +1 -1
  25. data/examples/v2/gcp-integration/CreateGCPSTSAccount_4235664992.rb +1 -1
  26. data/examples/v2/gcp-integration/UpdateGCPSTSAccount.rb +1 -1
  27. data/examples/v2/gcp-integration/UpdateGCPSTSAccount_2241994060.rb +1 -1
  28. data/examples/v2/gcp-integration/UpdateGCPSTSAccount_3205636354.rb +1 -1
  29. data/examples/v2/logs-custom-destinations/UpdateLogsCustomDestination.rb +4 -0
  30. data/examples/v2/metrics/QueryScalarData_3112571352.rb +2 -2
  31. data/examples/v2/metrics/QueryTimeseriesData_301142940.rb +3 -3
  32. data/examples/v2/security-monitoring/CreateSecurityMonitoringSuppression_3192265332.rb +19 -0
  33. data/examples/v2/security-monitoring/ValidateSecurityMonitoringRule.rb +42 -0
  34. data/examples/v2/service-definition/CreateOrUpdateServiceDefinitions.rb +4 -0
  35. data/examples/v2/service-level-objectives/CreateSLOReportJob.rb +20 -0
  36. data/examples/v2/service-level-objectives/GetSLOReport.rb +8 -0
  37. data/examples/v2/service-level-objectives/GetSLOReportJobStatus.rb +11 -0
  38. data/lib/datadog_api_client/configuration.rb +3 -0
  39. data/lib/datadog_api_client/inflector.rb +20 -7
  40. data/lib/datadog_api_client/v1/api/usage_metering_api.rb +104 -131
  41. data/lib/datadog_api_client/v1/models/aws_account.rb +12 -2
  42. data/lib/datadog_api_client/v1/models/hourly_usage_attribution_usage_type.rb +2 -0
  43. data/lib/datadog_api_client/v1/models/monitor_options.rb +4 -1
  44. data/lib/datadog_api_client/v1/models/monthly_usage_attribution_supported_metrics.rb +4 -0
  45. data/lib/datadog_api_client/v1/models/monthly_usage_attribution_values.rb +41 -1
  46. data/lib/datadog_api_client/v1/models/series.rb +1 -1
  47. data/lib/datadog_api_client/v1/models/slo_time_slice_condition.rb +14 -2
  48. data/lib/datadog_api_client/v1/models/slo_time_slice_interval.rb +29 -0
  49. data/lib/datadog_api_client/v1/models/slo_time_slice_spec.rb +1 -1
  50. data/lib/datadog_api_client/v1/models/synthetics_test_request.rb +13 -1
  51. data/lib/datadog_api_client/v1/models/synthetics_test_request_body_file.rb +175 -0
  52. data/lib/datadog_api_client/v1/models/synthetics_test_request_body_type.rb +2 -0
  53. data/lib/datadog_api_client/v2/api/apm_retention_filters_api.rb +6 -0
  54. data/lib/datadog_api_client/v2/api/metrics_api.rb +1 -1
  55. data/lib/datadog_api_client/v2/api/security_monitoring_api.rb +67 -0
  56. data/lib/datadog_api_client/v2/api/service_level_objectives_api.rb +245 -0
  57. data/lib/datadog_api_client/v2/api/usage_metering_api.rb +12 -3
  58. data/lib/datadog_api_client/v2/models/authn_mapping_create_data.rb +1 -1
  59. data/lib/datadog_api_client/v2/models/authn_mapping_create_relationships.rb +37 -54
  60. data/lib/datadog_api_client/v2/models/authn_mapping_included.rb +2 -1
  61. data/lib/datadog_api_client/v2/models/authn_mapping_relationship_to_role.rb +98 -0
  62. data/lib/datadog_api_client/v2/models/authn_mapping_relationship_to_team.rb +98 -0
  63. data/lib/datadog_api_client/v2/models/authn_mapping_relationships.rb +14 -4
  64. data/lib/datadog_api_client/{v1/models/usage_attribution_metadata.rb → v2/models/authn_mapping_team.rb} +31 -23
  65. data/lib/datadog_api_client/v2/models/authn_mapping_team_attributes.rb +212 -0
  66. data/lib/datadog_api_client/v2/models/authn_mapping_update_data.rb +1 -1
  67. data/lib/datadog_api_client/v2/models/authn_mapping_update_relationships.rb +37 -54
  68. data/lib/datadog_api_client/v2/models/custom_destination_type.rb +1 -1
  69. data/lib/datadog_api_client/v2/models/dora_deployment_request_attributes.rb +1 -1
  70. data/lib/datadog_api_client/v2/models/metric_series.rb +1 -1
  71. data/lib/datadog_api_client/v2/models/relationship_to_team.rb +80 -0
  72. data/lib/datadog_api_client/{v1/models/usage_attribution_response.rb → v2/models/relationship_to_team_data.rb} +21 -23
  73. data/lib/datadog_api_client/v2/models/retention_filter_update_attributes.rb +183 -0
  74. data/lib/datadog_api_client/v2/models/retention_filter_update_data.rb +1 -1
  75. data/lib/datadog_api_client/v2/models/security_monitoring_rule_update_payload.rb +1 -1
  76. data/lib/datadog_api_client/v2/models/security_monitoring_signal_rule_create_payload.rb +1 -1
  77. data/lib/datadog_api_client/v2/models/security_monitoring_signal_rule_response.rb +1 -1
  78. data/lib/datadog_api_client/v2/models/security_monitoring_standard_rule_create_payload.rb +1 -1
  79. data/lib/datadog_api_client/v2/models/security_monitoring_standard_rule_response.rb +1 -1
  80. data/lib/datadog_api_client/v2/models/security_monitoring_suppression_attributes.rb +11 -1
  81. data/lib/datadog_api_client/v2/models/security_monitoring_suppression_create_attributes.rb +13 -14
  82. data/lib/datadog_api_client/v2/models/security_monitoring_suppression_update_attributes.rb +11 -1
  83. data/lib/datadog_api_client/v2/models/service_definition_v2_dot2.rb +13 -1
  84. data/lib/datadog_api_client/v2/models/slo_report_create_request.rb +98 -0
  85. data/lib/datadog_api_client/v2/models/slo_report_create_request_attributes.rb +160 -0
  86. data/lib/datadog_api_client/{v1/models/usage_attribution_pagination.rb → v2/models/slo_report_create_request_data.rb} +29 -51
  87. data/lib/datadog_api_client/v2/models/slo_report_interval.rb +27 -0
  88. data/lib/datadog_api_client/v2/models/slo_report_post_response.rb +80 -0
  89. data/lib/datadog_api_client/v2/models/slo_report_post_response_data.rb +90 -0
  90. data/lib/datadog_api_client/v2/models/slo_report_status.rb +29 -0
  91. data/lib/datadog_api_client/v2/models/slo_report_status_get_response.rb +80 -0
  92. data/lib/datadog_api_client/v2/models/slo_report_status_get_response_attributes.rb +80 -0
  93. data/lib/datadog_api_client/v2/models/slo_report_status_get_response_data.rb +100 -0
  94. data/lib/datadog_api_client/v2/models/timeseries_response_series.rb +8 -0
  95. data/lib/datadog_api_client/v2/models/user_teams_response.rb +13 -1
  96. data/lib/datadog_api_client/version.rb +1 -1
  97. metadata +51 -33
  98. data/examples/v1/usage-metering/GetUsageAttribution.rb +0 -9
  99. data/lib/datadog_api_client/v1/models/usage_attribution_body.rb +0 -152
  100. data/lib/datadog_api_client/v1/models/usage_attribution_sort.rb +0 -63
  101. data/lib/datadog_api_client/v1/models/usage_attribution_supported_metrics.rb +0 -74
  102. data/lib/datadog_api_client/v1/models/usage_attribution_values.rb +0 -590
@@ -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 of AuthN Mapping to a Team.
21
+ class AuthNMappingRelationshipToTeam
22
+ include BaseGenericModel
23
+
24
+ # Relationship to team.
25
+ attr_reader :team
26
+
27
+ # Attribute mapping from ruby-style variable name to JSON key.
28
+ # @!visibility private
29
+ def self.attribute_map
30
+ {
31
+ :'team' => :'team'
32
+ }
33
+ end
34
+
35
+ # Attribute type mapping.
36
+ # @!visibility private
37
+ def self.openapi_types
38
+ {
39
+ :'team' => :'RelationshipToTeam'
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::AuthNMappingRelationshipToTeam` 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::AuthNMappingRelationshipToTeam`. 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?(:'team')
60
+ self.team = attributes[:'team']
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 @team.nil?
69
+ true
70
+ end
71
+
72
+ # Custom attribute writer method with validation
73
+ # @param team [Object] Object to be assigned
74
+ # @!visibility private
75
+ def team=(team)
76
+ if team.nil?
77
+ fail ArgumentError, 'invalid value for "team", team cannot be nil.'
78
+ end
79
+ @team = team
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
+ team == o.team
89
+ end
90
+
91
+ # Calculates hash code according to all attributes.
92
+ # @return [Integer] Hash code
93
+ # @!visibility private
94
+ def hash
95
+ [team].hash
96
+ end
97
+ end
98
+ end
@@ -27,12 +27,16 @@ module DatadogAPIClient::V2
27
27
  # AuthN Mapping relationship to SAML Assertion Attribute.
28
28
  attr_accessor :saml_assertion_attribute
29
29
 
30
+ # Relationship to team.
31
+ attr_accessor :team
32
+
30
33
  # Attribute mapping from ruby-style variable name to JSON key.
31
34
  # @!visibility private
32
35
  def self.attribute_map
33
36
  {
34
37
  :'role' => :'role',
35
- :'saml_assertion_attribute' => :'saml_assertion_attribute'
38
+ :'saml_assertion_attribute' => :'saml_assertion_attribute',
39
+ :'team' => :'team'
36
40
  }
37
41
  end
38
42
 
@@ -41,7 +45,8 @@ module DatadogAPIClient::V2
41
45
  def self.openapi_types
42
46
  {
43
47
  :'role' => :'RelationshipToRole',
44
- :'saml_assertion_attribute' => :'RelationshipToSAMLAssertionAttribute'
48
+ :'saml_assertion_attribute' => :'RelationshipToSAMLAssertionAttribute',
49
+ :'team' => :'RelationshipToTeam'
45
50
  }
46
51
  end
47
52
 
@@ -68,6 +73,10 @@ module DatadogAPIClient::V2
68
73
  if attributes.key?(:'saml_assertion_attribute')
69
74
  self.saml_assertion_attribute = attributes[:'saml_assertion_attribute']
70
75
  end
76
+
77
+ if attributes.key?(:'team')
78
+ self.team = attributes[:'team']
79
+ end
71
80
  end
72
81
 
73
82
  # Checks equality by comparing each attribute.
@@ -77,14 +86,15 @@ module DatadogAPIClient::V2
77
86
  return true if self.equal?(o)
78
87
  self.class == o.class &&
79
88
  role == o.role &&
80
- saml_assertion_attribute == o.saml_assertion_attribute
89
+ saml_assertion_attribute == o.saml_assertion_attribute &&
90
+ team == o.team
81
91
  end
82
92
 
83
93
  # Calculates hash code according to all attributes.
84
94
  # @return [Integer] Hash code
85
95
  # @!visibility private
86
96
  def hash
87
- [role, saml_assertion_attribute].hash
97
+ [role, saml_assertion_attribute, team].hash
88
98
  end
89
99
  end
90
100
  end
@@ -1,5 +1,5 @@
1
1
  =begin
2
- #Datadog API V1 Collection
2
+ #Datadog API V2 Collection
3
3
 
4
4
  #Collection of all Datadog Public endpoints.
5
5
 
@@ -16,23 +16,27 @@ Generated by: https://github.com/DataDog/datadog-api-client-ruby/tree/master/.ge
16
16
  require 'date'
17
17
  require 'time'
18
18
 
19
- module DatadogAPIClient::V1
20
- # The object containing document metadata.
21
- class UsageAttributionMetadata
19
+ module DatadogAPIClient::V2
20
+ # Team.
21
+ class AuthNMappingTeam
22
22
  include BaseGenericModel
23
23
 
24
- # An array of available aggregates.
25
- attr_accessor :aggregates
24
+ # Team attributes.
25
+ attr_accessor :attributes
26
26
 
27
- # The metadata for the current pagination.
28
- attr_accessor :pagination
27
+ # The ID of the Team.
28
+ attr_accessor :id
29
+
30
+ # Team type
31
+ attr_accessor :type
29
32
 
30
33
  # Attribute mapping from ruby-style variable name to JSON key.
31
34
  # @!visibility private
32
35
  def self.attribute_map
33
36
  {
34
- :'aggregates' => :'aggregates',
35
- :'pagination' => :'pagination'
37
+ :'attributes' => :'attributes',
38
+ :'id' => :'id',
39
+ :'type' => :'type'
36
40
  }
37
41
  end
38
42
 
@@ -40,8 +44,9 @@ module DatadogAPIClient::V1
40
44
  # @!visibility private
41
45
  def self.openapi_types
42
46
  {
43
- :'aggregates' => :'Array<UsageAttributionAggregatesBody>',
44
- :'pagination' => :'UsageAttributionPagination'
47
+ :'attributes' => :'AuthNMappingTeamAttributes',
48
+ :'id' => :'String',
49
+ :'type' => :'TeamType'
45
50
  }
46
51
  end
47
52
 
@@ -50,25 +55,27 @@ module DatadogAPIClient::V1
50
55
  # @!visibility private
51
56
  def initialize(attributes = {})
52
57
  if (!attributes.is_a?(Hash))
53
- fail ArgumentError, "The input argument (attributes) must be a hash in `DatadogAPIClient::V1::UsageAttributionMetadata` initialize method"
58
+ fail ArgumentError, "The input argument (attributes) must be a hash in `DatadogAPIClient::V2::AuthNMappingTeam` initialize method"
54
59
  end
55
60
 
56
61
  # check to see if the attribute exists and convert string to symbol for hash key
57
62
  attributes = attributes.each_with_object({}) { |(k, v), h|
58
63
  if (!self.class.attribute_map.key?(k.to_sym))
59
- fail ArgumentError, "`#{k}` is not a valid attribute in `DatadogAPIClient::V1::UsageAttributionMetadata`. Please check the name to make sure it's valid. List of attributes: " + self.class.attribute_map.keys.inspect
64
+ fail ArgumentError, "`#{k}` is not a valid attribute in `DatadogAPIClient::V2::AuthNMappingTeam`. Please check the name to make sure it's valid. List of attributes: " + self.class.attribute_map.keys.inspect
60
65
  end
61
66
  h[k.to_sym] = v
62
67
  }
63
68
 
64
- if attributes.key?(:'aggregates')
65
- if (value = attributes[:'aggregates']).is_a?(Array)
66
- self.aggregates = value
67
- end
69
+ if attributes.key?(:'attributes')
70
+ self.attributes = attributes[:'attributes']
71
+ end
72
+
73
+ if attributes.key?(:'id')
74
+ self.id = attributes[:'id']
68
75
  end
69
76
 
70
- if attributes.key?(:'pagination')
71
- self.pagination = attributes[:'pagination']
77
+ if attributes.key?(:'type')
78
+ self.type = attributes[:'type']
72
79
  end
73
80
  end
74
81
 
@@ -78,15 +85,16 @@ module DatadogAPIClient::V1
78
85
  def ==(o)
79
86
  return true if self.equal?(o)
80
87
  self.class == o.class &&
81
- aggregates == o.aggregates &&
82
- pagination == o.pagination
88
+ attributes == o.attributes &&
89
+ id == o.id &&
90
+ type == o.type
83
91
  end
84
92
 
85
93
  # Calculates hash code according to all attributes.
86
94
  # @return [Integer] Hash code
87
95
  # @!visibility private
88
96
  def hash
89
- [aggregates, pagination].hash
97
+ [attributes, id, type].hash
90
98
  end
91
99
  end
92
100
  end
@@ -0,0 +1,212 @@
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
+ # Team attributes.
21
+ class AuthNMappingTeamAttributes
22
+ include BaseGenericModel
23
+
24
+ # Unicode representation of the avatar for the team, limited to a single grapheme
25
+ attr_accessor :avatar
26
+
27
+ # Banner selection for the team
28
+ attr_accessor :banner
29
+
30
+ # The team's identifier
31
+ attr_reader :handle
32
+
33
+ # The number of links belonging to the team
34
+ attr_reader :link_count
35
+
36
+ # The name of the team
37
+ attr_reader :name
38
+
39
+ # A brief summary of the team, derived from the `description`
40
+ attr_reader :summary
41
+
42
+ # The number of users belonging to the team
43
+ attr_reader :user_count
44
+
45
+ # Attribute mapping from ruby-style variable name to JSON key.
46
+ # @!visibility private
47
+ def self.attribute_map
48
+ {
49
+ :'avatar' => :'avatar',
50
+ :'banner' => :'banner',
51
+ :'handle' => :'handle',
52
+ :'link_count' => :'link_count',
53
+ :'name' => :'name',
54
+ :'summary' => :'summary',
55
+ :'user_count' => :'user_count'
56
+ }
57
+ end
58
+
59
+ # Attribute type mapping.
60
+ # @!visibility private
61
+ def self.openapi_types
62
+ {
63
+ :'avatar' => :'String',
64
+ :'banner' => :'Integer',
65
+ :'handle' => :'String',
66
+ :'link_count' => :'Integer',
67
+ :'name' => :'String',
68
+ :'summary' => :'String',
69
+ :'user_count' => :'Integer'
70
+ }
71
+ end
72
+
73
+ # List of attributes with nullable: true
74
+ # @!visibility private
75
+ def self.openapi_nullable
76
+ Set.new([
77
+ :'avatar',
78
+ :'banner',
79
+ :'summary',
80
+ ])
81
+ end
82
+
83
+ # Initializes the object
84
+ # @param attributes [Hash] Model attributes in the form of hash
85
+ # @!visibility private
86
+ def initialize(attributes = {})
87
+ if (!attributes.is_a?(Hash))
88
+ fail ArgumentError, "The input argument (attributes) must be a hash in `DatadogAPIClient::V2::AuthNMappingTeamAttributes` initialize method"
89
+ end
90
+
91
+ # check to see if the attribute exists and convert string to symbol for hash key
92
+ attributes = attributes.each_with_object({}) { |(k, v), h|
93
+ if (!self.class.attribute_map.key?(k.to_sym))
94
+ fail ArgumentError, "`#{k}` is not a valid attribute in `DatadogAPIClient::V2::AuthNMappingTeamAttributes`. Please check the name to make sure it's valid. List of attributes: " + self.class.attribute_map.keys.inspect
95
+ end
96
+ h[k.to_sym] = v
97
+ }
98
+
99
+ if attributes.key?(:'avatar')
100
+ self.avatar = attributes[:'avatar']
101
+ end
102
+
103
+ if attributes.key?(:'banner')
104
+ self.banner = attributes[:'banner']
105
+ end
106
+
107
+ if attributes.key?(:'handle')
108
+ self.handle = attributes[:'handle']
109
+ end
110
+
111
+ if attributes.key?(:'link_count')
112
+ self.link_count = attributes[:'link_count']
113
+ end
114
+
115
+ if attributes.key?(:'name')
116
+ self.name = attributes[:'name']
117
+ end
118
+
119
+ if attributes.key?(:'summary')
120
+ self.summary = attributes[:'summary']
121
+ end
122
+
123
+ if attributes.key?(:'user_count')
124
+ self.user_count = attributes[:'user_count']
125
+ end
126
+ end
127
+
128
+ # Check to see if the all the properties in the model are valid
129
+ # @return true if the model is valid
130
+ # @!visibility private
131
+ def valid?
132
+ return false if !@handle.nil? && @handle.to_s.length > 195
133
+ return false if !@link_count.nil? && @link_count > 2147483647
134
+ return false if !@name.nil? && @name.to_s.length > 200
135
+ return false if !@summary.nil? && @summary.to_s.length > 120
136
+ return false if !@user_count.nil? && @user_count > 2147483647
137
+ true
138
+ end
139
+
140
+ # Custom attribute writer method with validation
141
+ # @param handle [Object] Object to be assigned
142
+ # @!visibility private
143
+ def handle=(handle)
144
+ if !handle.nil? && handle.to_s.length > 195
145
+ fail ArgumentError, 'invalid value for "handle", the character length must be smaller than or equal to 195.'
146
+ end
147
+ @handle = handle
148
+ end
149
+
150
+ # Custom attribute writer method with validation
151
+ # @param link_count [Object] Object to be assigned
152
+ # @!visibility private
153
+ def link_count=(link_count)
154
+ if !link_count.nil? && link_count > 2147483647
155
+ fail ArgumentError, 'invalid value for "link_count", must be smaller than or equal to 2147483647.'
156
+ end
157
+ @link_count = link_count
158
+ end
159
+
160
+ # Custom attribute writer method with validation
161
+ # @param name [Object] Object to be assigned
162
+ # @!visibility private
163
+ def name=(name)
164
+ if !name.nil? && name.to_s.length > 200
165
+ fail ArgumentError, 'invalid value for "name", the character length must be smaller than or equal to 200.'
166
+ end
167
+ @name = name
168
+ end
169
+
170
+ # Custom attribute writer method with validation
171
+ # @param summary [Object] Object to be assigned
172
+ # @!visibility private
173
+ def summary=(summary)
174
+ if !summary.nil? && summary.to_s.length > 120
175
+ fail ArgumentError, 'invalid value for "summary", the character length must be smaller than or equal to 120.'
176
+ end
177
+ @summary = summary
178
+ end
179
+
180
+ # Custom attribute writer method with validation
181
+ # @param user_count [Object] Object to be assigned
182
+ # @!visibility private
183
+ def user_count=(user_count)
184
+ if !user_count.nil? && user_count > 2147483647
185
+ fail ArgumentError, 'invalid value for "user_count", must be smaller than or equal to 2147483647.'
186
+ end
187
+ @user_count = user_count
188
+ end
189
+
190
+ # Checks equality by comparing each attribute.
191
+ # @param o [Object] Object to be compared
192
+ # @!visibility private
193
+ def ==(o)
194
+ return true if self.equal?(o)
195
+ self.class == o.class &&
196
+ avatar == o.avatar &&
197
+ banner == o.banner &&
198
+ handle == o.handle &&
199
+ link_count == o.link_count &&
200
+ name == o.name &&
201
+ summary == o.summary &&
202
+ user_count == o.user_count
203
+ end
204
+
205
+ # Calculates hash code according to all attributes.
206
+ # @return [Integer] Hash code
207
+ # @!visibility private
208
+ def hash
209
+ [avatar, banner, handle, link_count, name, summary, user_count].hash
210
+ end
211
+ end
212
+ end
@@ -27,7 +27,7 @@ module DatadogAPIClient::V2
27
27
  # ID of the AuthN Mapping.
28
28
  attr_reader :id
29
29
 
30
- # Relationship of AuthN Mapping update object to Role.
30
+ # Relationship of AuthN Mapping update object to a Role or Team.
31
31
  attr_accessor :relationships
32
32
 
33
33
  # AuthN Mappings resource type.
@@ -17,64 +17,47 @@ require 'date'
17
17
  require 'time'
18
18
 
19
19
  module DatadogAPIClient::V2
20
- # Relationship of AuthN Mapping update object to Role.
21
- class AuthNMappingUpdateRelationships
22
- include BaseGenericModel
23
-
24
- # Relationship to role.
25
- attr_accessor :role
26
-
27
- # Attribute mapping from ruby-style variable name to JSON key.
28
- # @!visibility private
29
- def self.attribute_map
30
- {
31
- :'role' => :'role'
32
- }
33
- end
34
-
35
- # Attribute type mapping.
36
- # @!visibility private
37
- def self.openapi_types
38
- {
39
- :'role' => :'RelationshipToRole'
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::AuthNMappingUpdateRelationships` initialize method"
20
+ # Relationship of AuthN Mapping update object to a Role or Team.
21
+ module AuthNMappingUpdateRelationships
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
+ :'AuthNMappingRelationshipToRole',
30
+ :'AuthNMappingRelationshipToTeam'
31
+ ]
49
32
  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::AuthNMappingUpdateRelationships`. Please check the name to make sure it's valid. List of attributes: " + self.class.attribute_map.keys.inspect
33
+ # Builds the object
34
+ # @param data [Mixed] Data to be matched against the list of oneOf items
35
+ # @return [Object] Returns the model or the data itself
36
+ def build(data)
37
+ # Go through the list of oneOf items and attempt to identify the appropriate one.
38
+ # Note:
39
+ # - We do not attempt to check whether exactly one item matches.
40
+ # - No advanced validation of types in some cases (e.g. "x: { type: string }" will happily match { x: 123 })
41
+ # due to the way the deserialization is made in the base_object template (it just casts without verifying).
42
+ # - TODO: scalar values are de facto behaving as if they were nullable.
43
+ # - TODO: logging when debugging is set.
44
+ openapi_one_of.each do |klass|
45
+ begin
46
+ next if klass == :AnyType # "nullable: true"
47
+ typed_data = find_and_cast_into_type(klass, data)
48
+ next if typed_data.respond_to?(:_unparsed) && typed_data._unparsed
49
+ return typed_data if typed_data
50
+ rescue # rescue all errors so we keep iterating even if the current item lookup raises
51
+ end
55
52
  end
56
- h[k.to_sym] = v
57
- }
58
53
 
59
- if attributes.key?(:'role')
60
- self.role = attributes[:'role']
54
+ if openapi_one_of.include?(:AnyType)
55
+ data
56
+ else
57
+ self._unparsed = true
58
+ DatadogAPIClient::UnparsedObject.new(data)
59
+ end
61
60
  end
62
61
  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
- role == o.role
71
- end
72
-
73
- # Calculates hash code according to all attributes.
74
- # @return [Integer] Hash code
75
- # @!visibility private
76
- def hash
77
- [role].hash
78
- end
79
62
  end
80
63
  end
@@ -21,6 +21,6 @@ module DatadogAPIClient::V2
21
21
  class CustomDestinationType
22
22
  include BaseEnumModel
23
23
 
24
- custom_destination = "custom_destination".freeze
24
+ CUSTOM_DESTINATION = "custom_destination".freeze
25
25
  end
26
26
  end
@@ -24,7 +24,7 @@ module DatadogAPIClient::V2
24
24
  # Environment name to where the service was deployed.
25
25
  attr_accessor :env
26
26
 
27
- # Unix timestamp in nanoseconds when the deployment finished. It should not be older than 3 hours.
27
+ # Unix timestamp in nanoseconds when the deployment finished. It should not be older than 1 hour.
28
28
  attr_reader :finished_at
29
29
 
30
30
  # Git info for DORA Metrics events.
@@ -22,7 +22,7 @@ module DatadogAPIClient::V2
22
22
  class MetricSeries
23
23
  include BaseGenericModel
24
24
 
25
- # If the type of the metric is rate or count, define the corresponding interval.
25
+ # If the type of the metric is rate or count, define the corresponding interval in seconds.
26
26
  attr_accessor :interval
27
27
 
28
28
  # Metadata for the metric.