Skip to content

Commit efb4088

Browse files
committed
WIP
1 parent 5f37d7e commit efb4088

File tree

10 files changed

+615
-186
lines changed

10 files changed

+615
-186
lines changed

GNUmakefile

Lines changed: 33 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,26 @@ TERRAFORM_OS=$(shell uname -s | tr A-Z a-z)
77
TEST_USER=root
88
TEST_PASSWORD=my-secret-pw
99

10+
OS_ARCH=linux_amd64
11+
# Set correct OS_ARCH on Mac
12+
UNAME := $(shell uname -s)
13+
ifeq ($(UNAME),Darwin)
14+
HW := $(shell uname -m)
15+
ifeq ($(HW),arm64)
16+
ARCH=$(HW)
17+
else
18+
ARCH=amd64
19+
endif
20+
OS_ARCH=darwin_$(ARCH)
21+
endif
22+
23+
HOSTNAME=registry.terraform.io
24+
NAMESPACE=zph
25+
NAME=mysql
26+
VERSION=9.9.9
27+
## on linux base os
28+
TERRAFORM_PLUGINS_DIRECTORY=~/.terraform.d/plugins/${HOSTNAME}/${NAMESPACE}/${NAME}/${VERSION}/${OS_ARCH}
29+
1030
default: build
1131

1232
build: fmtcheck
@@ -118,4 +138,17 @@ endif
118138

119139
@$(MAKE) -C $(GOPATH)/src/$(WEBSITE_REPO) website-provider PROVIDER_PATH=$(shell pwd) PROVIDER_NAME=$(PKG_NAME)
120140

141+
install:
142+
mkdir -p ${TERRAFORM_PLUGINS_DIRECTORY}
143+
go build -o ${TERRAFORM_PLUGINS_DIRECTORY}/terraform-provider-${NAME}
144+
cd examples && rm -rf .terraform
145+
cd examples && make init
146+
147+
re-install:
148+
rm -f examples/.terraform.lock.hcl
149+
rm -f ${TERRAFORM_PLUGINS_DIRECTORY}/terraform-provider-${NAME}
150+
go build -o ${TERRAFORM_PLUGINS_DIRECTORY}/terraform-provider-${NAME}
151+
cd examples && rm -rf .terraform
152+
cd examples && terraform init
153+
121154
.PHONY: build test testacc vet fmt fmtcheck errcheck vendor-status test-compile website website-test

examples/tidb/main.tf

Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,17 @@
1+
terraform {
2+
required_version = ">= 1.5.7"
3+
4+
required_providers {
5+
mongodb = {
6+
source = "registry.terraform.io/zph/mysql"
7+
version = "9.9.9"
8+
}
9+
}
10+
}
11+
12+
provider "mysql" {
13+
endpoint = "localhost:4000"
14+
username = "root"
15+
#alias = "tidb"
16+
#password = "admin"
17+
}

examples/tidb/resource_groups/.terraform.lock.hcl

Lines changed: 10 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.
Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
re-install:
2+
@cd ../../.. && \
3+
make re-install && \
4+
cd - && \
5+
rm -rf .terraform* && \
6+
terraform init
Lines changed: 42 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,42 @@
1+
terraform {
2+
required_version = ">= 1.5.7"
3+
4+
required_providers {
5+
mysql = {
6+
source = "registry.terraform.io/zph/mysql"
7+
version = "9.9.9"
8+
}
9+
}
10+
}
11+
12+
provider "mysql" {
13+
endpoint = "127.0.0.1:4000"
14+
15+
username = "root"
16+
}
17+
18+
data "mysql_users" "user1" {
19+
user = "user1"
20+
}
21+
22+
resource "mysql_ti_resource_group" "rg1" {
23+
name = "rg1"
24+
resource_units = 2000
25+
burstable = true
26+
}
27+
28+
resource "mysql_ti_resource_group" "rg2" {
29+
name = "rg2"
30+
resource_units = 2000
31+
burstable = true
32+
}
33+
34+
resource "mysql_ti_resource_group_user_assignment" "rg1_user1" {
35+
user = data.mysql_users.user1
36+
resource_group = mysql_ti_resource_group.rg1.name
37+
}
38+
39+
resource "mysql_ti_resource_group_user_assignment" "rg111_rg" {
40+
user = "rg111"
41+
resource_group = mysql_ti_resource_group.rg1.name
42+
}

mysql/data_source_tables.go

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -3,9 +3,10 @@ package mysql
33
import (
44
"context"
55
"fmt"
6-
"github.com/hashicorp/terraform-plugin-sdk/v2/diag"
76
"log"
87

8+
"github.com/hashicorp/terraform-plugin-sdk/v2/diag"
9+
910
"github.com/hashicorp/terraform-plugin-sdk/v2/helper/id"
1011
"github.com/hashicorp/terraform-plugin-sdk/v2/helper/schema"
1112
)
@@ -23,9 +24,9 @@ func dataSourceTables() *schema.Resource {
2324
Optional: true,
2425
},
2526
"tables": {
26-
Type: schema.TypeList,
27+
Type: schema.TypeMap,
2728
Computed: true,
28-
Elem: &schema.Schema{Type: schema.TypeString},
29+
Elem: &schema.Schema{Type: schema.TypeMap},
2930
},
3031
},
3132
}

mysql/provider.go

Lines changed: 12 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -246,16 +246,18 @@ func Provider() *schema.Provider {
246246
},
247247

248248
ResourcesMap: map[string]*schema.Resource{
249-
"mysql_database": resourceDatabase(),
250-
"mysql_global_variable": resourceGlobalVariable(),
251-
"mysql_grant": resourceGrant(),
252-
"mysql_role": resourceRole(),
253-
"mysql_sql": resourceSql(),
254-
"mysql_user_password": resourceUserPassword(),
255-
"mysql_user": resourceUser(),
256-
"mysql_ti_config": resourceTiConfigVariable(),
257-
"mysql_rds_config": resourceRDSConfig(),
258-
"mysql_default_roles": resourceDefaultRoles(),
249+
"mysql_database": resourceDatabase(),
250+
"mysql_global_variable": resourceGlobalVariable(),
251+
"mysql_grant": resourceGrant(),
252+
"mysql_role": resourceRole(),
253+
"mysql_sql": resourceSql(),
254+
"mysql_user_password": resourceUserPassword(),
255+
"mysql_user": resourceUser(),
256+
"mysql_ti_config": resourceTiConfigVariable(),
257+
"mysql_ti_resource_group": resourceTiResourceGroup(),
258+
"mysql_ti_resource_group_user_assignment": resourceTiResourceGroupUserAssignment(),
259+
"mysql_rds_config": resourceRDSConfig(),
260+
"mysql_default_roles": resourceDefaultRoles(),
259261
},
260262

261263
ConfigureContextFunc: providerConfigure,

0 commit comments

Comments
 (0)