11---
2- description : " Generate a complete ONTAP workflow — Python + Ansible + Terraform — for a storage task"
2+ description : " Generate a complete ONTAP workflow - Python + Ansible + Terraform - for a storage task"
33---
44
55# Generate Complete ONTAP Workflow (All Three Tools)
@@ -14,16 +14,16 @@ implementations so users can compare side-by-side.
1414
1515## Reference Files
1616
17- - [ python/ontap_client.py] ( ../../python/ontap_client.py ) — shared Python REST client
18- - [ python/nfs_provision.py] ( ../../python/nfs_provision.py ) — Python reference
19- - [ ansible/nfs_provision.yml] ( ../../ansible/nfs_provision.yml ) — Ansible reference
20- - [ ansible/cifs_provision.yml] ( ../../ansible/cifs_provision.yml ) — Ansible CIFS reference
21- - [ terraform/nfs-provision/] ( ../../terraform/nfs-provision/ ) — Terraform reference
22- - [ docs/ontap-api-patterns.md] ( ../../docs/ontap-api-patterns.md ) — API endpoints, auth, async jobs
23- - [ docs/example-template/] ( ../../docs/example-template/ ) — skeleton files for all tools
24- - [ CONTRIBUTING.md] ( ../../CONTRIBUTING.md ) — naming, CI, quality bar
17+ - [ python/ontap_client.py] ( ../../python/ontap_client.py ) - shared Python REST client
18+ - [ python/nfs_provision.py] ( ../../python/nfs_provision.py ) - Python reference
19+ - [ ansible/nfs_provision.yml] ( ../../ansible/nfs_provision.yml ) - Ansible reference
20+ - [ ansible/cifs_provision.yml] ( ../../ansible/cifs_provision.yml ) - Ansible CIFS reference
21+ - [ terraform/nfs-provision/] ( ../../terraform/nfs-provision/ ) - Terraform reference
22+ - [ docs/ontap-api-patterns.md] ( ../../docs/ontap-api-patterns.md ) - API endpoints, auth, async jobs
23+ - [ docs/example-template/] ( ../../docs/example-template/ ) - skeleton files for all tools
24+ - [ CONTRIBUTING.md] ( ../../CONTRIBUTING.md ) - naming, CI, quality bar
2525
26- ## Phase 1 — Clarify Inputs
26+ ## Phase 1 - Clarify Inputs
2727
2828Before generating any code, ask me for anything missing:
2929- SVM name, volume name/size, aggregate
@@ -32,7 +32,7 @@ Before generating any code, ask me for anything missing:
3232- Authentication approach
3333- Non-default options (snapshot policy, tiering, QoS, junction path)
3434
35- ## Phase 2 — API Sequence
35+ ## Phase 2 - API Sequence
3636
3737Present a numbered list of ONTAP REST API calls in execution order.
3838For each:
@@ -41,16 +41,16 @@ For each:
4141| ---| --------| ----------| ----------------| ------------| -----|
4242
4343Rules:
44- - ONTAP REST only — no ZAPI, no CLI passthrough, no SSH.
44+ - ONTAP REST only - no ZAPI, no CLI passthrough, no SSH.
4545- Target ONTAP 9.8+ endpoints.
4646- Full paths (e.g. ` /api/storage/volumes ` ).
4747- Include poll steps for async calls.
4848
4949** Wait for my approval before Phase 3.**
5050
51- ## Phase 3 — Generate All Three Implementations
51+ ## Phase 3 - Generate All Three Implementations
5252
53- ### 3A. Python — ` python/<use_case>.py `
53+ ### 3A. Python - ` python/<use_case>.py `
5454
5555- ` #!/usr/bin/env python3 ` , ` from __future__ import annotations `
5656- Module docstring: steps, prerequisites, usage with CLI flags.
6262- ` if __name__ == "__main__": ` with try/except guard.
6363- Type hints throughout. No hardcoded credentials.
6464
65- ### 3B. Ansible — ` ansible/<use_case>.yml `
65+ ### 3B. Ansible - ` ansible/<use_case>.yml `
6666
6767- ` --- ` header with filename, description, usage comment.
6868- ` hosts: ontap ` , ` gather_facts: false ` , ` connection: local ` .
7272- ` vars: ` for operational defaults (overridable with ` -e ` ).
7373- Final ` ansible.builtin.debug ` summary. No hardcoded credentials.
7474
75- ### 3C. Terraform — ` terraform/<use-case>/ `
75+ ### 3C. Terraform - ` terraform/<use-case>/ `
7676
7777- ` main.tf ` : ` required_version >= 1.4 ` , provider ` NetApp/netapp-ontap ~> 2.5 ` ,
7878 ` connection_profiles ` with ` cx_profile_name = "cluster1" ` .
8181- ` terraform.tfvars.example ` : placeholder values, no real credentials.
8282- ` depends_on ` where ordering matters.
8383
84- ## Phase 4 — Validate
84+ ## Phase 4 - Validate
8585
8686For each implementation:
87871 . Exact commands to run it.
@@ -103,4 +103,4 @@ See the NOTICE file in the repo root for trademark and attribution details.
103103
104104Place after any shebang (` #!/usr/bin/env python3 ` ), YAML directive (` --- ` ),
105105or ` <!DOCTYPE html> ` line. Do ** not** duplicate the full trademark text in
106- source files — it lives in [ NOTICE] ( ../../NOTICE ) and the LICENSE appendix.
106+ source files - it lives in [ NOTICE] ( ../../NOTICE ) and the LICENSE appendix.
0 commit comments