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: GtsInstanceIdFull GTS Instance Identifier of this permission (e.g.
gts.cf.toolkit.authz.permission.v1~cf.mini_chat._.chat_read.v1).
resource_type: StringGTS 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: StringConcrete action name (lowercase snake_case). No wildcard, no list.
Examples: create, read, list, retry_turn, upload_attachment.
display_name: StringHuman-readable label for admin UIs. Examples: “Create tenant”, “Retry chat turn”.
Implementations§
Source§impl AuthzPermissionV1
impl AuthzPermissionV1
Sourcepub fn gts_type_id() -> &'static GtsTypeId
pub fn gts_type_id() -> &'static GtsTypeId
Get the GTS type identifier as a static reference.
Sourcepub fn gts_schema_id() -> &'static GtsTypeId
👎Deprecated since 0.10.0: renamed to gts_type_id
pub fn gts_schema_id() -> &'static GtsTypeId
renamed to gts_type_id
Deprecated alias for Self::gts_type_id.
Sourcepub fn gts_base_type_id() -> Option<&'static GtsTypeId>
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).
Sourcepub fn gts_base_schema_id() -> Option<&'static GtsTypeId>
👎Deprecated since 0.10.0: renamed to gts_base_type_id
pub fn gts_base_schema_id() -> Option<&'static GtsTypeId>
renamed to gts_base_type_id
Deprecated alias for Self::gts_base_type_id.
Sourcepub fn gts_make_instance_id(segment: &str) -> GtsInstanceId
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
impl AuthzPermissionV1
Sourcepub fn gts_schema_with_refs_as_string() -> String
pub fn gts_schema_with_refs_as_string() -> String
Get the JSON Schema with allOf + $ref for inheritance as a JSON string.
Sourcepub fn gts_schema_with_refs_as_string_pretty() -> String
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
impl AuthzPermissionV1
Sourcepub fn gts_instance_json(&self) -> Value
pub fn gts_instance_json(&self) -> Value
Serialize this instance to a serde_json::Value.
Sourcepub fn gts_instance_json_as_string(&self) -> String
pub fn gts_instance_json_as_string(&self) -> String
Serialize this instance to a JSON string.
Sourcepub fn gts_instance_json_as_string_pretty(&self) -> String
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
impl<'de> Deserialize<'de> for AuthzPermissionV1
Source§fn deserialize<__D>(
__deserializer: __D,
) -> Result<AuthzPermissionV1, <__D as Deserializer<'de>>::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(
__deserializer: __D,
) -> Result<AuthzPermissionV1, <__D as Deserializer<'de>>::Error>where
__D: Deserializer<'de>,
Source§impl GtsSchema for AuthzPermissionV1
impl GtsSchema for AuthzPermissionV1
Source§const TYPE_ID: &'static str = "gts.cf.toolkit.authz.permission.v1~"
const TYPE_ID: &'static str = "gts.cf.toolkit.authz.permission.v1~"
SCHEMA_ID).Source§const GENERIC_FIELD: Option<&'static str> = None
const GENERIC_FIELD: Option<&'static str> = None
BaseEventV1<P> has payload as the generic field.Source§const GTS_FINAL: bool = false
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
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
const TRAIT_SCHEMA: TraitSchemaState
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
fn gts_schema_with_refs() -> Value
Source§fn gts_traits_schema() -> Option<Value>
fn gts_traits_schema() -> Option<Value>
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>
fn gts_traits() -> Option<Value>
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
fn gts_schema() -> Value
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
fn innermost_type_id() -> &'static str
BaseEventV1<AuditPayloadV1<PlaceOrderDataV1>>, returns PlaceOrderDataV1’s ID.Source§fn innermost_schema() -> Value
fn innermost_schema() -> Value
BaseEventV1<AuditPayloadV1<PlaceOrderDataV1>>, returns PlaceOrderDataV1’s schema.Source§fn gts_schema_with_refs_allof() -> Value
fn gts_schema_with_refs_allof() -> Value
Source§const SCHEMA_ID: &'static str = Self::TYPE_ID
const SCHEMA_ID: &'static str = Self::TYPE_ID
use TYPE_ID instead
Self::TYPE_ID. Read moreSource§fn innermost_schema_id() -> &'static str
fn innermost_schema_id() -> &'static str
renamed to innermost_type_id
Self::innermost_type_id.Source§fn collect_nesting_path() -> Vec<&'static str>
fn collect_nesting_path() -> Vec<&'static str>
BaseEventV1<AuditPayloadV1<PlaceOrderDataV1>>, returns ["payload", "data"].Source§fn outer_generic_path() -> Vec<&'static str>
fn outer_generic_path() -> Vec<&'static str>
Source§fn wrap_in_nesting_path(
path: &[&str],
properties: Value,
required: Value,
generic_field: Option<&str>,
) -> Value
fn wrap_in_nesting_path( path: &[&str], properties: Value, required: Value, generic_field: Option<&str>, ) -> Value
["payload", "data"] and properties {order_id, product_id, last},
returns { "payload": { "type": "object", "properties": { "data": { "type": "object", "additionalProperties": false, "properties": {...}, "required": [...] } } } } Read moreSource§impl JsonSchema for AuthzPermissionV1
impl JsonSchema for AuthzPermissionV1
Source§fn schema_id() -> Cow<'static, str>
fn schema_id() -> Cow<'static, str>
Source§fn json_schema(generator: &mut SchemaGenerator) -> Schema
fn json_schema(generator: &mut SchemaGenerator) -> Schema
Source§fn inline_schema() -> bool
fn inline_schema() -> bool
$ref keyword. Read moreSource§impl Serialize for AuthzPermissionV1
impl Serialize for AuthzPermissionV1
Source§fn serialize<__S>(
&self,
__serializer: __S,
) -> Result<<__S as Serializer>::Ok, <__S as Serializer>::Error>where
__S: Serializer,
fn serialize<__S>(
&self,
__serializer: __S,
) -> Result<<__S as Serializer>::Ok, <__S as Serializer>::Error>where
__S: Serializer,
Auto Trait Implementations§
impl Freeze for AuthzPermissionV1
impl RefUnwindSafe for AuthzPermissionV1
impl Send for AuthzPermissionV1
impl Sync for AuthzPermissionV1
impl Unpin for AuthzPermissionV1
impl UnsafeUnpin for AuthzPermissionV1
impl UnwindSafe for AuthzPermissionV1
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
impl<T> DeserializeOwned for Twhere
T: for<'de> Deserialize<'de>,
Source§impl<T> FutureExt for T
impl<T> FutureExt for T
Source§fn with_context(self, otel_cx: Context) -> WithContext<Self>
fn with_context(self, otel_cx: Context) -> WithContext<Self>
Source§fn with_current_context(self) -> WithContext<Self>
fn with_current_context(self) -> WithContext<Self>
Source§impl<'de, T> GtsDeserialize<'de> for Twhere
T: Deserialize<'de>,
impl<'de, T> GtsDeserialize<'de> for Twhere
T: Deserialize<'de>,
Source§fn gts_deserialize<__D>(
deserializer: __D,
) -> Result<T, <__D as Deserializer<'de>>::Error>where
__D: Deserializer<'de>,
fn gts_deserialize<__D>(
deserializer: __D,
) -> Result<T, <__D as Deserializer<'de>>::Error>where
__D: Deserializer<'de>,
Source§impl<T> GtsSerialize for Twhere
T: Serialize,
impl<T> GtsSerialize for Twhere
T: Serialize,
Source§fn gts_serialize<S>(
&self,
serializer: S,
) -> Result<<S as Serializer>::Ok, <S as Serializer>::Error>where
S: Serializer,
fn gts_serialize<S>(
&self,
serializer: S,
) -> Result<<S as Serializer>::Ok, <S as Serializer>::Error>where
S: Serializer,
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>
T in a tonic::RequestSource§impl<T> Paint for Twhere
T: ?Sized,
impl<T> Paint for Twhere
T: ?Sized,
Source§fn fg(&self, value: Color) -> Painted<&T>
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 bright_black(&self) -> Painted<&T>
fn bright_black(&self) -> Painted<&T>
Source§fn bright_red(&self) -> Painted<&T>
fn bright_red(&self) -> Painted<&T>
Source§fn bright_green(&self) -> Painted<&T>
fn bright_green(&self) -> Painted<&T>
Source§fn bright_yellow(&self) -> Painted<&T>
fn bright_yellow(&self) -> Painted<&T>
Source§fn bright_blue(&self) -> Painted<&T>
fn bright_blue(&self) -> Painted<&T>
Source§fn bright_magenta(&self) -> Painted<&T>
fn bright_magenta(&self) -> Painted<&T>
Source§fn bright_cyan(&self) -> Painted<&T>
fn bright_cyan(&self) -> Painted<&T>
Source§fn bright_white(&self) -> Painted<&T>
fn bright_white(&self) -> Painted<&T>
Source§fn bg(&self, value: Color) -> Painted<&T>
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>
fn on_primary(&self) -> Painted<&T>
Source§fn on_magenta(&self) -> Painted<&T>
fn on_magenta(&self) -> Painted<&T>
Source§fn on_bright_black(&self) -> Painted<&T>
fn on_bright_black(&self) -> Painted<&T>
Source§fn on_bright_red(&self) -> Painted<&T>
fn on_bright_red(&self) -> Painted<&T>
Source§fn on_bright_green(&self) -> Painted<&T>
fn on_bright_green(&self) -> Painted<&T>
Source§fn on_bright_yellow(&self) -> Painted<&T>
fn on_bright_yellow(&self) -> Painted<&T>
Source§fn on_bright_blue(&self) -> Painted<&T>
fn on_bright_blue(&self) -> Painted<&T>
Source§fn on_bright_magenta(&self) -> Painted<&T>
fn on_bright_magenta(&self) -> Painted<&T>
Source§fn on_bright_cyan(&self) -> Painted<&T>
fn on_bright_cyan(&self) -> Painted<&T>
Source§fn on_bright_white(&self) -> Painted<&T>
fn on_bright_white(&self) -> Painted<&T>
Source§fn attr(&self, value: Attribute) -> Painted<&T>
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 rapid_blink(&self) -> Painted<&T>
fn rapid_blink(&self) -> Painted<&T>
Source§fn quirk(&self, value: Quirk) -> Painted<&T>
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 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.
fn clear(&self) -> Painted<&T>
renamed to resetting() due to conflicts with Vec::clear().
The clear() method will be removed in a future release.
Source§fn whenever(&self, value: Condition) -> Painted<&T>
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§impl<T> PolicyExt for Twhere
T: ?Sized,
impl<T> PolicyExt for Twhere
T: ?Sized,
Source§impl<T> WithSecurityContext for T
impl<T> WithSecurityContext for T
Source§fn security_ctx<'a>(&'a self, ctx: &'a SecurityContext) -> Secured<'a, T>where
T: Sized,
fn security_ctx<'a>(&'a self, ctx: &'a SecurityContext) -> Secured<'a, T>where
T: Sized,
Secured wrapper. Read more