Skip to main content

AuthzPermissionV1

Struct AuthzPermissionV1 

Source
pub struct AuthzPermissionV1 {
    pub id: GtsInstanceId,
    pub resource_type: String,
    pub action: String,
    pub display_name: String,
}
Expand description

Base GTS Type for authorization permissions.

Permissions are well-known GTS Instances of this type; declaring gears register them via the gts_instance! macro (preferred, compile-time) or TypesRegistryClient::register (runtime).

GTS Type Identifier: gts.cf.toolkit.authz.permission.v1~

Fields§

§id: GtsInstanceId

Full GTS Instance Identifier of this permission (e.g. gts.cf.toolkit.authz.permission.v1~cf.mini_chat._.chat_read.v1).

§resource_type: String

GTS expression identifying the set of resources this permission applies to. Accepts concrete IDs, wildcard patterns (GTS §3.5), or Query Language predicates (GTS §3.3).

§action: String

Concrete action name (lowercase snake_case). No wildcard, no list. Examples: create, read, list, retry_turn, upload_attachment.

§display_name: String

Human-readable label for admin UIs. Examples: “Create tenant”, “Retry chat turn”.

Implementations§

Source§

impl AuthzPermissionV1

Source

pub fn gts_type_id() -> &'static GtsTypeId

Get the GTS type identifier as a static reference.

Source

pub fn gts_schema_id() -> &'static GtsTypeId

👎Deprecated since 0.10.0:

renamed to gts_type_id

Deprecated alias for Self::gts_type_id.

Source

pub fn gts_base_type_id() -> Option<&'static GtsTypeId>

Get the parent (base) type identifier as a static reference. Returns None for base structs (those with base = true).

Source

pub fn gts_base_schema_id() -> Option<&'static GtsTypeId>

👎Deprecated since 0.10.0:

renamed to gts_base_type_id

Deprecated alias for Self::gts_base_type_id.

Source

pub fn gts_make_instance_id(segment: &str) -> GtsInstanceId

Generate a GTS instance ID by appending a segment to the type ID.

Source§

impl AuthzPermissionV1

Source

pub fn gts_schema_with_refs_as_string() -> String

Get the JSON Schema with allOf + $ref for inheritance as a JSON string.

Source

pub fn gts_schema_with_refs_as_string_pretty() -> String

Get the JSON Schema with allOf + $ref for inheritance as a pretty-printed JSON string.

Source§

impl AuthzPermissionV1

Source

pub fn gts_instance_json(&self) -> Value

Serialize this instance to a serde_json::Value.

Source

pub fn gts_instance_json_as_string(&self) -> String

Serialize this instance to a JSON string.

Source

pub fn gts_instance_json_as_string_pretty(&self) -> String

Serialize this instance to a pretty-printed JSON string.

Trait Implementations§

Source§

impl<'de> Deserialize<'de> for AuthzPermissionV1

Source§

fn deserialize<__D>( __deserializer: __D, ) -> Result<AuthzPermissionV1, <__D as Deserializer<'de>>::Error>
where __D: Deserializer<'de>,

Deserialize this value from the given Serde deserializer. Read more
Source§

impl GtsSchema for AuthzPermissionV1

Source§

const TYPE_ID: &'static str = "gts.cf.toolkit.authz.permission.v1~"

The GTS type ID for this type (formerly SCHEMA_ID).
Source§

const GENERIC_FIELD: Option<&'static str> = None

The name of the field that contains the generic type parameter, if any. For example, BaseEventV1<P> has payload as the generic field.
Source§

const GTS_FINAL: bool = false

true if this type declares x-gts-final (not inheritable). Set by #[struct_to_gts_schema] from gts_final = true; read by the derive-from-final compile-time guard.
Source§

const GTS_ABSTRACT: bool = false

true if this type declares x-gts-abstract (not directly instantiable). Set by #[struct_to_gts_schema] from gts_abstract = true; read by the gts_instance! compile-time guard.
Source§

const TRAIT_SCHEMA: TraitSchemaState

