1
1
variable "account_id" {}
2
2
variable "access_key" {}
3
3
variable "secret_key" {}
4
- varuable "oss_bucket" {}
4
+ variable "oss_bucket" {}
5
5
variable "region" {}
6
- variable "zone" {}
7
6
8
7
provider "alicloud" {
9
8
access_key = " ${ var . access_key } "
10
9
secret_key = " ${ var . secret_key } "
11
10
account_id = " ${ var . account_id } "
12
- region = " ${ var . region } "
11
+ region = " ${ var . region } "
13
12
}
14
13
15
14
resource "alicloud_log_project" "example" {
16
- name = " fc-log-20180730"
15
+ name = " fc-log-20180730"
17
16
description = " created by terraform"
18
17
}
19
18
@@ -23,66 +22,73 @@ resource "alicloud_log_store" "example" {
23
22
}
24
23
25
24
resource "alicloud_ram_role" "role" {
26
- name = " fc-role"
27
- services = [" fc.aliyuncs.com" ]
25
+ name = " fc-role"
26
+ services = [" fc.aliyuncs.com" ]
28
27
description = " this is a role test."
29
- force = true
28
+ force = true
30
29
}
31
30
32
31
resource "alicloud_ram_policy" "policy" {
33
32
name = " fc-policy"
33
+
34
34
statement = [
35
- {
36
- effect = " Allow"
37
- action = [" log:PostLogStoreLogs" ]
38
- resource = [
39
- " acs:log:*:*:project/${ alicloud_log_project . example . name } /logstore/${ alicloud_log_store . example . name } " ]
40
- },
41
- {
42
- effect = " Allow"
43
- action = [" oss:*" ]
44
- resource = [" *" ]
45
- }
46
- ]
35
+ {
36
+ effect = " Allow"
37
+ action = [" log:PostLogStoreLogs" ]
38
+
39
+ resource = [
40
+ " acs:log:*:*:project/${ alicloud_log_project . example . name } /logstore/${ alicloud_log_store . example . name } " ,
41
+ ]
42
+ },
43
+ {
44
+ effect = " Allow"
45
+ action = [" oss:Get*" ]
46
+ resource = [" acs:oss:*:*:${ var . oss_bucket } " ]
47
+ },
48
+ ]
49
+
47
50
description = " this is a policy test"
48
- force = true
51
+ force = true
49
52
}
50
53
51
54
resource "alicloud_ram_role_policy_attachment" "attach" {
52
55
policy_name = " ${ alicloud_ram_policy . policy . name } "
53
56
policy_type = " ${ alicloud_ram_policy . policy . type } "
54
- role_name = " ${ alicloud_ram_role . role . name } "
57
+ role_name = " ${ alicloud_ram_role . role . name } "
55
58
}
56
59
57
60
resource "alicloud_fc_service" "foo" {
58
- name = " my-fc-service"
59
- description = " created by tf "
61
+ name = " my-fc-service"
62
+ description = " my fc service for terraform test "
60
63
internet_access = false
61
- role = " ${ alicloud_ram_role . role . arn } "
64
+ role = " ${ alicloud_ram_role . role . arn } "
65
+
62
66
log_config = [
63
67
{
64
- project = " ${ alicloud_log_project . example . name } "
68
+ project = " ${ alicloud_log_project . example . name } "
65
69
logstore = " ${ alicloud_log_store . example . name } "
66
- }
70
+ },
67
71
]
68
72
}
69
73
70
74
resource "alicloud_fc_function" "foo" {
71
- service = " ${ alicloud_fc_service . foo . name } "
72
- name = " hello-world"
73
- description = " tf unit test"
74
- oss_bucket = " ${ var . oss_bucket } "
75
- oss_key = " function_compute.py.zip"
75
+ service = " ${ alicloud_fc_service . foo . name } "
76
+ name = " hello-world"
77
+ description = " my fc function for terraform test"
78
+ oss_bucket = " ${ var . oss_bucket } "
79
+ oss_key = " function_compute.py.zip"
76
80
memory_size = " 512"
77
- runtime = " python2.7"
81
+ runtime = " python2.7"
82
+ handler = " function_compute.handler"
78
83
}
79
84
80
85
resource "alicloud_fc_trigger" "foo" {
81
- service = " ${ alicloud_fc_service . foo . name } "
82
- function = " ${ alicloud_fc_function . foo . name } "
83
- name = " hello-trigger"
84
- type = " timer"
86
+ service = " ${ alicloud_fc_service . foo . name } "
87
+ function = " ${ alicloud_fc_function . foo . name } "
88
+ name = " hello-trigger"
89
+ type = " timer"
85
90
source_arn = " test"
91
+
86
92
config = << EOF
87
93
{
88
94
"payload": "aaaaa",
0 commit comments