x-kinesis¶
This module helps you create new Kinesis Data Streams supporting all the AWS CFN properties and link these streams to your services.
Syntax reference¶
x-kinesis:
stream:
Properties: {} # AWS Kinesis CFN definition
Settings: {}
MacroParameters: {}
Services: []
Properties¶
The Properties are the AWS CFN definition for AWS Kinesis streams.
MacroParameters¶
No specific MacroParameters for Kinesis data streams. Given the AWS definition is very straightforward, just define the properties. The only truly required property is the ShardCount
Settings¶
The settings are as usual, allow you to define EnvNames
EnvNames¶
List of String that allow you to define multiple environment names for the stream to be exposed to your service. Value for these is the AWS Kinesis Stream name (Default value returned by Fn::Ref
Services¶
As per the generic Services definition, we have a list of object, name and access, which define how the service can access the stream.
For AWS Kinesis streams, we have the following permissions.
Producer
Consumer
PowerUser
Examples¶
services: [serviceA, serviceB]
x-kinesis:
streamA:
Properties:
ShardCount: 2
Services:
- name: serviceA
access: Producer
- name: serviceB
access: Consumer
IAM permissions¶
{
"Consumer": {
"Effect": "Allow",
"Action": [
"kinesis:Get*",
"kinesis:DescribeStreamSummary"
]
},
"Producer": {
"Effect": "Allow",
"Action": [
"kinesis:PutRecord"
]
},
"PowerUser": {
"Effect": "Allow",
"NotAction": [
"kinesis:CreateStream",
"kinesis:DeleteStream"
]
}
}