io.openlineage.client.transports.gcplineage.GcpLineageTransportConfig Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of transports-gcplineage Show documentation
Show all versions of transports-gcplineage Show documentation
GcpLineage OpenLineage transport library
/*
/* Copyright 2018-2024 contributors to the OpenLineage project
/* SPDX-License-Identifier: Apache-2.0
*/
package io.openlineage.client.transports.gcplineage;
import io.openlineage.client.MergeConfig;
import io.openlineage.client.transports.TransportConfig;
import javax.annotation.Nullable;
import lombok.AllArgsConstructor;
import lombok.Getter;
import lombok.NoArgsConstructor;
import lombok.Setter;
import lombok.ToString;
@NoArgsConstructor
@AllArgsConstructor
@ToString
public class GcpLineageTransportConfig
implements TransportConfig, MergeConfig {
enum Mode {
sync,
async
}
@Getter @Setter private @Nullable String endpoint;
@Getter @Setter private @Nullable String projectId;
@Getter @Setter private @Nullable String credentialsFile;
@Getter @Setter private @Nullable String location;
@Getter @Setter private @Nullable Mode mode;
@Override
public GcpLineageTransportConfig mergeWithNonNull(GcpLineageTransportConfig other) {
return new GcpLineageTransportConfig(
mergePropertyWith(endpoint, other.endpoint),
mergePropertyWith(projectId, other.projectId),
mergePropertyWith(credentialsFile, other.credentialsFile),
mergePropertyWith(location, other.location),
mergePropertyWith(mode, other.mode));
}
}
© 2015 - 2024 Weber Informatics LLC | Privacy Policy