<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Org:infraprints on jrbeverly</title><link>https://workbench.jrbeverly.ca/tags/orginfraprints/</link><description>Recent content in Org:infraprints on jrbeverly</description><generator>Hugo</generator><language>en-CA</language><lastBuildDate>Mon, 04 Nov 2019 00:24:25 +0000</lastBuildDate><atom:link href="https://workbench.jrbeverly.ca/tags/orginfraprints/index.xml" rel="self" type="application/rss+xml"/><item><title>terraform-aws-iam-ci-role</title><link>https://workbench.jrbeverly.ca/2019/11/infraprints-terraform-aws-iam-ci-role/</link><pubDate>Mon, 04 Nov 2019 00:24:25 +0000</pubDate><guid>https://workbench.jrbeverly.ca/2019/11/infraprints-terraform-aws-iam-ci-role/</guid><description>&lt;h1 id="aws-iam-external-role"&gt;AWS IAM External Role&lt;/h1&gt;
&lt;p&gt;Terraform module for a continuous integration user-role pairing.&lt;/p&gt;
&lt;p&gt;These types of resources are supported:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a
 href="https://www.terraform.io/docs/providers/aws/r/iam_role.html" target="_blank" rel="noreferrer"&gt;IAM Role&lt;/a&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="usage"&gt;Usage&lt;/h2&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-hcl" data-lang="hcl"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="k"&gt;module&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;cicd_setup&amp;#34;&lt;/span&gt; {
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="n"&gt; source&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;git::https://gitlab.com/infraprints/modules/aws/iam-ci-role&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="n"&gt; username&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;infraprints-iam-ci-role-basic&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="n"&gt; role_name&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;infraprints-iam-ci-role-basic&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="n"&gt; environment_variable&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; {
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="n"&gt; s3_bucket&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;infraprints-bucket-example&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="n"&gt; hello_world&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;hello world&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; }
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;}
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h2 id="examples"&gt;Examples&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a
 href="https://github.com/infraprints/terraform-aws-iam-ci-role/blob/HEAD/examples/basic" target="_blank" rel="noreferrer"&gt;Basic Example&lt;/a&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="notes"&gt;Notes&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;Environment variables are prefixed with &lt;code&gt;ENV_&lt;/code&gt; to prevent them&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="inputs"&gt;Inputs&lt;/h2&gt;
