-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathcapabilities.tf
111 lines (98 loc) · 2.66 KB
/
capabilities.tf
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
// This file is replaced by code-generation using 'capabilities.tf.tmpl'
// This file helps app module creators define a contract for what types of capability outputs are supported.
locals {
cap_modules = [
{
id = 0
namespace = ""
env_prefix = ""
outputs = {}
}
]
cap_env_vars = {}
cap_secrets = {}
capabilities = {
env = [
{
name = ""
value = ""
}
]
secrets = [
{
name = ""
value = ""
}
]
// private_urls follows a wonky syntax so that we can send all capability outputs into the merge module
// Terraform requires that all members be of type list(map(any))
// They will be flattened into list(string) when we output from this module
private_urls = [
{
url = ""
}
]
// public_urls follows a wonky syntax so that we can send all capability outputs into the merge module
// Terraform requires that all members be of type list(map(any))
// They will be flattened into list(string) when we output from this module
public_urls = [
{
url = ""
}
]
log_configurations = [
{
logDriver = "awslogs"
options = {
"awslogs-region" = data.aws_region.this.name
"awslogs-group" = module.logs.name
"awslogs-stream-prefix" = local.block_name
}
}
]
permissions = [
{
// required
sid_prefix = ""
action = "lambda:InvokeFunction" // lambda:InvokeFunction | lambda:GetFunction
principal = ""
// optional
source_arn = ""
source_account = ""
event_source_token = ""
qualifier = ""
revision_id = ""
principal_org_id = ""
function_url_auth_type = ""
}
]
event_sources = [
{
// required
name = "" // used to uniquely identify the event source
source_arn = ""
// optional
enabled = true
batch_size = null // number
starting_position = null // string
topic = [] // list(string)
}
]
dead_letter_queues = [
{
queue_arn = ""
}
]
// metrics allows capabilities to attach metrics to the application
// These metrics are displayed on the Application Monitoring page
// See https://docs.nullstone.io/extending/metrics/aws-cloudwatch.html#metrics-mappings
metrics = [
{
name = ""
type = "usage|usage-percent|duration|generic"
unit = ""
mappings = "{}"
}
]
}
}