datadog_api_client 2.41.0 → 2.42.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 (117) hide show
  1. checksums.yaml +4 -4
  2. data/.generator/schemas/v1/openapi.yaml +69 -8
  3. data/.generator/schemas/v2/openapi.yaml +1568 -40
  4. data/CHANGELOG.md +15 -0
  5. data/examples/v2/actions-datastores/BulkWriteDatastoreItems.rb +24 -0
  6. data/examples/v2/actions-datastores/CreateDatastore.rb +15 -0
  7. data/examples/v2/actions-datastores/DeleteDatastore.rb +8 -0
  8. data/examples/v2/actions-datastores/DeleteDatastoreItem.rb +17 -0
  9. data/examples/v2/actions-datastores/GetDatastore.rb +8 -0
  10. data/examples/v2/actions-datastores/ListDatastoreItems.rb +8 -0
  11. data/examples/v2/actions-datastores/ListDatastores.rb +5 -0
  12. data/examples/v2/actions-datastores/UpdateDatastore.rb +18 -0
  13. data/examples/v2/actions-datastores/UpdateDatastoreItem.rb +18 -0
  14. data/examples/v2/aws-integration/CreateAWSAccount.rb +0 -3
  15. data/examples/v2/aws-integration/CreateAWSAccount_1716720881.rb +0 -3
  16. data/examples/v2/aws-integration/CreateNewAWSExternalID.rb +0 -3
  17. data/examples/v2/aws-integration/CreateNewAWSExternalID_364713854.rb +0 -3
  18. data/examples/v2/aws-integration/DeleteAWSAccount.rb +0 -3
  19. data/examples/v2/aws-integration/GetAWSAccount.rb +0 -3
  20. data/examples/v2/aws-integration/ListAWSAccounts.rb +0 -3
  21. data/examples/v2/aws-integration/ListAWSNamespaces.rb +0 -3
  22. data/examples/v2/aws-integration/ListAWSNamespaces_3031307873.rb +0 -3
  23. data/examples/v2/aws-integration/UpdateAWSAccount.rb +0 -3
  24. data/examples/v2/aws-logs-integration/ListAWSLogsServices.rb +0 -3
  25. data/examples/v2/ci-visibility-pipelines/CreateCIAppPipelineEvent_2836340212.rb +52 -0
  26. data/examples/v2/incidents/CreateIncidentNotificationRule.rb +50 -0
  27. data/examples/v2/incidents/CreateIncidentNotificationRule_3029800608.rb +42 -0
  28. data/examples/v2/incidents/DeleteIncidentNotificationRule.rb +8 -0
  29. data/examples/v2/incidents/DeleteIncidentNotificationRule_4148107167.rb +11 -0
  30. data/examples/v2/incidents/GetIncidentNotificationRule.rb +8 -0
  31. data/examples/v2/incidents/GetIncidentNotificationRule_67441486.rb +11 -0
  32. data/examples/v2/incidents/ListIncidentNotificationRules.rb +8 -0
  33. data/examples/v2/incidents/UpdateIncidentNotificationRule.rb +51 -0
  34. data/examples/v2/incidents/UpdateIncidentNotificationRule_1207309457.rb +45 -0
  35. data/lib/datadog_api_client/configuration.rb +5 -8
  36. data/lib/datadog_api_client/inflector.rb +67 -0
  37. data/lib/datadog_api_client/v1/api/aws_integration_api.rb +27 -0
  38. data/lib/datadog_api_client/v1/api/aws_logs_integration_api.rb +9 -0
  39. data/lib/datadog_api_client/v1/models/gcp_account.rb +18 -4
  40. data/lib/datadog_api_client/v1/models/gcp_monitored_resource_config.rb +118 -0
  41. data/lib/datadog_api_client/v1/models/gcp_monitored_resource_config_type.rb +28 -0
  42. data/lib/datadog_api_client/v2/api/actions_datastores_api.rb +655 -0
  43. data/lib/datadog_api_client/v2/api/aws_integration_api.rb +0 -42
  44. data/lib/datadog_api_client/v2/api/aws_logs_integration_api.rb +0 -6
  45. data/lib/datadog_api_client/v2/api/ci_visibility_pipelines_api.rb +2 -0
  46. data/lib/datadog_api_client/v2/api/incidents_api.rb +367 -0
  47. data/lib/datadog_api_client/v2/api/org_connections_api.rb +8 -0
  48. data/lib/datadog_api_client/v2/models/bulk_put_apps_datastore_items_request.rb +105 -0
  49. data/lib/datadog_api_client/v2/models/bulk_put_apps_datastore_items_request_data.rb +133 -0
  50. data/lib/datadog_api_client/v2/models/bulk_put_apps_datastore_items_request_data_attributes.rb +139 -0
  51. data/lib/datadog_api_client/v2/models/ci_app_create_pipeline_event_request.rb +2 -2
  52. data/lib/datadog_api_client/v2/models/ci_app_create_pipeline_event_request_data_single_or_array.rb +63 -0
  53. data/lib/datadog_api_client/v2/models/create_apps_datastore_request.rb +105 -0
  54. data/lib/datadog_api_client/v2/models/create_apps_datastore_request_data.rb +143 -0
  55. data/lib/datadog_api_client/v2/models/create_apps_datastore_request_data_attributes.rb +180 -0
  56. data/lib/datadog_api_client/v2/models/create_apps_datastore_request_data_attributes_org_access.rb +28 -0
  57. data/lib/datadog_api_client/v2/models/create_apps_datastore_response.rb +105 -0
  58. data/lib/datadog_api_client/v2/models/create_apps_datastore_response_data.rb +133 -0
  59. data/lib/datadog_api_client/v2/models/create_incident_notification_rule_request.rb +123 -0
  60. data/lib/datadog_api_client/v2/models/datastore.rb +105 -0
  61. data/lib/datadog_api_client/v2/models/datastore_array.rb +125 -0
  62. data/lib/datadog_api_client/v2/models/datastore_data.rb +143 -0
  63. data/lib/datadog_api_client/v2/models/datastore_data_attributes.rb +205 -0
  64. data/lib/datadog_api_client/v2/models/datastore_data_type.rb +26 -0
  65. data/lib/datadog_api_client/v2/models/datastore_item_conflict_mode.rb +27 -0
  66. data/lib/datadog_api_client/v2/models/datastore_items_data_type.rb +26 -0
  67. data/lib/datadog_api_client/v2/models/datastore_primary_key_generation_strategy.rb +27 -0
  68. data/lib/datadog_api_client/v2/models/delete_apps_datastore_item_request.rb +105 -0
  69. data/lib/datadog_api_client/v2/models/delete_apps_datastore_item_request_data.rb +133 -0
  70. data/lib/datadog_api_client/v2/models/delete_apps_datastore_item_request_data_attributes.rb +137 -0
  71. data/lib/datadog_api_client/v2/models/delete_apps_datastore_item_response.rb +105 -0
  72. data/lib/datadog_api_client/v2/models/delete_apps_datastore_item_response_data.rb +133 -0
  73. data/lib/datadog_api_client/v2/models/dora_failure_request_attributes.rb +1 -1
  74. data/lib/datadog_api_client/v2/models/gcp_monitored_resource_config.rb +118 -0
  75. data/lib/datadog_api_client/v2/models/gcp_monitored_resource_config_type.rb +28 -0
  76. data/lib/datadog_api_client/v2/models/gcpsts_service_account_attributes.rb +17 -2
  77. data/lib/datadog_api_client/v2/models/incident_notification_rule.rb +135 -0
  78. data/lib/datadog_api_client/v2/models/incident_notification_rule_array.rb +147 -0
  79. data/lib/datadog_api_client/v2/models/incident_notification_rule_array_meta.rb +105 -0
  80. data/lib/datadog_api_client/v2/models/incident_notification_rule_array_meta_page.rb +125 -0
  81. data/lib/datadog_api_client/v2/models/incident_notification_rule_attributes.rb +265 -0
  82. data/lib/datadog_api_client/v2/models/incident_notification_rule_attributes_visibility.rb +28 -0
  83. data/lib/datadog_api_client/v2/models/incident_notification_rule_conditions_items.rb +146 -0
  84. data/lib/datadog_api_client/v2/models/incident_notification_rule_create_attributes.rb +201 -0
  85. data/lib/datadog_api_client/v2/models/incident_notification_rule_create_attributes_visibility.rb +28 -0
  86. data/lib/datadog_api_client/v2/models/incident_notification_rule_create_data.rb +154 -0
  87. data/lib/datadog_api_client/v2/models/incident_notification_rule_create_data_relationships.rb +115 -0
  88. data/lib/datadog_api_client/v2/models/incident_notification_rule_included_items.rb +64 -0
  89. data/lib/datadog_api_client/v2/models/incident_notification_rule_relationships.rb +135 -0
  90. data/lib/datadog_api_client/v2/models/incident_notification_rule_response_data.rb +164 -0
  91. data/lib/datadog_api_client/v2/models/incident_notification_rule_type.rb +26 -0
  92. data/lib/datadog_api_client/v2/models/incident_notification_rule_update_data.rb +175 -0
  93. data/lib/datadog_api_client/v2/models/incident_notification_template_object.rb +164 -0
  94. data/lib/datadog_api_client/v2/models/item_api_payload.rb +105 -0
  95. data/lib/datadog_api_client/v2/models/item_api_payload_array.rb +139 -0
  96. data/lib/datadog_api_client/v2/models/item_api_payload_data.rb +143 -0
  97. data/lib/datadog_api_client/v2/models/item_api_payload_data_attributes.rb +185 -0
  98. data/lib/datadog_api_client/v2/models/item_api_payload_meta.rb +115 -0
  99. data/lib/datadog_api_client/v2/models/item_api_payload_meta_page.rb +125 -0
  100. data/lib/datadog_api_client/v2/models/item_api_payload_meta_schema.rb +117 -0
  101. data/lib/datadog_api_client/v2/models/item_api_payload_meta_schema_field.rb +144 -0
  102. data/lib/datadog_api_client/v2/models/put_apps_datastore_item_response_array.rb +129 -0
  103. data/lib/datadog_api_client/v2/models/put_apps_datastore_item_response_data.rb +133 -0
  104. data/lib/datadog_api_client/v2/models/put_incident_notification_rule_request.rb +123 -0
  105. data/lib/datadog_api_client/v2/models/relationship_to_incident_notification_template.rb +123 -0
  106. data/lib/datadog_api_client/v2/models/relationship_to_incident_notification_template_data.rb +144 -0
  107. data/lib/datadog_api_client/v2/models/security_monitoring_rule_convert_response.rb +11 -1
  108. data/lib/datadog_api_client/v2/models/update_apps_datastore_item_request.rb +105 -0
  109. data/lib/datadog_api_client/v2/models/update_apps_datastore_item_request_data.rb +143 -0
  110. data/lib/datadog_api_client/v2/models/update_apps_datastore_item_request_data_attributes.rb +158 -0
  111. data/lib/datadog_api_client/v2/models/update_apps_datastore_item_request_data_attributes_item_changes.rb +105 -0
  112. data/lib/datadog_api_client/v2/models/update_apps_datastore_item_request_data_type.rb +26 -0
  113. data/lib/datadog_api_client/v2/models/update_apps_datastore_request.rb +105 -0
  114. data/lib/datadog_api_client/v2/models/update_apps_datastore_request_data.rb +143 -0
  115. data/lib/datadog_api_client/v2/models/update_apps_datastore_request_data_attributes.rb +115 -0
  116. data/lib/datadog_api_client/version.rb +1 -1
  117. metadata +87 -1