&lt;table&gt;
	&lt;thead&gt;
			&lt;tr&gt;
					&lt;th&gt;Name&lt;/th&gt;
					&lt;th&gt;Description&lt;/th&gt;
					&lt;th style="text-align: center"&gt;Type&lt;/th&gt;
					&lt;th style="text-align: center"&gt;Default&lt;/th&gt;
					&lt;th style="text-align: center"&gt;Required&lt;/th&gt;
			&lt;/tr&gt;
	&lt;/thead&gt;
	&lt;tbody&gt;
			&lt;tr&gt;
					&lt;td&gt;environment_variable&lt;/td&gt;
					&lt;td&gt;Times&lt;/td&gt;
					&lt;td style="text-align: center"&gt;map&lt;/td&gt;
					&lt;td style="text-align: center"&gt;&lt;code&gt;&amp;lt;map&amp;gt;&lt;/code&gt;&lt;/td&gt;
					&lt;td style="text-align: center"&gt;no&lt;/td&gt;
			&lt;/tr&gt;
			&lt;tr&gt;
					&lt;td&gt;labels&lt;/td&gt;
					&lt;td&gt;&lt;/td&gt;
					&lt;td style="text-align: center"&gt;map&lt;/td&gt;
					&lt;td style="text-align: center"&gt;&lt;code&gt;&amp;lt;map&amp;gt;&lt;/code&gt;&lt;/td&gt;
					&lt;td style="text-align: center"&gt;no&lt;/td&gt;
			&lt;/tr&gt;
			&lt;tr&gt;
					&lt;td&gt;length&lt;/td&gt;
					&lt;td&gt;The length of the external id desired.&lt;/td&gt;
					&lt;td style="text-align: center"&gt;string&lt;/td&gt;
					&lt;td style="text-align: center"&gt;&lt;code&gt;&amp;quot;16&amp;quot;&lt;/code&gt;&lt;/td&gt;
					&lt;td style="text-align: center"&gt;no&lt;/td&gt;
			&lt;/tr&gt;
			&lt;tr&gt;
					&lt;td&gt;path&lt;/td&gt;
					&lt;td&gt;&lt;/td&gt;
					&lt;td style="text-align: center"&gt;string&lt;/td&gt;
					&lt;td style="text-align: center"&gt;&lt;code&gt;&amp;quot;ci&amp;quot;&lt;/code&gt;&lt;/td&gt;
					&lt;td style="text-align: center"&gt;no&lt;/td&gt;
			&lt;/tr&gt;
			&lt;tr&gt;
					&lt;td&gt;period&lt;/td&gt;
					&lt;td&gt;&lt;/td&gt;
					&lt;td style="text-align: center"&gt;string&lt;/td&gt;
					&lt;td style="text-align: center"&gt;&lt;code&gt;&amp;quot;32400&amp;quot;&lt;/code&gt;&lt;/td&gt;
					&lt;td style="text-align: center"&gt;no&lt;/td&gt;
			&lt;/tr&gt;
			&lt;tr&gt;
					&lt;td&gt;role_name&lt;/td&gt;
					&lt;td&gt;The name of the role.&lt;/td&gt;
					&lt;td style="text-align: center"&gt;string&lt;/td&gt;
					&lt;td style="text-align: center"&gt;n/a&lt;/td&gt;
					&lt;td style="text-align: center"&gt;yes&lt;/td&gt;
			&lt;/tr&gt;
			&lt;tr&gt;
					&lt;td&gt;service&lt;/td&gt;
					&lt;td&gt;&lt;/td&gt;
					&lt;td style="text-align: center"&gt;string&lt;/td&gt;
					&lt;td style="text-align: center"&gt;&lt;code&gt;&amp;quot;GitLab&amp;quot;&lt;/code&gt;&lt;/td&gt;
					&lt;td style="text-align: center"&gt;no&lt;/td&gt;
			&lt;/tr&gt;
			&lt;tr&gt;
					&lt;td&gt;tags&lt;/td&gt;
					&lt;td&gt;Key-value mapping of tags for the IAM role.&lt;/td&gt;
					&lt;td style="text-align: center"&gt;map&lt;/td&gt;
					&lt;td style="text-align: center"&gt;&lt;code&gt;&amp;lt;map&amp;gt;&lt;/code&gt;&lt;/td&gt;
					&lt;td style="text-align: center"&gt;no&lt;/td&gt;
			&lt;/tr&gt;
			&lt;tr&gt;
					&lt;td&gt;username&lt;/td&gt;
					&lt;td&gt;The name of the user.&lt;/td&gt;
					&lt;td style="text-align: center"&gt;string&lt;/td&gt;
					&lt;td style="text-align: center"&gt;n/a&lt;/td&gt;
					&lt;td style="text-align: center"&gt;yes&lt;/td&gt;
			&lt;/tr&gt;
	&lt;/tbody&gt;
&lt;/table&gt;
&lt;h2 id="outputs"&gt;Outputs&lt;/h2&gt;
&lt;table&gt;
	&lt;thead&gt;
			&lt;tr&gt;
					&lt;th&gt;Name&lt;/th&gt;
					&lt;th&gt;Description&lt;/th&gt;
			&lt;/tr&gt;
	&lt;/thead&gt;
	&lt;tbody&gt;
			&lt;tr&gt;
					&lt;td&gt;arn&lt;/td&gt;
					&lt;td&gt;The Amazon Resource Name (ARN) specifying the role.&lt;/td&gt;
			&lt;/tr&gt;
			&lt;tr&gt;
					&lt;td&gt;create_date&lt;/td&gt;
					&lt;td&gt;The Amazon Resource Name (ARN) specifying the role.&lt;/td&gt;
			&lt;/tr&gt;
			&lt;tr&gt;
					&lt;td&gt;unique_id&lt;/td&gt;
					&lt;td&gt;The Amazon Resource Name (ARN) specifying the role.&lt;/td&gt;
			&lt;/tr&gt;
	&lt;/tbody&gt;
