pub enum ResolveBindingResponse {
S3 {
binding: RemoteS3StorageBinding,
client_config: RemoteAwsClientConfig,
expires_at: String,
},
Blob {
binding: RemoteBlobStorageBinding,
client_config: RemoteAzureClientConfig,
expires_at: String,
},
Gcs {
binding: RemoteGcsStorageBinding,
client_config: RemoteGcpClientConfig,
expires_at: String,
},
Kms {
binding: RemoteAwsKmsKeyBinding,
client_config: RemoteAwsClientConfig,
expires_at: String,
},
CloudKms {
binding: RemoteGcpCloudKmsKeyBinding,
client_config: RemoteGcpClientConfig,
expires_at: String,
},
KeyVaultKey {
binding: RemoteAzureKeyVaultKeyBinding,
client_config: RemoteAzureClientConfig,
expires_at: String,
},
Bedrock {
binding: RemoteAwsBedrockAiBinding,
client_config: RemoteAwsClientConfig,
expires_at: String,
resource_id: String,
},
Vertex {
binding: RemoteGcpVertexAiBinding,
client_config: RemoteGcpClientConfig,
expires_at: String,
resource_id: String,
},
Foundry {
binding: RemoteAzureFoundryAiBinding,
client_config: RemoteAzureClientConfig,
expires_at: String,
resource_id: String,
},
}Expand description
One approved remote Storage binding paired with credentials for the same provider. The discriminant makes cross-provider combinations impossible.
JSON schema
{
"description": "One approved remote Storage binding paired with credentials for the same\nprovider. The discriminant makes cross-provider combinations impossible.",
"oneOf": [
{
"description": "AWS S3 and an AWS session.",
"type": "object",
"required": [
"binding",
"clientConfig",
"expiresAt",
"service"
],
"properties": {
"binding": {
"$ref": "#/components/schemas/RemoteS3StorageBinding"
},
"clientConfig": {
"$ref": "#/components/schemas/RemoteAwsClientConfig"
},
"expiresAt": {
"type": "string"
},
"service": {
"type": "string",
"enum": [
"s3"
]
}
}
},
{
"description": "Azure Blob Storage and a storage-audience access token.",
"type": "object",
"required": [
"binding",
"clientConfig",
"expiresAt",
"service"
],
"properties": {
"binding": {
"$ref": "#/components/schemas/RemoteBlobStorageBinding"
},
"clientConfig": {
"$ref": "#/components/schemas/RemoteAzureClientConfig"
},
"expiresAt": {
"type": "string"
},
"service": {
"type": "string",
"enum": [
"blob"
]
}
}
},
{
"description": "Google Cloud Storage and a Remote Bindings identity access token.",
"type": "object",
"required": [
"binding",
"clientConfig",
"expiresAt",
"service"
],
"properties": {
"binding": {
"$ref": "#/components/schemas/RemoteGcsStorageBinding"
},
"clientConfig": {
"$ref": "#/components/schemas/RemoteGcpClientConfig"
},
"expiresAt": {
"type": "string"
},
"service": {
"type": "string",
"enum": [
"gcs"
]
}
}
},
{
"description": "AWS KMS key and an AWS session.",
"type": "object",
"required": [
"binding",
"clientConfig",
"expiresAt",
"service"
],
"properties": {
"binding": {
"$ref": "#/components/schemas/RemoteAwsKmsKeyBinding"
},
"clientConfig": {
"$ref": "#/components/schemas/RemoteAwsClientConfig"
},
"expiresAt": {
"type": "string"
},
"service": {
"type": "string",
"enum": [
"kms"
]
}
}
},
{
"description": "GCP Cloud KMS key and an access token.",
"type": "object",
"required": [
"binding",
"clientConfig",
"expiresAt",
"service"
],
"properties": {
"binding": {
"$ref": "#/components/schemas/RemoteGcpCloudKmsKeyBinding"
},
"clientConfig": {
"$ref": "#/components/schemas/RemoteGcpClientConfig"
},
"expiresAt": {
"type": "string"
},
"service": {
"type": "string",
"enum": [
"cloud-kms"
]
}
}
},
{
"description": "Azure Key Vault key and a vault-audience access token.",
"type": "object",
"required": [
"binding",
"clientConfig",
"expiresAt",
"service"
],
"properties": {
"binding": {
"$ref": "#/components/schemas/RemoteAzureKeyVaultKeyBinding"
},
"clientConfig": {
"$ref": "#/components/schemas/RemoteAzureClientConfig"
},
"expiresAt": {
"type": "string"
},
"service": {
"type": "string",
"enum": [
"key-vault-key"
]
}
}
},
{
"description": "AWS Bedrock and an AWS session.",
"type": "object",
"required": [
"binding",
"clientConfig",
"expiresAt",
"resourceId",
"service"
],
"properties": {
"binding": {
"$ref": "#/components/schemas/RemoteAwsBedrockAiBinding"
},
"clientConfig": {
"$ref": "#/components/schemas/RemoteAwsClientConfig"
},
"expiresAt": {
"type": "string"
},
"resourceId": {
"type": "string"
},
"service": {
"type": "string",
"enum": [
"bedrock"
]
}
}
},
{
"description": "GCP Vertex AI and an access token.",
"type": "object",
"required": [
"binding",
"clientConfig",
"expiresAt",
"resourceId",
"service"
],
"properties": {
"binding": {
"$ref": "#/components/schemas/RemoteGcpVertexAiBinding"
},
"clientConfig": {
"$ref": "#/components/schemas/RemoteGcpClientConfig"
},
"expiresAt": {
"type": "string"
},
"resourceId": {
"type": "string"
},
"service": {
"type": "string",
"enum": [
"vertex"
]
}
}
},
{
"description": "Azure AI Foundry and a Cognitive Services access token.",
"type": "object",
"required": [
"binding",
"clientConfig",
"expiresAt",
"resourceId",
"service"
],
"properties": {
"binding": {
"$ref": "#/components/schemas/RemoteAzureFoundryAiBinding"
},
"clientConfig": {
"$ref": "#/components/schemas/RemoteAzureClientConfig"
},
"expiresAt": {
"type": "string"
},
"resourceId": {
"type": "string"
},
"service": {
"type": "string",
"enum": [
"foundry"
]
}
}
}
]
}Variants§
S3
AWS S3 and an AWS session.
Blob
Azure Blob Storage and a storage-audience access token.
Gcs
Google Cloud Storage and a Remote Bindings identity access token.
Kms
AWS KMS key and an AWS session.
CloudKms
GCP Cloud KMS key and an access token.
KeyVaultKey
Azure Key Vault key and a vault-audience access token.
Bedrock
AWS Bedrock and an AWS session.
Vertex
GCP Vertex AI and an access token.
Foundry
Azure AI Foundry and a Cognitive Services access token.
Trait Implementations§
Source§impl Clone for ResolveBindingResponse
impl Clone for ResolveBindingResponse
Source§fn clone(&self) -> ResolveBindingResponse
fn clone(&self) -> ResolveBindingResponse
Returns a duplicate of the value. Read more
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreSource§impl Debug for ResolveBindingResponse
impl Debug for ResolveBindingResponse
Source§impl<'de> Deserialize<'de> for ResolveBindingResponse
impl<'de> Deserialize<'de> for ResolveBindingResponse
Source§fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
Deserialize this value from the given Serde deserializer. Read more
Source§impl From<&ResolveBindingResponse> for ResolveBindingResponse
impl From<&ResolveBindingResponse> for ResolveBindingResponse
Source§fn from(value: &ResolveBindingResponse) -> Self
fn from(value: &ResolveBindingResponse) -> Self
Converts to this type from the input type.
Auto Trait Implementations§
impl Freeze for ResolveBindingResponse
impl RefUnwindSafe for ResolveBindingResponse
impl Send for ResolveBindingResponse
impl Sync for ResolveBindingResponse
impl Unpin for ResolveBindingResponse
impl UnsafeUnpin for ResolveBindingResponse
impl UnwindSafe for ResolveBindingResponse
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more