pub struct AccessTokenScope {
pub basins: Option<ResourceSet>,
pub streams: Option<ResourceSet>,
pub access_tokens: Option<ResourceSet>,
pub op_groups: Option<PermittedOperationGroups>,
pub ops: HashSet<Operation>,
}๐Deprecated since 0.21.1: This crate has been renamed to
s2-sdk. Please update your Cargo.toml to use s2-sdk instead.Expand description
Access token scope.
Fieldsยง
ยงbasins: Option<ResourceSet>๐Deprecated since 0.21.1: This crate has been renamed to
s2-sdk. Please update your Cargo.toml to use s2-sdk instead.Basin names allowed.
streams: Option<ResourceSet>๐Deprecated since 0.21.1: This crate has been renamed to
s2-sdk. Please update your Cargo.toml to use s2-sdk instead.Stream names allowed.
access_tokens: Option<ResourceSet>๐Deprecated since 0.21.1: This crate has been renamed to
s2-sdk. Please update your Cargo.toml to use s2-sdk instead.Token IDs allowed.
op_groups: Option<PermittedOperationGroups>๐Deprecated since 0.21.1: This crate has been renamed to
s2-sdk. Please update your Cargo.toml to use s2-sdk instead.Access permissions at operation group level.
ops: HashSet<Operation>๐Deprecated since 0.21.1: This crate has been renamed to
s2-sdk. Please update your Cargo.toml to use s2-sdk instead.Operations allowed for the token. A union of allowed operations and groups is used as an effective set of allowed operations.
Implementationsยง
Sourceยงimpl AccessTokenScope
impl AccessTokenScope
Sourcepub fn new() -> Self
๐Deprecated since 0.21.1: This crate has been renamed to s2-sdk. Please update your Cargo.toml to use s2-sdk instead.
pub fn new() -> Self
s2-sdk. Please update your Cargo.toml to use s2-sdk instead.Create a new access token scope.
Examples found in repository?
examples/issue_access_token.rs (line 17)
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_basins(self, basins: ResourceSet) -> Self
๐Deprecated since 0.21.1: This crate has been renamed to s2-sdk. Please update your Cargo.toml to use s2-sdk instead.
pub fn with_basins(self, basins: ResourceSet) -> Self
s2-sdk. Please update your Cargo.toml to use s2-sdk instead.Overwrite resource set for access tokens.
Examples found in repository?
examples/issue_access_token.rs (line 24)
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_streams(self, streams: ResourceSet) -> Self
๐Deprecated since 0.21.1: This crate has been renamed to s2-sdk. Please update your Cargo.toml to use s2-sdk instead.
pub fn with_streams(self, streams: ResourceSet) -> Self
s2-sdk. Please update your Cargo.toml to use s2-sdk instead.Overwrite resource set for streams.
Examples found in repository?
examples/issue_access_token.rs (line 23)
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_tokens(self, access_tokens: ResourceSet) -> Self
๐Deprecated since 0.21.1: This crate has been renamed to s2-sdk. Please update your Cargo.toml to use s2-sdk instead.
pub fn with_tokens(self, access_tokens: ResourceSet) -> Self
s2-sdk. Please update your Cargo.toml to use s2-sdk instead.Overwrite resource set for access tokens.
Sourcepub fn with_op_groups(self, op_groups: PermittedOperationGroups) -> Self
๐Deprecated since 0.21.1: This crate has been renamed to s2-sdk. Please update your Cargo.toml to use s2-sdk instead.
pub fn with_op_groups(self, op_groups: PermittedOperationGroups) -> Self
s2-sdk. Please update your Cargo.toml to use s2-sdk instead.Overwrite operation groups.
Examples found in repository?
examples/issue_access_token.rs (lines 18-21)
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_ops(self, ops: impl IntoIterator<Item = Operation>) -> Self
๐Deprecated since 0.21.1: This crate has been renamed to s2-sdk. Please update your Cargo.toml to use s2-sdk instead.
pub fn with_ops(self, ops: impl IntoIterator<Item = Operation>) -> Self
s2-sdk. Please update your Cargo.toml to use s2-sdk instead.Overwrite operations.
Sourcepub fn with_op(self, op: Operation) -> Self
๐Deprecated since 0.21.1: This crate has been renamed to s2-sdk. Please update your Cargo.toml to use s2-sdk instead.
pub fn with_op(self, op: Operation) -> Self
s2-sdk. Please update your Cargo.toml to use s2-sdk instead.Add an operation to operations.
Examples found in repository?
examples/issue_access_token.rs (line 22)
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}Trait Implementationsยง
Sourceยงimpl Clone for AccessTokenScope
impl Clone for AccessTokenScope
Sourceยงfn clone(&self) -> AccessTokenScope
fn clone(&self) -> AccessTokenScope
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 AccessTokenScope
impl Debug for AccessTokenScope
Sourceยงimpl Default for AccessTokenScope
impl Default for AccessTokenScope
Sourceยงfn default() -> AccessTokenScope
fn default() -> AccessTokenScope
Returns the โdefault valueโ for a type. Read more
Auto Trait Implementationsยง
impl Freeze for AccessTokenScope
impl RefUnwindSafe for AccessTokenScope
impl Send for AccessTokenScope
impl Sync for AccessTokenScope
impl Unpin for AccessTokenScope
impl UnwindSafe for AccessTokenScope
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