@@ -1103,6 +1103,11 @@ class GoogleCloudDatacatalogV1Entry
11031103 # @return [Google::Apis::DatacatalogV1::GoogleCloudDatacatalogV1GcsFilesetSpec]
11041104 attr_accessor :gcs_fileset_spec
11051105
1106+ # Specification that applies to a graph.
1107+ # Corresponds to the JSON property `graphSpec`
1108+ # @return [Google::Apis::DatacatalogV1::GoogleCloudDatacatalogV1GraphSpec]
1109+ attr_accessor :graph_spec
1110+
11061111 # Output only. Indicates the entry's source system that Data Catalog integrates
11071112 # with, such as BigQuery, Pub/Sub, or Dataproc Metastore.
11081113 # Corresponds to the JSON property `integratedSystem`
@@ -1235,6 +1240,7 @@ def update!(**args)
12351240 @fileset_spec = args [ :fileset_spec ] if args . key? ( :fileset_spec )
12361241 @fully_qualified_name = args [ :fully_qualified_name ] if args . key? ( :fully_qualified_name )
12371242 @gcs_fileset_spec = args [ :gcs_fileset_spec ] if args . key? ( :gcs_fileset_spec )
1243+ @graph_spec = args [ :graph_spec ] if args . key? ( :graph_spec )
12381244 @integrated_system = args [ :integrated_system ] if args . key? ( :integrated_system )
12391245 @labels = args [ :labels ] if args . key? ( :labels )
12401246 @linked_resource = args [ :linked_resource ] if args . key? ( :linked_resource )
@@ -1528,6 +1534,169 @@ def update!(**args)
15281534 end
15291535 end
15301536
1537+ # Specification that applies to a graph.
1538+ class GoogleCloudDatacatalogV1GraphSpec
1539+ include Google ::Apis ::Core ::Hashable
1540+
1541+ # Optional. Edge tables of the graph.
1542+ # Corresponds to the JSON property `edgeTables`
1543+ # @return [Array<Google::Apis::DatacatalogV1::GoogleCloudDatacatalogV1GraphSpecGraphElementTable>]
1544+ attr_accessor :edge_tables
1545+
1546+ # Output only. Fully qualified graph name. e.g. `named_catalog.MyGraph`
1547+ # Corresponds to the JSON property `name`
1548+ # @return [String]
1549+ attr_accessor :name
1550+
1551+ # Required. Node tables of the graph.
1552+ # Corresponds to the JSON property `nodeTables`
1553+ # @return [Array<Google::Apis::DatacatalogV1::GoogleCloudDatacatalogV1GraphSpecGraphElementTable>]
1554+ attr_accessor :node_tables
1555+
1556+ def initialize ( **args )
1557+ update! ( **args )
1558+ end
1559+
1560+ # Update properties of this object
1561+ def update! ( **args )
1562+ @edge_tables = args [ :edge_tables ] if args . key? ( :edge_tables )
1563+ @name = args [ :name ] if args . key? ( :name )
1564+ @node_tables = args [ :node_tables ] if args . key? ( :node_tables )
1565+ end
1566+ end
1567+
1568+ # Element table definition.
1569+ class GoogleCloudDatacatalogV1GraphSpecGraphElementTable
1570+ include Google ::Apis ::Core ::Hashable
1571+
1572+ # Required. The alias name of the graph element.
1573+ # Corresponds to the JSON property `alias`
1574+ # @return [String]
1575+ attr_accessor :alias
1576+
1577+ # Required. The name of the data source. This is either a table name or a view
1578+ # name that is used for graph element input source. E.g. `Person` table or `
1579+ # PersonView` view.
1580+ # Corresponds to the JSON property `dataSource`
1581+ # @return [String]
1582+ attr_accessor :data_source
1583+
1584+ # Optional. Only applies to `kind = EDGE`.
1585+ # Corresponds to the JSON property `destinationNodeReference`
1586+ # @return [String]
1587+ attr_accessor :destination_node_reference
1588+
1589+ # Optional. If true, the graph element has a dynamic label in schemaless model.
1590+ # Corresponds to the JSON property `dynamicLabelEnabled`
1591+ # @return [Boolean]
1592+ attr_accessor :dynamic_label_enabled
1593+ alias_method :dynamic_label_enabled? , :dynamic_label_enabled
1594+
1595+ # Optional. If true, the graph element has dynamic properties in schemaless
1596+ # model.
1597+ # Corresponds to the JSON property `dynamicPropertiesEnabled`
1598+ # @return [Boolean]
1599+ attr_accessor :dynamic_properties_enabled
1600+ alias_method :dynamic_properties_enabled? , :dynamic_properties_enabled
1601+
1602+ # Required. The name of the keys of the elements in the table.
1603+ # Corresponds to the JSON property `elementKeys`
1604+ # @return [Array<String>]
1605+ attr_accessor :element_keys
1606+
1607+ # Required. The input source of the graph element.
1608+ # Corresponds to the JSON property `inputSource`
1609+ # @return [String]
1610+ attr_accessor :input_source
1611+
1612+ # Required. The kind of the graph element.
1613+ # Corresponds to the JSON property `kind`
1614+ # @return [String]
1615+ attr_accessor :kind
1616+
1617+ # Required. The labels and their properties for the graph element.
1618+ # Corresponds to the JSON property `labelAndProperties`
1619+ # @return [Array<Google::Apis::DatacatalogV1::GoogleCloudDatacatalogV1GraphSpecGraphElementTableLabelAndProperties>]
1620+ attr_accessor :label_and_properties
1621+
1622+ # Optional. Only applies to `kind = EDGE`. The reference to the source node of
1623+ # the edge. This name must be a valid `alias` of a node element in the same
1624+ # graph. Example, `Person` node can be a source node of an edge element `
1625+ # Person_to_Address`. Similar rule applies to `destination_node_reference`.
1626+ # Corresponds to the JSON property `sourceNodeReference`
1627+ # @return [String]
1628+ attr_accessor :source_node_reference
1629+
1630+ def initialize ( **args )
1631+ update! ( **args )
1632+ end
1633+
1634+ # Update properties of this object
1635+ def update! ( **args )
1636+ @alias = args [ :alias ] if args . key? ( :alias )
1637+ @data_source = args [ :data_source ] if args . key? ( :data_source )
1638+ @destination_node_reference = args [ :destination_node_reference ] if args . key? ( :destination_node_reference )
1639+ @dynamic_label_enabled = args [ :dynamic_label_enabled ] if args . key? ( :dynamic_label_enabled )
1640+ @dynamic_properties_enabled = args [ :dynamic_properties_enabled ] if args . key? ( :dynamic_properties_enabled )
1641+ @element_keys = args [ :element_keys ] if args . key? ( :element_keys )
1642+ @input_source = args [ :input_source ] if args . key? ( :input_source )
1643+ @kind = args [ :kind ] if args . key? ( :kind )
1644+ @label_and_properties = args [ :label_and_properties ] if args . key? ( :label_and_properties )
1645+ @source_node_reference = args [ :source_node_reference ] if args . key? ( :source_node_reference )
1646+ end
1647+ end
1648+
1649+ # The label and its properties. Each label is associated with a set of
1650+ # properties.
1651+ class GoogleCloudDatacatalogV1GraphSpecGraphElementTableLabelAndProperties
1652+ include Google ::Apis ::Core ::Hashable
1653+
1654+ # Required. The name of the label.
1655+ # Corresponds to the JSON property `label`
1656+ # @return [String]
1657+ attr_accessor :label
1658+
1659+ # Optional. The properties associated with the label.
1660+ # Corresponds to the JSON property `properties`
1661+ # @return [Array<Google::Apis::DatacatalogV1::GoogleCloudDatacatalogV1GraphSpecGraphElementTableProperty>]
1662+ attr_accessor :properties
1663+
1664+ def initialize ( **args )
1665+ update! ( **args )
1666+ end
1667+
1668+ # Update properties of this object
1669+ def update! ( **args )
1670+ @label = args [ :label ] if args . key? ( :label )
1671+ @properties = args [ :properties ] if args . key? ( :properties )
1672+ end
1673+ end
1674+
1675+ # A property declaration.
1676+ class GoogleCloudDatacatalogV1GraphSpecGraphElementTableProperty
1677+ include Google ::Apis ::Core ::Hashable
1678+
1679+ # Required. Property name.
1680+ # Corresponds to the JSON property `name`
1681+ # @return [String]
1682+ attr_accessor :name
1683+
1684+ # Required. Property data type.
1685+ # Corresponds to the JSON property `type`
1686+ # @return [String]
1687+ attr_accessor :type
1688+
1689+ def initialize ( **args )
1690+ update! ( **args )
1691+ end
1692+
1693+ # Update properties of this object
1694+ def update! ( **args )
1695+ @name = args [ :name ] if args . key? ( :name )
1696+ @type = args [ :type ] if args . key? ( :type )
1697+ end
1698+ end
1699+
15311700 # Metadata message for long-running operation returned by the ImportEntries.
15321701 class GoogleCloudDatacatalogV1ImportEntriesMetadata
15331702 include Google ::Apis ::Core ::Hashable
0 commit comments