#[derive(Clone, PartialEq, ::prost::Message)]
pub struct NetworkConfig {
#[prost(string, tag = "1")]
pub network: ::prost::alloc::string::String,
#[prost(string, tag = "2")]
pub ip_allocation: ::prost::alloc::string::String,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Version {
#[prost(string, tag = "1")]
pub version_number: ::prost::alloc::string::String,
#[prost(bool, tag = "2")]
pub default_version: bool,
#[prost(string, repeated, tag = "3")]
pub available_features: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Accelerator {
#[prost(enumeration = "accelerator::AcceleratorType", tag = "1")]
pub accelerator_type: i32,
}
pub mod accelerator {
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum AcceleratorType {
Unspecified = 0,
Cdc = 1,
Healthcare = 2,
}
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct CryptoKeyConfig {
#[prost(string, tag = "1")]
pub key_reference: ::prost::alloc::string::String,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Instance {
#[prost(string, tag = "1")]
pub name: ::prost::alloc::string::String,
#[prost(string, tag = "2")]
pub description: ::prost::alloc::string::String,
#[prost(enumeration = "instance::Type", tag = "3")]
pub r#type: i32,
#[prost(bool, tag = "4")]
pub enable_stackdriver_logging: bool,
#[prost(bool, tag = "5")]
pub enable_stackdriver_monitoring: bool,
#[prost(bool, tag = "6")]
pub private_instance: bool,
#[prost(message, optional, tag = "7")]
pub network_config: ::core::option::Option<NetworkConfig>,
#[prost(map = "string, string", tag = "8")]
pub labels:
::std::collections::HashMap<::prost::alloc::string::String, ::prost::alloc::string::String>,
#[prost(map = "string, string", tag = "9")]
pub options:
::std::collections::HashMap<::prost::alloc::string::String, ::prost::alloc::string::String>,
#[prost(message, optional, tag = "10")]
pub create_time: ::core::option::Option<::prost_types::Timestamp>,
#[prost(message, optional, tag = "11")]
pub update_time: ::core::option::Option<::prost_types::Timestamp>,
#[prost(enumeration = "instance::State", tag = "12")]
pub state: i32,
#[prost(string, tag = "13")]
pub state_message: ::prost::alloc::string::String,
#[prost(string, tag = "14")]
pub service_endpoint: ::prost::alloc::string::String,
#[prost(string, tag = "15")]
pub zone: ::prost::alloc::string::String,
#[prost(string, tag = "16")]
pub version: ::prost::alloc::string::String,
#[deprecated]
#[prost(string, tag = "17")]
pub service_account: ::prost::alloc::string::String,
#[prost(string, tag = "18")]
pub display_name: ::prost::alloc::string::String,
#[prost(message, repeated, tag = "19")]
pub available_version: ::prost::alloc::vec::Vec<Version>,
#[prost(string, tag = "20")]
pub api_endpoint: ::prost::alloc::string::String,
#[prost(string, tag = "21")]
pub gcs_bucket: ::prost::alloc::string::String,
#[prost(message, repeated, tag = "22")]
pub accelerators: ::prost::alloc::vec::Vec<Accelerator>,
#[prost(string, tag = "23")]
pub p4_service_account: ::prost::alloc::string::String,
#[prost(string, tag = "24")]
pub tenant_project_id: ::prost::alloc::string::String,
#[prost(string, tag = "25")]
pub dataproc_service_account: ::prost::alloc::string::String,
#[prost(bool, tag = "26")]
pub enable_rbac: bool,
#[prost(message, optional, tag = "27")]
pub crypto_key_config: ::core::option::Option<CryptoKeyConfig>,
}
pub mod instance {
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum Type {
Unspecified = 0,
Basic = 1,
Enterprise = 2,
Developer = 3,
}
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum State {
Unspecified = 0,
Creating = 1,
Running = 2,
Failed = 3,
Deleting = 4,
Upgrading = 5,
Restarting = 6,
Updating = 7,
AutoUpdating = 8,
AutoUpgrading = 9,
}
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct ListInstancesRequest {
#[prost(string, tag = "1")]
pub parent: ::prost::alloc::string::String,
#[prost(int32, tag = "2")]
pub page_size: i32,
#[prost(string, tag = "3")]
pub page_token: ::prost::alloc::string::String,
#[prost(string, tag = "4")]
pub filter: ::prost::alloc::string::String,
#[prost(string, tag = "5")]
pub order_by: ::prost::alloc::string::String,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct ListInstancesResponse {
#[prost(message, repeated, tag = "1")]
pub instances: ::prost::alloc::vec::Vec<Instance>,
#[prost(string, tag = "2")]
pub next_page_token: ::prost::alloc::string::String,
#[prost(string, repeated, tag = "3")]
pub unreachable: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct ListAvailableVersionsRequest {
#[prost(string, tag = "1")]
pub parent: ::prost::alloc::string::String,
#[prost(int32, tag = "2")]
pub page_size: i32,
#[prost(string, tag = "3")]
pub page_token: ::prost::alloc::string::String,
#[prost(bool, tag = "4")]
pub latest_patch_only: bool,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct ListAvailableVersionsResponse {
#[prost(message, repeated, tag = "1")]
pub available_versions: ::prost::alloc::vec::Vec<Version>,
#[prost(string, tag = "2")]
pub next_page_token: ::prost::alloc::string::String,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct GetInstanceRequest {
#[prost(string, tag = "1")]
pub name: ::prost::alloc::string::String,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct CreateInstanceRequest {
#[prost(string, tag = "1")]
pub parent: ::prost::alloc::string::String,
#[prost(string, tag = "2")]
pub instance_id: ::prost::alloc::string::String,
#[prost(message, optional, tag = "3")]
pub instance: ::core::option::Option<Instance>,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct DeleteInstanceRequest {
#[prost(string, tag = "1")]
pub name: ::prost::alloc::string::String,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct UpdateInstanceRequest {
#[prost(message, optional, tag = "1")]
pub instance: ::core::option::Option<Instance>,
#[prost(message, optional, tag = "2")]
pub update_mask: ::core::option::Option<::prost_types::FieldMask>,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct RestartInstanceRequest {
#[prost(string, tag = "1")]
pub name: ::prost::alloc::string::String,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct UpgradeInstanceRequest {
#[prost(string, tag = "1")]
pub name: ::prost::alloc::string::String,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct OperationMetadata {
#[prost(message, optional, tag = "1")]
pub create_time: ::core::option::Option<::prost_types::Timestamp>,
#[prost(message, optional, tag = "2")]
pub end_time: ::core::option::Option<::prost_types::Timestamp>,
#[prost(string, tag = "3")]
pub target: ::prost::alloc::string::String,
#[prost(string, tag = "4")]
pub verb: ::prost::alloc::string::String,
#[prost(string, tag = "5")]
pub status_detail: ::prost::alloc::string::String,
#[prost(bool, tag = "6")]
pub requested_cancellation: bool,
#[prost(string, tag = "7")]
pub api_version: ::prost::alloc::string::String,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct RemoveIamPolicyRequest {
#[prost(string, tag = "1")]
pub resource: ::prost::alloc::string::String,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct RemoveIamPolicyResponse {}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct ListNamespacesRequest {
#[prost(string, tag = "1")]
pub parent: ::prost::alloc::string::String,
#[prost(int32, tag = "2")]
pub page_size: i32,
#[prost(string, tag = "3")]
pub page_token: ::prost::alloc::string::String,
#[prost(enumeration = "NamespaceView", tag = "4")]
pub view: i32,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct IamPolicy {
#[prost(message, optional, tag = "1")]
pub policy: ::core::option::Option<super::super::super::iam::v1::Policy>,
#[prost(message, optional, tag = "2")]
pub status: ::core::option::Option<super::super::super::rpc::Status>,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Namespace {
#[prost(string, tag = "1")]
pub name: ::prost::alloc::string::String,
#[prost(message, optional, tag = "2")]
pub iam_policy: ::core::option::Option<IamPolicy>,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct ListNamespacesResponse {
#[prost(message, repeated, tag = "1")]
pub namespaces: ::prost::alloc::vec::Vec<Namespace>,
#[prost(string, tag = "2")]
pub next_page_token: ::prost::alloc::string::String,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct DnsPeering {
#[prost(string, tag = "1")]
pub zone: ::prost::alloc::string::String,
#[prost(string, tag = "2")]
pub domain: ::prost::alloc::string::String,
#[prost(string, tag = "3")]
pub description: ::prost::alloc::string::String,
#[prost(string, tag = "4")]
pub target_project: ::prost::alloc::string::String,
#[prost(string, tag = "5")]
pub target_network: ::prost::alloc::string::String,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct AddDnsPeeringRequest {
#[prost(string, tag = "1")]
pub parent: ::prost::alloc::string::String,
#[prost(message, optional, tag = "2")]
pub dns_peering: ::core::option::Option<DnsPeering>,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct AddDnsPeeringResponse {}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct RemoveDnsPeeringRequest {
#[prost(string, tag = "1")]
pub parent: ::prost::alloc::string::String,
#[prost(string, tag = "2")]
pub zone: ::prost::alloc::string::String,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct RemoveDnsPeeringResponse {}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct ListDnsPeeringsRequest {
#[prost(string, tag = "1")]
pub parent: ::prost::alloc::string::String,
#[prost(int32, tag = "2")]
pub page_size: i32,
#[prost(string, tag = "3")]
pub page_token: ::prost::alloc::string::String,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct ListDnsPeeringsResponse {
#[prost(message, repeated, tag = "1")]
pub dns_peerings: ::prost::alloc::vec::Vec<DnsPeering>,
#[prost(string, tag = "2")]
pub next_page_token: ::prost::alloc::string::String,
}
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum NamespaceView {
Unspecified = 0,
Basic = 1,
Full = 2,
}
#[doc = r" Generated client implementations."]
pub mod data_fusion_client {
#![allow(unused_variables, dead_code, missing_docs, clippy::let_unit_value)]
use tonic::codegen::*;
#[doc = " Service for creating and managing Data Fusion instances."]
#[doc = " Data Fusion enables ETL developers to build code-free, data integration"]
#[doc = " pipelines via a point-and-click UI."]
#[derive(Debug, Clone)]
pub struct DataFusionClient<T> {
inner: tonic::client::Grpc<T>,
}
impl<T> DataFusionClient<T>
where
T: tonic::client::GrpcService<tonic::body::BoxBody>,
T::ResponseBody: Body + Send + 'static,
T::Error: Into<StdError>,
<T::ResponseBody as Body>::Error: Into<StdError> + Send,
{
pub fn new(inner: T) -> Self {
let inner = tonic::client::Grpc::new(inner);
Self { inner }
}
pub fn with_interceptor<F>(
inner: T,
interceptor: F,
) -> DataFusionClient<InterceptedService<T, F>>
where
F: tonic::service::Interceptor,
T: tonic::codegen::Service<
http::Request<tonic::body::BoxBody>,
Response = http::Response<
<T as tonic::client::GrpcService<tonic::body::BoxBody>>::ResponseBody,
>,
>,
<T as tonic::codegen::Service<http::Request<tonic::body::BoxBody>>>::Error:
Into<StdError> + Send + Sync,
{
DataFusionClient::new(InterceptedService::new(inner, interceptor))
}
#[doc = r" Compress requests with `gzip`."]
#[doc = r""]
#[doc = r" This requires the server to support it otherwise it might respond with an"]
#[doc = r" error."]
pub fn send_gzip(mut self) -> Self {
self.inner = self.inner.send_gzip();
self
}
#[doc = r" Enable decompressing responses with `gzip`."]
pub fn accept_gzip(mut self) -> Self {
self.inner = self.inner.accept_gzip();
self
}
#[doc = " Lists possible versions for Data Fusion instances in the specified project"]
#[doc = " and location."]
pub async fn list_available_versions(
&mut self,
request: impl tonic::IntoRequest<super::ListAvailableVersionsRequest>,
) -> Result<tonic::Response<super::ListAvailableVersionsResponse>, tonic::Status> {
self.inner.ready().await.map_err(|e| {
tonic::Status::new(
tonic::Code::Unknown,
format!("Service was not ready: {}", e.into()),
)
})?;
let codec = tonic::codec::ProstCodec::default();
let path = http::uri::PathAndQuery::from_static(
"/google.cloud.datafusion.v1beta1.DataFusion/ListAvailableVersions",
);
self.inner.unary(request.into_request(), path, codec).await
}
#[doc = " Lists Data Fusion instances in the specified project and location."]
pub async fn list_instances(
&mut self,
request: impl tonic::IntoRequest<super::ListInstancesRequest>,
) -> Result<tonic::Response<super::ListInstancesResponse>, tonic::Status> {
self.inner.ready().await.map_err(|e| {
tonic::Status::new(
tonic::Code::Unknown,
format!("Service was not ready: {}", e.into()),
)
})?;
let codec = tonic::codec::ProstCodec::default();
let path = http::uri::PathAndQuery::from_static(
"/google.cloud.datafusion.v1beta1.DataFusion/ListInstances",
);
self.inner.unary(request.into_request(), path, codec).await
}
#[doc = " Gets details of a single Data Fusion instance."]
pub async fn get_instance(
&mut self,
request: impl tonic::IntoRequest<super::GetInstanceRequest>,
) -> Result<tonic::Response<super::Instance>, tonic::Status> {
self.inner.ready().await.map_err(|e| {
tonic::Status::new(
tonic::Code::Unknown,
format!("Service was not ready: {}", e.into()),
)
})?;
let codec = tonic::codec::ProstCodec::default();
let path = http::uri::PathAndQuery::from_static(
"/google.cloud.datafusion.v1beta1.DataFusion/GetInstance",
);
self.inner.unary(request.into_request(), path, codec).await
}
#[doc = " Creates a new Data Fusion instance in the specified project and location."]
pub async fn create_instance(
&mut self,
request: impl tonic::IntoRequest<super::CreateInstanceRequest>,
) -> Result<
tonic::Response<super::super::super::super::longrunning::Operation>,
tonic::Status,
> {
self.inner.ready().await.map_err(|e| {
tonic::Status::new(
tonic::Code::Unknown,
format!("Service was not ready: {}", e.into()),
)
})?;
let codec = tonic::codec::ProstCodec::default();
let path = http::uri::PathAndQuery::from_static(
"/google.cloud.datafusion.v1beta1.DataFusion/CreateInstance",
);
self.inner.unary(request.into_request(), path, codec).await
}
#[doc = " Deletes a single Data Fusion instance."]
pub async fn delete_instance(
&mut self,
request: impl tonic::IntoRequest<super::DeleteInstanceRequest>,
) -> Result<
tonic::Response<super::super::super::super::longrunning::Operation>,
tonic::Status,
> {
self.inner.ready().await.map_err(|e| {
tonic::Status::new(
tonic::Code::Unknown,
format!("Service was not ready: {}", e.into()),
)
})?;
let codec = tonic::codec::ProstCodec::default();
let path = http::uri::PathAndQuery::from_static(
"/google.cloud.datafusion.v1beta1.DataFusion/DeleteInstance",
);
self.inner.unary(request.into_request(), path, codec).await
}
#[doc = " Updates a single Data Fusion instance."]
pub async fn update_instance(
&mut self,
request: impl tonic::IntoRequest<super::UpdateInstanceRequest>,
) -> Result<
tonic::Response<super::super::super::super::longrunning::Operation>,
tonic::Status,
> {
self.inner.ready().await.map_err(|e| {
tonic::Status::new(
tonic::Code::Unknown,
format!("Service was not ready: {}", e.into()),
)
})?;
let codec = tonic::codec::ProstCodec::default();
let path = http::uri::PathAndQuery::from_static(
"/google.cloud.datafusion.v1beta1.DataFusion/UpdateInstance",
);
self.inner.unary(request.into_request(), path, codec).await
}
#[doc = " Restart a single Data Fusion instance."]
#[doc = " At the end of an operation instance is fully restarted."]
pub async fn restart_instance(
&mut self,
request: impl tonic::IntoRequest<super::RestartInstanceRequest>,
) -> Result<
tonic::Response<super::super::super::super::longrunning::Operation>,
tonic::Status,
> {
self.inner.ready().await.map_err(|e| {
tonic::Status::new(
tonic::Code::Unknown,
format!("Service was not ready: {}", e.into()),
)
})?;
let codec = tonic::codec::ProstCodec::default();
let path = http::uri::PathAndQuery::from_static(
"/google.cloud.datafusion.v1beta1.DataFusion/RestartInstance",
);
self.inner.unary(request.into_request(), path, codec).await
}
#[doc = " Upgrade a single Data Fusion instance."]
#[doc = " At the end of an operation instance is fully upgraded."]
pub async fn upgrade_instance(
&mut self,
request: impl tonic::IntoRequest<super::UpgradeInstanceRequest>,
) -> Result<
tonic::Response<super::super::super::super::longrunning::Operation>,
tonic::Status,
> {
self.inner.ready().await.map_err(|e| {
tonic::Status::new(
tonic::Code::Unknown,
format!("Service was not ready: {}", e.into()),
)
})?;
let codec = tonic::codec::ProstCodec::default();
let path = http::uri::PathAndQuery::from_static(
"/google.cloud.datafusion.v1beta1.DataFusion/UpgradeInstance",
);
self.inner.unary(request.into_request(), path, codec).await
}
#[doc = " Remove IAM policy that is currently set on the given resource."]
pub async fn remove_iam_policy(
&mut self,
request: impl tonic::IntoRequest<super::RemoveIamPolicyRequest>,
) -> Result<tonic::Response<super::RemoveIamPolicyResponse>, tonic::Status> {
self.inner.ready().await.map_err(|e| {
tonic::Status::new(
tonic::Code::Unknown,
format!("Service was not ready: {}", e.into()),
)
})?;
let codec = tonic::codec::ProstCodec::default();
let path = http::uri::PathAndQuery::from_static(
"/google.cloud.datafusion.v1beta1.DataFusion/RemoveIamPolicy",
);
self.inner.unary(request.into_request(), path, codec).await
}
#[doc = " List namespaces in a given instance"]
pub async fn list_namespaces(
&mut self,
request: impl tonic::IntoRequest<super::ListNamespacesRequest>,
) -> Result<tonic::Response<super::ListNamespacesResponse>, tonic::Status> {
self.inner.ready().await.map_err(|e| {
tonic::Status::new(
tonic::Code::Unknown,
format!("Service was not ready: {}", e.into()),
)
})?;
let codec = tonic::codec::ProstCodec::default();
let path = http::uri::PathAndQuery::from_static(
"/google.cloud.datafusion.v1beta1.DataFusion/ListNamespaces",
);
self.inner.unary(request.into_request(), path, codec).await
}
#[doc = " Add DNS peering on the given resource."]
pub async fn add_dns_peering(
&mut self,
request: impl tonic::IntoRequest<super::AddDnsPeeringRequest>,
) -> Result<tonic::Response<super::AddDnsPeeringResponse>, tonic::Status> {
self.inner.ready().await.map_err(|e| {
tonic::Status::new(
tonic::Code::Unknown,
format!("Service was not ready: {}", e.into()),
)
})?;
let codec = tonic::codec::ProstCodec::default();
let path = http::uri::PathAndQuery::from_static(
"/google.cloud.datafusion.v1beta1.DataFusion/AddDnsPeering",
);
self.inner.unary(request.into_request(), path, codec).await
}
#[doc = " Remove DNS peering on the given resource."]
pub async fn remove_dns_peering(
&mut self,
request: impl tonic::IntoRequest<super::RemoveDnsPeeringRequest>,
) -> Result<tonic::Response<super::RemoveDnsPeeringResponse>, tonic::Status> {
self.inner.ready().await.map_err(|e| {
tonic::Status::new(
tonic::Code::Unknown,
format!("Service was not ready: {}", e.into()),
)
})?;
let codec = tonic::codec::ProstCodec::default();
let path = http::uri::PathAndQuery::from_static(
"/google.cloud.datafusion.v1beta1.DataFusion/RemoveDnsPeering",
);
self.inner.unary(request.into_request(), path, codec).await
}
#[doc = " List DNS peering for a given resource."]
pub async fn list_dns_peerings(
&mut self,
request: impl tonic::IntoRequest<super::ListDnsPeeringsRequest>,
) -> Result<tonic::Response<super::ListDnsPeeringsResponse>, tonic::Status> {
self.inner.ready().await.map_err(|e| {
tonic::Status::new(
tonic::Code::Unknown,
format!("Service was not ready: {}", e.into()),
)
})?;
let codec = tonic::codec::ProstCodec::default();
let path = http::uri::PathAndQuery::from_static(
"/google.cloud.datafusion.v1beta1.DataFusion/ListDnsPeerings",
);
self.inner.unary(request.into_request(), path, codec).await
}
}
}