File tree Expand file tree Collapse file tree 8 files changed +80
-49
lines changed Expand file tree Collapse file tree 8 files changed +80
-49
lines changed Original file line number Diff line number Diff line change
1
+ resource "aws_api_gateway_account" "api_gateway_account" {
2
+ cloudwatch_role_arn = aws_iam_role. api_gateway_logging_role . arn
3
+ }
Original file line number Diff line number Diff line change
1
+ data "aws_iam_policy_document" "api_gateway_assume_role_policy" {
2
+ statement {
3
+ actions = [" sts:AssumeRole" ]
4
+
5
+ principals {
6
+ identifiers = [
7
+ " apigateway.amazonaws.com"
8
+ ]
9
+ type = " Service"
10
+ }
11
+
12
+ effect = " Allow"
13
+ }
14
+ }
15
+
16
+ data "aws_iam_policy_document" "api_gateway_logging_policy" {
17
+ statement {
18
+ effect = " Allow"
19
+ actions = [
20
+ " logs:CreateLogGroup" ,
21
+ " logs:CreateLogStream" ,
22
+ " logs:DescribeLogGroups" ,
23
+ " logs:DescribeLogStreams" ,
24
+ " logs:PutLogEvents" ,
25
+ " logs:GetLogEvents" ,
26
+ " logs:FilterLogEvents"
27
+ ]
28
+ resources = [
29
+ " *"
30
+ ]
31
+ }
32
+ }
33
+
34
+ resource "aws_iam_role" "api_gateway_logging_role" {
35
+ name = " api-gateway-logging-role"
36
+ assume_role_policy = data. aws_iam_policy_document . api_gateway_assume_role_policy . json
37
+ }
38
+
39
+ resource "aws_iam_role_policy" "api_gateway_logging_role_policy" {
40
+ name = " api-gateway-logging-policy"
41
+ role = aws_iam_role. api_gateway_logging_role . name
42
+ policy = data. aws_iam_policy_document . api_gateway_logging_policy . json
43
+ }
Original file line number Diff line number Diff line change
1
+ output "logging_role_id" {
2
+ value = aws_iam_role. api_gateway_logging_role . id
3
+ }
4
+
5
+ output "logging_role_arn" {
6
+ value = aws_iam_role. api_gateway_logging_role . arn
7
+ }
8
+
9
+ output "logging_role_name" {
10
+ value = aws_iam_role. api_gateway_logging_role . name
11
+ }
12
+
13
+ output "logging_role_policy_id" {
14
+ value = aws_iam_role_policy. api_gateway_logging_role_policy . id
15
+ }
16
+
17
+ output "logging_role_policy_name" {
18
+ value = aws_iam_role_policy. api_gateway_logging_role_policy . name
19
+ }
Original file line number Diff line number Diff line change
1
+ terraform {
2
+ required_version = " >= 1.0"
3
+
4
+ required_providers {
5
+ aws = {
6
+ source = " hashicorp/aws"
7
+ version = " >= 4.0"
8
+ }
9
+ }
10
+ }
Original file line number Diff line number Diff line change 1
1
resource "aws_cloudwatch_log_group" "access_logs" {
2
2
name = " /${ var . component } /${ var . deployment_identifier } /api-gateway/${ local . sanitised_name } "
3
3
}
4
-
5
- data "aws_iam_policy_document" "api_gateway_assume_role_policy" {
6
- statement {
7
- actions = [" sts:AssumeRole" ]
8
-
9
- principals {
10
- identifiers = [
11
- " apigateway.amazonaws.com"
12
- ]
13
- type = " Service"
14
- }
15
-
16
- effect = " Allow"
17
- }
18
- }
19
-
20
- data "aws_iam_policy_document" "api_gateway_logging_policy" {
21
- statement {
22
- effect = " Allow"
23
- actions = [
24
- " logs:CreateLogGroup" ,
25
- " logs:CreateLogStream" ,
26
- " logs:DescribeLogGroups" ,
27
- " logs:DescribeLogStreams" ,
28
- " logs:PutLogEvents" ,
29
- " logs:GetLogEvents" ,
30
- " logs:FilterLogEvents"
31
- ]
32
- resources = [
33
- " *"
34
- ]
35
- }
36
- }
37
-
38
- resource "aws_iam_role" "api_gateway_logging_role" {
39
- name = " api-gateway-logging-role-${ var . component } -${ var . deployment_identifier } -${ local . sanitised_name } "
40
- assume_role_policy = data. aws_iam_policy_document . api_gateway_assume_role_policy . json
41
- }
42
-
43
- resource "aws_iam_role_policy" "api_gateway_logging_role_policy" {
44
- name = " api-gateway-logging-policy-${ var . component } -${ var . deployment_identifier } -${ local . sanitised_name } "
45
- role = aws_iam_role. api_gateway_logging_role . name
46
- policy = data. aws_iam_policy_document . api_gateway_logging_policy . json
47
- }
48
-
49
- resource "aws_api_gateway_account" "api_gateway_account" {
50
- cloudwatch_role_arn = aws_iam_role. api_gateway_logging_role . arn
51
- }
Original file line number Diff line number Diff line change
1
+ module "log_permissions" {
2
+ source = " ./modules/log_permissions"
3
+ }
Original file line number Diff line number Diff line change @@ -16,10 +16,11 @@ module "default_stage" {
16
16
17
17
tags = var. tags
18
18
19
+ enable_auto_deploy = local. enable_default_stage_auto_deploy
20
+
19
21
include_default_tags = local. include_default_tags
20
22
include_domain_name = local. include_default_stage_domain_name
21
23
include_dns_record = local. include_default_stage_dns_record
22
- enable_auto_deploy = local. enable_default_stage_auto_deploy
23
24
24
25
providers = {
25
26
aws = aws
You can’t perform that action at this time.
0 commit comments