&lt;/table&gt;</description></item><item><title>terraform-aws-terraform-state-output</title><link>https://workbench.jrbeverly.ca/2019/11/infraprints-terraform-aws-terraform-state-output/</link><pubDate>Mon, 04 Nov 2019 00:23:12 +0000</pubDate><guid>https://workbench.jrbeverly.ca/2019/11/infraprints-terraform-aws-terraform-state-output/</guid><description>&lt;h1 id="aws-s3-terraform-state-output"&gt;AWS S3 Terraform State Output&lt;/h1&gt;
&lt;p&gt;Terraform module which creates an S3 Object containing terraform outputs.&lt;/p&gt;
&lt;p&gt;These types of resources are supported:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a
 href="https://www.terraform.io/docs/providers/aws/r/s3_bucket_object.html" target="_blank" rel="noreferrer"&gt;S3 Bucket Object&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a
 href="https://www.terraform.io/docs/providers/template/d/file.html" target="_blank" rel="noreferrer"&gt;Template&lt;/a&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="usage"&gt;Usage&lt;/h2&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-hcl" data-lang="hcl"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="k"&gt;locals&lt;/span&gt; {
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="n"&gt; topics&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;aws&amp;#34;, &amp;#34;s3&amp;#34;, &amp;#34;terraform&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;]&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="n"&gt; tags&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; {
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="n"&gt; name&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;infraprints&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="n"&gt; description&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;Infrastructure as Code.&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; }
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;}
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="k"&gt;module&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;output_resources&amp;#34;&lt;/span&gt; {
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="n"&gt; source&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;git::https://gitlab.com/infraprints/modules/aws/terraform-state-output&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="n"&gt; bucket&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;infraprints-terraform-state-output&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="n"&gt; key&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;aws/infraprints/project/outputs.tf&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="n"&gt; terraform_output&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="p"&gt;[&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; {
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="n"&gt; key&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;aws_account_id&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="n"&gt; value&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;123412341234&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; }&lt;span class="p"&gt;,&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; {
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="n"&gt; key&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;topics&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="n"&gt; value&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="k"&gt;jsonencode&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="k"&gt;local&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="k"&gt;topics&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; }&lt;span class="p"&gt;,&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; {
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="n"&gt; key&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;tags&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="n"&gt; value&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="k"&gt;jsonencode&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="k"&gt;local&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="k"&gt;tags&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; }&lt;span class="p"&gt;,&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="p"&gt;]&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;}
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;With using the output of this module here:&lt;/p&gt;</description></item><item><title>terraform-aws-route53-subdomains</title><link>https://workbench.jrbeverly.ca/2019/11/infraprints-terraform-aws-route53-subdomains/</link><pubDate>Mon, 04 Nov 2019 00:21:10 +0000</pubDate><guid>https://workbench.jrbeverly.ca/2019/11/infraprints-terraform-aws-route53-subdomains/</guid><description>&lt;h1 id="terraform-aws-acm-certificate"&gt;terraform-aws-acm-certificate&lt;/h1&gt;</description></item><item><title>terraform-aws-terraform-remote-state</title><link>https://workbench.jrbeverly.ca/2019/11/infraprints-terraform-aws-terraform-remote-state/</link><pubDate>Mon, 04 Nov 2019 00:20:48 +0000</pubDate><guid>https://workbench.jrbeverly.ca/2019/11/infraprints-terraform-aws-terraform-remote-state/</guid><description>&lt;h1 id="aws-terraform-remote-state-with-lock-table"&gt;AWS Terraform Remote State with Lock Table&lt;/h1&gt;
&lt;p&gt;Terraform module which creates a terraform remote state storage in S3 with a DynamoDB lock table.&lt;/p&gt;
&lt;p&gt;These types of resources are supported:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a
 href="https://www.terraform.io/docs/providers/aws/r/s3_bucket.html" target="_blank" rel="noreferrer"&gt;S3 Bucket&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a
 href="https://www.terraform.io/docs/providers/aws/r/dynamodb_table.html" target="_blank" rel="noreferrer"&gt;DynamoDB Table&lt;/a&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="usage"&gt;Usage&lt;/h2&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-hcl" data-lang="hcl"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="k"&gt;module&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;remote_state&amp;#34;&lt;/span&gt; {
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="n"&gt; source&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;git::https://gitlab.com/infraprints/modules/aws/terraform-remote-state&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="n"&gt; bucket&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;infraprints-terraform-remote-state&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="n"&gt; table&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;infraprints-terraform-lock-table&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;}
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="k"&gt;resource&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;aws_iam_role&amp;#34; &amp;#34;terraform&amp;#34;&lt;/span&gt; {
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="n"&gt; name&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;infraprints-terraform&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="n"&gt; assume_role_policy&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="err"&gt;&amp;lt;&amp;lt;&lt;/span&gt;&lt;span class="k"&gt;EOF&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;{
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="s2"&gt;&amp;#34;Version&amp;#34;: &amp;#34;2012-10-17&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="s2"&gt;&amp;#34;Statement&amp;#34;&lt;/span&gt;&lt;span class="err"&gt;:&lt;/span&gt; &lt;span class="p"&gt;[&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; {
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="s2"&gt;&amp;#34;Action&amp;#34;: &amp;#34;sts:AssumeRole&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="s2"&gt;&amp;#34;Principal&amp;#34;&lt;/span&gt;&lt;span class="err"&gt;:&lt;/span&gt; {
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="s2"&gt;&amp;#34;Service&amp;#34;: &amp;#34;ec2.amazonaws.com&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; }&lt;span class="p"&gt;,&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="s2"&gt;&amp;#34;Effect&amp;#34;: &amp;#34;Allow&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="s2"&gt;&amp;#34;Sid&amp;#34;: &amp;#34;&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; }
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="p"&gt;]&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;}
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="k"&gt;EOF&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;}
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="k"&gt;resource&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;aws_iam_role_policy&amp;#34; &amp;#34;terraform_policy&amp;#34;&lt;/span&gt; {
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="n"&gt; name&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;TerraformRemoteState&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="n"&gt; role&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="k"&gt;aws_iam_role&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="k"&gt;terraform&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="k"&gt;id&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="n"&gt; policy&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="k"&gt;module&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="k"&gt;remote_state&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="k"&gt;write_policy&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;}
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h2 id="examples"&gt;Examples&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a
 href="https://github.com/infraprints/terraform-aws-terraform-remote-state/blob/HEAD/examples/basic" target="_blank" rel="noreferrer"&gt;Basic Example&lt;/a&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="notes"&gt;Notes&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;Only SSL access is permitted to the remote state storage&lt;/li&gt;
