#![allow(rustdoc::redundant_explicit_links)]
#![allow(rustdoc::broken_intra_doc_links)]
use crate::Result;
use std::sync::Arc;
#[derive(Clone, Debug)]
pub struct Connectors {
inner: Arc<dyn super::stub::dynamic::Connectors>,
}
impl Connectors {
pub fn builder() -> super::builder::connectors::ClientBuilder {
gax::client_builder::internal::new_builder(super::builder::connectors::client::Factory)
}
pub fn from_stub<T>(stub: T) -> Self
where
T: super::stub::Connectors + 'static,
{
Self {
inner: Arc::new(stub),
}
}
pub(crate) async fn new(config: gaxi::options::ClientConfig) -> Result<Self> {
let inner = Self::build_inner(config).await?;
Ok(Self { inner })
}
async fn build_inner(
conf: gaxi::options::ClientConfig,
) -> Result<Arc<dyn super::stub::dynamic::Connectors>> {
if gaxi::options::tracing_enabled(&conf) {
return Ok(Arc::new(Self::build_with_tracing(conf).await?));
}
Ok(Arc::new(Self::build_transport(conf).await?))
}
async fn build_transport(
conf: gaxi::options::ClientConfig,
) -> Result<impl super::stub::Connectors> {
super::transport::Connectors::new(conf).await
}
async fn build_with_tracing(
conf: gaxi::options::ClientConfig,
) -> Result<impl super::stub::Connectors> {
Self::build_transport(conf)
.await
.map(super::tracing::Connectors::new)
}
pub fn list_connections(
&self,
parent: impl Into<std::string::String>,
) -> super::builder::connectors::ListConnections {
super::builder::connectors::ListConnections::new(self.inner.clone())
.set_parent(parent.into())
}
pub fn get_connection(
&self,
name: impl Into<std::string::String>,
) -> super::builder::connectors::GetConnection {
super::builder::connectors::GetConnection::new(self.inner.clone()).set_name(name.into())
}
pub fn create_connection(
&self,
parent: impl Into<std::string::String>,
) -> super::builder::connectors::CreateConnection {
super::builder::connectors::CreateConnection::new(self.inner.clone())
.set_parent(parent.into())
}
pub fn update_connection(
&self,
connection: impl Into<crate::model::Connection>,
) -> super::builder::connectors::UpdateConnection {
super::builder::connectors::UpdateConnection::new(self.inner.clone())
.set_connection(connection.into())
}
pub fn delete_connection(
&self,
name: impl Into<std::string::String>,
) -> super::builder::connectors::DeleteConnection {
super::builder::connectors::DeleteConnection::new(self.inner.clone()).set_name(name.into())
}
pub fn list_providers(
&self,
parent: impl Into<std::string::String>,
) -> super::builder::connectors::ListProviders {
super::builder::connectors::ListProviders::new(self.inner.clone()).set_parent(parent.into())
}
pub fn get_provider(
&self,
name: impl Into<std::string::String>,
) -> super::builder::connectors::GetProvider {
super::builder::connectors::GetProvider::new(self.inner.clone()).set_name(name.into())
}
pub fn list_connectors(
&self,
parent: impl Into<std::string::String>,
) -> super::builder::connectors::ListConnectors {
super::builder::connectors::ListConnectors::new(self.inner.clone())
.set_parent(parent.into())
}
pub fn get_connector(
&self,
name: impl Into<std::string::String>,
) -> super::builder::connectors::GetConnector {
super::builder::connectors::GetConnector::new(self.inner.clone()).set_name(name.into())
}
pub fn list_connector_versions(
&self,
parent: impl Into<std::string::String>,
) -> super::builder::connectors::ListConnectorVersions {
super::builder::connectors::ListConnectorVersions::new(self.inner.clone())
.set_parent(parent.into())
}
pub fn get_connector_version(
&self,
name: impl Into<std::string::String>,
) -> super::builder::connectors::GetConnectorVersion {
super::builder::connectors::GetConnectorVersion::new(self.inner.clone())
.set_name(name.into())
}
pub fn get_connection_schema_metadata(
&self,
name: impl Into<std::string::String>,
) -> super::builder::connectors::GetConnectionSchemaMetadata {
super::builder::connectors::GetConnectionSchemaMetadata::new(self.inner.clone())
.set_name(name.into())
}
pub fn refresh_connection_schema_metadata(
&self,
name: impl Into<std::string::String>,
) -> super::builder::connectors::RefreshConnectionSchemaMetadata {
super::builder::connectors::RefreshConnectionSchemaMetadata::new(self.inner.clone())
.set_name(name.into())
}
pub fn list_runtime_entity_schemas(
&self,
parent: impl Into<std::string::String>,
) -> super::builder::connectors::ListRuntimeEntitySchemas {
super::builder::connectors::ListRuntimeEntitySchemas::new(self.inner.clone())
.set_parent(parent.into())
}
pub fn list_runtime_action_schemas(
&self,
parent: impl Into<std::string::String>,
) -> super::builder::connectors::ListRuntimeActionSchemas {
super::builder::connectors::ListRuntimeActionSchemas::new(self.inner.clone())
.set_parent(parent.into())
}
pub fn get_runtime_config(
&self,
name: impl Into<std::string::String>,
) -> super::builder::connectors::GetRuntimeConfig {
super::builder::connectors::GetRuntimeConfig::new(self.inner.clone()).set_name(name.into())
}
pub fn get_global_settings(
&self,
name: impl Into<std::string::String>,
) -> super::builder::connectors::GetGlobalSettings {
super::builder::connectors::GetGlobalSettings::new(self.inner.clone()).set_name(name.into())
}
pub fn list_locations(
&self,
name: impl Into<std::string::String>,
) -> super::builder::connectors::ListLocations {
super::builder::connectors::ListLocations::new(self.inner.clone()).set_name(name.into())
}
pub fn get_location(
&self,
name: impl Into<std::string::String>,
) -> super::builder::connectors::GetLocation {
super::builder::connectors::GetLocation::new(self.inner.clone()).set_name(name.into())
}
pub fn set_iam_policy(
&self,
resource: impl Into<std::string::String>,
) -> super::builder::connectors::SetIamPolicy {
super::builder::connectors::SetIamPolicy::new(self.inner.clone())
.set_resource(resource.into())
}
pub fn get_iam_policy(
&self,
resource: impl Into<std::string::String>,
) -> super::builder::connectors::GetIamPolicy {
super::builder::connectors::GetIamPolicy::new(self.inner.clone())
.set_resource(resource.into())
}
pub fn test_iam_permissions(
&self,
resource: impl Into<std::string::String>,
) -> super::builder::connectors::TestIamPermissions {
super::builder::connectors::TestIamPermissions::new(self.inner.clone())
.set_resource(resource.into())
}
pub fn list_operations(
&self,
name: impl Into<std::string::String>,
) -> super::builder::connectors::ListOperations {
super::builder::connectors::ListOperations::new(self.inner.clone()).set_name(name.into())
}
pub fn get_operation(
&self,
name: impl Into<std::string::String>,
) -> super::builder::connectors::GetOperation {
super::builder::connectors::GetOperation::new(self.inner.clone()).set_name(name.into())
}
pub fn delete_operation(
&self,
name: impl Into<std::string::String>,
) -> super::builder::connectors::DeleteOperation {
super::builder::connectors::DeleteOperation::new(self.inner.clone()).set_name(name.into())
}
pub fn cancel_operation(
&self,
name: impl Into<std::string::String>,
) -> super::builder::connectors::CancelOperation {
super::builder::connectors::CancelOperation::new(self.inner.clone()).set_name(name.into())
}
}