Terraform alicloud provider开发入门

本文涉及的产品
表格存储 Tablestore,50G 2个月
简介: # 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

相关实践学习
消息队列+Serverless+Tablestore:实现高弹性的电商订单系统
基于消息队列以及函数计算,快速部署一个高弹性的商品订单系统,能够应对抢购场景下的高并发情况。
阿里云表格存储使用教程
表格存储(Table Store)是构建在阿里云飞天分布式系统之上的分布式NoSQL数据存储服务,根据99.99%的高可用以及11个9的数据可靠性的标准设计。表格存储通过数据分片和负载均衡技术,实现数据规模与访问并发上的无缝扩展,提供海量结构化数据的存储和实时访问。 产品详情:https://www.aliyun.com/product/ots
目录
相关文章
|
6天前
|
弹性计算 人工智能 运维
Terraform从入门到实践:快速构建你的第一张业务网络(上)
本次分享主题为《Terraform从入门到实践:快速构建你的第一张业务网络》。首先介绍如何入门和实践Terraform,随后演示如何使用Terraform快速构建业务网络。内容涵盖云上运维挑战及IaC解决方案,并重磅发布Terraform Explorer产品,旨在降低使用门槛并提升用户体验。此外,还将分享Terraform在实际生产中的最佳实践,帮助解决云上运维难题。
64 1
Terraform从入门到实践:快速构建你的第一张业务网络(上)
|
弹性计算 安全 关系型数据库
Terraform入门初实践
0.写在前面:在云巧资产市场中对项目进行交付过程中,能够快速复用已有组件和一键部署组件一直是我们追求的目标(关于云巧相关的理念可移步了解云巧 详细了解),因此以IaC理念出圈的Terraform,成为关注的重点。本文将介绍Terraform核心理念并结合运行demo完成对Terraform的探索和初级实践,为后续云巧市场更好的交付奠定基础。1.Terraform介绍:1.1 IACInfrastr
1132 0
Terraform入门初实践
|
Go 数据中心
Terraform Alicloud provider开发之Trouble Shooting
实现OTS resource `alicloud_ots_table`的表创建编排后,完成了[Terraform Alicloud provider开发入门](https://www.atatech.org/articles/104556),发现表更新删除还有不少坑。 # Terraform provider怎么debug ``` export TF_LOG=DEBUG ``` 设置后,
147 0
|
数据中心 对象存储 存储
五分钟入门阿里云Terraform OSS Backend
生态工具Terraform的资源编排能力在持续提升企业上云效率,降低运维成本方面越来越专业和完善。对于一个企业和团队来讲,如何保证State的安全性和如何实现对同一份资源的协同管理也是必须要关心的问题。本文将详细介绍如何在阿里云上解耦对资源模板与State管理,消除团队协作的障碍。
1316 0
五分钟入门阿里云Terraform OSS Backend
|
测试技术 API 开发工具
Terraform Provider 开发指南
本文主要向大家展示如何为[阿里云 Terraform Provider](https://www.terraform.io/docs/providers/alicloud/index.html) 贡献自己的力量,帮助开发者和志同道合的朋友尽快加入到开源生态的建设中来。
11517 0
|
存储 运维 应用服务中间件
|
存储 对象存储 数据中心
五分钟入门阿里云Terraform OSS Backend
生态工具Terraform的资源编排能力在持续提升企业上云效率,降低运维成本方面越来越专业和完善。对于一个企业和团队来讲,如何保证State的安全性和如何实现对同一份资源的协同管理也是必须要关心的问题。本文将详细介绍如何在阿里云上解耦对资源模板与State管理,消除团队协作的障碍。
2276 0
|
1月前
|
弹性计算 持续交付 API
基于 ROS 的Terraform托管服务轻松部署ChatGLM-6B
文章介绍了如何利用ROS和Terraform模板轻松自动化部署基于GLM架构、优化中文对话的ChatGLM-6B模型至阿里云,提高了部署效率与便捷性,适用于多种应用场景,且模型部署过程详细,彰显了基础设施即代码(IaC)的优势。
34 3
基于 ROS 的Terraform托管服务轻松部署ChatGLM-6B
|
1月前
|
弹性计算 人工智能 持续交付
基于 ROS 的Terraform托管服务轻松部署Qwen-7B-Chat
文章介绍了如何利用ROS和Terraform模板轻松自动化部署阿里云的Qwen-7B-Chat大语言模型服务,提高了部署效率与便捷性,是实现云资源和服务快速上线的最佳实践。
49 2
基于 ROS 的Terraform托管服务轻松部署Qwen-7B-Chat
|
4月前
|
弹性计算 API 持续交付
基于 ROS 的 Terraform 托管服务轻松部署文本转语音系统 ChatTTS
基于 IaC 的理念,通过定义一个模板,使用 ROS 提供的 Terraform 托管服务进行自动化部署,可以非常高效快捷地部署任意云资源和应用(比如 ChatTTS 服务)。相比于手动部署或者通过 API、SDK 的部署方式,有着高效、稳定等诸多优势,也是服务上云的最佳实践。
61 1
基于 ROS 的 Terraform 托管服务轻松部署文本转语音系统 ChatTTS

推荐镜像

更多