pub trait ResourceOutputsDefinition:
Debug
+ Send
+ Sync
+ 'static {
// Required methods
fn get_resource_type(&self) -> ResourceType;
fn as_any(&self) -> &dyn Any;
fn box_clone(&self) -> Box<dyn ResourceOutputsDefinition>;
fn outputs_eq(&self, other: &dyn ResourceOutputsDefinition) -> bool;
fn to_json_value(&self) -> Result<Value>;
// Provided method
fn is_available(&self) -> bool { ... }
}Expand description
Trait that defines the interface for all resource output types in the Alien system. This trait enables extensibility by allowing new resource output types to be registered and managed alongside built-in resource outputs. Resource observations may gain fields as providers and servers are upgraded. Implementations should accept unknown output fields so older readers remain compatible; user-authored resource configuration is validated separately.
Required Methods§
Sourcefn get_resource_type(&self) -> ResourceType
fn get_resource_type(&self) -> ResourceType
Returns the resource type for this instance
Sourcefn box_clone(&self) -> Box<dyn ResourceOutputsDefinition>
fn box_clone(&self) -> Box<dyn ResourceOutputsDefinition>
Creates a boxed clone of this resource outputs
Sourcefn outputs_eq(&self, other: &dyn ResourceOutputsDefinition) -> bool
fn outputs_eq(&self, other: &dyn ResourceOutputsDefinition) -> bool
For equality comparison between resource outputs
Sourcefn to_json_value(&self) -> Result<Value>
fn to_json_value(&self) -> Result<Value>
Serialize this resource outputs to a JSON value (without the “type” tag - that’s added by ResourceOutputs)
Provided Methods§
Sourcefn is_available(&self) -> bool
fn is_available(&self) -> bool
Whether dependents may reconcile. Temporary unavailability preserves their identities and controller progress until the dependency recovers.
Trait Implementations§
Source§impl Clone for Box<dyn ResourceOutputsDefinition>
Clone implementation for boxed ResourceOutputsDefinition trait objects
impl Clone for Box<dyn ResourceOutputsDefinition>
Clone implementation for boxed ResourceOutputsDefinition trait objects
Dyn Compatibility§
This trait is dyn compatible.
In older versions of Rust, dyn compatibility was called "object safety".