Skip to main content

CloudProvider

Trait CloudProvider 

Source
pub trait CloudProvider {
    type Error: Error + Send + Sync + 'static;

    // Required methods
    fn list_api_methods(&self) -> Vec<ApiMethod>;
    fn list_sdks(&self) -> Vec<Sdk>;
    fn sdk_method_mappings(
        &self,
        resolved_sdk: &ResolvedSdk,
    ) -> Result<Vec<SdkMethodMapping>, Self::Error>;
    fn permissions_policy(
        &self,
        methods: &[ApiMethod],
    ) -> Result<Value, Self::Error>;
}

Required Associated Types§

Source

type Error: Error + Send + Sync + 'static

Required Methods§

Source

fn list_api_methods(&self) -> Vec<ApiMethod>

Source

fn list_sdks(&self) -> Vec<Sdk>

Source

fn sdk_method_mappings( &self, resolved_sdk: &ResolvedSdk, ) -> Result<Vec<SdkMethodMapping>, Self::Error>

§Errors

Returns an error when the SDK is unsupported or when its resolved modules contain missing, replaced, or unsupported versions.

Source

fn permissions_policy( &self, methods: &[ApiMethod], ) -> Result<Value, Self::Error>

§Errors

Returns an error when the provider cannot map every requested API method to a permissions policy entry.

Dyn Compatibility§

This trait is dyn compatible.

In older versions of Rust, dyn compatibility was called "object safety".

Implementors§