&lt;li&gt;Only encrypted objects can be uploaded to the remote state storage&lt;/li&gt;
&lt;li&gt;The lock table is not encrypted&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="inputs"&gt;Inputs&lt;/h2&gt;
&lt;p&gt;Placeholder.&lt;/p&gt;</description></item><item><title>terraform-aws-s3-artifacts</title><link>https://workbench.jrbeverly.ca/2019/11/infraprints-terraform-aws-s3-artifacts/</link><pubDate>Mon, 04 Nov 2019 00:18:24 +0000</pubDate><guid>https://workbench.jrbeverly.ca/2019/11/infraprints-terraform-aws-s3-artifacts/</guid><description>&lt;h1 id="aws-s3-terraform-state-output"&gt;AWS S3 Terraform State Output&lt;/h1&gt;
&lt;p&gt;Terraform module for an tiered storage S3 bucket with eventual object expiration. Primary use key is for a build artifacts storage.&lt;/p&gt;
&lt;p&gt;These types of resources are supported:&lt;/p&gt;</description></item><item><title>terraform-aws-codepipeline-terraform</title><link>https://workbench.jrbeverly.ca/2019/11/infraprints-terraform-aws-codepipeline-terraform/</link><pubDate>Mon, 04 Nov 2019 00:15:50 +0000</pubDate><guid>https://workbench.jrbeverly.ca/2019/11/infraprints-terraform-aws-codepipeline-terraform/</guid><description>&lt;h1 id="terraform-aws-acm-certificate"&gt;terraform-aws-acm-certificate&lt;/h1&gt;</description></item><item><title>terraform-aws-acm-certificate</title><link>https://workbench.jrbeverly.ca/2019/11/infraprints-terraform-aws-acm-certificate/</link><pubDate>Mon, 04 Nov 2019 00:14:04 +0000</pubDate><guid>https://workbench.jrbeverly.ca/2019/11/infraprints-terraform-aws-acm-certificate/</guid><description>&lt;h1 id="aws-acm-dns-validated-certificate"&gt;AWS ACM DNS Validated Certificate&lt;/h1&gt;
&lt;p&gt;Terraform module for provisioning a DNS validated certificate, along with the required validation records. The module will wait for validation to complete.&lt;/p&gt;
&lt;p&gt;These types of resources are supported:&lt;/p&gt;</description></item><item><title>terraform-aws-iam-external-role</title><link>https://workbench.jrbeverly.ca/2019/11/infraprints-terraform-aws-iam-external-role/</link><pubDate>Mon, 04 Nov 2019 00:11:46 +0000</pubDate><guid>https://workbench.jrbeverly.ca/2019/11/infraprints-terraform-aws-iam-external-role/</guid><description>&lt;h1 id="aws-iam-external-role"&gt;AWS IAM External Role&lt;/h1&gt;
&lt;p&gt;Terraform module for describing an IAM role responsible for delegating cross-account access.&lt;/p&gt;
&lt;p&gt;These types of resources are supported:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a
 href="https://www.terraform.io/docs/providers/aws/r/iam_role.html" target="_blank" rel="noreferrer"&gt;IAM Role&lt;/a&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="usage"&gt;Usage&lt;/h2&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-hcl" data-lang="hcl"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="k"&gt;module&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;example&amp;#34;&lt;/span&gt; {
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="n"&gt; source&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;git::https://gitlab.com/infraprints/modules/aws/iam-external-role&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="n"&gt; name&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;infraprints-iam-external-role&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="n"&gt; external_id&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;TXAiS9rfgQghzWW2&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="n"&gt; role_arn&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;${aws_iam_role.default.arn}&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;]&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="n"&gt; count&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;1&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;}
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="k"&gt;resource&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;aws_iam_role&amp;#34; &amp;#34;default&amp;#34;&lt;/span&gt; {
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="n"&gt; name&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;infraprints-ec2-role&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="n"&gt; assume_role_policy&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="err"&gt;&amp;lt;&amp;lt;&lt;/span&gt;&lt;span class="k"&gt;EOF&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;{
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="s2"&gt;&amp;#34;Version&amp;#34;: &amp;#34;2012-10-17&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="s2"&gt;&amp;#34;Statement&amp;#34;&lt;/span&gt;&lt;span class="err"&gt;:&lt;/span&gt; &lt;span class="p"&gt;[&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; {
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="s2"&gt;&amp;#34;Action&amp;#34;: &amp;#34;sts:AssumeRole&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="s2"&gt;&amp;#34;Principal&amp;#34;&lt;/span&gt;&lt;span class="err"&gt;:&lt;/span&gt; {
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="s2"&gt;&amp;#34;Service&amp;#34;: &amp;#34;ec2.amazonaws.com&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; }&lt;span class="p"&gt;,&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="s2"&gt;&amp;#34;Effect&amp;#34;: &amp;#34;Allow&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; }
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="p"&gt;]&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;}
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="k"&gt;EOF&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;}
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h2 id="examples"&gt;Examples&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a
 href="https://github.com/infraprints/terraform-aws-iam-external-role/blob/HEAD/examples/basic" target="_blank" rel="noreferrer"&gt;Basic Example&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a
 href="https://github.com/infraprints/terraform-aws-iam-external-role/blob/HEAD/examples/external" target="_blank" rel="noreferrer"&gt;ExternalID Example&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a
 href="https://github.com/infraprints/terraform-aws-iam-external-role/blob/HEAD/examples/multiple" target="_blank" rel="noreferrer"&gt;Multiple roles Example&lt;/a&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="notes"&gt;Notes&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;The &lt;code&gt;count&lt;/code&gt; property is required as a constant as a workaround to a Terraform issue.&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="inputs"&gt;Inputs&lt;/h2&gt;