Chain-aggregated x-gts-traits-schema state (this type’s own layer allOf-composed with its ancestors’). Set by #[struct_to_gts_schema]; read by the compile-time guard that rejects traits values when the chain has no usable trait shape (TraitSchemaState::Absent) or prohibits traits (TraitSchemaState::Prohibited).
Source§

fn gts_schema_with_refs() -> Value

Returns the JSON schema for this type with $ref references intact.
Source§

fn gts_traits_schema() -> Option<Value>

This type’s own declared x-gts-traits-schema, or None if it declares none. The single layer this type contributes — not the chain-aggregated effective trait-schema (the registry composes those along the $id chain via allOf). Overridden by #[struct_to_gts_schema] when traits_schema = … is set.
Source§

fn gts_traits() -> Option<Value>

This type’s own declared x-gts-traits values, or None if it resolves none. The single layer this type contributes — not the chain-merged effective traits object. Overridden by #[struct_to_gts_schema] when traits = … is set.
Source§

fn gts_schema() -> Value

Returns the composed JSON schema for this type. For types with generic parameters that implement GtsSchema, this returns the schema with the generic field’s type replaced by the nested type’s schema.
Source§

fn innermost_type_id() -> &'static str

Get the innermost type ID in a nested generic chain. For BaseEventV1<AuditPayloadV1<PlaceOrderDataV1>>, returns PlaceOrderDataV1’s ID.
Source§

fn innermost_schema() -> Value

Get the innermost (leaf) type’s raw schema. For BaseEventV1<AuditPayloadV1<PlaceOrderDataV1>>, returns PlaceOrderDataV1’s schema.
Source§

fn gts_schema_with_refs_allof() -> Value

Generate a GTS-style schema with allOf and $ref to base type. Read more
Source§

const SCHEMA_ID: &'static str = Self::TYPE_ID

👎Deprecated since 0.10.0:

use TYPE_ID instead

Deprecated alias for Self::TYPE_ID. Read more
Source§

fn innermost_schema_id() -> &'static str

👎Deprecated since 0.10.0:

renamed to innermost_type_id

Deprecated alias for Self::innermost_type_id.
Source§

fn collect_nesting_path() -> Vec<&'static str>

Collect the nesting path (generic field names) from outer to inner types. For BaseEventV1<AuditPayloadV1<PlaceOrderDataV1>>, returns ["payload", "data"].
Source§

fn outer_generic_path() -> Vec<&'static str>

Path of generic-slot field names from the document root (the outermost base type in the chain) down to where this type’s own properties live in a composed instance. Read more
Source§

fn wrap_in_nesting_path( path: &[&str], properties: Value, required: Value, generic_field: Option<&str>, ) -> Value

Wrap properties in a nested structure following the nesting path. For path ["payload", "data"] and properties {order_id, product_id, last}, returns { "payload": { "type": "object", "properties": { "data": { "type": "object", "additionalProperties": false, "properties": {...}, "required": [...] } } } } Read more
Source§

impl JsonSchema for AuthzPermissionV1

Source§

fn schema_name() -> Cow<'static, str>

The name of the generated JSON Schema. Read more
Source§

fn schema_id() -> Cow<'static, str>

Returns a string that uniquely identifies the schema produced by this type. Read more
Source§

fn json_schema(generator: &mut SchemaGenerator) -> Schema

Generates a JSON Schema for this type. Read more
Source§

fn inline_schema() -> bool

Whether JSON Schemas generated for this type should be included directly in parent schemas, rather than being re-used where possible using the $ref keyword. Read more
Source§

impl Serialize for AuthzPermissionV1

Source§

fn serialize<__S>( &self, __serializer: __S, ) -> Result<<__S as Serializer>::Ok, <__S as Serializer>::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> 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> FutureExt for T

Source§

fn with_context(self, otel_cx: Context) -> WithContext<Self>

Attaches the provided Context to this type, returning a WithContext wrapper. Read more
Source§

fn with_current_context(self) -> WithContext<Self>

Attaches the current Context to this type, returning a WithContext wrapper. Read more
Source§

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

Source§

fn gts_deserialize<__D>( deserializer: __D, ) -> Result<T, <__D as Deserializer<'de>>::Error>
where __D: Deserializer<'de>,

Deserialize this value using the GTS deserialization protocol. Read more
Source§

