diff --git a/.apigentools-info b/.apigentools-info index c83b2246561e..eaf7fc7a0b61 100644 --- a/.apigentools-info +++ b/.apigentools-info @@ -4,13 +4,13 @@ "spec_versions": { "v1": { "apigentools_version": "1.6.6", - "regenerated": "2025-05-02 04:31:13.587503", - "spec_repo_commit": "272cce39" + "regenerated": "2025-05-02 16:32:07.534233", + "spec_repo_commit": "f88cc028" }, "v2": { "apigentools_version": "1.6.6", - "regenerated": "2025-05-02 04:31:13.603582", - "spec_repo_commit": "272cce39" + "regenerated": "2025-05-02 16:32:07.549905", + "spec_repo_commit": "f88cc028" } } } \ No newline at end of file diff --git a/.generator/schemas/v2/openapi.yaml b/.generator/schemas/v2/openapi.yaml index 14c6d2062fab..5532ce327e82 100644 --- a/.generator/schemas/v2/openapi.yaml +++ b/.generator/schemas/v2/openapi.yaml @@ -335,6 +335,7 @@ components: type: string FilterByRef: description: Filter entities by reference + example: service:shopping-cart explode: true in: query name: filter[ref] @@ -349,6 +350,32 @@ components: required: false schema: $ref: '#/components/schemas/RelationType' + FilterRelationByFromRef: + description: Filter relations by the reference of the first entity in the relation. + example: service:shopping-cart + explode: true + in: query + name: filter[from_ref] + required: false + schema: + type: string + FilterRelationByToRef: + description: Filter relations by the reference of the second entity in the relation. + example: service:shopping-cart + explode: true + in: query + name: filter[to_ref] + required: false + schema: + type: string + FilterRelationByType: + description: Filter relations by type. + explode: true + in: query + name: filter[type] + required: false + schema: + $ref: '#/components/schemas/RelationType' GCPSTSServiceAccountID: description: Your GCP STS enabled service account's unique ID. in: path @@ -659,6 +686,14 @@ components: required: true schema: type: string + RelationInclude: + description: Include relationship data. + explode: true + in: query + name: include + required: false + schema: + $ref: '#/components/schemas/RelationIncludeType' ReportID: description: The ID of the report job. in: path @@ -19254,6 +19289,38 @@ components: meta: $ref: '#/components/schemas/PowerpacksResponseMeta' type: object + ListRelationCatalogResponse: + description: List entity relation response. + properties: + data: + $ref: '#/components/schemas/RelationResponseData' + included: + $ref: '#/components/schemas/ListRelationCatalogResponseIncluded' + links: + $ref: '#/components/schemas/ListRelationCatalogResponseLinks' + meta: + $ref: '#/components/schemas/RelationResponseMeta' + type: object + ListRelationCatalogResponseIncluded: + description: List relation response included entities. + items: + $ref: '#/components/schemas/EntityData' + type: array + ListRelationCatalogResponseLinks: + description: List relation response links. + properties: + next: + description: Next link. + example: /api/v2/catalog/relation?filter[from_ref]=service:service-catalog&include=entity&page[limit]=2&page[offset]=2 + type: string + previous: + description: Previous link. + type: string + self: + description: Current link. + example: /api/v2/catalog/relation?filter[from_ref]=service:service-catalog&include=entity&page[limit]=2&page[offset]=0 + type: string + type: object ListRulesResponse: description: Scorecard rules response. properties: @@ -28556,6 +28623,114 @@ components: x-enum-varnames: - ANY - ALL + RelationAttributes: + description: Relation attributes. + properties: + from: + $ref: '#/components/schemas/RelationEntity' + to: + $ref: '#/components/schemas/RelationEntity' + type: + $ref: '#/components/schemas/RelationType' + type: object + RelationEntity: + description: Relation entity reference. + properties: + kind: + description: Entity kind. + type: string + name: + description: Entity name. + type: string + namespace: + description: Entity namespace. + type: string + type: object + RelationIncludeType: + description: Supported include types for relations. + enum: + - entity + - schema + type: string + x-enum-varnames: + - ENTITY + - SCHEMA + RelationMeta: + description: Relation metadata. + properties: + createdAt: + description: Relation creation time. + format: date-time + type: string + definedBy: + description: Relation defined by. + type: string + modifiedAt: + description: Relation modification time. + format: date-time + type: string + source: + description: Relation source. + type: string + type: object + RelationRelationships: + description: Relation relationships. + properties: + fromEntity: + $ref: '#/components/schemas/RelationToEntity' + toEntity: + $ref: '#/components/schemas/RelationToEntity' + type: object + RelationResponse: + description: Relation response data. + properties: + attributes: + $ref: '#/components/schemas/RelationAttributes' + id: + description: Relation ID. + type: string + meta: + $ref: '#/components/schemas/RelationMeta' + relationships: + $ref: '#/components/schemas/RelationRelationships' + subtype: + description: Relation subtype. + type: string + type: + $ref: '#/components/schemas/RelationResponseType' + type: object + RelationResponseData: + description: Array of relation responses + items: + $ref: '#/components/schemas/RelationResponse' + type: array + RelationResponseMeta: + description: Relation response metadata. + properties: + count: + description: Total relations count. + format: int64 + type: integer + includeCount: + description: Total included data count. + format: int64 + type: integer + type: object + RelationResponseType: + description: Relation type. + enum: + - relation + type: string + x-enum-varnames: + - RELATION + RelationToEntity: + description: Relation to entity. + properties: + data: + $ref: '#/components/schemas/RelationshipItem' + meta: + $ref: '#/components/schemas/EntityMeta' + type: object RelationType: description: Supported relation types. enum: @@ -42634,6 +42809,48 @@ paths: summary: Delete a single entity tags: - Software Catalog + /api/v2/catalog/relation: + get: + description: Get a list of entity relations from Software Catalog. + operationId: ListCatalogRelation + parameters: + - $ref: '#/components/parameters/PageOffset' + - description: Maximum number of relations in the response. + example: 100 + in: query + name: page[limit] + required: false + schema: + default: 100 + format: int64 + type: integer + - $ref: '#/components/parameters/FilterRelationByType' + - $ref: '#/components/parameters/FilterRelationByFromRef' + - $ref: '#/components/parameters/FilterRelationByToRef' + - $ref: '#/components/parameters/RelationInclude' + responses: + '200': + content: + application/json: + schema: + $ref: '#/components/schemas/ListRelationCatalogResponse' + description: OK + '403': + $ref: '#/components/responses/ForbiddenResponse' + '429': + $ref: '#/components/responses/TooManyRequestsResponse' + security: + - apiKeyAuth: [] + appKeyAuth: [] + - AuthZ: + - apm_service_catalog_read + summary: Get a list of entity relations + tags: + - Software Catalog + x-pagination: + limitParam: page[limit] + pageOffsetParam: page[offset] + resultsPath: data /api/v2/ci/pipeline: post: description: 'Send your pipeline event to your Datadog platform over HTTP. For diff --git a/examples/v2/software-catalog/ListCatalogRelation.rb b/examples/v2/software-catalog/ListCatalogRelation.rb new file mode 100644 index 000000000000..2b6264d1275a --- /dev/null +++ b/examples/v2/software-catalog/ListCatalogRelation.rb @@ -0,0 +1,5 @@ +# Get a list of entity relations returns "OK" response + +require "datadog_api_client" +api_instance = DatadogAPIClient::V2::SoftwareCatalogAPI.new +p api_instance.list_catalog_relation() diff --git a/examples/v2/software-catalog/ListCatalogRelation_1311054087.rb b/examples/v2/software-catalog/ListCatalogRelation_1311054087.rb new file mode 100644 index 000000000000..4b31a1757de6 --- /dev/null +++ b/examples/v2/software-catalog/ListCatalogRelation_1311054087.rb @@ -0,0 +1,5 @@ +# Get a list of entity relations returns "OK" response with pagination + +require "datadog_api_client" +api_instance = DatadogAPIClient::V2::SoftwareCatalogAPI.new +api_instance.list_catalog_relation_with_pagination() { |item| puts item } diff --git a/features/scenarios_model_mapping.rb b/features/scenarios_model_mapping.rb index 8c5371c049e9..5f6430262732 100644 --- a/features/scenarios_model_mapping.rb +++ b/features/scenarios_model_mapping.rb @@ -1106,6 +1106,14 @@ "v2.DeleteCatalogEntity" => { "entity_id" => "String", }, + "v2.ListCatalogRelation" => { + "page_offset" => "Integer", + "page_limit" => "Integer", + "filter_type" => "RelationType", + "filter_from_ref" => "String", + "filter_to_ref" => "String", + "include" => "RelationIncludeType", + }, "v2.CreateCIAppPipelineEvent" => { "body" => "CIAppCreatePipelineEventRequest", }, diff --git a/features/v2/software_catalog.feature b/features/v2/software_catalog.feature index fd8e62bad35d..85d81ea1d24c 100644 --- a/features/v2/software_catalog.feature +++ b/features/v2/software_catalog.feature @@ -78,3 +78,15 @@ Feature: Software Catalog Given new "ListCatalogEntity" request When the request with pagination is sent Then the response status is 200 OK + + @team:DataDog/service-catalog + Scenario: Get a list of entity relations returns "OK" response + Given new "ListCatalogRelation" request + When the request is sent + Then the response status is 200 OK + + @team:DataDog/service-catalog @with-pagination + Scenario: Get a list of entity relations returns "OK" response with pagination + Given new "ListCatalogRelation" request + When the request with pagination is sent + Then the response status is 200 OK diff --git a/features/v2/undo.json b/features/v2/undo.json index c1daab38525e..f32d6245b928 100644 --- a/features/v2/undo.json +++ b/features/v2/undo.json @@ -471,6 +471,12 @@ "type": "idempotent" } }, + "ListCatalogRelation": { + "tag": "Software Catalog", + "undo": { + "type": "safe" + } + }, "CreateCIAppPipelineEvent": { "tag": "CI Visibility Pipelines", "undo": { diff --git a/lib/datadog_api_client/inflector.rb b/lib/datadog_api_client/inflector.rb index 96f04007c65b..e3f05ab5a971 100644 --- a/lib/datadog_api_client/inflector.rb +++ b/lib/datadog_api_client/inflector.rb @@ -2072,6 +2072,8 @@ def overrides "v2.list_pipelines_response" => "ListPipelinesResponse", "v2.list_pipelines_response_meta" => "ListPipelinesResponseMeta", "v2.list_powerpacks_response" => "ListPowerpacksResponse", + "v2.list_relation_catalog_response" => "ListRelationCatalogResponse", + "v2.list_relation_catalog_response_links" => "ListRelationCatalogResponseLinks", "v2.list_rules_response" => "ListRulesResponse", "v2.list_rules_response_data_item" => "ListRulesResponseDataItem", "v2.list_rules_response_links" => "ListRulesResponseLinks", @@ -2624,6 +2626,14 @@ def overrides "v2.query_sort_order" => "QuerySortOrder", "v2.readiness_gate" => "ReadinessGate", "v2.readiness_gate_threshold_type" => "ReadinessGateThresholdType", + "v2.relation_attributes" => "RelationAttributes", + "v2.relation_entity" => "RelationEntity", + "v2.relation_include_type" => "RelationIncludeType", + "v2.relation_meta" => "RelationMeta", + "v2.relation_relationships" => "RelationRelationships", + "v2.relation_response" => "RelationResponse", + "v2.relation_response_meta" => "RelationResponseMeta", + "v2.relation_response_type" => "RelationResponseType", "v2.relationship_item" => "RelationshipItem", "v2.relationship_to_incident_attachment" => "RelationshipToIncidentAttachment", "v2.relationship_to_incident_attachment_data" => "RelationshipToIncidentAttachmentData", @@ -2666,6 +2676,7 @@ def overrides "v2.relationship_to_user_team_team_data" => "RelationshipToUserTeamTeamData", "v2.relationship_to_user_team_user" => "RelationshipToUserTeamUser", "v2.relationship_to_user_team_user_data" => "RelationshipToUserTeamUserData", + "v2.relation_to_entity" => "RelationToEntity", "v2.relation_type" => "RelationType", "v2.remediation" => "Remediation", "v2.reorder_retention_filters_request" => "ReorderRetentionFiltersRequest", diff --git a/lib/datadog_api_client/v2/api/software_catalog_api.rb b/lib/datadog_api_client/v2/api/software_catalog_api.rb index 6a61d48a18f7..b7b97a733ceb 100644 --- a/lib/datadog_api_client/v2/api/software_catalog_api.rb +++ b/lib/datadog_api_client/v2/api/software_catalog_api.rb @@ -197,6 +197,107 @@ def list_catalog_entity_with_pagination(opts = {}) end end + # Get a list of entity relations. + # + # @see #list_catalog_relation_with_http_info + def list_catalog_relation(opts = {}) + data, _status_code, _headers = list_catalog_relation_with_http_info(opts) + data + end + + # Get a list of entity relations. + # + # Get a list of entity relations from Software Catalog. + # + # @param opts [Hash] the optional parameters + # @option opts [Integer] :page_offset Specific offset to use as the beginning of the returned page. + # @option opts [Integer] :page_limit Maximum number of relations in the response. + # @option opts [RelationType] :filter_type Filter relations by type. + # @option opts [String] :filter_from_ref Filter relations by the reference of the first entity in the relation. + # @option opts [String] :filter_to_ref Filter relations by the reference of the second entity in the relation. + # @option opts [RelationIncludeType] :include Include relationship data. + # @return [Array<(ListRelationCatalogResponse, Integer, Hash)>] ListRelationCatalogResponse data, response status code and response headers + def list_catalog_relation_with_http_info(opts = {}) + + if @api_client.config.debugging + @api_client.config.logger.debug 'Calling API: SoftwareCatalogAPI.list_catalog_relation ...' + end + allowable_values = ['RelationTypeOwns', 'RelationTypeOwnedBy', 'RelationTypeDependsOn', 'RelationTypeDependencyOf', 'RelationTypePartsOf', 'RelationTypeHasPart', 'RelationTypeOtherOwns', 'RelationTypeOtherOwnedBy', 'RelationTypeImplementedBy', 'RelationTypeImplements'] + if @api_client.config.client_side_validation && opts[:'filter_type'] && !allowable_values.include?(opts[:'filter_type']) + fail ArgumentError, "invalid value for \"filter_type\", must be one of #{allowable_values}" + end + allowable_values = ['entity', 'schema'] + if @api_client.config.client_side_validation && opts[:'include'] && !allowable_values.include?(opts[:'include']) + fail ArgumentError, "invalid value for \"include\", must be one of #{allowable_values}" + end + # resource path + local_var_path = '/api/v2/catalog/relation' + + # query parameters + query_params = opts[:query_params] || {} + query_params[:'page[offset]'] = opts[:'page_offset'] if !opts[:'page_offset'].nil? + query_params[:'page[limit]'] = opts[:'page_limit'] if !opts[:'page_limit'].nil? + query_params[:'filter[type]'] = opts[:'filter_type'] if !opts[:'filter_type'].nil? + query_params[:'filter[from_ref]'] = opts[:'filter_from_ref'] if !opts[:'filter_from_ref'].nil? + query_params[:'filter[to_ref]'] = opts[:'filter_to_ref'] if !opts[:'filter_to_ref'].nil? + query_params[:'include'] = opts[:'include'] if !opts[:'include'].nil? + + # header parameters + header_params = opts[:header_params] || {} + # HTTP header 'Accept' (if needed) + header_params['Accept'] = @api_client.select_header_accept(['application/json']) + + # form parameters + form_params = opts[:form_params] || {} + + # http body (model) + post_body = opts[:debug_body] + + # return_type + return_type = opts[:debug_return_type] || 'ListRelationCatalogResponse' + + # auth_names + auth_names = opts[:debug_auth_names] || [:apiKeyAuth, :appKeyAuth, :AuthZ] + + new_options = opts.merge( + :operation => :list_catalog_relation, + :header_params => header_params, + :query_params => query_params, + :form_params => form_params, + :body => post_body, + :auth_names => auth_names, + :return_type => return_type, + :api_version => "V2" + ) + + data, status_code, headers = @api_client.call_api(Net::HTTP::Get, local_var_path, new_options) + if @api_client.config.debugging + @api_client.config.logger.debug "API called: SoftwareCatalogAPI#list_catalog_relation\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}" + end + return data, status_code, headers + end + + # Get a list of entity relations. + # + # Provide a paginated version of {#list_catalog_relation}, returning all items. + # + # To use it you need to use a block: list_catalog_relation_with_pagination { |item| p item } + # + # @yield [RelationResponse] Paginated items + def list_catalog_relation_with_pagination(opts = {}) + api_version = "V2" + page_size = @api_client.get_attribute_from_path(opts, "page_limit", 100) + @api_client.set_attribute_from_path(api_version, opts, "page_limit", Integer, page_size) + while true do + response = list_catalog_relation(opts) + @api_client.get_attribute_from_path(response, "data").each { |item| yield(item) } + if @api_client.get_attribute_from_path(response, "data").length < page_size + break + end + @api_client.set_attribute_from_path(api_version, opts, "page_offset", Integer, @api_client.get_attribute_from_path(opts, "page_offset", 0) + page_size) + end + end + # Create or update entities. # # @see #upsert_catalog_entity_with_http_info diff --git a/lib/datadog_api_client/v2/models/list_relation_catalog_response.rb b/lib/datadog_api_client/v2/models/list_relation_catalog_response.rb new file mode 100644 index 000000000000..ca891e531cec --- /dev/null +++ b/lib/datadog_api_client/v2/models/list_relation_catalog_response.rb @@ -0,0 +1,139 @@ +=begin +#Datadog API V2 Collection + +#Collection of all Datadog Public endpoints. + +The version of the OpenAPI document: 1.0 +Contact: support@datadoghq.com +Generated by: https://github.com/DataDog/datadog-api-client-ruby/tree/master/.generator + + Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License. + This product includes software developed at Datadog (https://www.datadoghq.com/). + Copyright 2020-Present Datadog, Inc. + +=end + +require 'date' +require 'time' + +module DatadogAPIClient::V2 + # List entity relation response. + class ListRelationCatalogResponse + include BaseGenericModel + + # Array of relation responses + attr_accessor :data + + # List relation response included entities. + attr_accessor :included + + # List relation response links. + attr_accessor :links + + # Relation response metadata. + attr_accessor :meta + + attr_accessor :additional_properties + + # Attribute mapping from ruby-style variable name to JSON key. + # @!visibility private + def self.attribute_map + { + :'data' => :'data', + :'included' => :'included', + :'links' => :'links', + :'meta' => :'meta' + } + end + + # Attribute type mapping. + # @!visibility private + def self.openapi_types + { + :'data' => :'Array', + :'included' => :'Array', + :'links' => :'ListRelationCatalogResponseLinks', + :'meta' => :'RelationResponseMeta' + } + end + + # Initializes the object + # @param attributes [Hash] Model attributes in the form of hash + # @!visibility private + def initialize(attributes = {}) + if (!attributes.is_a?(Hash)) + fail ArgumentError, "The input argument (attributes) must be a hash in `DatadogAPIClient::V2::ListRelationCatalogResponse` initialize method" + end + + self.additional_properties = {} + # check to see if the attribute exists and convert string to symbol for hash key + attributes = attributes.each_with_object({}) { |(k, v), h| + if (!self.class.attribute_map.key?(k.to_sym)) + self.additional_properties[k.to_sym] = v + else + h[k.to_sym] = v + end + } + + if attributes.key?(:'data') + if (value = attributes[:'data']).is_a?(Array) + self.data = value + end + end + + if attributes.key?(:'included') + if (value = attributes[:'included']).is_a?(Array) + self.included = value + end + end + + if attributes.key?(:'links') + self.links = attributes[:'links'] + end + + if attributes.key?(:'meta') + self.meta = attributes[:'meta'] + end + end + + # Returns the object in the form of hash, with additionalProperties support. + # @return [Hash] Returns the object in the form of hash + # @!visibility private + def to_hash + hash = {} + self.class.attribute_map.each_pair do |attr, param| + value = self.send(attr) + if value.nil? + is_nullable = self.class.openapi_nullable.include?(attr) + next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}")) + end + + hash[param] = _to_hash(value) + end + self.additional_properties.each_pair do |attr, value| + hash[attr] = value + end + hash + end + + # Checks equality by comparing each attribute. + # @param o [Object] Object to be compared + # @!visibility private + def ==(o) + return true if self.equal?(o) + self.class == o.class && + data == o.data && + included == o.included && + links == o.links && + meta == o.meta && + additional_properties == o.additional_properties + end + + # Calculates hash code according to all attributes. + # @return [Integer] Hash code + # @!visibility private + def hash + [data, included, links, meta, additional_properties].hash + end + end +end diff --git a/lib/datadog_api_client/v2/models/list_relation_catalog_response_links.rb b/lib/datadog_api_client/v2/models/list_relation_catalog_response_links.rb new file mode 100644 index 000000000000..76196aa34b1a --- /dev/null +++ b/lib/datadog_api_client/v2/models/list_relation_catalog_response_links.rb @@ -0,0 +1,125 @@ +=begin +#Datadog API V2 Collection + +#Collection of all Datadog Public endpoints. + +The version of the OpenAPI document: 1.0 +Contact: support@datadoghq.com +Generated by: https://github.com/DataDog/datadog-api-client-ruby/tree/master/.generator + + Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License. + This product includes software developed at Datadog (https://www.datadoghq.com/). + Copyright 2020-Present Datadog, Inc. + +=end + +require 'date' +require 'time' + +module DatadogAPIClient::V2 + # List relation response links. + class ListRelationCatalogResponseLinks + include BaseGenericModel + + # Next link. + attr_accessor :_next + + # Previous link. + attr_accessor :previous + + # Current link. + attr_accessor :_self + + attr_accessor :additional_properties + + # Attribute mapping from ruby-style variable name to JSON key. + # @!visibility private + def self.attribute_map + { + :'_next' => :'next', + :'previous' => :'previous', + :'_self' => :'self' + } + end + + # Attribute type mapping. + # @!visibility private + def self.openapi_types + { + :'_next' => :'String', + :'previous' => :'String', + :'_self' => :'String' + } + end + + # Initializes the object + # @param attributes [Hash] Model attributes in the form of hash + # @!visibility private + def initialize(attributes = {}) + if (!attributes.is_a?(Hash)) + fail ArgumentError, "The input argument (attributes) must be a hash in `DatadogAPIClient::V2::ListRelationCatalogResponseLinks` initialize method" + end + + self.additional_properties = {} + # check to see if the attribute exists and convert string to symbol for hash key + attributes = attributes.each_with_object({}) { |(k, v), h| + if (!self.class.attribute_map.key?(k.to_sym)) + self.additional_properties[k.to_sym] = v + else + h[k.to_sym] = v + end + } + + if attributes.key?(:'_next') + self._next = attributes[:'_next'] + end + + if attributes.key?(:'previous') + self.previous = attributes[:'previous'] + end + + if attributes.key?(:'_self') + self._self = attributes[:'_self'] + end + end + + # Returns the object in the form of hash, with additionalProperties support. + # @return [Hash] Returns the object in the form of hash + # @!visibility private + def to_hash + hash = {} + self.class.attribute_map.each_pair do |attr, param| + value = self.send(attr) + if value.nil? + is_nullable = self.class.openapi_nullable.include?(attr) + next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}")) + end + + hash[param] = _to_hash(value) + end + self.additional_properties.each_pair do |attr, value| + hash[attr] = value + end + hash + end + + # Checks equality by comparing each attribute. + # @param o [Object] Object to be compared + # @!visibility private + def ==(o) + return true if self.equal?(o) + self.class == o.class && + _next == o._next && + previous == o.previous && + _self == o._self && + additional_properties == o.additional_properties + end + + # Calculates hash code according to all attributes. + # @return [Integer] Hash code + # @!visibility private + def hash + [_next, previous, _self, additional_properties].hash + end + end +end diff --git a/lib/datadog_api_client/v2/models/relation_attributes.rb b/lib/datadog_api_client/v2/models/relation_attributes.rb new file mode 100644 index 000000000000..d3d8cd93b286 --- /dev/null +++ b/lib/datadog_api_client/v2/models/relation_attributes.rb @@ -0,0 +1,125 @@ +=begin +#Datadog API V2 Collection + +#Collection of all Datadog Public endpoints. + +The version of the OpenAPI document: 1.0 +Contact: support@datadoghq.com +Generated by: https://github.com/DataDog/datadog-api-client-ruby/tree/master/.generator + + Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License. + This product includes software developed at Datadog (https://www.datadoghq.com/). + Copyright 2020-Present Datadog, Inc. + +=end + +require 'date' +require 'time' + +module DatadogAPIClient::V2 + # Relation attributes. + class RelationAttributes + include BaseGenericModel + + # Relation entity reference. + attr_accessor :from + + # Relation entity reference. + attr_accessor :to + + # Supported relation types. + attr_accessor :type + + attr_accessor :additional_properties + + # Attribute mapping from ruby-style variable name to JSON key. + # @!visibility private + def self.attribute_map + { + :'from' => :'from', + :'to' => :'to', + :'type' => :'type' + } + end + + # Attribute type mapping. + # @!visibility private + def self.openapi_types + { + :'from' => :'RelationEntity', + :'to' => :'RelationEntity', + :'type' => :'RelationType' + } + end + + # Initializes the object + # @param attributes [Hash] Model attributes in the form of hash + # @!visibility private + def initialize(attributes = {}) + if (!attributes.is_a?(Hash)) + fail ArgumentError, "The input argument (attributes) must be a hash in `DatadogAPIClient::V2::RelationAttributes` initialize method" + end + + self.additional_properties = {} + # check to see if the attribute exists and convert string to symbol for hash key + attributes = attributes.each_with_object({}) { |(k, v), h| + if (!self.class.attribute_map.key?(k.to_sym)) + self.additional_properties[k.to_sym] = v + else + h[k.to_sym] = v + end + } + + if attributes.key?(:'from') + self.from = attributes[:'from'] + end + + if attributes.key?(:'to') + self.to = attributes[:'to'] + end + + if attributes.key?(:'type') + self.type = attributes[:'type'] + end + end + + # Returns the object in the form of hash, with additionalProperties support. + # @return [Hash] Returns the object in the form of hash + # @!visibility private + def to_hash + hash = {} + self.class.attribute_map.each_pair do |attr, param| + value = self.send(attr) + if value.nil? + is_nullable = self.class.openapi_nullable.include?(attr) + next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}")) + end + + hash[param] = _to_hash(value) + end + self.additional_properties.each_pair do |attr, value| + hash[attr] = value + end + hash + end + + # Checks equality by comparing each attribute. + # @param o [Object] Object to be compared + # @!visibility private + def ==(o) + return true if self.equal?(o) + self.class == o.class && + from == o.from && + to == o.to && + type == o.type && + additional_properties == o.additional_properties + end + + # Calculates hash code according to all attributes. + # @return [Integer] Hash code + # @!visibility private + def hash + [from, to, type, additional_properties].hash + end + end +end diff --git a/lib/datadog_api_client/v2/models/relation_entity.rb b/lib/datadog_api_client/v2/models/relation_entity.rb new file mode 100644 index 000000000000..fd3b78bf14f4 --- /dev/null +++ b/lib/datadog_api_client/v2/models/relation_entity.rb @@ -0,0 +1,125 @@ +=begin +#Datadog API V2 Collection + +#Collection of all Datadog Public endpoints. + +The version of the OpenAPI document: 1.0 +Contact: support@datadoghq.com +Generated by: https://github.com/DataDog/datadog-api-client-ruby/tree/master/.generator + + Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License. + This product includes software developed at Datadog (https://www.datadoghq.com/). + Copyright 2020-Present Datadog, Inc. + +=end + +require 'date' +require 'time' + +module DatadogAPIClient::V2 + # Relation entity reference. + class RelationEntity + include BaseGenericModel + + # Entity kind. + attr_accessor :kind + + # Entity name. + attr_accessor :name + + # Entity namespace. + attr_accessor :namespace + + attr_accessor :additional_properties + + # Attribute mapping from ruby-style variable name to JSON key. + # @!visibility private + def self.attribute_map + { + :'kind' => :'kind', + :'name' => :'name', + :'namespace' => :'namespace' + } + end + + # Attribute type mapping. + # @!visibility private + def self.openapi_types + { + :'kind' => :'String', + :'name' => :'String', + :'namespace' => :'String' + } + end + + # Initializes the object + # @param attributes [Hash] Model attributes in the form of hash + # @!visibility private + def initialize(attributes = {}) + if (!attributes.is_a?(Hash)) + fail ArgumentError, "The input argument (attributes) must be a hash in `DatadogAPIClient::V2::RelationEntity` initialize method" + end + + self.additional_properties = {} + # check to see if the attribute exists and convert string to symbol for hash key + attributes = attributes.each_with_object({}) { |(k, v), h| + if (!self.class.attribute_map.key?(k.to_sym)) + self.additional_properties[k.to_sym] = v + else + h[k.to_sym] = v + end + } + + if attributes.key?(:'kind') + self.kind = attributes[:'kind'] + end + + if attributes.key?(:'name') + self.name = attributes[:'name'] + end + + if attributes.key?(:'namespace') + self.namespace = attributes[:'namespace'] + end + end + + # Returns the object in the form of hash, with additionalProperties support. + # @return [Hash] Returns the object in the form of hash + # @!visibility private + def to_hash + hash = {} + self.class.attribute_map.each_pair do |attr, param| + value = self.send(attr) + if value.nil? + is_nullable = self.class.openapi_nullable.include?(attr) + next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}")) + end + + hash[param] = _to_hash(value) + end + self.additional_properties.each_pair do |attr, value| + hash[attr] = value + end + hash + end + + # Checks equality by comparing each attribute. + # @param o [Object] Object to be compared + # @!visibility private + def ==(o) + return true if self.equal?(o) + self.class == o.class && + kind == o.kind && + name == o.name && + namespace == o.namespace && + additional_properties == o.additional_properties + end + + # Calculates hash code according to all attributes. + # @return [Integer] Hash code + # @!visibility private + def hash + [kind, name, namespace, additional_properties].hash + end + end +end diff --git a/lib/datadog_api_client/v2/models/relation_include_type.rb b/lib/datadog_api_client/v2/models/relation_include_type.rb new file mode 100644 index 000000000000..5318f4f7a389 --- /dev/null +++ b/lib/datadog_api_client/v2/models/relation_include_type.rb @@ -0,0 +1,27 @@ +=begin +#Datadog API V2 Collection + +#Collection of all Datadog Public endpoints. + +The version of the OpenAPI document: 1.0 +Contact: support@datadoghq.com +Generated by: https://github.com/DataDog/datadog-api-client-ruby/tree/master/.generator + + Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License. + This product includes software developed at Datadog (https://www.datadoghq.com/). + Copyright 2020-Present Datadog, Inc. + +=end + +require 'date' +require 'time' + +module DatadogAPIClient::V2 + # Supported include types for relations. + class RelationIncludeType + include BaseEnumModel + + ENTITY = "entity".freeze + SCHEMA = "schema".freeze + end +end diff --git a/lib/datadog_api_client/v2/models/relation_meta.rb b/lib/datadog_api_client/v2/models/relation_meta.rb new file mode 100644 index 000000000000..f91749a008f0 --- /dev/null +++ b/lib/datadog_api_client/v2/models/relation_meta.rb @@ -0,0 +1,135 @@ +=begin +#Datadog API V2 Collection + +#Collection of all Datadog Public endpoints. + +The version of the OpenAPI document: 1.0 +Contact: support@datadoghq.com +Generated by: https://github.com/DataDog/datadog-api-client-ruby/tree/master/.generator + + Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License. + This product includes software developed at Datadog (https://www.datadoghq.com/). + Copyright 2020-Present Datadog, Inc. + +=end + +require 'date' +require 'time' + +module DatadogAPIClient::V2 + # Relation metadata. + class RelationMeta + include BaseGenericModel + + # Relation creation time. + attr_accessor :created_at + + # Relation defined by. + attr_accessor :defined_by + + # Relation modification time. + attr_accessor :modified_at + + # Relation source. + attr_accessor :source + + attr_accessor :additional_properties + + # Attribute mapping from ruby-style variable name to JSON key. + # @!visibility private + def self.attribute_map + { + :'created_at' => :'createdAt', + :'defined_by' => :'definedBy', + :'modified_at' => :'modifiedAt', + :'source' => :'source' + } + end + + # Attribute type mapping. + # @!visibility private + def self.openapi_types + { + :'created_at' => :'Time', + :'defined_by' => :'String', + :'modified_at' => :'Time', + :'source' => :'String' + } + end + + # Initializes the object + # @param attributes [Hash] Model attributes in the form of hash + # @!visibility private + def initialize(attributes = {}) + if (!attributes.is_a?(Hash)) + fail ArgumentError, "The input argument (attributes) must be a hash in `DatadogAPIClient::V2::RelationMeta` initialize method" + end + + self.additional_properties = {} + # check to see if the attribute exists and convert string to symbol for hash key + attributes = attributes.each_with_object({}) { |(k, v), h| + if (!self.class.attribute_map.key?(k.to_sym)) + self.additional_properties[k.to_sym] = v + else + h[k.to_sym] = v + end + } + + if attributes.key?(:'created_at') + self.created_at = attributes[:'created_at'] + end + + if attributes.key?(:'defined_by') + self.defined_by = attributes[:'defined_by'] + end + + if attributes.key?(:'modified_at') + self.modified_at = attributes[:'modified_at'] + end + + if attributes.key?(:'source') + self.source = attributes[:'source'] + end + end + + # Returns the object in the form of hash, with additionalProperties support. + # @return [Hash] Returns the object in the form of hash + # @!visibility private + def to_hash + hash = {} + self.class.attribute_map.each_pair do |attr, param| + value = self.send(attr) + if value.nil? + is_nullable = self.class.openapi_nullable.include?(attr) + next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}")) + end + + hash[param] = _to_hash(value) + end + self.additional_properties.each_pair do |attr, value| + hash[attr] = value + end + hash + end + + # Checks equality by comparing each attribute. + # @param o [Object] Object to be compared + # @!visibility private + def ==(o) + return true if self.equal?(o) + self.class == o.class && + created_at == o.created_at && + defined_by == o.defined_by && + modified_at == o.modified_at && + source == o.source && + additional_properties == o.additional_properties + end + + # Calculates hash code according to all attributes. + # @return [Integer] Hash code + # @!visibility private + def hash + [created_at, defined_by, modified_at, source, additional_properties].hash + end + end +end diff --git a/lib/datadog_api_client/v2/models/relation_relationships.rb b/lib/datadog_api_client/v2/models/relation_relationships.rb new file mode 100644 index 000000000000..5cc407fd1339 --- /dev/null +++ b/lib/datadog_api_client/v2/models/relation_relationships.rb @@ -0,0 +1,115 @@ +=begin +#Datadog API V2 Collection + +#Collection of all Datadog Public endpoints. + +The version of the OpenAPI document: 1.0 +Contact: support@datadoghq.com +Generated by: https://github.com/DataDog/datadog-api-client-ruby/tree/master/.generator + + Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License. + This product includes software developed at Datadog (https://www.datadoghq.com/). + Copyright 2020-Present Datadog, Inc. + +=end + +require 'date' +require 'time' + +module DatadogAPIClient::V2 + # Relation relationships. + class RelationRelationships + include BaseGenericModel + + # Relation to entity. + attr_accessor :from_entity + + # Relation to entity. + attr_accessor :to_entity + + attr_accessor :additional_properties + + # Attribute mapping from ruby-style variable name to JSON key. + # @!visibility private + def self.attribute_map + { + :'from_entity' => :'fromEntity', + :'to_entity' => :'toEntity' + } + end + + # Attribute type mapping. + # @!visibility private + def self.openapi_types + { + :'from_entity' => :'RelationToEntity', + :'to_entity' => :'RelationToEntity' + } + end + + # Initializes the object + # @param attributes [Hash] Model attributes in the form of hash + # @!visibility private + def initialize(attributes = {}) + if (!attributes.is_a?(Hash)) + fail ArgumentError, "The input argument (attributes) must be a hash in `DatadogAPIClient::V2::RelationRelationships` initialize method" + end + + self.additional_properties = {} + # check to see if the attribute exists and convert string to symbol for hash key + attributes = attributes.each_with_object({}) { |(k, v), h| + if (!self.class.attribute_map.key?(k.to_sym)) + self.additional_properties[k.to_sym] = v + else + h[k.to_sym] = v + end + } + + if attributes.key?(:'from_entity') + self.from_entity = attributes[:'from_entity'] + end + + if attributes.key?(:'to_entity') + self.to_entity = attributes[:'to_entity'] + end + end + + # Returns the object in the form of hash, with additionalProperties support. + # @return [Hash] Returns the object in the form of hash + # @!visibility private + def to_hash + hash = {} + self.class.attribute_map.each_pair do |attr, param| + value = self.send(attr) + if value.nil? + is_nullable = self.class.openapi_nullable.include?(attr) + next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}")) + end + + hash[param] = _to_hash(value) + end + self.additional_properties.each_pair do |attr, value| + hash[attr] = value + end + hash + end + + # Checks equality by comparing each attribute. + # @param o [Object] Object to be compared + # @!visibility private + def ==(o) + return true if self.equal?(o) + self.class == o.class && + from_entity == o.from_entity && + to_entity == o.to_entity && + additional_properties == o.additional_properties + end + + # Calculates hash code according to all attributes. + # @return [Integer] Hash code + # @!visibility private + def hash + [from_entity, to_entity, additional_properties].hash + end + end +end diff --git a/lib/datadog_api_client/v2/models/relation_response.rb b/lib/datadog_api_client/v2/models/relation_response.rb new file mode 100644 index 000000000000..ffc8b74bf5ad --- /dev/null +++ b/lib/datadog_api_client/v2/models/relation_response.rb @@ -0,0 +1,155 @@ +=begin +#Datadog API V2 Collection + +#Collection of all Datadog Public endpoints. + +The version of the OpenAPI document: 1.0 +Contact: support@datadoghq.com +Generated by: https://github.com/DataDog/datadog-api-client-ruby/tree/master/.generator + + Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License. + This product includes software developed at Datadog (https://www.datadoghq.com/). + Copyright 2020-Present Datadog, Inc. + +=end + +require 'date' +require 'time' + +module DatadogAPIClient::V2 + # Relation response data. + class RelationResponse + include BaseGenericModel + + # Relation attributes. + attr_accessor :attributes + + # Relation ID. + attr_accessor :id + + # Relation metadata. + attr_accessor :meta + + # Relation relationships. + attr_accessor :relationships + + # Relation subtype. + attr_accessor :subtype + + # Relation type. + attr_accessor :type + + attr_accessor :additional_properties + + # Attribute mapping from ruby-style variable name to JSON key. + # @!visibility private + def self.attribute_map + { + :'attributes' => :'attributes', + :'id' => :'id', + :'meta' => :'meta', + :'relationships' => :'relationships', + :'subtype' => :'subtype', + :'type' => :'type' + } + end + + # Attribute type mapping. + # @!visibility private + def self.openapi_types + { + :'attributes' => :'RelationAttributes', + :'id' => :'String', + :'meta' => :'RelationMeta', + :'relationships' => :'RelationRelationships', + :'subtype' => :'String', + :'type' => :'RelationResponseType' + } + end + + # Initializes the object + # @param attributes [Hash] Model attributes in the form of hash + # @!visibility private + def initialize(attributes = {}) + if (!attributes.is_a?(Hash)) + fail ArgumentError, "The input argument (attributes) must be a hash in `DatadogAPIClient::V2::RelationResponse` initialize method" + end + + self.additional_properties = {} + # check to see if the attribute exists and convert string to symbol for hash key + attributes = attributes.each_with_object({}) { |(k, v), h| + if (!self.class.attribute_map.key?(k.to_sym)) + self.additional_properties[k.to_sym] = v + else + h[k.to_sym] = v + end + } + + if attributes.key?(:'attributes') + self.attributes = attributes[:'attributes'] + end + + if attributes.key?(:'id') + self.id = attributes[:'id'] + end + + if attributes.key?(:'meta') + self.meta = attributes[:'meta'] + end + + if attributes.key?(:'relationships') + self.relationships = attributes[:'relationships'] + end + + if attributes.key?(:'subtype') + self.subtype = attributes[:'subtype'] + end + + if attributes.key?(:'type') + self.type = attributes[:'type'] + end + end + + # Returns the object in the form of hash, with additionalProperties support. + # @return [Hash] Returns the object in the form of hash + # @!visibility private + def to_hash + hash = {} + self.class.attribute_map.each_pair do |attr, param| + value = self.send(attr) + if value.nil? + is_nullable = self.class.openapi_nullable.include?(attr) + next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}")) + end + + hash[param] = _to_hash(value) + end + self.additional_properties.each_pair do |attr, value| + hash[attr] = value + end + hash + end + + # Checks equality by comparing each attribute. + # @param o [Object] Object to be compared + # @!visibility private + def ==(o) + return true if self.equal?(o) + self.class == o.class && + attributes == o.attributes && + id == o.id && + meta == o.meta && + relationships == o.relationships && + subtype == o.subtype && + type == o.type && + additional_properties == o.additional_properties + end + + # Calculates hash code according to all attributes. + # @return [Integer] Hash code + # @!visibility private + def hash + [attributes, id, meta, relationships, subtype, type, additional_properties].hash + end + end +end diff --git a/lib/datadog_api_client/v2/models/relation_response_meta.rb b/lib/datadog_api_client/v2/models/relation_response_meta.rb new file mode 100644 index 000000000000..72c57d706b58 --- /dev/null +++ b/lib/datadog_api_client/v2/models/relation_response_meta.rb @@ -0,0 +1,115 @@ +=begin +#Datadog API V2 Collection + +#Collection of all Datadog Public endpoints. + +The version of the OpenAPI document: 1.0 +Contact: support@datadoghq.com +Generated by: https://github.com/DataDog/datadog-api-client-ruby/tree/master/.generator + + Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License. + This product includes software developed at Datadog (https://www.datadoghq.com/). + Copyright 2020-Present Datadog, Inc. + +=end + +require 'date' +require 'time' + +module DatadogAPIClient::V2 + # Relation response metadata. + class RelationResponseMeta + include BaseGenericModel + + # Total relations count. + attr_accessor :count + + # Total included data count. + attr_accessor :include_count + + attr_accessor :additional_properties + + # Attribute mapping from ruby-style variable name to JSON key. + # @!visibility private + def self.attribute_map + { + :'count' => :'count', + :'include_count' => :'includeCount' + } + end + + # Attribute type mapping. + # @!visibility private + def self.openapi_types + { + :'count' => :'Integer', + :'include_count' => :'Integer' + } + end + + # Initializes the object + # @param attributes [Hash] Model attributes in the form of hash + # @!visibility private + def initialize(attributes = {}) + if (!attributes.is_a?(Hash)) + fail ArgumentError, "The input argument (attributes) must be a hash in `DatadogAPIClient::V2::RelationResponseMeta` initialize method" + end + + self.additional_properties = {} + # check to see if the attribute exists and convert string to symbol for hash key + attributes = attributes.each_with_object({}) { |(k, v), h| + if (!self.class.attribute_map.key?(k.to_sym)) + self.additional_properties[k.to_sym] = v + else + h[k.to_sym] = v + end + } + + if attributes.key?(:'count') + self.count = attributes[:'count'] + end + + if attributes.key?(:'include_count') + self.include_count = attributes[:'include_count'] + end + end + + # Returns the object in the form of hash, with additionalProperties support. + # @return [Hash] Returns the object in the form of hash + # @!visibility private + def to_hash + hash = {} + self.class.attribute_map.each_pair do |attr, param| + value = self.send(attr) + if value.nil? + is_nullable = self.class.openapi_nullable.include?(attr) + next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}")) + end + + hash[param] = _to_hash(value) + end + self.additional_properties.each_pair do |attr, value| + hash[attr] = value + end + hash + end + + # Checks equality by comparing each attribute. + # @param o [Object] Object to be compared + # @!visibility private + def ==(o) + return true if self.equal?(o) + self.class == o.class && + count == o.count && + include_count == o.include_count && + additional_properties == o.additional_properties + end + + # Calculates hash code according to all attributes. + # @return [Integer] Hash code + # @!visibility private + def hash + [count, include_count, additional_properties].hash + end + end +end diff --git a/lib/datadog_api_client/v2/models/relation_response_type.rb b/lib/datadog_api_client/v2/models/relation_response_type.rb new file mode 100644 index 000000000000..601683f53f9a --- /dev/null +++ b/lib/datadog_api_client/v2/models/relation_response_type.rb @@ -0,0 +1,26 @@ +=begin +#Datadog API V2 Collection + +#Collection of all Datadog Public endpoints. + +The version of the OpenAPI document: 1.0 +Contact: support@datadoghq.com +Generated by: https://github.com/DataDog/datadog-api-client-ruby/tree/master/.generator + + Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License. + This product includes software developed at Datadog (https://www.datadoghq.com/). + Copyright 2020-Present Datadog, Inc. + +=end + +require 'date' +require 'time' + +module DatadogAPIClient::V2 + # Relation type. + class RelationResponseType + include BaseEnumModel + + RELATION = "relation".freeze + end +end diff --git a/lib/datadog_api_client/v2/models/relation_to_entity.rb b/lib/datadog_api_client/v2/models/relation_to_entity.rb new file mode 100644 index 000000000000..cbe4704efa92 --- /dev/null +++ b/lib/datadog_api_client/v2/models/relation_to_entity.rb @@ -0,0 +1,115 @@ +=begin +#Datadog API V2 Collection + +#Collection of all Datadog Public endpoints. + +The version of the OpenAPI document: 1.0 +Contact: support@datadoghq.com +Generated by: https://github.com/DataDog/datadog-api-client-ruby/tree/master/.generator + + Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License. + This product includes software developed at Datadog (https://www.datadoghq.com/). + Copyright 2020-Present Datadog, Inc. + +=end + +require 'date' +require 'time' + +module DatadogAPIClient::V2 + # Relation to entity. + class RelationToEntity + include BaseGenericModel + + # Relationship entry. + attr_accessor :data + + # Entity metadata. + attr_accessor :meta + + attr_accessor :additional_properties + + # Attribute mapping from ruby-style variable name to JSON key. + # @!visibility private + def self.attribute_map + { + :'data' => :'data', + :'meta' => :'meta' + } + end + + # Attribute type mapping. + # @!visibility private + def self.openapi_types + { + :'data' => :'RelationshipItem', + :'meta' => :'EntityMeta' + } + end + + # Initializes the object + # @param attributes [Hash] Model attributes in the form of hash + # @!visibility private + def initialize(attributes = {}) + if (!attributes.is_a?(Hash)) + fail ArgumentError, "The input argument (attributes) must be a hash in `DatadogAPIClient::V2::RelationToEntity` initialize method" + end + + self.additional_properties = {} + # check to see if the attribute exists and convert string to symbol for hash key + attributes = attributes.each_with_object({}) { |(k, v), h| + if (!self.class.attribute_map.key?(k.to_sym)) + self.additional_properties[k.to_sym] = v + else + h[k.to_sym] = v + end + } + + if attributes.key?(:'data') + self.data = attributes[:'data'] + end + + if attributes.key?(:'meta') + self.meta = attributes[:'meta'] + end + end + + # Returns the object in the form of hash, with additionalProperties support. + # @return [Hash] Returns the object in the form of hash + # @!visibility private + def to_hash + hash = {} + self.class.attribute_map.each_pair do |attr, param| + value = self.send(attr) + if value.nil? + is_nullable = self.class.openapi_nullable.include?(attr) + next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}")) + end + + hash[param] = _to_hash(value) + end + self.additional_properties.each_pair do |attr, value| + hash[attr] = value + end + hash + end + + # Checks equality by comparing each attribute. + # @param o [Object] Object to be compared + # @!visibility private + def ==(o) + return true if self.equal?(o) + self.class == o.class && + data == o.data && + meta == o.meta && + additional_properties == o.additional_properties + end + + # Calculates hash code according to all attributes. + # @return [Integer] Hash code + # @!visibility private + def hash + [data, meta, additional_properties].hash + end + end +end