# DSL: Smokestack.Dsl The DSL definition for the Smokestack DSL. ## DSL Documentation ### Index * smokestack * factory * attribute ### Docs ## smokestack * [factory](#module-factory) * attribute --- * `:api` (`t:atom/0`) - The default Ash API to use when evaluating loads ### factory Define factories for a resource * attribute * `:api` (`t:atom/0`) - The Ash API to use when evaluating loads * `:resource` (`t:atom/0`) - Required. An Ash Resource * `:variant` (`t:atom/0`) - The name of a factory variant The default value is `:default`. ##### attribute * `:name` (`t:atom/0`) - Required. The name of the target attribute * `:generator` - Required. A function which can generate an appropriate value for the attribute.œ ## smokestack ### Nested DSLs * [factory](#smokestack-factory) * attribute ### Options | Name | Type | Default | Docs | | --- | --- | --- | --- | | `api` | `module` | | The default Ash API to use when evaluating loads | ## smokestack.factory ```elixir factory resource, variant \ :default ``` Define factories for a resource ### Nested DSLs * [attribute](#smokestack-factory-attribute) ### Arguments | Name | Type | Default | Docs | | --- | --- | --- | --- | | `resource`* | `module` | | An Ash Resource | | `variant` | `atom` | `:default` | The name of a factory variant | ### Options | Name | Type | Default | Docs | | --- | --- | --- | --- | | `api` | `module` | | The Ash API to use when evaluating loads | ## smokestack.factory.attribute ```elixir attribute name, generator ``` ### Arguments | Name | Type | Default | Docs | | --- | --- | --- | --- | | `name`* | `atom` | | The name of the target attribute | | `generator`* | `(-> any) \| mfa \| (any -> any) \| mfa \| (any, any -> any) \| mfa` | | A function which can generate an appropriate value for the attribute.œ | ### Introspection Target: `Smokestack.Dsl.Attribute` ### Introspection Target: `Smokestack.Dsl.Factory`