impl<T> GtsSerialize for T
where T: Serialize,

Source§

fn gts_serialize<S>( &self, serializer: S, ) -> Result<<S as Serializer>::Ok, <S as Serializer>::Error>
where S: Serializer,

Serialize this value using the GTS serialization protocol. Read more
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> IntoRequest<T> for T

Source§

fn into_request(self) -> Request<T>

Wrap the input message T in a tonic::Request
Source§

impl<L> LayerExt<L> for L

Source§

fn named_layer<S>(&self, service: S) -> Layered<<L as Layer<S>>::Service, S>
where L: Layer<S>,

Applies the layer to a service and wraps it in Layered.
Source§

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

Source§

fn fg(&self, value: Color) -> Painted<&T>

Returns a styled value derived from self with the foreground set to value.

This method should be used rarely. Instead, prefer to use color-specific builder methods like red() and green(), which have the same functionality but are pithier.

§Example

Set foreground color to white using fg():

use yansi::{Paint, Color};

painted.fg(Color::White);

Set foreground color to white using white().

use yansi::Paint;

painted.white();
Source§

fn primary(&self) -> Painted<&T>

Returns self with the fg() set to [Color :: Primary].

§Example
println!("{}", value.primary());
Source§

fn fixed(&self, color: u8) -> Painted<&T>

Returns self with the fg() set to [Color :: Fixed].

§Example
println!("{}", value.fixed(color));
Source§

fn rgb(&self, r: u8, g: u8, b: u8) -> Painted<&T>

Returns self with the fg() set to [Color :: Rgb].

§Example
println!("{}", value.rgb(r, g, b));
Source§

fn black(&self) -> Painted<&T>

Returns self with the fg() set to [Color :: Black].

§Example
println!("{}", value.black());
Source§

fn red(&self) -> Painted<&T>

Returns self with the fg() set to [Color :: Red].

§Example
println!("{}", value.red());
Source§

fn green(&self) -> Painted<&T>

Returns self with the fg() set to [Color :: Green].

§Example
println!("{}", value.green());
Source§

fn yellow(&self) -> Painted<&T>

Returns self with the fg() set to [Color :: Yellow].

§Example
println!("{}", value.yellow());
Source§

fn blue(&self) -> Painted<&T>

Returns self with the fg() set to [Color :: Blue].

§Example
println!("{}", value.blue());
Source§

fn magenta(&self) -> Painted<&T>

Returns self with the fg() set to [Color :: Magenta].

§Example
println!("{}", value.magenta());
Source§

fn cyan(&self) -> Painted<&T>

Returns self with the fg() set to [Color :: Cyan].

§Example
println!("{}", value.cyan());
Source§

fn white(&self) -> Painted<&T>

Returns self with the fg() set to [Color :: White].

§Example
println!("{}", value.white());
Source§

fn bright_black(&self) -> Painted<&T>

Returns self with the fg() set to [Color :: BrightBlack].

§Example
println!("{}", value.bright_black());
Source§

fn bright_red(&self) -> Painted<&T>

Returns self with the fg() set to [Color :: BrightRed].

§Example
println!("{}", value.bright_red());
Source§

fn bright_green(&self) -> Painted<&T>

Returns self with the fg() set to [Color :: BrightGreen].

§Example
println!("{}", value.bright_green());
Source§

fn bright_yellow(&self) -> Painted<&T>

Returns self with the fg() set to [Color :: BrightYellow].

§Example
println!("{}", value.bright_yellow());
Source§

fn bright_blue(&self) -> Painted<&T>

Returns self with the fg() set to [Color :: BrightBlue].

§Example
println!("{}", value.bright_blue());
Source§

fn bright_magenta(&self) -> Painted<&T>

Returns self with the fg() set to [Color :: BrightMagenta].

§Example
println!("{}", value.bright_magenta());
Source§

fn bright_cyan(&self) -> Painted<&T>

Returns self with the fg() set to [Color :: BrightCyan].

§Example
println!("{}", value.bright_cyan());
Source§

fn bright_white(&self) -> Painted<&T>

Returns self with the fg() set to [Color :: BrightWhite].

