View Source Ash.Resource.Builder (ash v2.7.1)
Tools for transforming resources in DSL Transformers.
Link to this section Summary
Functions
Builds and adds an action
Builds and adds an attribute to a resource
Builds and adds a calculation to a resource
Builds and adds a change
Builds and adds a create_timestamp to a resource
Builds and adds an identity
Builds and adds a new action unless an action with that name already exists
Builds and adds an attribute unless an attribute with that name already exists
Builds and adds a calculation unless a calculation with that name already exists
Builds and adds a create_timestamp unless a create_timestamp with that name already exists
Builds and adds a new identity unless an identity with that name already exists
Builds and adds a new relationship unless a relationship with that name already exists
Builds and adds an update_timestamp unless an update_timestamp with that name already exists
Builds and adds a preparation
Builds and adds an action
Builds and adds an update_timestamp
Builds an action
Builds an action argument
Builds an action change
Builds an action metadata
Builds an attribute with the given name, type, and options
Builds a calculation with the given name, type, and options
Builds a change
Builds an create_timestamp with the given name, type, and options
Builds an action
Builds a pagination object
Builds a preparation
Builds a relationship
Builds an update_timestamp with the given name, type, and options
Link to this section Functions
@spec add_action( Spark.Dsl.Builder.input(), type :: Ash.Resource.Actions.action_type(), name :: atom(), opts :: Keyword.t() ) :: Spark.Dsl.Builder.result()
Builds and adds an action
@spec add_attribute( Spark.Dsl.Builder.input(), name :: atom(), type :: Ash.Type.t(), opts :: Keyword.t() ) :: Spark.Dsl.Builder.result()
Builds and adds an attribute to a resource
@spec add_calculation( Spark.Dsl.Builder.input(), name :: atom(), type :: Ash.Type.t(), calculation :: module() | {module(), Keyword.t()}, opts :: Keyword.t() ) :: Spark.Dsl.Builder.result()
Builds and adds a calculation to a resource
@spec add_change( Spark.Dsl.Builder.input(), ref :: module() | {module(), Keyword.t()}, opts :: Keyword.t() ) :: Spark.Dsl.Builder.result()
Builds and adds a change
@spec add_create_timestamp( Spark.Dsl.Builder.input(), name :: atom(), opts :: Keyword.t() ) :: Spark.Dsl.Builder.result()
Builds and adds a create_timestamp to a resource
@spec add_identity( Spark.Dsl.Builder.input(), name :: atom(), fields :: atom() | [atom()], opts :: Keyword.t() ) :: Spark.Dsl.Builder.result()
Builds and adds an identity
@spec add_new_action( Spark.Dsl.Builder.input(), type :: Ash.Resource.Actions.action_type(), name :: atom(), opts :: Keyword.t() ) :: Spark.Dsl.Builder.result()
Builds and adds a new action unless an action with that name already exists
@spec add_new_attribute( Spark.Dsl.Builder.input(), name :: atom(), type :: Ash.Type.t(), opts :: Keyword.t() ) :: Spark.Dsl.Builder.result()
Builds and adds an attribute unless an attribute with that name already exists
add_new_calculation(dsl_state, name, type, calculation, opts \\ [])
View Source@spec add_new_calculation( Spark.Dsl.Builder.input(), name :: atom(), type :: Ash.Type.t(), calculation :: module() | {module(), Keyword.t()} | Ash.Expr.t(), opts :: Keyword.t() ) :: Spark.Dsl.Builder.result()
Builds and adds a calculation unless a calculation with that name already exists
@spec add_new_create_timestamp( Spark.Dsl.Builder.input(), name :: atom(), opts :: Keyword.t() ) :: Spark.Dsl.Builder.result()
Builds and adds a create_timestamp unless a create_timestamp with that name already exists
@spec add_new_identity( Spark.Dsl.Builder.input(), name :: atom(), fields :: atom() | [atom()], opts :: Keyword.t() ) :: Spark.Dsl.Builder.result()
Builds and adds a new identity unless an identity with that name already exists
add_new_relationship(dsl_state, type, name, destination, opts \\ [])
View Source@spec add_new_relationship( Spark.Dsl.Builder.input(), type :: Ash.Resource.Relationships.type(), name :: atom(), destination :: module(), opts :: Keyword.t() ) :: Spark.Dsl.Builder.result()
Builds and adds a new relationship unless a relationship with that name already exists
@spec add_new_update_timestamp( Spark.Dsl.Builder.input(), name :: atom(), opts :: Keyword.t() ) :: Spark.Dsl.Builder.result()
Builds and adds an update_timestamp unless an update_timestamp with that name already exists
@spec add_preparation( Spark.Dsl.Builder.input(), ref :: module() | {module(), Keyword.t()}, opts :: Keyword.t() ) :: Spark.Dsl.Builder.result()
Builds and adds a preparation
@spec add_relationship( Spark.Dsl.Builder.input(), type :: Ash.Resource.Relationships.type(), name :: atom(), destination :: module(), opts :: Keyword.t() ) :: Spark.Dsl.Builder.result()
Builds and adds an action
@spec add_update_timestamp( Spark.Dsl.Builder.input(), name :: atom(), opts :: Keyword.t() ) :: Spark.Dsl.Builder.result()
Builds and adds an update_timestamp
@spec build_action( type :: Ash.Resource.Actions.action_type(), name :: atom(), opts :: Keyword.t() ) :: {:ok, Ash.Resource.Actions.action()} | {:error, term()}
Builds an action
@spec build_action_argument(name :: atom(), type :: Ash.Type.t(), opts :: Keyword.t()) :: {:ok, Ash.Resource.Actions.Argument.t()} | {:error, term()}
Builds an action argument
@spec build_action_change(change :: Ash.Resource.Change.ref(), opts :: Keyword.t()) :: {:ok, Ash.Resource.Change.t()} | {:error, term()}
Builds an action change
@spec build_action_metadata(name :: atom(), type :: Ash.Type.t(), opts :: Keyword.t()) :: {:ok, Ash.Resource.Actions.Metadata.t()} | {:error, term()}
Builds an action metadata
@spec build_attribute(name :: atom(), type :: Ash.Type.t(), opts :: Keyword.t()) :: {:ok, Ash.Resource.Attribute.t()} | {:error, term()}
Builds an attribute with the given name, type, and options
@spec build_calculation( name :: atom(), type :: Ash.Type.t(), calculation :: module() | {module(), Keyword.t()}, opts :: Keyword.t() ) :: {:ok, Ash.Resource.Calculation.t()} | {:error, term()}
Builds a calculation with the given name, type, and options
@spec build_change( ref :: module() | {module(), Keyword.t()}, opts :: Keyword.t() ) :: {:ok, Ash.Resource.Change.t()} | {:error, term()}
Builds a change
@spec build_create_timestamp(name :: atom(), opts :: Keyword.t()) :: {:ok, Ash.Resource.Attribute.t()} | {:error, term()}
Builds an create_timestamp with the given name, type, and options
@spec build_identity( name :: atom(), fields :: atom() | [atom()], opts :: Keyword.t() ) :: {:ok, Ash.Resource.Relationships.relationship()} | {:error, term()}
Builds an action
@spec build_pagination(pts :: Keyword.t()) :: {:ok, Ash.Resource.Actions.Read.Pagination.t()} | {:error, term()}
Builds a pagination object
@spec build_preparation( ref :: module() | {module(), Keyword.t()}, opts :: Keyword.t() ) :: {:ok, Ash.Resource.Preparation.t()} | {:error, term()}
Builds a preparation
@spec build_relationship( type :: Ash.Resource.Relationships.type(), name :: atom(), destination :: module(), opts :: Keyword.t() ) :: {:ok, Ash.Resource.Relationships.relationship()} | {:error, term()}
Builds a relationship
@spec build_update_timestamp(name :: atom(), opts :: Keyword.t()) :: {:ok, Ash.Resource.Attribute.t()} | {:error, term()}
Builds an update_timestamp with the given name, type, and options