azure_sdk_storage_blob 0.45.3

Rust wrappers around Microsoft Azure REST APIs - Blob storage crate
Documentation
#![recursion_limit = "128"]
#![allow(clippy::needless_lifetimes)]

#[macro_use]
extern crate log;
#[macro_use]
extern crate serde_derive;
#[macro_use]
extern crate azure_sdk_core;
pub mod blob;
pub mod container;
pub mod prelude;
use azure_sdk_core::No;
use azure_sdk_storage_core::Client;
use std::borrow::Borrow;

pub trait Blob<C>
where
    C: Client,
{
    fn get_blob<'a>(&'a self) -> blob::requests::GetBlobBuilder<'a, C, No, No>;
    fn put_block_blob<'a>(&'a self) -> blob::requests::PutBlockBlobBuilder<'a, C, No, No, No>;
    fn put_page_blob<'a>(&'a self) -> blob::requests::PutPageBlobBuilder<'a, C, No, No, No>;
    fn put_append_blob<'a>(&'a self) -> blob::requests::PutAppendBlobBuilder<'a, C, No, No>;
    fn put_append_block<'a>(&'a self) -> blob::requests::PutAppendBlockBuilder<'a, C, No, No, No>;
    fn update_page<'a>(&'a self) -> blob::requests::UpdatePageBuilder<'a, C, No, No, No, No>;
    fn clear_page<'a>(&'a self) -> blob::requests::ClearPageBuilder<'a, C, No, No, No>;
    fn put_block<'a>(&'a self) -> blob::requests::PutBlockBuilder<'a, C, No, No, No, No>;
    fn get_block_list<'a>(&'a self) -> blob::requests::GetBlockListBuilder<'a, C, No, No, No>;
    fn put_block_list<'a, T: Borrow<[u8]> + 'a>(
        &'a self,
    ) -> blob::requests::PutBlockListBuilder<'a, C, T, No, No, No>;
    fn acquire_blob_lease<'a>(
        &'a self,
    ) -> blob::requests::AcquireBlobLeaseBuilder<'a, C, No, No, No>;
    fn renew_blob_lease<'a>(&'a self) -> blob::requests::RenewBlobLeaseBuilder<'a, C, No, No, No>;
    fn change_blob_lease<'a>(
        &'a self,
    ) -> blob::requests::ChangeBlobLeaseBuilder<'a, C, No, No, No, No>;
    fn release_blob_lease<'a>(
        &'a self,
    ) -> blob::requests::ReleaseBlobLeaseBuilder<'a, C, No, No, No>;
    fn break_blob_lease<'a>(&'a self) -> blob::requests::BreakBlobLeaseBuilder<'a, C, No, No, No>;
    fn delete_blob_snapshot<'a>(
        &'a self,
    ) -> blob::requests::DeleteBlobSnapshotBuilder<'a, C, No, No, No>;
    fn delete_blob<'a>(&'a self) -> blob::requests::DeleteBlobBuilder<'a, C, No, No, No>;
    fn stream_blob<'a>(&'a self) -> blob::requests::BlobStreamBuilder<'a, C, No, No, No>;
    fn copy_blob_from_url<'a>(
        &'a self,
    ) -> blob::requests::CopyBlobFromUrlBuilder<'a, C, No, No, No>;
    fn generate_signed_blob_url<'a>(
        &'a self,
    ) -> blob::requests::SignedUrlBuilder<'a, C, No, No, No>;
}

pub trait Container<C>
where
    C: Client,
{
    fn create_container<'a>(&'a self) -> container::requests::CreateBuilder<'a, C, No, No>;
    fn delete_container<'a>(&'a self) -> container::requests::DeleteBuilder<'a, C, No>;
    fn list_blobs<'a>(&'a self) -> container::requests::ListBlobBuilder<'a, C, No>;
    fn list_containers<'a>(&'a self) -> container::requests::ListBuilder<'a, C>;
    fn get_container_acl<'a>(&'a self) -> container::requests::GetACLBuilder<'a, C, No>;
    fn set_container_acl<'a>(&'a self) -> container::requests::SetACLBuilder<'a, C, No, No>;
    fn get_container_properties<'a>(
        &'a self,
    ) -> container::requests::GetPropertiesBuilder<'a, C, No>;
    fn acquire_container_lease<'a>(
        &'a self,
    ) -> container::requests::AcquireLeaseBuilder<'a, C, No, No>;
    fn renew_container_lease<'a>(&'a self)
        -> container::requests::RenewLeaseBuilder<'a, C, No, No>;
    fn release_container_lease<'a>(
        &'a self,
    ) -> container::requests::ReleaseLeaseBuilder<'a, C, No, No>;
    fn break_container_lease<'a>(&'a self) -> container::requests::BreakLeaseBuilder<'a, C, No>;
}