&lt;table&gt;
	&lt;thead&gt;
			&lt;tr&gt;
					&lt;th&gt;Name&lt;/th&gt;
					&lt;th&gt;Description&lt;/th&gt;
					&lt;th style="text-align: center"&gt;Type&lt;/th&gt;
					&lt;th style="text-align: center"&gt;Default&lt;/th&gt;
					&lt;th style="text-align: center"&gt;Required&lt;/th&gt;
			&lt;/tr&gt;
	&lt;/thead&gt;
	&lt;tbody&gt;
			&lt;tr&gt;
					&lt;td&gt;count&lt;/td&gt;
					&lt;td&gt;The number of principal entities.&lt;/td&gt;
					&lt;td style="text-align: center"&gt;string&lt;/td&gt;
					&lt;td style="text-align: center"&gt;n/a&lt;/td&gt;
					&lt;td style="text-align: center"&gt;yes&lt;/td&gt;
			&lt;/tr&gt;
			&lt;tr&gt;
					&lt;td&gt;description&lt;/td&gt;
					&lt;td&gt;The description of the role.&lt;/td&gt;
					&lt;td style="text-align: center"&gt;string&lt;/td&gt;
					&lt;td style="text-align: center"&gt;&lt;code&gt;&amp;quot;&amp;quot;&lt;/code&gt;&lt;/td&gt;
					&lt;td style="text-align: center"&gt;no&lt;/td&gt;
			&lt;/tr&gt;
			&lt;tr&gt;
					&lt;td&gt;external_id&lt;/td&gt;
					&lt;td&gt;External Identifier set on the role.&lt;/td&gt;
					&lt;td style="text-align: center"&gt;string&lt;/td&gt;
					&lt;td style="text-align: center"&gt;&lt;code&gt;&amp;quot;&amp;quot;&lt;/code&gt;&lt;/td&gt;
					&lt;td style="text-align: center"&gt;no&lt;/td&gt;
			&lt;/tr&gt;
			&lt;tr&gt;
					&lt;td&gt;force_detach_policies&lt;/td&gt;
					&lt;td&gt;Specifies to force detaching any policies the role has before destroying it. Defaults to false.&lt;/td&gt;
					&lt;td style="text-align: center"&gt;string&lt;/td&gt;
					&lt;td style="text-align: center"&gt;&lt;code&gt;&amp;quot;true&amp;quot;&lt;/code&gt;&lt;/td&gt;
					&lt;td style="text-align: center"&gt;no&lt;/td&gt;
			&lt;/tr&gt;
			&lt;tr&gt;
					&lt;td&gt;max_session_duration&lt;/td&gt;
					&lt;td&gt;The maximum session duration (in seconds) that you want to set for the specified role. If you do not specify a value for this setting, the default maximum of one hour is applied. This setting can have a value from 1 hour to 12 hours.&lt;/td&gt;
					&lt;td style="text-align: center"&gt;string&lt;/td&gt;
					&lt;td style="text-align: center"&gt;&lt;code&gt;&amp;quot;3600&amp;quot;&lt;/code&gt;&lt;/td&gt;
					&lt;td style="text-align: center"&gt;no&lt;/td&gt;
			&lt;/tr&gt;
			&lt;tr&gt;
					&lt;td&gt;name&lt;/td&gt;
					&lt;td&gt;The name of the role.&lt;/td&gt;
					&lt;td style="text-align: center"&gt;string&lt;/td&gt;
					&lt;td style="text-align: center"&gt;n/a&lt;/td&gt;
					&lt;td style="text-align: center"&gt;yes&lt;/td&gt;
			&lt;/tr&gt;
			&lt;tr&gt;
					&lt;td&gt;path&lt;/td&gt;
					&lt;td&gt;The path to the role. See &lt;a
 href="https://docs.aws.amazon.com/IAM/latest/UserGuide/Using_Identifiers.html" target="_blank" rel="noreferrer"&gt;IAM Identifiers&lt;/a&gt;
 for more information.&lt;/td&gt;
					&lt;td style="text-align: center"&gt;string&lt;/td&gt;
					&lt;td style="text-align: center"&gt;&lt;code&gt;&amp;quot;/external/&amp;quot;&lt;/code&gt;&lt;/td&gt;
					&lt;td style="text-align: center"&gt;no&lt;/td&gt;
			&lt;/tr&gt;
			&lt;tr&gt;
					&lt;td&gt;permissions_boundary&lt;/td&gt;
					&lt;td&gt;The ARN of the policy that is used to set the permissions boundary for the role.&lt;/td&gt;
					&lt;td style="text-align: center"&gt;string&lt;/td&gt;
					&lt;td style="text-align: center"&gt;&lt;code&gt;&amp;quot;&amp;quot;&lt;/code&gt;&lt;/td&gt;
					&lt;td style="text-align: center"&gt;no&lt;/td&gt;
			&lt;/tr&gt;
			&lt;tr&gt;
					&lt;td&gt;role_arn&lt;/td&gt;
					&lt;td&gt;The list of principal entities that is allowed to assume the role.&lt;/td&gt;
					&lt;td style="text-align: center"&gt;list&lt;/td&gt;
					&lt;td style="text-align: center"&gt;n/a&lt;/td&gt;
					&lt;td style="text-align: center"&gt;yes&lt;/td&gt;
			&lt;/tr&gt;
			&lt;tr&gt;
					&lt;td&gt;tags&lt;/td&gt;
					&lt;td&gt;Key-value mapping of tags for the IAM role.&lt;/td&gt;
					&lt;td style="text-align: center"&gt;map&lt;/td&gt;
					&lt;td style="text-align: center"&gt;&lt;code&gt;&amp;lt;map&amp;gt;&lt;/code&gt;&lt;/td&gt;
					&lt;td style="text-align: center"&gt;no&lt;/td&gt;
			&lt;/tr&gt;
	&lt;/tbody&gt;
