Skip to content

Commit e4f8253

Browse files
committed
quickstarts: add examples for fc, service_mesh, vpc
1 parent bbdfd2d commit e4f8253

File tree

10 files changed

+633
-0
lines changed

10 files changed

+633
-0
lines changed
Lines changed: 38 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,38 @@
1+
## Introduction
2+
3+
This example is used to create a `alicloud_fc_trigger` resource.
4+
5+
<!-- BEGIN_TF_DOCS -->
6+
## Providers
7+
8+
| Name | Version |
9+
|------|---------|
10+
| <a name="provider_alicloud"></a> [alicloud](#provider\_alicloud) | n/a |
11+
| <a name="provider_random"></a> [random](#provider\_random) | n/a |
12+
13+
## Modules
14+
15+
No modules.
16+
17+
## Resources
18+
19+
| Name | Type |
20+
|------|------|
21+
| [alicloud_fc_function.default](https://registry.terraform.io/providers/aliyun/alicloud/latest/docs/resources/fc_function) | resource |
22+
| [alicloud_fc_service.default](https://registry.terraform.io/providers/aliyun/alicloud/latest/docs/resources/fc_service) | resource |
23+
| [alicloud_fc_trigger.default](https://registry.terraform.io/providers/aliyun/alicloud/latest/docs/resources/fc_trigger) | resource |
24+
| [alicloud_log_project.default](https://registry.terraform.io/providers/aliyun/alicloud/latest/docs/resources/log_project) | resource |
25+
| [alicloud_log_store.default](https://registry.terraform.io/providers/aliyun/alicloud/latest/docs/resources/log_store) | resource |
26+
| [alicloud_log_store.source_store](https://registry.terraform.io/providers/aliyun/alicloud/latest/docs/resources/log_store) | resource |
27+
| [alicloud_oss_bucket.default](https://registry.terraform.io/providers/aliyun/alicloud/latest/docs/resources/oss_bucket) | resource |
28+
| [alicloud_oss_bucket_object.default](https://registry.terraform.io/providers/aliyun/alicloud/latest/docs/resources/oss_bucket_object) | resource |
29+
| [alicloud_ram_role.default](https://registry.terraform.io/providers/aliyun/alicloud/latest/docs/resources/ram_role) | resource |
30+
| [alicloud_ram_role_policy_attachment.default](https://registry.terraform.io/providers/aliyun/alicloud/latest/docs/resources/ram_role_policy_attachment) | resource |
31+
| [random_integer.default](https://registry.terraform.io/providers/hashicorp/random/latest/docs/resources/integer) | resource |
32+
| [alicloud_account.default](https://registry.terraform.io/providers/aliyun/alicloud/latest/docs/data-sources/account) | data source |
33+
| [alicloud_regions.default](https://registry.terraform.io/providers/aliyun/alicloud/latest/docs/data-sources/regions) | data source |
34+
35+
## Inputs
36+
37+
No inputs.
38+
<!-- END_TF_DOCS -->
Lines changed: 116 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,116 @@
1+
data "alicloud_account" "default" {}
2+
data "alicloud_regions" "default" {
3+
current = true
4+
}
5+
6+
resource "random_integer" "default" {
7+
max = 99999
8+
min = 10000
9+
}
10+
11+
resource "alicloud_log_project" "default" {
12+
project_name = "example-value-${random_integer.default.result}"
13+
}
14+
15+
resource "alicloud_log_store" "default" {
16+
project_name = alicloud_log_project.default.project_name
17+
logstore_name = "example-value"
18+
}
19+
20+
resource "alicloud_log_store" "source_store" {
21+
project_name = alicloud_log_project.default.project_name
22+
logstore_name = "example-source-store"
23+
}
24+
25+
resource "alicloud_ram_role" "default" {
26+
name = "fcservicerole-${random_integer.default.result}"
27+
document = <<EOF
28+
{
29+
"Statement": [
30+
{
31+
"Action": "sts:AssumeRole",
32+
"Effect": "Allow",
33+
"Principal": {
34+
"Service": [
35+
"fc.aliyuncs.com"
36+
]
37+
}
38+
}
39+
],
40+
"Version": "1"
41+
}
42+
EOF
43+
description = "this is a example"
44+
force = true
45+
}
46+
47+
resource "alicloud_ram_role_policy_attachment" "default" {
48+
role_name = alicloud_ram_role.default.name
49+
policy_name = "AliyunLogFullAccess"
50+
policy_type = "System"
51+
}
52+
53+
resource "alicloud_fc_service" "default" {
54+
name = "example-value-${random_integer.default.result}"
55+
description = "example-value"
56+
role = alicloud_ram_role.default.arn
57+
log_config {
58+
project = alicloud_log_project.default.project_name
59+
logstore = alicloud_log_store.default.logstore_name
60+
enable_instance_metrics = true
61+
enable_request_metrics = true
62+
}
63+
}
64+
65+
resource "alicloud_oss_bucket" "default" {
66+
bucket = "terraform-example-${random_integer.default.result}"
67+
}
68+
# If you upload the function by OSS Bucket, you need to specify path can't upload by content.
69+
resource "alicloud_oss_bucket_object" "default" {
70+
bucket = alicloud_oss_bucket.default.id
71+
key = "index.py"
72+
content = "import logging \ndef handler(event, context): \nlogger = logging.getLogger() \nlogger.info('hello world') \nreturn 'hello world'"
73+
}
74+
75+
resource "alicloud_fc_function" "default" {
76+
service = alicloud_fc_service.default.name
77+
name = "terraform-example"
78+
description = "example"
79+
oss_bucket = alicloud_oss_bucket.default.id
80+
oss_key = alicloud_oss_bucket_object.default.key
81+
memory_size = "512"
82+
runtime = "python3.10"
83+
handler = "hello.handler"
84+
}
85+
86+
87+
resource "alicloud_fc_trigger" "default" {
88+
service = alicloud_fc_service.default.name
89+
function = alicloud_fc_function.default.name
90+
name = "terraform-example"
91+
role = alicloud_ram_role.default.arn
92+
source_arn = "acs:log:${data.alicloud_regions.default.regions.0.id}:${data.alicloud_account.default.id}:project/${alicloud_log_project.default.project_name}"
93+
type = "log"
94+
config = <<EOF
95+
{
96+
"sourceConfig": {
97+
"logstore": "${alicloud_log_store.source_store.logstore_name}",
98+
"startTime": null
99+
},
100+
"jobConfig": {
101+
"maxRetryTime": 3,
102+
"triggerInterval": 60
103+
},
104+
"functionParameter": {
105+
"a": "b",
106+
"c": "d"
107+
},
108+
"logConfig": {
109+
"project": "${alicloud_log_project.default.project_name}",
110+
"logstore": "${alicloud_log_store.default.logstore_name}"
111+
},
112+
"enable": true
113+
}
114+
115+
EOF
116+
}
Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
terraform {
2+
required_providers {
3+
alicloud = {
4+
source = "aliyun/alicloud"
5+
}
6+
}
7+
}
Lines changed: 33 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,33 @@
1+
## Introduction
2+
3+
This example is used to create a `alicloud_service_mesh_extension_provider` resource.
4+
5+
<!-- BEGIN_TF_DOCS -->
6+
## Providers
7+
8+
| Name | Version |
9+
|------|---------|
10+
| <a name="provider_alicloud"></a> [alicloud](#provider\_alicloud) | n/a |
11+
12+
## Modules
13+
14+
No modules.
15+
16+
## Resources
17+
18+
| Name | Type |
19+
|------|------|
20+
| [alicloud_service_mesh_extension_provider.default](https://registry.terraform.io/providers/aliyun/alicloud/latest/docs/resources/service_mesh_extension_provider) | resource |
21+
| [alicloud_service_mesh_service_mesh.default](https://registry.terraform.io/providers/aliyun/alicloud/latest/docs/resources/service_mesh_service_mesh) | resource |
22+
| [alicloud_vpc.default](https://registry.terraform.io/providers/aliyun/alicloud/latest/docs/resources/vpc) | resource |
23+
| [alicloud_vswitch.default](https://registry.terraform.io/providers/aliyun/alicloud/latest/docs/resources/vswitch) | resource |
24+
| [alicloud_vpcs.default](https://registry.terraform.io/providers/aliyun/alicloud/latest/docs/data-sources/vpcs) | data source |
25+
| [alicloud_vswitches.default](https://registry.terraform.io/providers/aliyun/alicloud/latest/docs/data-sources/vswitches) | data source |
26+
| [alicloud_zones.default](https://registry.terraform.io/providers/aliyun/alicloud/latest/docs/data-sources/zones) | data source |
27+
28+
## Inputs
29+
30+
| Name | Description | Type | Default | Required |
31+
|------|-------------|------|---------|:--------:|
32+
| <a name="input_name"></a> [name](#input\_name) | n/a | `string` | `"tf_example"` | no |
33+
<!-- END_TF_DOCS -->
Lines changed: 47 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,47 @@
1+
provider "alicloud" {
2+
region = "cn-hangzhou"
3+
}
4+
5+
variable "name" {
6+
default = "tf_example"
7+
}
8+
9+
data "alicloud_zones" "default" {
10+
available_resource_creation = "VSwitch"
11+
}
12+
13+
data "alicloud_vpcs" "default" {
14+
name_regex = "default-NODELETING"
15+
}
16+
17+
resource "alicloud_vpc" "default" {
18+
count = length(data.alicloud_vpcs.default.ids) > 0 ? 0 : 1
19+
}
20+
21+
data "alicloud_vswitches" "default" {
22+
vpc_id = length(data.alicloud_vpcs.default.ids) > 0 ? data.alicloud_vpcs.default.ids[0] : alicloud_vpc.default[0].id
23+
}
24+
25+
resource "alicloud_vswitch" "default" {
26+
count = length(data.alicloud_vswitches.default.ids) > 0 ? 0 : 1
27+
vpc_id = length(data.alicloud_vpcs.default.ids) > 0 ? data.alicloud_vpcs.default.ids[0] : alicloud_vpc.default[0].id
28+
cidr_block = cidrsubnet(data.alicloud_vpcs.default.vpcs[0].cidr_block, 8, 2)
29+
zone_id = data.alicloud_zones.default.zones.0.id
30+
}
31+
32+
resource "alicloud_service_mesh_service_mesh" "default" {
33+
service_mesh_name = "mesh-c50f3fef117ad45b6b26047cdafef65ad"
34+
version = "v1.21.6.103-g5ddeaef7-aliyun"
35+
edition = "Default"
36+
network {
37+
vpc_id = length(data.alicloud_vpcs.default.ids) > 0 ? data.alicloud_vpcs.default.ids[0] : alicloud_vpc.default[0].id
38+
vswitche_list = [length(data.alicloud_vswitches.default.ids) > 0 ? data.alicloud_vswitches.default.ids[0] : alicloud_vswitch.default[0].id]
39+
}
40+
}
41+
42+
resource "alicloud_service_mesh_extension_provider" "default" {
43+
service_mesh_id = alicloud_service_mesh_service_mesh.default.id
44+
extension_provider_name = "httpextauth-tf-example"
45+
type = "httpextauth"
46+
config = "{\"headersToDownstreamOnDeny\":[\"content-type\",\"set-cookie\"],\"headersToUpstreamOnAllow\":[\"authorization\",\"cookie\",\"path\",\"x-auth-request-access-token\",\"x-forwarded-access-token\"],\"includeRequestHeadersInCheck\":[\"cookie\",\"x-forward-access-token\"],\"oidc\":{\"clientID\":\"qweqweqwewqeqwe\",\"clientSecret\":\"asdasdasdasdsadas\",\"cookieExpire\":\"1000\",\"cookieRefresh\":\"500\",\"cookieSecret\":\"scxzcxzcxzcxzcxz\",\"issuerURI\":\"qweqwewqeqweqweqwe\",\"redirectDomain\":\"www.alicloud-provider.cn\",\"redirectProtocol\":\"http\",\"scopes\":[\"profile\"]},\"port\":4180,\"service\":\"oauth2proxy-httpextauth-tf-example.istio-system.svc.cluster.local\",\"timeout\":\"10s\"}"
47+
}
Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
terraform {
2+
required_providers {
3+
alicloud = {
4+
source = "aliyun/alicloud"
5+
}
6+
}
7+
}
Lines changed: 34 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,34 @@
1+
## Introduction
2+
3+
This example is used to create a `alicloud_cen_instance_grant` resource.
4+
5+
<!-- BEGIN_TF_DOCS -->
6+
## Providers
7+
8+
| Name | Version |
9+
|------|---------|
10+
| <a name="provider_alicloud"></a> [alicloud](#provider\_alicloud) | n/a |
11+
| <a name="provider_alicloud.child_account"></a> [alicloud.child\_account](#provider\_alicloud.child\_account) | n/a |
12+
| <a name="provider_alicloud.your_account"></a> [alicloud.your\_account](#provider\_alicloud.your\_account) | n/a |
13+
14+
## Modules
15+
16+
No modules.
17+
18+
## Resources
19+
20+
| Name | Type |
21+
|------|------|
22+
| [alicloud_cen_instance.example](https://registry.terraform.io/providers/aliyun/alicloud/latest/docs/resources/cen_instance) | resource |
23+
| [alicloud_cen_instance_grant.child_account](https://registry.terraform.io/providers/aliyun/alicloud/latest/docs/resources/cen_instance_grant) | resource |
24+
| [alicloud_vpc.child_account](https://registry.terraform.io/providers/aliyun/alicloud/latest/docs/resources/vpc) | resource |
25+
| [alicloud_account.child_account](https://registry.terraform.io/providers/aliyun/alicloud/latest/docs/data-sources/account) | data source |
26+
| [alicloud_account.your_account](https://registry.terraform.io/providers/aliyun/alicloud/latest/docs/data-sources/account) | data source |
27+
| [alicloud_regions.default](https://registry.terraform.io/providers/aliyun/alicloud/latest/docs/data-sources/regions) | data source |
28+
29+
## Inputs
30+
31+
| Name | Description | Type | Default | Required |
32+
|------|-------------|------|---------|:--------:|
33+
| <a name="input_another_uid"></a> [another\_uid](#input\_another\_uid) | n/a | `string` | `"xxxx"` | no |
34+
<!-- END_TF_DOCS -->

0 commit comments

Comments
 (0)