#[cfg_attr(feature = "python", ::pyo3::pyclass(get_all, set_all))]
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct AzureServicePrincipal {
#[prost(string, tag="1")]
pub directory_id: ::prost::alloc::string::String,
#[prost(string, tag="2")]
pub application_id: ::prost::alloc::string::String,
#[prost(oneof="azure_service_principal::Credential", tags="3, 5")]
pub credential: ::core::option::Option<azure_service_principal::Credential>,
}
pub mod azure_service_principal {
#[cfg_attr(feature = "python", ::pyo3::pyclass)]
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Oneof)]
pub enum Credential {
#[prost(string, tag="3")]
ClientSecret(::prost::alloc::string::String),
#[prost(string, tag="5")]
FederatedTokenFile(::prost::alloc::string::String),
}
}
#[cfg_attr(feature = "python", ::pyo3::pyclass(get_all, set_all))]
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct AzureManagedIdentity {
#[prost(string, tag="1")]
pub access_connector_id: ::prost::alloc::string::String,
#[prost(string, optional, tag="2")]
pub credential_id: ::core::option::Option<::prost::alloc::string::String>,
#[prost(string, optional, tag="3")]
pub managed_identity_id: ::core::option::Option<::prost::alloc::string::String>,
}
#[cfg_attr(feature = "python", ::pyo3::pyclass(get_all, set_all))]
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct AzureStorageKey {
#[prost(string, tag="1")]
pub account_name: ::prost::alloc::string::String,
#[prost(string, tag="2")]
pub account_key: ::prost::alloc::string::String,
}
#[cfg_attr(feature = "python", ::pyo3::pyclass(get_all, set_all))]
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct AwsIamRoleConfig {
#[prost(string, tag="1")]
pub role_arn: ::prost::alloc::string::String,
#[prost(string, optional, tag="2")]
pub region: ::core::option::Option<::prost::alloc::string::String>,
#[prost(string, optional, tag="3")]
pub access_key_id: ::core::option::Option<::prost::alloc::string::String>,
#[prost(string, optional, tag="4")]
pub secret_access_key: ::core::option::Option<::prost::alloc::string::String>,
#[prost(string, optional, tag="5")]
pub session_token: ::core::option::Option<::prost::alloc::string::String>,
}
#[cfg_attr(feature = "python", ::pyo3::pyclass(get_all, set_all))]
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct AwsIamRole {
#[prost(string, tag="1")]
pub external_id: ::prost::alloc::string::String,
#[prost(string, tag="2")]
pub role_arn: ::prost::alloc::string::String,
#[prost(string, tag="3")]
pub unity_catalog_iam_arn: ::prost::alloc::string::String,
}
#[cfg_attr(feature = "python", ::pyo3::pyclass(get_all, set_all))]
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct DatabricksGcpServiceAccount {
#[prost(string, optional, tag="1")]
pub credential_id: ::core::option::Option<::prost::alloc::string::String>,
#[prost(string, optional, tag="2")]
pub email: ::core::option::Option<::prost::alloc::string::String>,
#[prost(string, optional, tag="3")]
pub private_key_id: ::core::option::Option<::prost::alloc::string::String>,
}
#[cfg_attr(feature = "python", ::pyo3::pyclass(get_all, set_all))]
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Credential {
#[prost(string, tag="1")]
pub name: ::prost::alloc::string::String,
#[prost(string, optional, tag="2")]
pub id: ::core::option::Option<::prost::alloc::string::String>,
#[prost(enumeration="Purpose", tag="3")]
pub purpose: i32,
#[prost(bool, tag="4")]
pub read_only: bool,
#[prost(string, optional, tag="5")]
pub comment: ::core::option::Option<::prost::alloc::string::String>,
#[prost(string, optional, tag="6")]
pub owner: ::core::option::Option<::prost::alloc::string::String>,
#[prost(int64, optional, tag="7")]
pub created_at: ::core::option::Option<i64>,
#[prost(string, optional, tag="8")]
pub created_by: ::core::option::Option<::prost::alloc::string::String>,
#[prost(int64, optional, tag="9")]
pub updated_at: ::core::option::Option<i64>,
#[prost(string, optional, tag="10")]
pub updated_by: ::core::option::Option<::prost::alloc::string::String>,
#[prost(bool, tag="11")]
pub used_for_managed_storage: bool,
#[prost(string, optional, tag="12")]
pub full_name: ::core::option::Option<::prost::alloc::string::String>,
#[prost(message, optional, tag="100")]
pub azure_service_principal: ::core::option::Option<AzureServicePrincipal>,
#[prost(message, optional, tag="101")]
pub azure_managed_identity: ::core::option::Option<AzureManagedIdentity>,
#[prost(message, optional, tag="102")]
pub azure_storage_key: ::core::option::Option<AzureStorageKey>,
#[prost(message, optional, tag="103")]
pub aws_iam_role: ::core::option::Option<AwsIamRoleConfig>,
#[prost(message, optional, tag="104")]
pub databricks_gcp_service_account: ::core::option::Option<DatabricksGcpServiceAccount>,
}
#[cfg_attr(feature = "python", ::pyo3::pyclass)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum Purpose {
Unspecified = 0,
Storage = 1,
Service = 2,
}
impl Purpose {
pub fn as_str_name(&self) -> &'static str {
match self {
Self::Unspecified => "PURPOSE_UNSPECIFIED",
Self::Storage => "STORAGE",
Self::Service => "SERVICE",
}
}
pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
match value {
"PURPOSE_UNSPECIFIED" => Some(Self::Unspecified),
"STORAGE" => Some(Self::Storage),
"SERVICE" => Some(Self::Service),
_ => None,
}
}
}
#[cfg_attr(feature = "python", ::pyo3::pyclass(get_all, set_all))]
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct ListCredentialsRequest {
#[prost(enumeration="Purpose", optional, tag="1")]
pub purpose: ::core::option::Option<i32>,
#[prost(int32, optional, tag="2")]
pub max_results: ::core::option::Option<i32>,
#[prost(string, optional, tag="3")]
pub page_token: ::core::option::Option<::prost::alloc::string::String>,
}
#[cfg_attr(feature = "python", ::pyo3::pyclass(get_all, set_all))]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct ListCredentialsResponse {
#[prost(message, repeated, tag="1")]
pub credentials: ::prost::alloc::vec::Vec<Credential>,
#[prost(string, optional, tag="2")]
pub next_page_token: ::core::option::Option<::prost::alloc::string::String>,
}
#[cfg_attr(feature = "python", ::pyo3::pyclass(get_all, set_all))]
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct CreateCredentialRequest {
#[prost(string, tag="1")]
pub name: ::prost::alloc::string::String,
#[prost(enumeration="Purpose", tag="2")]
pub purpose: i32,
#[prost(string, optional, tag="3")]
pub comment: ::core::option::Option<::prost::alloc::string::String>,
#[prost(bool, optional, tag="4")]
pub read_only: ::core::option::Option<bool>,
#[prost(bool, optional, tag="5")]
pub skip_validation: ::core::option::Option<bool>,
#[prost(message, optional, tag="100")]
pub azure_service_principal: ::core::option::Option<AzureServicePrincipal>,
#[prost(message, optional, tag="101")]
pub azure_managed_identity: ::core::option::Option<AzureManagedIdentity>,
#[prost(message, optional, tag="102")]
pub azure_storage_key: ::core::option::Option<AzureStorageKey>,
#[prost(message, optional, tag="103")]
pub aws_iam_role: ::core::option::Option<AwsIamRoleConfig>,
#[prost(message, optional, tag="104")]
pub databricks_gcp_service_account: ::core::option::Option<DatabricksGcpServiceAccount>,
}
#[cfg_attr(feature = "python", ::pyo3::pyclass(get_all, set_all))]
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct GetCredentialRequest {
#[prost(string, tag="1")]
pub name: ::prost::alloc::string::String,
}
#[cfg_attr(feature = "python", ::pyo3::pyclass(get_all, set_all))]
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct UpdateCredentialRequest {
#[prost(string, tag="1")]
pub name: ::prost::alloc::string::String,
#[prost(string, optional, tag="2")]
pub new_name: ::core::option::Option<::prost::alloc::string::String>,
#[prost(string, optional, tag="3")]
pub comment: ::core::option::Option<::prost::alloc::string::String>,
#[prost(bool, optional, tag="4")]
pub read_only: ::core::option::Option<bool>,
#[prost(string, optional, tag="5")]
pub owner: ::core::option::Option<::prost::alloc::string::String>,
#[prost(bool, optional, tag="6")]
pub skip_validation: ::core::option::Option<bool>,
#[prost(bool, optional, tag="7")]
pub force: ::core::option::Option<bool>,
#[prost(message, optional, tag="100")]
pub azure_service_principal: ::core::option::Option<AzureServicePrincipal>,
#[prost(message, optional, tag="101")]
pub azure_managed_identity: ::core::option::Option<AzureManagedIdentity>,
#[prost(message, optional, tag="102")]
pub azure_storage_key: ::core::option::Option<AzureStorageKey>,
#[prost(message, optional, tag="103")]
pub aws_iam_role: ::core::option::Option<AwsIamRoleConfig>,
#[prost(message, optional, tag="104")]
pub databricks_gcp_service_account: ::core::option::Option<DatabricksGcpServiceAccount>,
}
#[cfg_attr(feature = "python", ::pyo3::pyclass(get_all, set_all))]
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct DeleteCredentialRequest {
#[prost(string, tag="1")]
pub name: ::prost::alloc::string::String,
}
include!("unitycatalog.credentials.v1.serde.rs");