&lt;/table&gt;
&lt;h2 id="outputs"&gt;Outputs&lt;/h2&gt;
&lt;table&gt;
	&lt;thead&gt;
			&lt;tr&gt;
					&lt;th&gt;Name&lt;/th&gt;
					&lt;th&gt;Description&lt;/th&gt;
			&lt;/tr&gt;
	&lt;/thead&gt;
	&lt;tbody&gt;
			&lt;tr&gt;
					&lt;td&gt;arn&lt;/td&gt;
					&lt;td&gt;The Amazon Resource Name (ARN) specifying the role.&lt;/td&gt;
			&lt;/tr&gt;
			&lt;tr&gt;
					&lt;td&gt;create_date&lt;/td&gt;
					&lt;td&gt;The Amazon Resource Name (ARN) specifying the role.&lt;/td&gt;
			&lt;/tr&gt;
			&lt;tr&gt;
					&lt;td&gt;unique_id&lt;/td&gt;
					&lt;td&gt;The Amazon Resource Name (ARN) specifying the role.&lt;/td&gt;
			&lt;/tr&gt;
	&lt;/tbody&gt;
&lt;/table&gt;</description></item><item><title>readme</title><link>https://workbench.jrbeverly.ca/2019/11/infraprints-readme/</link><pubDate>Mon, 04 Nov 2019 00:10:23 +0000</pubDate><guid>https://workbench.jrbeverly.ca/2019/11/infraprints-readme/</guid><description/></item><item><title>terraform-id</title><link>https://workbench.jrbeverly.ca/2019/11/infraprints-terraform-id/</link><pubDate>Mon, 04 Nov 2019 00:07:59 +0000</pubDate><guid>https://workbench.jrbeverly.ca/2019/11/infraprints-terraform-id/</guid><description>&lt;h1 id="terraform-resource-id"&gt;Terraform Resource ID&lt;/h1&gt;
&lt;p&gt;Construct a formatted name for a Terraform resource.&lt;/p&gt;</description></item><item><title>terraform-gitlab-netlify-cicd</title><link>https://workbench.jrbeverly.ca/2019/11/infraprints-terraform-gitlab-netlify-cicd/</link><pubDate>Mon, 04 Nov 2019 00:00:28 +0000</pubDate><guid>https://workbench.jrbeverly.ca/2019/11/infraprints-terraform-gitlab-netlify-cicd/</guid><description>&lt;h1 id="terraform-netlify-gitlab-cicd"&gt;Terraform Netlify Gitlab CI/CD&lt;/h1&gt;
&lt;p&gt;Terraform module which creates a site on Netlify with the necessary variables for GitLab CI deployments.&lt;/p&gt;
&lt;p&gt;These types of resources are supported:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a
 href="https://www.terraform.io/docs/providers/netlify/r/netlify_site.html" target="_blank" rel="noreferrer"&gt;Netlify Site&lt;/a&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="usage"&gt;Usage&lt;/h2&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-hcl" data-lang="hcl"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="k"&gt;module&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;cloudability&amp;#34;&lt;/span&gt; {
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="n"&gt; source&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="n"&gt; &amp;#34;git::https://gitlab.com/infraprints/modules/netlify/gitlab-cicd.git?ref&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="k"&gt;master&lt;/span&gt;&lt;span class="err"&gt;&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="n"&gt; name&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;my-netlify-website&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="n"&gt; custom_domain&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;www.example.com&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="n"&gt; project&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;01234567&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;}
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h2 id="examples"&gt;Examples&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a
 href="https://github.com/infraprints/terraform-gitlab-netlify-cicd/blob/HEAD/examples/basic" target="_blank" rel="noreferrer"&gt;Basic Example&lt;/a&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="notes"&gt;Notes&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;Three GitLab CI Environment Variables (&lt;code&gt;NETLIFY_SITE_ID&lt;/code&gt;, &lt;code&gt;NETLIFY_NAME&lt;/code&gt;, &lt;code&gt;NETLIFY_CUSTOM_DOMAIN&lt;/code&gt;)&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="inputs"&gt;Inputs&lt;/h2&gt;
