Skip to content

Commit 269df3c

Browse files
Updated with the [latest changes](https://github.com/gruntwork-io/terraform-aws-messaging/releases/tag/v1.0.3) from the terraform-aws-messaging@v1.0.3 source branch. (#2926)
Co-authored-by: docs-sourcer[bot] <99042413+docs-sourcer[bot]@users.noreply.github.com>
1 parent ed749f3 commit 269df3c

File tree

7 files changed

+172
-86
lines changed

7 files changed

+172
-86
lines changed

docs/reference/modules/terraform-aws-messaging/kinesis-firehose/kinesis-firehose.md

Lines changed: 51 additions & 23 deletions
Original file line numberDiff line numberDiff line change
@@ -9,13 +9,13 @@ import VersionBadge from '../../../../../src/components/VersionBadge.tsx';
99
import { HclListItem, HclListItemDescription, HclListItemTypeDetails, HclListItemDefaultValue, HclGeneralListItem } from '../../../../../src/components/HclListItem.tsx';
1010
import { ModuleUsage } from "../../../../../src/components/ModuleUsage";
1111

12-
<VersionBadge repoTitle="AWS Messaging" version="1.0.2" lastModifiedVersion="0.13.0"/>
12+
<VersionBadge repoTitle="AWS Messaging" version="1.0.3" lastModifiedVersion="1.0.3"/>
1313

1414
# Kinesis Firehose Delivery Stream Module
1515

16-
<a href="https://github.com/gruntwork-io/terraform-aws-messaging/tree/v1.0.2/modules/kinesis-firehose" className="link-button" title="View the source code for this module in GitHub.">View Source</a>
16+
<a href="https://github.com/gruntwork-io/terraform-aws-messaging/tree/v1.0.3/modules/kinesis-firehose" className="link-button" title="View the source code for this module in GitHub.">View Source</a>
1717

18-
<a href="https://github.com/gruntwork-io/terraform-aws-messaging/releases/tag/v0.13.0" className="link-button" title="Release notes for only versions which impacted this module.">Release Notes</a>
18+
<a href="https://github.com/gruntwork-io/terraform-aws-messaging/releases/tag/v1.0.3" className="link-button" title="Release notes for only versions which impacted this module.">Release Notes</a>
1919

2020
This module creates
2121
an [Amazon Kinesis Data Firehose](https://docs.aws.amazon.com/firehose/latest/dev/what-is-this-service.html).
@@ -40,15 +40,12 @@ the `var.kinesis_stream_arn` to specify the kinesis data stream, we also have a
4040
4141
module "kinesis_firehose" {
4242
43-
source = "git::git@github.com:gruntwork-io/terraform-aws-messaging.git//modules/kinesis-firehose?ref=v1.0.2"
43+
source = "git::git@github.com:gruntwork-io/terraform-aws-messaging.git//modules/kinesis-firehose?ref=v1.0.3"
4444
4545
# ----------------------------------------------------------------------------------------------------
4646
# REQUIRED VARIABLES
4747
# ----------------------------------------------------------------------------------------------------
4848
49-
# The ARN of the kinesis data stream.
50-
kinesis_stream_arn = <string>
51-
5249
# The name of the Kinesis Data Firehose.
5350
name = <string>
5451
@@ -59,9 +56,21 @@ module "kinesis_firehose" {
5956
# OPTIONAL VARIABLES
6057
# ----------------------------------------------------------------------------------------------------
6158
59+
# Set to true to use a Kinesis Data Stream as the source for the Firehose.
60+
# When true, kinesis_stream_arn must also be provided. When false, the
61+
# Firehose will use Direct PUT as the source. This variable is needed because
62+
# kinesis_stream_arn may come from a resource that isn't created yet, and
63+
# Terraform needs to know at plan time whether to create the kinesis source
64+
# configuration.
65+
enable_kinesis_source = false
66+
6267
# The processing configuration for the Kinesis Data Firehose.
6368
extended_s3_processors = []
6469
70+
# The ARN of the kinesis data stream. Must be set when enable_kinesis_source
71+
# is true.
72+
kinesis_stream_arn = null
73+
6574
}
6675
6776
@@ -77,7 +86,7 @@ module "kinesis_firehose" {
7786
# ------------------------------------------------------------------------------------------------------
7887
7988
terraform {
80-
source = "git::git@github.com:gruntwork-io/terraform-aws-messaging.git//modules/kinesis-firehose?ref=v1.0.2"
89+
source = "git::git@github.com:gruntwork-io/terraform-aws-messaging.git//modules/kinesis-firehose?ref=v1.0.3"
8190
}
8291
8392
inputs = {
@@ -86,9 +95,6 @@ inputs = {
8695
# REQUIRED VARIABLES
8796
# ----------------------------------------------------------------------------------------------------
8897
89-
# The ARN of the kinesis data stream.
90-
kinesis_stream_arn = <string>
91-
9298
# The name of the Kinesis Data Firehose.
9399
name = <string>
94100
@@ -99,9 +105,21 @@ inputs = {
99105
# OPTIONAL VARIABLES
100106
# ----------------------------------------------------------------------------------------------------
101107
108+
# Set to true to use a Kinesis Data Stream as the source for the Firehose.
109+
# When true, kinesis_stream_arn must also be provided. When false, the
110+
# Firehose will use Direct PUT as the source. This variable is needed because
111+
# kinesis_stream_arn may come from a resource that isn't created yet, and
112+
# Terraform needs to know at plan time whether to create the kinesis source
113+
# configuration.
114+
enable_kinesis_source = false
115+
102116
# The processing configuration for the Kinesis Data Firehose.
103117
extended_s3_processors = []
104118
119+
# The ARN of the kinesis data stream. Must be set when enable_kinesis_source
120+
# is true.
121+
kinesis_stream_arn = null
122+
105123
}
106124
107125
@@ -120,14 +138,6 @@ inputs = {
120138

121139
### Required
122140

123-
<HclListItem name="kinesis_stream_arn" requirement="required" type="string">
124-
<HclListItemDescription>
125-
126-
The ARN of the kinesis data stream.
127-
128-
</HclListItemDescription>
129-
</HclListItem>
130-
131141
<HclListItem name="name" requirement="required" type="string">
132142
<HclListItemDescription>
133143

@@ -146,6 +156,15 @@ The ARN of the S3 bucket you want to export the data to.
146156

147157
### Optional
148158

159+
<HclListItem name="enable_kinesis_source" requirement="optional" type="bool">
160+
<HclListItemDescription>
161+
162+
Set to true to use a Kinesis Data Stream as the source for the Firehose. When true, kinesis_stream_arn must also be provided. When false, the Firehose will use Direct PUT as the source. This variable is needed because kinesis_stream_arn may come from a resource that isn't created yet, and Terraform needs to know at plan time whether to create the kinesis source configuration.
163+
164+
</HclListItemDescription>
165+
<HclListItemDefaultValue defaultValue="false"/>
166+
</HclListItem>
167+
149168
<HclListItem name="extended_s3_processors" requirement="optional" type="list(object(…))">
150169
<HclListItemDescription>
151170

@@ -168,6 +187,15 @@ list(object({
168187
<HclListItemDefaultValue defaultValue="[]"/>
169188
</HclListItem>
170189

190+
<HclListItem name="kinesis_stream_arn" requirement="optional" type="string">
191+
<HclListItemDescription>
192+
193+
The ARN of the kinesis data stream. Must be set when enable_kinesis_source is true.
194+
195+
</HclListItemDescription>
196+
<HclListItemDefaultValue defaultValue="null"/>
197+
</HclListItem>
198+
171199
</TabItem>
172200
<TabItem value="outputs" label="Outputs">
173201

@@ -209,11 +237,11 @@ Name of the role for Kinesis Firehose
209237
<!-- ##DOCS-SOURCER-START
210238
{
211239
"originalSources": [
212-
"https://github.com/gruntwork-io/terraform-aws-messaging/tree/v1.0.2/modules/kinesis-firehose/readme.md",
213-
"https://github.com/gruntwork-io/terraform-aws-messaging/tree/v1.0.2/modules/kinesis-firehose/variables.tf",
214-
"https://github.com/gruntwork-io/terraform-aws-messaging/tree/v1.0.2/modules/kinesis-firehose/outputs.tf"
240+
"https://github.com/gruntwork-io/terraform-aws-messaging/tree/v1.0.3/modules/kinesis-firehose/readme.md",
241+
"https://github.com/gruntwork-io/terraform-aws-messaging/tree/v1.0.3/modules/kinesis-firehose/variables.tf",
242+
"https://github.com/gruntwork-io/terraform-aws-messaging/tree/v1.0.3/modules/kinesis-firehose/outputs.tf"
215243
],
216244
"sourcePlugin": "module-catalog-api",
217-
"hash": "8db9113fa20e099ec86d9419e57763ea"
245+
"hash": "be90673f4a06c106ae6392ce58e39820"
218246
}
219247
##DOCS-SOURCER-END -->

docs/reference/modules/terraform-aws-messaging/kinesis/kinesis.md

Lines changed: 9 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -9,13 +9,13 @@ import VersionBadge from '../../../../../src/components/VersionBadge.tsx';
99
import { HclListItem, HclListItemDescription, HclListItemTypeDetails, HclListItemDefaultValue, HclGeneralListItem } from '../../../../../src/components/HclListItem.tsx';
1010
import { ModuleUsage } from "../../../../../src/components/ModuleUsage";
1111

12-
<VersionBadge repoTitle="AWS Messaging" version="1.0.2" lastModifiedVersion="0.13.0"/>
12+
<VersionBadge repoTitle="AWS Messaging" version="1.0.3" lastModifiedVersion="1.0.3"/>
1313

1414
# Kinesis Data Stream Module
1515

16-
<a href="https://github.com/gruntwork-io/terraform-aws-messaging/tree/v1.0.2/modules/kinesis" className="link-button" title="View the source code for this module in GitHub.">View Source</a>
16+
<a href="https://github.com/gruntwork-io/terraform-aws-messaging/tree/v1.0.3/modules/kinesis" className="link-button" title="View the source code for this module in GitHub.">View Source</a>
1717

18-
<a href="https://github.com/gruntwork-io/terraform-aws-messaging/releases/tag/v0.13.0" className="link-button" title="Release notes for only versions which impacted this module.">Release Notes</a>
18+
<a href="https://github.com/gruntwork-io/terraform-aws-messaging/releases/tag/v1.0.3" className="link-button" title="Release notes for only versions which impacted this module.">Release Notes</a>
1919

2020
This module creates a [Kinesis Data Stream](https://docs.aws.amazon.com/streams/latest/dev/key-concepts.html).
2121

@@ -152,7 +152,7 @@ regions: https://github.com/aws-samples/aws-kinesis-data-streams-replicator
152152
153153
module "kinesis" {
154154
155-
source = "git::git@github.com:gruntwork-io/terraform-aws-messaging.git//modules/kinesis?ref=v1.0.2"
155+
source = "git::git@github.com:gruntwork-io/terraform-aws-messaging.git//modules/kinesis?ref=v1.0.3"
156156
157157
# ----------------------------------------------------------------------------------------------------
158158
# REQUIRED VARIABLES
@@ -223,7 +223,7 @@ module "kinesis" {
223223
# ------------------------------------------------------------------------------------------------------
224224
225225
terraform {
226-
source = "git::git@github.com:gruntwork-io/terraform-aws-messaging.git//modules/kinesis?ref=v1.0.2"
226+
source = "git::git@github.com:gruntwork-io/terraform-aws-messaging.git//modules/kinesis?ref=v1.0.3"
227227
}
228228
229229
inputs = {
@@ -458,11 +458,11 @@ A map of key value pairs to apply as tags to the Kinesis stream.
458458
<!-- ##DOCS-SOURCER-START
459459
{
460460
"originalSources": [
461-
"https://github.com/gruntwork-io/terraform-aws-messaging/tree/v1.0.2/modules/kinesis/readme.md",
462-
"https://github.com/gruntwork-io/terraform-aws-messaging/tree/v1.0.2/modules/kinesis/variables.tf",
463-
"https://github.com/gruntwork-io/terraform-aws-messaging/tree/v1.0.2/modules/kinesis/outputs.tf"
461+
"https://github.com/gruntwork-io/terraform-aws-messaging/tree/v1.0.3/modules/kinesis/readme.md",
462+
"https://github.com/gruntwork-io/terraform-aws-messaging/tree/v1.0.3/modules/kinesis/variables.tf",
463+
"https://github.com/gruntwork-io/terraform-aws-messaging/tree/v1.0.3/modules/kinesis/outputs.tf"
464464
],
465465
"sourcePlugin": "module-catalog-api",
466-
"hash": "2b94249fc636a9a4579cb779b2eaec9c"
466+
"hash": "1fb71b42d108b2810e4c70690a1c593a"
467467
}
468468
##DOCS-SOURCER-END -->

docs/reference/modules/terraform-aws-messaging/msk/msk.md

Lines changed: 78 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -9,13 +9,13 @@ import VersionBadge from '../../../../../src/components/VersionBadge.tsx';
99
import { HclListItem, HclListItemDescription, HclListItemTypeDetails, HclListItemDefaultValue, HclGeneralListItem } from '../../../../../src/components/HclListItem.tsx';
1010
import { ModuleUsage } from "../../../../../src/components/ModuleUsage";
1111

12-
<VersionBadge repoTitle="AWS Messaging" version="1.0.2" lastModifiedVersion="1.0.1"/>
12+
<VersionBadge repoTitle="AWS Messaging" version="1.0.3" lastModifiedVersion="1.0.3"/>
1313

1414
# Amazon Managed Streaming for Apache Kafka (Amazon MSK) Module
1515

16-
<a href="https://github.com/gruntwork-io/terraform-aws-messaging/tree/v1.0.2/modules/msk" className="link-button" title="View the source code for this module in GitHub.">View Source</a>
16+
<a href="https://github.com/gruntwork-io/terraform-aws-messaging/tree/v1.0.3/modules/msk" className="link-button" title="View the source code for this module in GitHub.">View Source</a>
1717

18-
<a href="https://github.com/gruntwork-io/terraform-aws-messaging/releases/tag/v1.0.1" className="link-button" title="Release notes for only versions which impacted this module.">Release Notes</a>
18+
<a href="https://github.com/gruntwork-io/terraform-aws-messaging/releases/tag/v1.0.3" className="link-button" title="Release notes for only versions which impacted this module.">Release Notes</a>
1919

2020
This Terraform module configures and launches an [Amazon MSK](https://aws.amazon.com/msk/) cluster.
2121

@@ -145,12 +145,58 @@ The MSK module supports the following authentication and authorization methods:
145145

146146
* [IAM access control](https://docs.aws.amazon.com/msk/latest/developerguide/iam-access-control.html)
147147
using `var.enable_client_sasl_iam`. You can refer
148-
to the [msk-with-iam-auth example module](https://github.com/gruntwork-io/terraform-aws-messaging/tree/v1.0.2/examples/msk-with-iam-auth).
149-
* [TLS](https://docs.aws.amazon.com/msk/latest/developerguide/msk-authentication.html) using `var.enable_client_tls`
150-
and `var.client_tls_certificate_authority_arns`
148+
to the [msk-with-iam-auth example module](https://github.com/gruntwork-io/terraform-aws-messaging/tree/v1.0.3/examples/msk-with-iam-auth).
149+
* [SASL/SCRAM authentication](https://docs.aws.amazon.com/msk/latest/developerguide/msk-password.html) using
150+
`var.enable_client_sasl_scram` and `var.client_sasl_scram_secret_arns`.
151+
* [TLS (Mutual TLS)](https://docs.aws.amazon.com/msk/latest/developerguide/msk-authentication.html) using `var.enable_client_tls`
152+
and `var.client_tls_certificate_authority_arns`.
151153
* [Apache Kafka ACLs](https://docs.aws.amazon.com/msk/latest/developerguide/msk-acls.html)
152154
using `var.server_properties`.
153155

156+
#### Using Multiple Authentication Methods
157+
158+
Amazon MSK supports enabling multiple authentication methods simultaneously. You can activate any combination
159+
of authentication modes (mutual TLS, SASL/SCRAM, or IAM access control) on new or existing clusters. This is
160+
useful if you are migrating to a new authentication mode or must run multiple authentication modes simultaneously.
161+
162+
To enable multiple authentication methods, set the corresponding variables to `true`:
163+
164+
```hcl
165+
module "msk" {
166+
source = "git::git@github.com:gruntwork-io/terraform-aws-messaging.git//modules/msk?ref=v0.x.x"
167+
168+
# ... other required variables ...
169+
170+
# Enable multiple authentication methods
171+
enable_client_tls = true
172+
client_tls_certificate_authority_arns = ["arn:aws:acm-pca:..."]
173+
enable_client_sasl_iam = true
174+
enable_client_sasl_scram = true
175+
client_sasl_scram_secret_arns = ["arn:aws:secretsmanager:..."]
176+
177+
# TLS encryption is required for SASL authentication
178+
encryption_in_transit_client_broker = "TLS"
179+
}
180+
```
181+
182+
**Note**: When using multiple authentication methods, ensure `encryption_in_transit_client_broker` is set to
183+
`TLS` or `TLS_PLAINTEXT` as SASL authentication requires TLS encryption for client-broker communication.
184+
185+
**Important**: This feature requires Terraform AWS Provider version 4.13.0 or later. If you encounter a
186+
`ConflictsWith` error when enabling both TLS and SASL, please upgrade your AWS provider version.
187+
188+
#### Unauthenticated Access
189+
190+
By default, the module sets `enable_client_unauthenticated = false`, which disables unauthenticated client access
191+
when any authentication method is enabled. If you need to allow unauthenticated access alongside authenticated
192+
methods (e.g., during a migration), you can set `enable_client_unauthenticated = true`.
193+
194+
**Note**: If you have an existing cluster with `unauthenticated = true` and want to enable authentication methods,
195+
you should explicitly set `enable_client_unauthenticated = true` to prevent Terraform from changing the
196+
unauthenticated setting unexpectedly.
197+
198+
See the [msk-with-multi-auth example](https://github.com/gruntwork-io/terraform-aws-messaging/tree/v1.0.3/examples/msk-with-multi-auth) for a complete working example.
199+
154200
You can read more about available authentication and authorization options from
155201
the [Authentication and authorization for Apache Kafka APIs page](https://docs.aws.amazon.com/msk/latest/developerguide/kafka_apis_iam.html)
156202

@@ -246,7 +292,7 @@ the [Tiered storage](https://docs.aws.amazon.com/msk/latest/developerguide/msk-t
246292
You can enable the tiered storage by setting the following variables:
247293

248294
* `var.storage_info = "TIERED"`
249-
* `var.kafka_version = "2.8.2.tiered"` (Note: this is the only supported kafka version for tiered storage)
295+
* `var.kafka_version`: set to version 3.6.0 or higher (e.g., "3.6.0", "3.7.x", "3.8.x", etc.)
250296
* `var.instance_type`: set to other than `kafka.t3.small`.
251297

252298
It's only supported for the provisioned cluster type (non-serverless mode).
@@ -264,7 +310,7 @@ It's only supported for the provisioned cluster type (non-serverless mode).
264310
265311
module "msk" {
266312
267-
source = "git::git@github.com:gruntwork-io/terraform-aws-messaging.git//modules/msk?ref=v1.0.2"
313+
source = "git::git@github.com:gruntwork-io/terraform-aws-messaging.git//modules/msk?ref=v1.0.3"
268314
269315
# ----------------------------------------------------------------------------------------------------
270316
# REQUIRED VARIABLES
@@ -337,6 +383,11 @@ module "msk" {
337383
# Whether TLS client authentication is enabled.
338384
enable_client_tls = false
339385
386+
# Whether unauthenticated client access is enabled. When set to true, clients
387+
# can connect without authentication. When using TLS or SASL authentication,
388+
# you typically want this set to false.
389+
enable_client_unauthenticated = false
390+
340391
# Indicates whether you want to enable or disable streaming broker logs to
341392
# Cloudwatch Logs.
342393
enable_cloudwatch_logs = false
@@ -444,7 +495,7 @@ module "msk" {
444495
# ------------------------------------------------------------------------------------------------------
445496
446497
terraform {
447-
source = "git::git@github.com:gruntwork-io/terraform-aws-messaging.git//modules/msk?ref=v1.0.2"
498+
source = "git::git@github.com:gruntwork-io/terraform-aws-messaging.git//modules/msk?ref=v1.0.3"
448499
}
449500
450501
inputs = {
@@ -520,6 +571,11 @@ inputs = {
520571
# Whether TLS client authentication is enabled.
521572
enable_client_tls = false
522573
574+
# Whether unauthenticated client access is enabled. When set to true, clients
575+
# can connect without authentication. When using TLS or SASL authentication,
576+
# you typically want this set to false.
577+
enable_client_unauthenticated = false
578+
523579
# Indicates whether you want to enable or disable streaming broker logs to
524580
# Cloudwatch Logs.
525581
enable_cloudwatch_logs = false
@@ -821,6 +877,15 @@ Whether TLS client authentication is enabled.
821877
<HclListItemDefaultValue defaultValue="false"/>
822878
</HclListItem>
823879

880+
<HclListItem name="enable_client_unauthenticated" requirement="optional" type="bool">
881+
<HclListItemDescription>
882+
883+
Whether unauthenticated client access is enabled. When set to true, clients can connect without authentication. When using TLS or SASL authentication, you typically want this set to false.
884+
885+
</HclListItemDescription>
886+
<HclListItemDefaultValue defaultValue="false"/>
887+
</HclListItem>
888+
824889
<HclListItem name="enable_cloudwatch_logs" requirement="optional" type="bool">
825890
<HclListItemDescription>
826891

@@ -1180,11 +1245,11 @@ A comma separated list of one or more hostname:port pairs to use to connect to t
11801245
<!-- ##DOCS-SOURCER-START
11811246
{
11821247
"originalSources": [
1183-
"https://github.com/gruntwork-io/terraform-aws-messaging/tree/v1.0.2/modules/msk/readme.md",
1184-
"https://github.com/gruntwork-io/terraform-aws-messaging/tree/v1.0.2/modules/msk/variables.tf",
1185-
"https://github.com/gruntwork-io/terraform-aws-messaging/tree/v1.0.2/modules/msk/outputs.tf"
1248+
"https://github.com/gruntwork-io/terraform-aws-messaging/tree/v1.0.3/modules/msk/readme.md",
1249+
"https://github.com/gruntwork-io/terraform-aws-messaging/tree/v1.0.3/modules/msk/variables.tf",
1250+
"https://github.com/gruntwork-io/terraform-aws-messaging/tree/v1.0.3/modules/msk/outputs.tf"
11861251
],
11871252
"sourcePlugin": "module-catalog-api",
1188-
"hash": "59f6d6055769f56876cab99505541f86"
1253+
"hash": "6638bb3b448949c0f5682284c3b40ddf"
11891254
}
11901255
##DOCS-SOURCER-END -->

0 commit comments

Comments
 (0)