impl<C> Blob<C> for C
where
    C: Client,
{
    fn get_blob<'a>(&'a self) -> blob::requests::GetBlobBuilder<'a, C, No, No> {
        blob::requests::GetBlobBuilder::new(self)
    }

    fn put_block_blob<'a>(&'a self) -> blob::requests::PutBlockBlobBuilder<'a, C, No, No, No> {
        blob::requests::PutBlockBlobBuilder::new(self)
    }

    fn put_page_blob<'a>(&'a self) -> blob::requests::PutPageBlobBuilder<'a, C, No, No, No> {
        blob::requests::PutPageBlobBuilder::new(self)
    }

    fn put_append_blob<'a>(&'a self) -> blob::requests::PutAppendBlobBuilder<'a, C, No, No> {
        blob::requests::PutAppendBlobBuilder::new(self)
    }

    fn put_append_block<'a>(&'a self) -> blob::requests::PutAppendBlockBuilder<'a, C, No, No, No> {
        blob::requests::PutAppendBlockBuilder::new(self)
    }

    fn update_page<'a>(&'a self) -> blob::requests::UpdatePageBuilder<'a, C, No, No, No, No> {
        blob::requests::UpdatePageBuilder::new(self)
    }

    fn clear_page<'a>(&'a self) -> blob::requests::ClearPageBuilder<'a, C, No, No, No> {
        blob::requests::ClearPageBuilder::new(self)
    }

    fn put_block<'a>(&'a self) -> blob::requests::PutBlockBuilder<'a, C, No, No, No, No> {
        blob::requests::PutBlockBuilder::new(self)
    }

    fn get_block_list<'a>(&'a self) -> blob::requests::GetBlockListBuilder<'a, C, No, No, No> {
        blob::requests::GetBlockListBuilder::new(self)
    }

    fn put_block_list<'a, T: Borrow<[u8]> + 'a>(
        &'a self,
    ) -> blob::requests::PutBlockListBuilder<'a, C, T, No, No, No> {
        blob::requests::PutBlockListBuilder::new(self)
    }

    fn acquire_blob_lease<'a>(
        &'a self,
    ) -> blob::requests::AcquireBlobLeaseBuilder<'a, C, No, No, No> {
        blob::requests::AcquireBlobLeaseBuilder::new(self)
    }

    fn renew_blob_lease<'a>(&'a self) -> blob::requests::RenewBlobLeaseBuilder<'a, C, No, No, No> {
        blob::requests::RenewBlobLeaseBuilder::new(self)
    }

    fn change_blob_lease<'a>(
        &'a self,
    ) -> blob::requests::ChangeBlobLeaseBuilder<'a, C, No, No, No, No> {
        blob::requests::ChangeBlobLeaseBuilder::new(self)
    }

    fn release_blob_lease<'a>(
        &'a self,
    ) -> blob::requests::ReleaseBlobLeaseBuilder<'a, C, No, No, No> {
        blob::requests::ReleaseBlobLeaseBuilder::new(self)
    }

    fn break_blob_lease<'a>(&'a self) -> blob::requests::BreakBlobLeaseBuilder<'a, C, No, No, No> {
        blob::requests::BreakBlobLeaseBuilder::new(self)
    }

    fn delete_blob_snapshot<'a>(
        &'a self,
    ) -> blob::requests::DeleteBlobSnapshotBuilder<'a, C, No, No, No> {
        blob::requests::DeleteBlobSnapshotBuilder::new(self)
    }

    fn delete_blob<'a>(&'a self) -> blob::requests::DeleteBlobBuilder<'a, C, No, No, No> {
        blob::requests::DeleteBlobBuilder::new(self)
    }

    fn stream_blob<'a>(&'a self) -> blob::requests::BlobStreamBuilder<'a, C, No, No, No> {
        blob::requests::BlobStreamBuilder::new(self)
    }

    fn copy_blob_from_url<'a>(
        &'a self,
    ) -> blob::requests::CopyBlobFromUrlBuilder<'a, C, No, No, No> {
        blob::requests::CopyBlobFromUrlBuilder::new(self)
    }

    fn generate_signed_blob_url<'a>(
        &'a self,
    ) -> blob::requests::SignedUrlBuilder<'a, C, No, No, No> {
        blob::requests::SignedUrlBuilder::new(self)
    }
}

impl<C> Container<C> for C
where
    C: Client,
{
    fn list_blobs<'a>(&'a self) -> container::requests::ListBlobBuilder<'a, C, No> {
        container::requests::ListBlobBuilder::new(self)
    }

    fn create_container<'a>(&'a self) -> container::requests::CreateBuilder<'a, C, No, No> {
        container::requests::CreateBuilder::new(self)
    }

    fn delete_container<'a>(&'a self) -> container::requests::DeleteBuilder<'a, C, No> {
        container::requests::DeleteBuilder::new(self)
    }

    fn list_containers<'a>(&'a self) -> container::requests::ListBuilder<'a, C> {
        container::requests::ListBuilder::new(self)
    }

    fn get_container_acl<'a>(&'a self) -> container::requests::GetACLBuilder<'a, C, No> {
        container::requests::GetACLBuilder::new(self)
    }

    fn set_container_acl<'a>(&'a self) -> container::requests::SetACLBuilder<'a, C, No, No> {
        container::requests::SetACLBuilder::new(self)
    }

    fn get_container_properties<'a>(
        &'a self,
    ) -> container::requests::GetPropertiesBuilder<'a, C, No> {
        container::requests::GetPropertiesBuilder::new(self)
    }

    fn acquire_container_lease<'a>(
        &'a self,
    ) -> container::requests::AcquireLeaseBuilder<'a, C, No, No> {
        container::requests::AcquireLeaseBuilder::new(self)
    }

    fn renew_container_lease<'a>(
        &'a self,
    ) -> container::requests::RenewLeaseBuilder<'a, C, No, No> {
        container::requests::RenewLeaseBuilder::new(self)
    }

    fn release_container_lease<'a>(
        &'a self,
    ) -> container::requests::ReleaseLeaseBuilder<'a, C, No, No> {
        container::requests::ReleaseLeaseBuilder::new(self)
    }

    fn break_container_lease<'a>(&'a self) -> container::requests::BreakLeaseBuilder<'a, C, No> {
        container::requests::BreakLeaseBuilder::new(self)
    }
}