&lt;table&gt;
	&lt;thead&gt;
			&lt;tr&gt;
					&lt;th&gt;Name&lt;/th&gt;
					&lt;th&gt;Description&lt;/th&gt;
					&lt;th style="text-align: center"&gt;Type&lt;/th&gt;
					&lt;th style="text-align: center"&gt;Default&lt;/th&gt;
					&lt;th style="text-align: center"&gt;Required&lt;/th&gt;
			&lt;/tr&gt;
	&lt;/thead&gt;
	&lt;tbody&gt;
			&lt;tr&gt;
					&lt;td&gt;name&lt;/td&gt;
					&lt;td&gt;A friendly name for the netlify site.&lt;/td&gt;
					&lt;td style="text-align: center"&gt;string&lt;/td&gt;
					&lt;td style="text-align: center"&gt;-&lt;/td&gt;
					&lt;td style="text-align: center"&gt;yes&lt;/td&gt;
			&lt;/tr&gt;
			&lt;tr&gt;
					&lt;td&gt;custom_domain&lt;/td&gt;
					&lt;td&gt;FQDN built using the zone domain and name.&lt;/td&gt;
					&lt;td style="text-align: center"&gt;string&lt;/td&gt;
					&lt;td style="text-align: center"&gt;-&lt;/td&gt;
					&lt;td style="text-align: center"&gt;yes&lt;/td&gt;
			&lt;/tr&gt;
			&lt;tr&gt;
					&lt;td&gt;project&lt;/td&gt;
					&lt;td&gt;The integer that uniquely identifies the project within the gitlab install.&lt;/td&gt;
					&lt;td style="text-align: center"&gt;string&lt;/td&gt;
					&lt;td style="text-align: center"&gt;-&lt;/td&gt;
					&lt;td style="text-align: center"&gt;yes&lt;/td&gt;
			&lt;/tr&gt;
	&lt;/tbody&gt;
