@@ -22,6 +22,137 @@ module Google
2222 module Apis
2323 module DatalineageV1
2424
25+ # Configuration for Data Lineage. Defines different configuration options for
26+ # Lineage customers to control behaviour of lineage systems.
27+ class GoogleCloudDatacatalogLineageConfigmanagementV1Config
28+ include Google ::Apis ::Core ::Hashable
29+
30+ # Optional. `etag` is used for optimistic concurrency control as a way to help
31+ # prevent simultaneous updates of a config from overwriting each other. It is
32+ # required that systems make use of the `etag` in the read-modify-write cycle to
33+ # perform config updates in order to avoid race conditions: An `etag` is
34+ # returned in the response to `GetConfig`, and systems are expected to put that
35+ # etag in the request to `UpdateConfig` to ensure that their change will be
36+ # applied to the same version of the config. If an `etag` is not provided in the
37+ # call to `UpdateConfig`, then the existing config, if any, will be overwritten.
38+ # Corresponds to the JSON property `etag`
39+ # @return [String]
40+ attr_accessor :etag
41+
42+ # Defines how Lineage should be ingested for a given resource.
43+ # Corresponds to the JSON property `ingestion`
44+ # @return [Google::Apis::DatalineageV1::GoogleCloudDatacatalogLineageConfigmanagementV1ConfigIngestion]
45+ attr_accessor :ingestion
46+
47+ # Identifier. The resource name of the config. Format: `organizations/`
48+ # organization_id`/locations/global/config` `folders/`folder_id`/locations/
49+ # global/config` `projects/`project_id`/locations/global/config` `projects/`
50+ # project_number`/locations/global/config`
51+ # Corresponds to the JSON property `name`
52+ # @return [String]
53+ attr_accessor :name
54+
55+ def initialize ( **args )
56+ update! ( **args )
57+ end
58+
59+ # Update properties of this object
60+ def update! ( **args )
61+ @etag = args [ :etag ] if args . key? ( :etag )
62+ @ingestion = args [ :ingestion ] if args . key? ( :ingestion )
63+ @name = args [ :name ] if args . key? ( :name )
64+ end
65+ end
66+
67+ # Defines how Lineage should be ingested for a given resource.
68+ class GoogleCloudDatacatalogLineageConfigmanagementV1ConfigIngestion
69+ include Google ::Apis ::Core ::Hashable
70+
71+ # Optional. List of rules for Data Lineage ingestion.
72+ # Corresponds to the JSON property `rules`
73+ # @return [Array<Google::Apis::DatalineageV1::GoogleCloudDatacatalogLineageConfigmanagementV1ConfigIngestionIngestionRule>]
74+ attr_accessor :rules
75+
76+ def initialize ( **args )
77+ update! ( **args )
78+ end
79+
80+ # Update properties of this object
81+ def update! ( **args )
82+ @rules = args [ :rules ] if args . key? ( :rules )
83+ end
84+ end
85+
86+ # Ingestion rule for Data Lineage ingestion.
87+ class GoogleCloudDatacatalogLineageConfigmanagementV1ConfigIngestionIngestionRule
88+ include Google ::Apis ::Core ::Hashable
89+
90+ # Integration selector of the rule. The rule is only applied to the Integration
91+ # selected by the selector.
92+ # Corresponds to the JSON property `integrationSelector`
93+ # @return [Google::Apis::DatalineageV1::GoogleCloudDatacatalogLineageConfigmanagementV1ConfigIngestionIngestionRuleIntegrationSelector]
94+ attr_accessor :integration_selector
95+
96+ # Lineage enablement configuration. Defines configurations for the ingestion of
97+ # lineage for the resource and its children.
98+ # Corresponds to the JSON property `lineageEnablement`
99+ # @return [Google::Apis::DatalineageV1::GoogleCloudDatacatalogLineageConfigmanagementV1ConfigIngestionIngestionRuleLineageEnablement]
100+ attr_accessor :lineage_enablement
101+
102+ def initialize ( **args )
103+ update! ( **args )
104+ end
105+
106+ # Update properties of this object
107+ def update! ( **args )
108+ @integration_selector = args [ :integration_selector ] if args . key? ( :integration_selector )
109+ @lineage_enablement = args [ :lineage_enablement ] if args . key? ( :lineage_enablement )
110+ end
111+ end
112+
113+ # Integration selector of the rule. The rule is only applied to the Integration
114+ # selected by the selector.
115+ class GoogleCloudDatacatalogLineageConfigmanagementV1ConfigIngestionIngestionRuleIntegrationSelector
116+ include Google ::Apis ::Core ::Hashable
117+
118+ # Required. Integration to which the rule applies. This field can be used to
119+ # specify the integration against which the ingestion rule should be applied.
120+ # Corresponds to the JSON property `integration`
121+ # @return [String]
122+ attr_accessor :integration
123+
124+ def initialize ( **args )
125+ update! ( **args )
126+ end
127+
128+ # Update properties of this object
129+ def update! ( **args )
130+ @integration = args [ :integration ] if args . key? ( :integration )
131+ end
132+ end
133+
134+ # Lineage enablement configuration. Defines configurations for the ingestion of
135+ # lineage for the resource and its children.
136+ class GoogleCloudDatacatalogLineageConfigmanagementV1ConfigIngestionIngestionRuleLineageEnablement
137+ include Google ::Apis ::Core ::Hashable
138+
139+ # Optional. Required. If true, ingestion of lineage should be enabled. If false,
140+ # it should be disabled. If unspecified, the system default value is used.
141+ # Corresponds to the JSON property `enabled`
142+ # @return [Boolean]
143+ attr_accessor :enabled
144+ alias_method :enabled? , :enabled
145+
146+ def initialize ( **args )
147+ update! ( **args )
148+ end
149+
150+ # Update properties of this object
151+ def update! ( **args )
152+ @enabled = args [ :enabled ] if args . key? ( :enabled )
153+ end
154+ end
155+
25156 # Request message for BatchSearchLinkProcesses.
26157 class GoogleCloudDatacatalogLineageV1BatchSearchLinkProcessesRequest
27158 include Google ::Apis ::Core ::Hashable
0 commit comments