pub struct PermittedOperationGroups {
pub account: Option<ReadWritePermissions>,
pub basin: Option<ReadWritePermissions>,
pub stream: Option<ReadWritePermissions>,
}
Expand description
Access permissions for a group.
Fields§
§account: Option<ReadWritePermissions>
Access permissions at account level.
basin: Option<ReadWritePermissions>
Access permissions at basin level.
stream: Option<ReadWritePermissions>
Access permissions at stream level.
Implementations§
Source§impl PermittedOperationGroups
impl PermittedOperationGroups
Sourcepub fn new() -> Self
pub fn new() -> Self
Create a new permitted operation groups.
Examples found in repository?
examples/issue_access_token.rs (line 19)
10async fn main() -> Result<(), Box<dyn std::error::Error>> {
11 let token = std::env::var("S2_ACCESS_TOKEN")?;
12 let config = ClientConfig::new(token);
13 let client = Client::new(config);
14
15 let access_token_id: AccessTokenId = "my-access-token".parse()?;
16 let access_token_info = AccessTokenInfo::new(access_token_id).with_scope(
17 AccessTokenScope::new()
18 .with_op_groups(
19 PermittedOperationGroups::new()
20 .with_account(ReadWritePermissions::new().with_read(true)),
21 )
22 .with_op(Operation::CreateStream)
23 .with_streams(ResourceSet::Prefix("my-stream-prefix".to_string()))
24 .with_basins(ResourceSet::Exact("my-perfect-basin".to_string())),
25 );
26 let token = client.issue_access_token(access_token_info).await?;
27
28 println!("Access token: {token}");
29
30 Ok(())
31}
Sourcepub fn with_account(self, account: ReadWritePermissions) -> Self
pub fn with_account(self, account: ReadWritePermissions) -> Self
Overwrite account read-write permissions.
Examples found in repository?
examples/issue_access_token.rs (line 20)
10async fn main() -> Result<(), Box<dyn std::error::Error>> {
11 let token = std::env::var("S2_ACCESS_TOKEN")?;
12 let config = ClientConfig::new(token);
13 let client = Client::new(config);
14
15 let access_token_id: AccessTokenId = "my-access-token".parse()?;
16 let access_token_info = AccessTokenInfo::new(access_token_id).with_scope(
17 AccessTokenScope::new()
18 .with_op_groups(
19 PermittedOperationGroups::new()
20 .with_account(ReadWritePermissions::new().with_read(true)),
21 )
22 .with_op(Operation::CreateStream)
23 .with_streams(ResourceSet::Prefix("my-stream-prefix".to_string()))
24 .with_basins(ResourceSet::Exact("my-perfect-basin".to_string())),
25 );
26 let token = client.issue_access_token(access_token_info).await?;
27
28 println!("Access token: {token}");
29
30 Ok(())
31}
Sourcepub fn with_basin(self, basin: ReadWritePermissions) -> Self
pub fn with_basin(self, basin: ReadWritePermissions) -> Self
Overwrite basin read-write permissions.
Sourcepub fn with_stream(self, stream: ReadWritePermissions) -> Self
pub fn with_stream(self, stream: ReadWritePermissions) -> Self
Overwrite stream read-write permissions.
Trait Implementations§
Source§impl Clone for PermittedOperationGroups
impl Clone for PermittedOperationGroups
Source§fn clone(&self) -> PermittedOperationGroups
fn clone(&self) -> PermittedOperationGroups
Returns a duplicate of the value. Read more
1.0.0 · 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 PermittedOperationGroups
impl Debug for PermittedOperationGroups
Source§impl Default for PermittedOperationGroups
impl Default for PermittedOperationGroups
Source§fn default() -> PermittedOperationGroups
fn default() -> PermittedOperationGroups
Returns the “default value” for a type. Read more
Auto Trait Implementations§
impl Freeze for PermittedOperationGroups
impl RefUnwindSafe for PermittedOperationGroups
impl Send for PermittedOperationGroups
impl Sync for PermittedOperationGroups
impl Unpin for PermittedOperationGroups
impl UnwindSafe for PermittedOperationGroups
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
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
Source§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
Source§impl<T> IntoRequest<T> for T
impl<T> IntoRequest<T> for T
Source§fn into_request(self) -> Request<T>
fn into_request(self) -> Request<T>
Wrap the input message
T
in a tonic::Request