Terraform alicloud provider开发入门-阿里云开发者社区

开发者社区> zzxwill> 正文

Terraform alicloud provider开发入门

简介: # Terraform和AliCloud Terraform provider简介 [Terraform](https://www.hashicorp.com/products/terraform)是一家名叫HashCorp的洛杉矶公司推出的,HashCorp名称来源于它的创始人Mitchell Hashimoto姓氏的一部分。 ![image.png](http://ata2-img.cn-
+关注继续查看

Terraform和AliCloud Terraform provider简介

Terraform是一家名叫HashCorp的洛杉矶公司推出的,HashCorp名称来源于它的创始人Mitchell Hashimoto姓氏的一部分。
image.png
Terraform宣称可以“为任意的应用部署任意的基础设施资源”,这得益于丰富的Terraform provider,目前全球顶级云计算玩家和热门的云计算架构(OpenStack/Kubernetes/Docker)都为Terraform贡献了provider。
image.png
阿里云也不例外,AliCloud Terraform provider作为支持Terraform的providers之一,目前支持ECS, Block Storage, SLB, VPC, Nat Gateway, RDS, ESS, OSS等云产品编排和部署。

下面以扩展AliCloud Terraform provider支持OTS云产品为例介绍provider的开发。

开发支持OTS资源的AliCloud Terraform provider

以下讲解基于AliCloud Terraform provider github源代码

告诉provider即将支持一种新的云产品

terraform-provider/alicloud/provider.go新增resource alicloud_ots_table以支持OTS。
image.png

实现resource

terraform-provider/alicloud下面定义resource alicloud_ots_table的具体实现resourceAlicloudOtsTable。参考OTS表操作的api/sdk接口参数找出该资源的属性,具体的参数名称可以自己定义:

table_name
primary_key_1_name
primary_key_1_type
primary_key_2_name
primary_key_2_type
primary_key_3_name
primary_key_3_type
primary_key_4_name
primary_key_4_type
time_to_alive
max_version
read_cap
write_cap

另外,定义表创建的接口支持resourceAliyunOtsTableCreate,具体实现请参考[resource_alicloud_ots_table.go]()

func resourceAlicloudOtsTable() *schema.Resource {
    return &schema.Resource{
        Create: resourceAliyunOtsTableCreate,
        Importer: &schema.ResourceImporter{
            State: schema.ImportStatePassthrough,
        },

Terraform provider的依赖包改为目前开发的git repository(后续争取合入官方repository)

更改terraform-provider/main.go
image.png
更改terraform-provider/glide.yaml
image.png

编译Terraform AliCloud provider

参考alibaba/terraform-provider

go get ./...
glide up
sudo -E "PATH=$PATH" make all

image.png

验证

创建OTS资源编排模板

请参考[]()

执行terraform init/plan/apply
image.png
阿里云OTS控制可以看到创建的表资源。
image.png

版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

相关文章
数据同步框架MS Sync Framework - IDE快速开发支持Local Database Cache
数据同步框架MS Sync Framework [术语、例子、参考资料、Tips] http://www.cnblogs.com/2018/archive/2011/02/22/1961654.html  数据同步框架MS Sync Framework-不同场景使用例子和简要分析 http://www.cnblogs.com/2018/archive/2011/02/23/1961657.html 以上两篇文章对框架的基础有了描述,通过IDE的提供Local Database Cache可以快速的实现一个常用的同步应用。
769 0
【iOS开发】添加设备到 iOSTeam Provisioning Profile
如果你是 iOS个人开发者的话,那么一定知道,可以在 https://developer.apple.com/account/ios/device/deviceList.action 这个地方添加内测设备的UDID 管理Devices 有一个叫做 iOSTeam Provisioning Profile 的文件。
1062 0
Android开发14——监听内容提供者ContentProvider的数据变化
  一、提出需求 有A,B,C三个应用,B中的数据需要被共享,所以B中定义了内容提供者ContentProvider;A应用修改了B应用的数据,插入了一条数据。有这样一个需求,此时C应用需要得到数据被修改的通知并处理相应操作。     二、示例代码 A应用 /** * 对内容提供者进行操作 * * @author XY * */ public cla
909 0
UWP开发入门(十一)——Attached Property的简单应用
原文:UWP开发入门(十一)——Attached Property的简单应用   UWP中的Attached Property即附加属性,在实际开发中是很常见的,比如Grid.Row:    Grid.Row这个属性并不是Button对象本身的实例方法,而是定义在Grid类型上的static property,实际使用时却又附在其他控件的XAML里。
1052 0
+关注
zzxwill
上云就上阿里云
1
文章
27
问答
文章排行榜
最热
最新
相关电子书
更多
《2021云上架构与运维峰会演讲合集》
立即下载
《零基础CSS入门教程》
立即下载
《零基础HTML入门教程》
立即下载