@@ -0,0 +1,133 @@
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
+ # Data wrapper containing the items to insert and their configuration for the bulk insert operation.
21
+ class BulkPutAppsDatastoreItemsRequestData
22
+ include BaseGenericModel
23
+
24
+ # Configuration for bulk inserting multiple items into a datastore.
25
+ attr_accessor :attributes
26
+
27
+ # The resource type for datastore items.
28
+ attr_reader :type
29
+
30
+ attr_accessor :additional_properties
31
+
32
+ # Attribute mapping from ruby-style variable name to JSON key.
33
+ # @!visibility private
34
+ def self.attribute_map
35
+ {
36
+ :'attributes' => :'attributes',
37
+ :'type' => :'type'
38
+ }
39
+ end
40
+
41
+ # Attribute type mapping.
42
+ # @!visibility private
43
+ def self.openapi_types
44
+ {
45
+ :'attributes' => :'BulkPutAppsDatastoreItemsRequestDataAttributes',
46
+ :'type' => :'DatastoreItemsDataType'
47
+ }
48
+ end
49
+
50
+ # Initializes the object
51
+ # @param attributes [Hash] Model attributes in the form of hash
52
+ # @!visibility private
53
+ def initialize(attributes = {})
54
+ if (!attributes.is_a?(Hash))
55
+ fail ArgumentError, "The input argument (attributes) must be a hash in `DatadogAPIClient::V2::BulkPutAppsDatastoreItemsRequestData` initialize method"
56
+ end
57
+
58
+ self.additional_properties = {}
59
+ # check to see if the attribute exists and convert string to symbol for hash key
60
+ attributes = attributes.each_with_object({}) { |(k, v), h|
61
+ if (!self.class.attribute_map.key?(k.to_sym))
62
+ self.additional_properties[k.to_sym] = v
63
+ else
64
+ h[k.to_sym] = v
65
+ end
66
+ }
67
+
68
+ if attributes.key?(:'attributes')
69
+ self.attributes = attributes[:'attributes']
70
+ end
71
+
72
+ if attributes.key?(:'type')
73
+ self.type = attributes[:'type']
74
+ end
75
+ end
76
+
77
+ # Check to see if the all the properties in the model are valid
78
+ # @return true if the model is valid
79
+ # @!visibility private
80
+ def valid?
81
+ return false if @type.nil?
82
+ true
83
+ end
84
+
85
+ # Custom attribute writer method with validation
86
+ # @param type [Object] Object to be assigned
87
+ # @!visibility private
88
+ def type=(type)
89
+ if type.nil?
90
+ fail ArgumentError, 'invalid value for "type", type cannot be nil.'
91
+ end
92
+ @type = type
93
+ end
94
+
95
+ # Returns the object in the form of hash, with additionalProperties support.
96
+ # @return [Hash] Returns the object in the form of hash
97
+ # @!visibility private
98
+ def to_hash
99
+ hash = {}
100
+ self.class.attribute_map.each_pair do |attr, param|
101
+ value = self.send(attr)
102
+ if value.nil?
103
+ is_nullable = self.class.openapi_nullable.include?(attr)
104
+ next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}"))
105
+ end
106
+
107
+ hash[param] = _to_hash(value)
108
+ end
109
+ self.additional_properties.each_pair do |attr, value|
110
+ hash[attr] = value
111
+ end
112
+ hash
113
+ end
114
+
115
+ # Checks equality by comparing each attribute.
116
+ # @param o [Object] Object to be compared
117
+ # @!visibility private
118
+ def ==(o)
119
+ return true if self.equal?(o)
120
+ self.class == o.class &&
121
+ attributes == o.attributes &&
122
+ type == o.type &&
123
+ additional_properties == o.additional_properties
124
+ end
125
+
126
+ # Calculates hash code according to all attributes.
127
+ # @return [Integer] Hash code
128
+ # @!visibility private
129
+ def hash
130
+ [attributes, type, additional_properties].hash
131
+ end
132
+ end
133
+ end
@@ -0,0 +1,139 @@
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
+ # Configuration for bulk inserting multiple items into a datastore.
21
+ class BulkPutAppsDatastoreItemsRequestDataAttributes
22
+ include BaseGenericModel
23
+
24
+ # How to handle conflicts when inserting items that already exist in the datastore.
25
+ attr_accessor :conflict_mode
26
+
27
+ # An array of items to add to the datastore, where each item is a set of key-value pairs representing the item's data. Up to 100 items can be updated in a single request.
28
+ attr_reader :values
29
+
30
+ attr_accessor :additional_properties
31
+
32
+ # Attribute mapping from ruby-style variable name to JSON key.
33
+ # @!visibility private
34
+ def self.attribute_map
35
+ {
36
+ :'conflict_mode' => :'conflict_mode',
37
+ :'values' => :'values'
38
+ }
39
+ end
40
+
41
+ # Attribute type mapping.
42
+ # @!visibility private
43
+ def self.openapi_types
44
+ {
45
+ :'conflict_mode' => :'DatastoreItemConflictMode',
46
+ :'values' => :'Array<Hash<String, Object>>'
47
+ }
48
+ end
49
+
50
+ # Initializes the object
51
+ # @param attributes [Hash] Model attributes in the form of hash
52
+ # @!visibility private
53
+ def initialize(attributes = {})
54
+ if (!attributes.is_a?(Hash))
55
+ fail ArgumentError, "The input argument (attributes) must be a hash in `DatadogAPIClient::V2::BulkPutAppsDatastoreItemsRequestDataAttributes` initialize method"
56
+ end
57
+
58
+ self.additional_properties = {}
59
+ # check to see if the attribute exists and convert string to symbol for hash key
60
+ attributes = attributes.each_with_object({}) { |(k, v), h|
61
+ if (!self.class.attribute_map.key?(k.to_sym))
62
+ self.additional_properties[k.to_sym] = v
63
+ else
64
+ h[k.to_sym] = v
65
+ end
66
+ }
67
+
68
+ if attributes.key?(:'conflict_mode')
69
+ self.conflict_mode = attributes[:'conflict_mode']
70
+ end
71
+
72
+ if attributes.key?(:'values')
73
+ if (value = attributes[:'values']).is_a?(Array)
74
+ self.values = value
75
+ end
76
+ end
77
+ end
78
+
79
+ # Check to see if the all the properties in the model are valid
80
+ # @return true if the model is valid
81
+ # @!visibility private
82
+ def valid?
83
+ return false if @values.nil?
84
+ return false if @values.length > 100
85
+ true
86
+ end
87
+
88
+ # Custom attribute writer method with validation
89
+ # @param values [Object] Object to be assigned
90
+ # @!visibility private
91
+ def values=(values)
92
+ if values.nil?
93
+ fail ArgumentError, 'invalid value for "values", values cannot be nil.'
94
+ end
95
+ if values.length > 100
96
+ fail ArgumentError, 'invalid value for "values", number of items must be less than or equal to 100.'
97
+ end
98
+ @values = values
99
+ end
100
+
101
+ # Returns the object in the form of hash, with additionalProperties support.
102
+ # @return [Hash] Returns the object in the form of hash
103
+ # @!visibility private
104
+ def to_hash
105
+ hash = {}
106
+ self.class.attribute_map.each_pair do |attr, param|
107
+ value = self.send(attr)
108
+ if value.nil?
109
+ is_nullable = self.class.openapi_nullable.include?(attr)
110
+ next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}"))
111
+ end
112
+
113
+ hash[param] = _to_hash(value)
114
+ end
115
+ self.additional_properties.each_pair do |attr, value|
116
+ hash[attr] = value
117
+ end
118
+ hash
119
+ end
120
+
121
+ # Checks equality by comparing each attribute.
122
+ # @param o [Object] Object to be compared
123
+ # @!visibility private
124
+ def ==(o)
125
+ return true if self.equal?(o)
126
+ self.class == o.class &&
127
+ conflict_mode == o.conflict_mode &&
128
+ values == o.values &&
129
+ additional_properties == o.additional_properties
130
+ end
131
+
132
+ # Calculates hash code according to all attributes.
133
+ # @return [Integer] Hash code
134
+ # @!visibility private
135
+ def hash
136
+ [conflict_mode, values, additional_properties].hash
137
+ end
138
+ end
139
+ end
@@ -21,7 +21,7 @@ module DatadogAPIClient::V2
21
21
  class CIAppCreatePipelineEventRequest
