Skip to main content

ResolveBindingResponse

Enum ResolveBindingResponse 

Source
pub enum ResolveBindingResponse {
Show 18 variants 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, }, Sqs { binding: RemoteSqsQueueBinding, client_config: RemoteAwsClientConfig, expires_at: String, }, Pubsub { binding: RemotePubsubQueueBinding, client_config: RemoteGcpClientConfig, expires_at: String, }, Servicebus { binding: RemoteServiceBusQueueBinding, client_config: RemoteAzureClientConfig, expires_at: String, }, Dynamodb { binding: RemoteDynamodbKvBinding, client_config: RemoteAwsClientConfig, expires_at: String, }, Firestore { binding: RemoteFirestoreKvBinding, client_config: RemoteGcpClientConfig, expires_at: String, }, Tablestorage { binding: RemoteTableStorageKvBinding, client_config: RemoteAzureClientConfig, 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, }, SandboxAws { binding: RemoteAwsSandboxBinding, client_config: RemoteAwsClientConfig, expires_at: String, }, SandboxAzure { binding: RemoteAzureSandboxBinding, client_config: RemoteAzureClientConfig, expires_at: String, }, SandboxGcpAgentPlatform { binding: RemoteGcpSandboxBinding, client_config: RemoteGcpClientConfig, expires_at: 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": "Send-only Sqs queue and a short-lived credential lease.",
     "type": "object",
     "required": [
       "binding",
       "clientConfig",
       "expiresAt",
       "service"
     ],
     "properties": {
       "binding": {
         "$ref": "#/components/schemas/RemoteSqsQueueBinding"
       },
       "clientConfig": {
         "$ref": "#/components/schemas/RemoteAwsClientConfig"
       },
       "expiresAt": {
         "type": "string"
       },
       "service": {
         "type": "string",
         "enum": [
           "sqs"
         ]
       }
     }
   },
   {
     "description": "Send-only Pubsub queue and a short-lived credential lease.",
     "type": "object",
     "required": [
       "binding",
       "clientConfig",
       "expiresAt",
       "service"
     ],
     "properties": {
       "binding": {
         "$ref": "#/components/schemas/RemotePubsubQueueBinding"
       },
       "clientConfig": {
         "$ref": "#/components/schemas/RemoteGcpClientConfig"
       },
       "expiresAt": {
         "type": "string"
       },
       "service": {
         "type": "string",
         "enum": [
           "pubsub"
         ]
       }
     }
   },
   {
     "description": "Send-only Servicebus queue and a short-lived credential lease.",
     "type": "object",
     "required": [
       "binding",
       "clientConfig",
       "expiresAt",
       "service"
     ],
     "properties": {
       "binding": {
         "$ref": "#/components/schemas/RemoteServiceBusQueueBinding"
       },
       "clientConfig": {
         "$ref": "#/components/schemas/RemoteAzureClientConfig"
       },
       "expiresAt": {
         "type": "string"
       },
       "service": {
         "type": "string",
         "enum": [
           "servicebus"
         ]
       }
     }
   },
   {
     "description": "AWS DynamoDB KV table and an AWS session.",
     "type": "object",
     "required": [
       "binding",
       "clientConfig",
       "expiresAt",
       "service"
     ],
     "properties": {
       "binding": {
         "$ref": "#/components/schemas/RemoteDynamodbKvBinding"
       },
       "clientConfig": {
         "$ref": "#/components/schemas/RemoteAwsClientConfig"
       },
       "expiresAt": {
         "type": "string"
       },
       "service": {
         "type": "string",
         "enum": [
           "dynamodb"
         ]
       }
     }
   },
   {
     "description": "GCP Firestore KV collection and an access token.",
     "type": "object",
     "required": [
       "binding",
       "clientConfig",
       "expiresAt",
       "service"
     ],
     "properties": {
       "binding": {
         "$ref": "#/components/schemas/RemoteFirestoreKvBinding"
       },
       "clientConfig": {
         "$ref": "#/components/schemas/RemoteGcpClientConfig"
       },
       "expiresAt": {
         "type": "string"
       },
       "service": {
         "type": "string",
         "enum": [
           "firestore"
         ]
       }
     }
   },
   {
     "description": "Azure Table Storage KV table and a storage-audience access token.",
     "type": "object",
     "required": [
       "binding",
       "clientConfig",
       "expiresAt",
       "service"
     ],
     "properties": {
       "binding": {
         "$ref": "#/components/schemas/RemoteTableStorageKvBinding"
       },
       "clientConfig": {
         "$ref": "#/components/schemas/RemoteAzureClientConfig"
       },
       "expiresAt": {
         "type": "string"
       },
       "service": {
         "type": "string",
         "enum": [
           "tablestorage"
         ]
       }
     }
   },
   {
     "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"
         ]
       }
     }
   },
   {
     "description": "AWS Lambda MicroVM sandbox and an AWS session.",
     "type": "object",
     "required": [
       "binding",
       "clientConfig",
       "expiresAt",
       "service"
     ],
     "properties": {
       "binding": {
         "$ref": "#/components/schemas/RemoteAwsSandboxBinding"
       },
       "clientConfig": {
         "$ref": "#/components/schemas/RemoteAwsClientConfig"
       },
       "expiresAt": {
         "type": "string"
       },
       "service": {
         "type": "string",
         "enum": [
           "sandbox-aws"
         ]
       }
     }
   },
   {
     "description": "Azure Container Apps sandbox group and an Azure data-plane token.",
     "type": "object",
     "required": [
       "binding",
       "clientConfig",
       "expiresAt",
       "service"
     ],
     "properties": {
       "binding": {
         "$ref": "#/components/schemas/RemoteAzureSandboxBinding"
       },
       "clientConfig": {
         "$ref": "#/components/schemas/RemoteAzureClientConfig"
       },
       "expiresAt": {
         "type": "string"
       },
       "service": {
         "type": "string",
         "enum": [
           "sandbox-azure"
         ]
       }
     }
   },
   {
     "description": "GCP Agent Platform reasoning engine and a GCP access token.",
     "type": "object",
     "required": [
       "binding",
       "clientConfig",
       "expiresAt",
       "service"
     ],
     "properties": {
       "binding": {
         "$ref": "#/components/schemas/RemoteGcpSandboxBinding"
       },
       "clientConfig": {
         "$ref": "#/components/schemas/RemoteGcpClientConfig"
       },
       "expiresAt": {
         "type": "string"
       },
       "service": {
         "type": "string",
         "enum": [
           "sandbox-gcp-agent-platform"
         ]
       }
     }
   }
 ]
}

