This repository contains the terraform provider implementation and docs for the Shoreline Software APIs.
Documentation located in the /docs
directory is compiled and generated from a handful of disparate sources:
-
The Terraform docs plugin uses local
templates/**/*.md.tmpl
files to compile Terraform resource files. -
content/**/*.md
files are the base templates used by thetfdocsplugin
, but they optionally use terminology and/or relative path URLs based on the docs.shoreline.io content system.The
content/terms.json
file defines a series of terminology patterns that map to Docs URLs. These same terminology paths are usable withincontent/**/*.md
files using the same/t/<term>
URL syntax. See Docs: Terminology Links for more details.For example, consider the following template Markdown:
Actions execute shell commands on associated [Resources](/t/resource). Whenever an [Alarm](/t/alarm) fires the associated [Bot](/t/bot) triggers the corresponding [Action](/t/action), closing the basic auto-remediation loop of Shoreline. - [name](/actions/properties#name) - The name of the Action.
The final Markdown is converted to the following, automatically mapping terminology links to the appropriate external docs.shoreline.io Article link.
Actions execute shell commands on associated [Resources](https://docs.shoreline.io/platform/resources). Whenever an [Alarm](https://docs.shoreline.io/alarms) fires the associated [Bot](https://docs.shoreline.io/bots) triggers the corresponding [Action](https://docs.shoreline.io/actions), closing the basic auto-remediation loop of Shoreline. - [name](https://docs.shoreline.io/actions/properties#name) - The name of the Action.
-
(Optional) Install all required Node modules with
yarn install
. -
Build the templates and generate the final docs with
gulp build
(or justgulp
):[15:26:28] Using gulpfile F:\projects\shoreline\repos\terraform\terraform-provider-shoreline\gulpfile.js [15:26:28] Starting 'build'... [15:26:28] Starting 'buildTemplates'... [15:26:28] Finished 'buildTemplates' after 46 ms [15:26:28] Starting 'generateDocs'... rendering website for provider "terraform-provider-shoreline" copying any existing content to tmp dir exporting schema from Terraform compiling provider "shoreline" generating missing resource content resource "shoreline_action" template exists, skipping generating template for "shoreline_alarm" generating template for "shoreline_bot" generating template for "shoreline_file" generating template for "shoreline_metric" generating template for "shoreline_resource" generating missing data source content generating missing provider content provider "terraform-provider-shoreline" template exists, skipping cleaning rendered website dir rendering templated website to static markdown rendering "index.md.tmpl" rendering "resources\\action.md.tmpl" rendering "resources\\alarm.md.tmpl" rendering "resources\\bot.md.tmpl" rendering "resources\\file.md.tmpl" rendering "resources\\metric.md.tmpl" rendering "resources\\resource.md.tmpl" [15:26:41] Finished 'generateDocs' after 13 s [15:26:41] Finished 'build' after 13 s
This process builds
templates/**/*.md.tmpl
files fromcontent/**/*.md
files, replacing any terminology/relative path URLs, then generates thedocs/
files viatfdocsplugin
.