22
22
  include BaseGenericModel
23
23
 
24
- # Data of the pipeline event to create.
24
+ # Data of the pipeline events to create.
25
25
  attr_accessor :data
26
26
 
27
27
  attr_accessor :additional_properties
@@ -38,7 +38,7 @@ module DatadogAPIClient::V2
38
38
  # @!visibility private
39
39
  def self.openapi_types
40
40
  {
41
- :'data' => :'CIAppCreatePipelineEventRequestData'
41
+ :'data' => :'CIAppCreatePipelineEventRequestDataSingleOrArray'
42
42
  }
43
43
  end
44
44
 
@@ -0,0 +1,63 @@
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
+ # Data of the pipeline events to create.
21
+ module CIAppCreatePipelineEventRequestDataSingleOrArray
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
+ :'CIAppCreatePipelineEventRequestData',
30
+ :'Array<CIAppCreatePipelineEventRequestData>'
31
+ ]
32
+ end
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
52
+ end
53
+
54
+ if openapi_one_of.include?(:AnyType)
55
+ data
56
+ else
57
+ self._unparsed = true
58
+ DatadogAPIClient::UnparsedObject.new(data)
59
+ end
60
+ end
61
+ end
62
+ end
63
+ end
@@ -0,0 +1,105 @@
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
+ # Request to create a new datastore with specified configuration and metadata.
21
+ class CreateAppsDatastoreRequest
22
+ include BaseGenericModel
23
+
24
+ # Data wrapper containing the configuration needed to create a new datastore.
25
+ attr_accessor :data
26
+
27
+ attr_accessor :additional_properties
28
+
29
+ # Attribute mapping from ruby-style variable name to JSON key.
30
+ # @!visibility private
31
+ def self.attribute_map
32
+ {
33
+ :'data' => :'data'
34
+ }
35
+ end
36
+
37
+ # Attribute type mapping.
38
+ # @!visibility private
39
+ def self.openapi_types
40
+ {
41
+ :'data' => :'CreateAppsDatastoreRequestData'
42
+ }
43
+ end
44
+
45
+ # Initializes the object
46
+ # @param attributes [Hash] Model attributes in the form of hash
47
+ # @!visibility private
48
+ def initialize(attributes = {})
49
+ if (!attributes.is_a?(Hash))
50
+ fail ArgumentError, "The input argument (attributes) must be a hash in `DatadogAPIClient::V2::CreateAppsDatastoreRequest` initialize method"
51
+ end
52
+
53
+ self.additional_properties = {}
54
+ # check to see if the attribute exists and convert string to symbol for hash key
55
+ attributes = attributes.each_with_object({}) { |(k, v), h|
56
+ if (!self.class.attribute_map.key?(k.to_sym))
57
+ self.additional_properties[k.to_sym] = v
58
+ else
59
+ h[k.to_sym] = v
60
+ end
61
+ }
62
+
63
+ if attributes.key?(:'data')
64
+ self.data = attributes[:'data']
65
+ end
66
+ end
67
+
68
+ # Returns the object in the form of hash, with additionalProperties support.
69
+ # @return [Hash] Returns the object in the form of hash
70
+ # @!visibility private
71
+ def to_hash
72
+ hash = {}
73
+ self.class.attribute_map.each_pair do |attr, param|
74
+ value = self.send(attr)
75
+ if value.nil?
76
+ is_nullable = self.class.openapi_nullable.include?(attr)
77
+ next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}"))
78
+ end
79
+
80
+ hash[param] = _to_hash(value)
81
+ end
82
+ self.additional_properties.each_pair do |attr, value|
83
+ hash[attr] = value
84
+ end
85
+ hash
86
+ end
87
+
88
+ # Checks equality by comparing each attribute.
89
+ # @param o [Object] Object to be compared
90
+ # @!visibility private
91
+ def ==(o)
92
+ return true if self.equal?(o)
93
+ self.class == o.class &&
94
+ data == o.data &&
95
+ additional_properties == o.additional_properties
96
+ end
97
+
98
+ # Calculates hash code according to all attributes.
99
+ # @return [Integer] Hash code
100
+ # @!visibility private
101
+ def hash
102
+ [data, additional_properties].hash
103
+ end
104
+ end
105
+ end
@@ -0,0 +1,143 @@
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
+ # Data wrapper containing the configuration needed to create a new datastore.
21
+ class CreateAppsDatastoreRequestData
22
+ include BaseGenericModel
23
+
24
+ # Configuration and metadata to create a new datastore.
25
+ attr_accessor :attributes
26
+
27
+ # Optional ID for the new datastore. If not provided, one will be generated automatically.
28
+ attr_accessor :id
29
+
30
+ # The resource type for datastores.
31
+ attr_reader :type
32
+
33
+ attr_accessor :additional_properties
34
+
35
+ # Attribute mapping from ruby-style variable name to JSON key.
36
+ # @!visibility private
37
+ def self.attribute_map
38
+ {
39
+ :'attributes' => :'attributes',
40
+ :'id' => :'id',
41
+ :'type' => :'type'
42
+ }
43
+ end
44
+
45
+ # Attribute type mapping.
46
+ # @!visibility private
47
+ def self.openapi_types
48
+ {
49
+ :'attributes' => :'CreateAppsDatastoreRequestDataAttributes',
50
+ :'id' => :'String',
51
+ :'type' => :'DatastoreDataType'
52
+ }
53
+ end
54
+
55
+ # Initializes the object
56
+ # @param attributes [Hash] Model attributes in the form of hash
57
+ # @!visibility private
58
+ def initialize(attributes = {})
59
+ if (!attributes.is_a?(Hash))
60
+ fail ArgumentError, "The input argument (attributes) must be a hash in `DatadogAPIClient::V2::CreateAppsDatastoreRequestData` initialize method"
61
+ end
62
+
63
+ self.additional_properties = {}
64
+ # check to see if the attribute exists and convert string to symbol for hash key
65
+ attributes = attributes.each_with_object({}) { |(k, v), h|
66
+ if (!self.class.attribute_map.key?(k.to_sym))
67
+ self.additional_properties[k.to_sym] = v
68
+ else
69
+ h[k.to_sym] = v
70
+ end
71
+ }
72
+
73
+ if attributes.key?(:'attributes')
74
+ self.attributes = attributes[:'attributes']
75
+ end
76
+
77
+ if attributes.key?(:'id')
78
+ self.id = attributes[:'id']
79
+ end
80
+
81
+ if attributes.key?(:'type')
82
+ self.type = attributes[:'type']
83
+ end
84
+ end
85
+
86
+ # Check to see if the all the properties in the model are valid
87
+ # @return true if the model is valid
88
+ # @!visibility private
89
+ def valid?
90
+ return false if @type.nil?
91
+ true
92
+ end
93
+
94
+ # Custom attribute writer method with validation
95
+ # @param type [Object] Object to be assigned
96
+ # @!visibility private
97
+ def type=(type)
98
+ if type.nil?
99
+ fail ArgumentError, 'invalid value for "type", type cannot be nil.'
100
+ end
101
+ @type = type
102
+ end
103
+
104
+ # Returns the object in the form of hash, with additionalProperties support.
105
+ # @return [Hash] Returns the object in the form of hash
106
+ # @!visibility private
107
+ def to_hash
108
+ hash = {}
109
+ self.class.attribute_map.each_pair do |attr, param|
110
+ value = self.send(attr)
111
+ if value.nil?
112
+ is_nullable = self.class.openapi_nullable.include?(attr)
113
+ next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}"))
114
+ end
115
+
116
+ hash[param] = _to_hash(value)
117
+ end
118
+ self.additional_properties.each_pair do |attr, value|
119
+ hash[attr] = value
120
+ end
121
+ hash
122
+ end
123
+
124
+ # Checks equality by comparing each attribute.
125
+ # @param o [Object] Object to be compared
126
+ # @!visibility private
127
+ def ==(o)
128
+ return true if self.equal?(o)
129
+ self.class == o.class &&
130
+ attributes == o.attributes &&
131
+ id == o.id &&
132
+ type == o.type &&
133
+ additional_properties == o.additional_properties
134
+ end
135
+
136
+ # Calculates hash code according to all attributes.
137
+ # @return [Integer] Hash code
138
+ # @!visibility private
139
+ def hash
140
+ [attributes, id, type, additional_properties].hash
141
+ end
142
+ end
143
+ end