Variants§

§

S3

AWS S3 and an AWS session.

Fields

§expires_at: String
§

Blob

Azure Blob Storage and a storage-audience access token.

Fields

§expires_at: String
§

Gcs

Google Cloud Storage and a Remote Bindings identity access token.

Fields

§expires_at: String
§

Sqs

Send-only Sqs queue and a short-lived credential lease.

Fields

§expires_at: String
§

Pubsub

Send-only Pubsub queue and a short-lived credential lease.

Fields

§expires_at: String
§

Servicebus

Send-only Servicebus queue and a short-lived credential lease.

Fields

§expires_at: String
§

Dynamodb

AWS DynamoDB KV table and an AWS session.

Fields

§expires_at: String
§

Firestore

GCP Firestore KV collection and an access token.

Fields

§expires_at: String
§

Tablestorage

Azure Table Storage KV table and a storage-audience access token.

Fields

§expires_at: String
§

Kms

AWS KMS key and an AWS session.

Fields

§expires_at: String
§

CloudKms

GCP Cloud KMS key and an access token.

Fields

§expires_at: String
§

KeyVaultKey

Azure Key Vault key and a vault-audience access token.

§

Bedrock

AWS Bedrock and an AWS session.

Fields

§expires_at: String
§resource_id: String
§

Vertex

GCP Vertex AI and an access token.

Fields

§expires_at: String
§resource_id: String
§

Foundry

Azure AI Foundry and a Cognitive Services access token.

Fields

§expires_at: String
§resource_id: String
§

SandboxAws

AWS Lambda MicroVM sandbox and an AWS session.

Fields

§expires_at: String
§

SandboxAzure

Azure Container Apps sandbox group and an Azure data-plane token.

Fields

§expires_at: String
§

SandboxGcpAgentPlatform

GCP Agent Platform reasoning engine and a GCP access token.

Fields

§expires_at: String

Trait Implementations§

Source§

impl Clone for ResolveBindingResponse

Source§

fn clone(&self) -> Self

Returns a duplicate of the value. Read more
1.0.0 (const: unstable) · Source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
Source§

impl Debug for ResolveBindingResponse

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
Source§

impl<'de> Deserialize<'de> for ResolveBindingResponse

Source§

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

Source§

fn from(value: &ResolveBindingResponse) -> Self

Converts to this type from the input type.
Source§

impl Serialize for ResolveBindingResponse

Source§

fn serialize<__S>(&self, __serializer: __S) -> Result<__S::Ok, __S::Error>
where __S: Serializer,

Serialize this value into the given Serde serializer. Read more

Auto Trait Implementations§

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> CloneToUninit for T
where T: Clone,

Source§

unsafe fn clone_to_uninit(&self, dest: *mut u8)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dest. Read more
Source§

impl<T> DeserializeOwned for T
where T: for<'de> Deserialize<'de>,

Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T> Instrument for T

Source§

fn instrument(self, span: Span) -> Instrumented<Self> ⓘ

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more
Source§

fn in_current_span(self) -> Instrumented<Self> ⓘ

Instruments this type with the current Span, returning an Instrumented wrapper. Read more
Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T> PolicyExt for T
where T: ?Sized,

Source§

fn and<P, B, E>(self, other: P) -> And<T, P>
where T: Sized + Policy<B, E>, P: Policy<B, E>,

Create a new Policy that returns Action::Follow only if self and other return Action::Follow. Read more
Source§

fn or<P, B, E>(self, other: P) -> Or<T, P>
where T: Sized + Policy<B, E>, P: Policy<B, E>,

Create a new Policy that returns Action::Follow if either self or other returns Action::Follow. Read more
Source§

impl<T> ToOwned for T
where T: Clone,

Source§

type Owned = T

The resulting type after obtaining ownership.
Source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
Source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = !

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, !>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
Source§

impl<T> WithSubscriber for T

Source§

fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self> ⓘ
where S: Into<Dispatch>,

Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more
Source§

fn with_current_subscriber(self) -> WithDispatch<Self> ⓘ

Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more