§Example
println!("{}", value.bright_white());
Source§

fn bg(&self, value: Color) -> Painted<&T>

Returns a styled value derived from self with the background set to value.

This method should be used rarely. Instead, prefer to use color-specific builder methods like on_red() and on_green(), which have the same functionality but are pithier.

§Example

Set background color to red using fg():

use yansi::{Paint, Color};

painted.bg(Color::Red);

Set background color to red using on_red().

use yansi::Paint;

painted.on_red();
Source§

fn on_primary(&self) -> Painted<&T>

Returns self with the bg() set to [Color :: Primary].

§Example
println!("{}", value.on_primary());
Source§

fn on_fixed(&self, color: u8) -> Painted<&T>

Returns self with the bg() set to [Color :: Fixed].

§Example
println!("{}", value.on_fixed(color));
Source§

fn on_rgb(&self, r: u8, g: u8, b: u8) -> Painted<&T>

Returns self with the bg() set to [Color :: Rgb].

§Example
println!("{}", value.on_rgb(r, g, b));
Source§

fn on_black(&self) -> Painted<&T>

Returns self with the bg() set to [Color :: Black].

§Example
println!("{}", value.on_black());
Source§

fn on_red(&self) -> Painted<&T>

Returns self with the bg() set to [Color :: Red].

§Example
println!("{}", value.on_red());
Source§

fn on_green(&self) -> Painted<&T>

Returns self with the bg() set to [Color :: Green].

§Example
println!("{}", value.on_green());
Source§

fn on_yellow(&self) -> Painted<&T>

Returns self with the bg() set to [Color :: Yellow].

§Example
println!("{}", value.on_yellow());
Source§

fn on_blue(&self) -> Painted<&T>

Returns self with the bg() set to [Color :: Blue].

§Example
println!("{}", value.on_blue());
Source§

fn on_magenta(&self) -> Painted<&T>

Returns self with the bg() set to [Color :: Magenta].

§Example
println!("{}", value.on_magenta());
Source§

fn on_cyan(&self) -> Painted<&T>

Returns self with the bg() set to [Color :: Cyan].

§Example
println!("{}", value.on_cyan());
Source§

fn on_white(&self) -> Painted<&T>

Returns self with the bg() set to [Color :: White].

§Example
println!("{}", value.on_white());
Source§

fn on_bright_black(&self) -> Painted<&T>

Returns self with the bg() set to [Color :: BrightBlack].

§Example
println!("{}", value.on_bright_black());
Source§

fn on_bright_red(&self) -> Painted<&T>

Returns self with the bg() set to [Color :: BrightRed].

§Example
println!("{}", value.on_bright_red());
Source§

fn on_bright_green(&self) -> Painted<&T>

Returns self with the bg() set to [Color :: BrightGreen].

§Example
println!("{}", value.on_bright_green());
Source§

fn on_bright_yellow(&self) -> Painted<&T>

Returns self with the bg() set to [Color :: BrightYellow].

§Example
println!("{}", value.on_bright_yellow());
Source§

fn on_bright_blue(&self) -> Painted<&T>

Returns self with the bg() set to [Color :: BrightBlue].

§Example
println!("{}", value.on_bright_blue());
Source§

fn on_bright_magenta(&self) -> Painted<&T>

Returns self with the bg() set to [Color :: BrightMagenta].

§Example
println!("{}", value.on_bright_magenta());
Source§

fn on_bright_cyan(&self) -> Painted<&T>

Returns self with the bg() set to [Color :: BrightCyan].

§Example
println!("{}", value.on_bright_cyan());
Source§

fn on_bright_white(&self) -> Painted<&T>

Returns self with the bg() set to [Color :: BrightWhite].

§Example
println!("{}", value.on_bright_white());
Source§

fn attr(&self, value: Attribute) -> Painted<&T>

Enables the styling Attribute value.

This method should be used rarely. Instead, prefer to use attribute-specific builder methods like bold() and underline(), which have the same functionality but are pithier.

§Example

Make text bold using attr():

use yansi::{Paint, Attribute};

painted.attr(Attribute::Bold);

Make text bold using using bold().

use yansi::Paint;

painted.bold();
Source§