&lt;/table&gt;
&lt;h2 id="outputs"&gt;Outputs&lt;/h2&gt;
&lt;table&gt;
	&lt;thead&gt;
			&lt;tr&gt;
					&lt;th&gt;Name&lt;/th&gt;
					&lt;th&gt;Description&lt;/th&gt;
			&lt;/tr&gt;
	&lt;/thead&gt;
	&lt;tbody&gt;
			&lt;tr&gt;
					&lt;td&gt;id&lt;/td&gt;
					&lt;td&gt;The unique identifier.&lt;/td&gt;
			&lt;/tr&gt;
			&lt;tr&gt;
					&lt;td&gt;name&lt;/td&gt;
					&lt;td&gt;Name of your site on netlify.&lt;/td&gt;
			&lt;/tr&gt;
			&lt;tr&gt;
					&lt;td&gt;custom_domain&lt;/td&gt;
					&lt;td&gt;A custom domain name, must be configured using a cname in accordance with &lt;a
 href="https://www.netlify.com/docs/custom-domains/" target="_blank" rel="noreferrer"&gt;netlify&amp;rsquo;s docs&lt;/a&gt;
.&lt;/td&gt;
			&lt;/tr&gt;
	&lt;/tbody&gt;
&lt;/table&gt;</description></item><item><title>website</title><link>https://workbench.jrbeverly.ca/2019/11/infraprints-website/</link><pubDate>Sun, 03 Nov 2019 17:48:38 +0000</pubDate><guid>https://workbench.jrbeverly.ca/2019/11/infraprints-website/</guid><description>&lt;h1 id="website"&gt;Website&lt;/h1&gt;
&lt;p&gt;The work-in-progress stub for the infraprints website.&lt;/p&gt;</description></item><item><title>simple-terraform</title><link>https://workbench.jrbeverly.ca/2019/01/infraprints-simple-terraform/</link><pubDate>Fri, 18 Jan 2019 00:04:09 +0000</pubDate><guid>https://workbench.jrbeverly.ca/2019/01/infraprints-simple-terraform/</guid><description>&lt;h1 id="prototype-codepipeline-terraform-repository"&gt;Prototype CodePipeline Terraform Repository&lt;/h1&gt;
&lt;p&gt;A repository for terraform execution in a Codepipeline task. This repository is part of an original experiment&lt;/p&gt;
&lt;p&gt;I wanted to have an terraform executor that met the following requirements:&lt;/p&gt;</description></item></channel></rss>