Skip to content

Commit c2a93aa

Browse files
committed
chore: Add docs
1 parent 963a300 commit c2a93aa

File tree

4 files changed

+79
-26
lines changed

4 files changed

+79
-26
lines changed

website/docs/manifest-file.md

+7-1
Original file line numberDiff line numberDiff line change
@@ -117,6 +117,12 @@ the fields within the __`stackql_manifest.yml`__ file are described in further d
117117

118118
***
119119

120+
### <span className="docFieldHeading">`resource.if`</span>
121+
122+
<ManifestFields.ResourceIf />
123+
124+
***
125+
120126
### <span className="docFieldHeading">`resource.props`</span>
121127

122128
<ManifestFields.ResourceProps />
@@ -390,4 +396,4 @@ resources:
390396
- {dest_range: "10.200.2.0/24", next_hop_ip: "10.240.0.22"}
391397
```
392398
393-
</File>
399+
</File>

website/docs/manifest_fields/index.js

+23-24
Original file line numberDiff line numberDiff line change
@@ -1,24 +1,23 @@
1-
export { default as Name } from './name.mdx';
2-
export { default as Description } from './description.mdx';
3-
export { default as Providers } from './providers.mdx';
4-
export { default as Globals } from './globals.mdx';
5-
export { default as GlobalName } from './globals/name.mdx';
6-
export { default as GlobalDescription } from './globals/description.mdx';
7-
export { default as GlobalValue } from './globals/value.mdx';
8-
export { default as Resources } from './resources.mdx';
9-
export { default as ResourceName } from './resources/name.mdx';
10-
export { default as ResourceType } from './resources/type.mdx';
11-
export { default as ResourceFile } from './resources/file.mdx';
12-
export { default as ResourceDescription } from './resources/description.mdx';
13-
export { default as ResourceExports } from './resources/exports.mdx';
14-
export { default as ResourceProps } from './resources/props.mdx';
15-
export { default as ResourceProtected } from './resources/protected.mdx';
16-
export { default as ResourceAuth } from './resources/auth.mdx';
17-
export { default as ResourcePropName } from './resources/props/name.mdx';
18-
export { default as ResourcePropDescription } from './resources/props/description.mdx';
19-
export { default as ResourcePropValue } from './resources/props/value.mdx';
20-
export { default as ResourcePropValues } from './resources/props/values.mdx';
21-
export { default as ResourcePropMerge } from './resources/props/merge.mdx';
22-
export { default as Version } from './version.mdx';
23-
24-
1+
export { default as Name } from "./name.mdx";
2+
export { default as Description } from "./description.mdx";
3+
export { default as Providers } from "./providers.mdx";
4+
export { default as Globals } from "./globals.mdx";
5+
export { default as GlobalName } from "./globals/name.mdx";
6+
export { default as GlobalDescription } from "./globals/description.mdx";
7+
export { default as GlobalValue } from "./globals/value.mdx";
8+
export { default as Resources } from "./resources.mdx";
9+
export { default as ResourceName } from "./resources/name.mdx";
10+
export { default as ResourceType } from "./resources/type.mdx";
11+
export { default as ResourceFile } from "./resources/file.mdx";
12+
export { default as ResourceDescription } from "./resources/description.mdx";
13+
export { default as ResourceExports } from "./resources/exports.mdx";
14+
export { default as ResourceProps } from "./resources/props.mdx";
15+
export { default as ResourceProtected } from "./resources/protected.mdx";
16+
export { default as ResourceAuth } from "./resources/auth.mdx";
17+
export { default as ResourceIf } from "./resources/if.mdx";
18+
export { default as ResourcePropName } from "./resources/props/name.mdx";
19+
export { default as ResourcePropDescription } from "./resources/props/description.mdx";
20+
export { default as ResourcePropValue } from "./resources/props/value.mdx";
21+
export { default as ResourcePropValues } from "./resources/props/values.mdx";
22+
export { default as ResourcePropMerge } from "./resources/props/merge.mdx";
23+
export { default as Version } from "./version.mdx";

website/docs/manifest_fields/resources.mdx

+2-1
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,7 @@ import LeftAlignedTable from '@site/src/components/LeftAlignedTable';
1212
{ name: 'resource.exports', anchor: 'resourceexports' },
1313
{ name: 'resource.protected', anchor: 'resourceprotected' },
1414
{ name: 'resource.description', anchor: 'resourcedescription' },
15+
{ name: 'resource.if', anchor: 'resourceif' },
1516
]}
1617
/>
1718

@@ -52,4 +53,4 @@ A file with the name of the resource with an `.iql` extension is expected to exi
5253

5354
</File>
5455

55-
:::
56+
:::
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,47 @@
1+
import File from '@site/src/components/File';
2+
import LeftAlignedTable from '@site/src/components/LeftAlignedTable';
3+
4+
<LeftAlignedTable type="string" required={false} />
5+
6+
A conditional expression that determines whether a resource should be tested, provisioned, or deprovisioned.
7+
You can use Python expressions to conditionally determine if a resource should be processed.
8+
9+
<File name='stackql_manifest.yml'>
10+
11+
```yaml {3}
12+
resources:
13+
- name: get_transfer_kms_key_id
14+
if: "environment == 'production'"
15+
...
16+
```
17+
18+
</File>
19+
20+
:::info
21+
22+
- Conditions are evaluated as Python expressions.
23+
- You can reference literals (string, boolean, integer, etc.) or runtime template variables.
24+
- If the condition evaluates to `True`, the resource is processed; if `False`, it is skipped.
25+
- Template variables can be referenced using Jinja2 template syntax (`{{ variable }}`).
26+
27+
:::
28+
29+
## Examples
30+
31+
Conditionally process a resource based on environment:
32+
33+
```yaml
34+
resources:
35+
- name: get_transfer_kms_key_id
36+
if: "environment == 'production'"
37+
...
38+
```
39+
40+
Conditionally process based on other variable values:
41+
42+
```yaml
43+
resources:
44+
- name: get_transfer_kms_key_id
45+
if: "some_var == '{{ some_other_var_value }}'"
46+
...
47+
```

0 commit comments

Comments
 (0)