fn bold(&self) -> Painted<&T>

Returns self with the attr() set to [Attribute :: Bold].

§Example
println!("{}", value.bold());
Source§

fn dim(&self) -> Painted<&T>

Returns self with the attr() set to [Attribute :: Dim].

§Example
println!("{}", value.dim());
Source§

fn italic(&self) -> Painted<&T>

Returns self with the attr() set to [Attribute :: Italic].

§Example
println!("{}", value.italic());
Source§

fn underline(&self) -> Painted<&T>

Returns self with the attr() set to [Attribute :: Underline].

§Example
println!("{}", value.underline());

Returns self with the attr() set to [Attribute :: Blink].

§Example
println!("{}", value.blink());

Returns self with the attr() set to [Attribute :: RapidBlink].

§Example
println!("{}", value.rapid_blink());
Source§

fn invert(&self) -> Painted<&T>

Returns self with the attr() set to [Attribute :: Invert].

§Example
println!("{}", value.invert());
Source§

fn conceal(&self) -> Painted<&T>

Returns self with the attr() set to [Attribute :: Conceal].

§Example
println!("{}", value.conceal());
Source§

fn strike(&self) -> Painted<&T>

Returns self with the attr() set to [Attribute :: Strike].

§Example
println!("{}", value.strike());
Source§

fn quirk(&self, value: Quirk) -> Painted<&T>

Enables the yansi Quirk value.

This method should be used rarely. Instead, prefer to use quirk-specific builder methods like mask() and wrap(), which have the same functionality but are pithier.

§Example

Enable wrapping using .quirk():

use yansi::{Paint, Quirk};

painted.quirk(Quirk::Wrap);

Enable wrapping using wrap().

use yansi::Paint;

painted.wrap();
Source§

fn mask(&self) -> Painted<&T>

Returns self with the quirk() set to [Quirk :: Mask].

§Example
println!("{}", value.mask());
Source§

fn wrap(&self) -> Painted<&T>

Returns self with the quirk() set to [Quirk :: Wrap].

§Example
println!("{}", value.wrap());
Source§

fn linger(&self) -> Painted<&T>

Returns self with the quirk() set to [Quirk :: Linger].

§Example
println!("{}", value.linger());
Source§

fn clear(&self) -> Painted<&T>

👎Deprecated since 1.0.1:

renamed to resetting() due to conflicts with Vec::clear(). The clear() method will be removed in a future release.

Returns self with the quirk() set to [Quirk :: Clear].

§Example
println!("{}", value.clear());
Source§

fn resetting(&self) -> Painted<&T>

Returns self with the quirk() set to [Quirk :: Resetting].

§Example
println!("{}", value.resetting());
Source§

fn bright(&self) -> Painted<&T>

Returns self with the quirk() set to [Quirk :: Bright].

§Example
println!("{}", value.bright());
Source§

fn on_bright(&self) -> Painted<&T>

Returns self with the quirk() set to [Quirk :: OnBright].

§Example
println!("{}", value.on_bright());
Source§

fn whenever(&self, value: Condition) -> Painted<&T>

Conditionally enable styling based on whether the Condition value applies. Replaces any previous condition.

See the crate level docs for more details.

§Example

Enable styling painted only when both stdout and stderr are TTYs:

use yansi::{Paint, Condition};

painted.red().on_yellow().whenever(Condition::STDOUTERR_ARE_TTY);
Source§

fn new(self) -> Painted<Self>
where Self: Sized,

Create a new Painted with a default Style. Read more
Source§

fn paint<S>(&self, style: S) -> Painted<&Self>
where S: Into<Style>,

Apply a style wholesale to self. Any previous style is replaced. Read more
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> Same for T

Source§

type Output = T

Should always be Self
Source§

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

Source§

type Error = Infallible

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

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

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<V, T> VZip<V> for T
where V: MultiLane<T>,

Source§

fn vzip(self) -> V

Source§

impl<T> WithSecurityContext for T

Source§

fn security_ctx<'a>(&'a self, ctx: &'a SecurityContext) -> Secured<'a, T>
where T: Sized,

Binds a security context to this client, returning a Secured wrapper. Read more
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