当前位置: 首页 > news >正文

做网站的公司怎样收费大良网站建设服务

做网站的公司怎样收费,大良网站建设服务,广州3d建模培训机构,wordpress老文章Terraform 扩展 Terraform Meta-Arguments 元参数 count 创建相似的资源for_each 创建相似的资源depends_on 定义资源或者模块的依赖provider 定义provider选项lifecycle 资源的生命周期行为 参数使用范围备注countresource module适用于创建多个相似的资源#xff0c;使用…Terraform 扩展 Terraform Meta-Arguments 元参数 count 创建相似的资源for_each 创建相似的资源depends_on 定义资源或者模块的依赖provider 定义provider选项lifecycle 资源的生命周期行为 参数使用范围备注countresource module适用于创建多个相似的资源使用索引count.index作为参数引用。如果资源存在区别建议使用 for_eachfor_eachresource modulefor_each 它只能用于set(string) 或者map(string)depends_onresource module处理 Terraform 无法自动推断的资源或模块之间的依赖关系providerresource module在资源中定义供应商通常是 . 模块中如果子模块未定义providers则继承父模块lifecycleresource module生命周期行为定义 Count 创建资源副本 count num数值类型 可以通过 length() 计算数量count.index 索引来遍历列表 示例 创建三条 DNS 记录 devops1.evescn.comdevops2.evescn.comdevops3.evescn.com Terraform 配置 ## count.tflocals {zone evescn.comrecords [devops1,devops2,devops3] }resource alicloud_dns_record record {count length(local.records)name local.zonehost_record local.records[count.index]type Avalue 192.168.1.1 } ## count.tflocals {zone evescn.comrecords [devops1,devops2,devops3] }resource alicloud_dns_record record {count length(local.records)name local.zonehost_record local.records[count.index]type Avalue 192.168.1.1 } 创建 DNS 解析 evescnevescndeMacBook-Pro count % terraform initInitializing the backend...Initializing provider plugins... - Finding hashicorp/alicloud versions matching 1.164.0... - Installing hashicorp/alicloud v1.164.0... - Installed hashicorp/alicloud v1.164.0 (signed by HashiCorp)Terraform has been successfully initialized!evescnevescndeMacBook-Pro count % terraform fmt count.tfevescnevescndeMacBook-Pro count % terraform validate Success! The configuration is valid.evescnevescndeMacBook-Pro count % terraform plan Terraform used the selected providers to generate the following execution plan. Resource actions are indicated with the following symbols: createTerraform will perform the following actions:# alicloud_dns_record.record[0] will be created resource alicloud_dns_record record { host_record devops1 id (known after apply) locked (known after apply) name evescn.com routing default status (known after apply) ttl 600 type A value 192.168.1.1}# alicloud_dns_record.record[1] will be created resource alicloud_dns_record record { host_record devops2 id (known after apply) locked (known after apply) name evescn.com routing default status (known after apply) ttl 600 type A value 192.168.1.1}# alicloud_dns_record.record[2] will be created resource alicloud_dns_record record { host_record devops3 id (known after apply) locked (known after apply) name evescn.com routing default status (known after apply) ttl 600 type A value 192.168.1.1}Plan: 3 to add, 0 to change, 0 to destroy.evescnevescndeMacBook-Pro count % terraform apply --auto-approveTerraform used the selected providers to generate the following execution plan. Resource actions are indicated with the following symbols: createTerraform will perform the following actions:# alicloud_dns_record.record[0] will be created resource alicloud_dns_record record { host_record devops1 id (known after apply) locked (known after apply) name evescn.com routing default status (known after apply) ttl 600 type A value 192.168.1.1}# alicloud_dns_record.record[1] will be created resource alicloud_dns_record record { host_record devops2 id (known after apply) locked (known after apply) name evescn.com routing default status (known after apply) ttl 600 type A value 192.168.1.1}# alicloud_dns_record.record[2] will be created resource alicloud_dns_record record { host_record devops3 id (known after apply) locked (known after apply) name evescn.com routing default status (known after apply) ttl 600 type A value 192.168.1.1}Plan: 3 to add, 0 to change, 0 to destroy. alicloud_dns_record.record[1]: Creating... alicloud_dns_record.record[0]: Creating... alicloud_dns_record.record[2]: Creating... alicloud_dns_record.record[0]: Creation complete after 1s [id843289465596745728] alicloud_dns_record.record[1]: Creation complete after 1s [id843289465605112832] alicloud_dns_record.record[2]: Creation complete after 1s [id843289465619789824]Apply complete! Resources: 3 added, 0 changed, 0 destroyed. 删除 devops2 记录会成功运行 locals {zone evescn.com# records [devops1, devops2, devops3]records [devops1, devops3] }resource alicloud_dns_record record {count length(local.records)name local.zonehost_record local.records[count.index]type Avalue 192.168.1.1 } 执行部署 evescnevescndeMacBook-Pro count % terraform plan alicloud_dns_record.record[0]: Refreshing state... [id843289465596745728] alicloud_dns_record.record[2]: Refreshing state... [id843289465619789824] alicloud_dns_record.record[1]: Refreshing state... [id843289465605112832]Terraform used the selected providers to generate the following execution plan. Resource actions are indicated with the following symbols:~ update in-place- destroyTerraform will perform the following actions:# alicloud_dns_record.record[1] will be updated in-place~ resource alicloud_dns_record record {~ host_record devops2 - devops3id 843289465605112832name evescn.com# (7 unchanged attributes hidden)}# alicloud_dns_record.record[2] will be destroyed# (because index [2] is out of range for count)- resource alicloud_dns_record record {- host_record devops3 - null- id 843289465619789824 - null- locked false - null- name evescn.com - null- priority 0 - null- routing default - null- status ENABLE - null- ttl 600 - null- type A - null- value 192.168.1.1 - null}Plan: 0 to add, 1 to change, 1 to destroy.evescnevescndeMacBook-Pro count % terraform apply --auto-approve alicloud_dns_record.record[1]: Refreshing state... [id843289465605112832] alicloud_dns_record.record[0]: Refreshing state... [id843289465596745728] alicloud_dns_record.record[2]: Refreshing state... [id843289465619789824]Terraform used the selected providers to generate the following execution plan. Resource actions are indicated with the following symbols:~ update in-place- destroyTerraform will perform the following actions:# alicloud_dns_record.record[1] will be updated in-place~ resource alicloud_dns_record record {~ host_record devops2 - devops3id 843289465605112832name evescn.com# (7 unchanged attributes hidden)}# alicloud_dns_record.record[2] will be destroyed# (because index [2] is out of range for count)- resource alicloud_dns_record record {- host_record devops3 - null- id 843289465619789824 - null- locked false - null- name evescn.com - null- priority 0 - null- routing default - null- status ENABLE - null- ttl 600 - null- type A - null- value 192.168.1.1 - null}Plan: 0 to add, 1 to change, 1 to destroy. alicloud_dns_record.record[2]: Destroying... [id843289465619789824] alicloud_dns_record.record[1]: Modifying... [id843289465605112832] alicloud_dns_record.record[2]: Destruction complete after 1s ╷ │ Error: [ERROR] terraform-provider-alicloud/alicloud/resource_alicloud_dns_record.go:138: Resource 843289465605112832 UpdateDomainRecord Failed!!! [SDK alibaba-cloud-sdk-go ERROR]: │ SDK.ServerError │ ErrorCode: DomainRecordDuplicate │ Recommend: https://api.aliyun.com/troubleshoot?qDomainRecordDuplicateproductAlidns │ RequestId: 17F3D4A1-6E02-5F4E-AEA0-C04C583B9A9E │ Message: The DNS record already exists. │ RespHeaders: map[Access-Control-Allow-Origin:[*] Access-Control-Expose-Headers:[*] Connection:[keep-alive] Content-Length:[246] Content-Type:[application/json;charsetutf-8] Date:[Wed, 02 Aug 2023 03:39:11 GMT] Keep-Alive:[timeout25] X-Acs-Request-Id:[17F3D4A1-6E02-5F4E-AEA0-C04C583B9A9E] X-Acs-Trace-Id:[df248ca1dac580f3e90c12bf599c4e1a]] │ │ with alicloud_dns_record.record[1], │ on count.tf line 7, in resource alicloud_dns_record record: │ 7: resource alicloud_dns_record record { │ 从 terraform 看程序执行的操作步骤如下 update server2 server3destroy server3 但是在执行过程中 count length(local.records) 命令获取不了 [2] 这个下标程序出错看看 DNS 解析记录 for_each 创建资源副本  for_each  set(string) map(string) for_each 只能用于 set(string) 或者 map(string)可以使用 toset 转换 list 为 set 数据 for_each  set(string) each.key  each.value for_each  map(string) each.key  keyeach.value  value 示例 创建三条 DNS 记录 devops1.evescn.comdevops2.evescn.comdevops3.evescn.com Terraform 配置 ## version.tfterraform {required_version 1.1.9required_providers {alicloud {source hashicorp/alicloudversion 1.164.0}} }# Configure the Alicloud Provider provider alicloud {access_key xxxxxxxxsecret_key xxxxxxxx } ## for_each.tflocals {zone evescn.com# records [devops1, devops2, devops3]records [devops1, devops3] }resource alicloud_dns_record eachrecord {for_each toset(local.records)name local.zonehost_record each.valuetype Avalue 192.168.1.1 } 创建 DNS 解析 evescnevescndeMacBook-Pro for_each % terraform initInitializing the backend...Initializing provider plugins... - Finding hashicorp/alicloud versions matching 1.164.0... - Installing hashicorp/alicloud v1.164.0... - Installed hashicorp/alicloud v1.164.0 (signed by HashiCorp)Terraform has been successfully initialized!evescnevescndeMacBook-Pro for_each % terraform fmt for_each.tfevescnevescndeMacBook-Pro for_each % terraform validate Success! The configuration is valid.evescnevescndeMacBook-Pro for_each % terraform apply Terraform used the selected providers to generate the following execution plan. Resource actions are indicated with the following symbols: createTerraform will perform the following actions:# alicloud_dns_record.eachrecord[devops1] will be created resource alicloud_dns_record eachrecord { host_record devops1 id (known after apply) locked (known after apply) name evescn.com routing default status (known after apply) ttl 600 type A value 192.168.1.1}# alicloud_dns_record.eachrecord[devops2] will be created resource alicloud_dns_record eachrecord { host_record devops2 id (known after apply) locked (known after apply) name evescn.com routing default status (known after apply) ttl 600 type A value 192.168.1.1}# alicloud_dns_record.eachrecord[devops3] will be created resource alicloud_dns_record eachrecord { host_record devops3 id (known after apply) locked (known after apply) name evescn.com routing default status (known after apply) ttl 600 type A value 192.168.1.1}Plan: 3 to add, 0 to change, 0 to destroy.Do you want to perform these actions?Terraform will perform the actions described above.Only yes will be accepted to approve.Enter a value: yesalicloud_dns_record.eachrecord[devops1]: Creating... alicloud_dns_record.eachrecord[devops2]: Creating... alicloud_dns_record.eachrecord[devops3]: Creating... alicloud_dns_record.eachrecord[devops2]: Creation complete after 0s [id843317481926367232] alicloud_dns_record.eachrecord[devops3]: Creation complete after 0s [id843317481928446976] alicloud_dns_record.eachrecord[devops1]: Creation complete after 0s [id843317481953598464]Apply complete! Resources: 3 added, 0 changed, 0 destroyed. 删除 devops2 记录重新执行 ## for_each.tflocals {zone evescn.com# records [devops1, devops2, devops3]records [devops1, devops3] }resource alicloud_dns_record eachrecord {for_each toset(local.records)name local.zonehost_record each.valuetype Avalue 192.168.1.1 } 执行部署 evescnevescndeMacBook-Pro for_each % terraform apply alicloud_dns_record.eachrecord[devops2]: Refreshing state... [id843317481926367232] alicloud_dns_record.eachrecord[devops3]: Refreshing state... [id843317481928446976] alicloud_dns_record.eachrecord[devops1]: Refreshing state... [id843317481953598464]Terraform used the selected providers to generate the following execution plan. Resource actions are indicated with the following symbols:- destroyTerraform will perform the following actions:# alicloud_dns_record.eachrecord[devops2] will be destroyed# (because key [devops2] is not in for_each map)- resource alicloud_dns_record eachrecord {- host_record devops2 - null- id 843317481926367232 - null- locked false - null- name evescn.com - null- priority 0 - null- routing default - null- status ENABLE - null- ttl 600 - null- type A - null- value 192.168.1.1 - null}Plan: 0 to add, 0 to change, 1 to destroy.Do you want to perform these actions?Terraform will perform the actions described above.Only yes will be accepted to approve.Enter a value: yesalicloud_dns_record.eachrecord[devops2]: Destroying... [id843317481926367232] alicloud_dns_record.eachrecord[devops2]: Destruction complete after 0sApply complete! Resources: 0 added, 0 changed, 1 destroyed. dynamic 动态的内联块 dynamic : 定义动态资源块后面是 label 默认为生成的语句块名称for_each : 要进行迭代循环的对象map、list、set;iterator : 临时的变量名称如果未定义则使用 label 即 ports content : 要生成的语句块的内容部分 dynamic label {# 支持 map list set 等数据for_each map | list | set iterator iterator_namecontent {key iterator_name.value} } dynamic ports {for_each local.jenkins_portscontent {internal ports.value.internalexternal ports.value.externalip 0.0.0.0protocol tcp} } Docker 中的 ports{} resource docker_container jenkins {ports {internal 8080external 8080ip 0.0.0.0protocol tcp}ports {internal 50000external 50000ip 0.0.0.0protocol tcp} } 定义一个local变量使用dynamic动态内联块 for_each遍历资源ports.value引用遍历的资源 locals {jenkins_ports [{internal 8080external 8080},{internal 50000external 50000}] }resource docker_container jenkins {// 使用dynamic来实现动态dynamic ports {for_each local.jenkins_portscontent {internal ports.value.internalexternal ports.value.externalip 0.0.0.0protocol tcp}} depends_on 依赖关系 处理 资源或模块之间的依赖关系。 resource docker_image jenkins {name jenkins/jenkins:2.332.2-centos7-jdk8force_remove falsekeep_locally true }resource docker_container jenkins {image docker_image.jenkins.namename jenkins-demo# 依赖 docker_image 资源depends_on [docker_image.jenkins] } provider 自定义供应商 resource 覆盖资源中的 provider 例如分别在 cn-beijing 和 cn-shanghai 区域分别创建1个实例。 provider alicloud {alias northregion cn-beijingaccess_key AKIRsecret_key MJy5JXmZn }provider alicloud {region cn-shanghaiaccess_key AK5Rsecret_key MJy5JX6HIqmZn }resource alicloud_instance ecs_demo_north {provider alicloud.north... }resource alicloud_instance ecs_demo {... } module 默认子模块继承根模块的provider provider map()key: provider名称value: provider.alias provider alicloud {alias northregion cn-beijing }provider alicloud {region cn-shanghai }module example { source ./example# module 中的 provider 配置providers { alicloud alicloud.north} } lifecycle 生命周期 标记资源不被删除或者销毁前创建新的资源 lifecycle {xxx } create_before_destroy 先创建新的对象再销毁旧的对象prevent_destroy 防止资源被销毁ignore_changes 忽略资源的差异replace_triggered_by 当指定的资源修改后替换当前资源precondition postcondition 条件检查 lifecycle {create_before_destroy true# prevent_destroy trueignore_changes [tags, instance_name]replace_triggered_by [alicloud_vpc.vpc.vpc_name] }
http://www.pierceye.com/news/107843/

相关文章:

  • 商务网站教程深圳定制纸箱
  • 湖南手机版建站系统哪家好自己做网站地图
  • 天津网站制作报价阿里云需要网站建设方案书
  • 做最好的美食分享网站网站建设客户需求分析
  • 如何重建网站广州市服务好的网站制作排名
  • 做一名优秀网站设计师计划网站描述怎样写
  • 网页二级网站怎么做网监关闭的网站怎么恢复
  • 甘肃省建设监理协会 官方网站国内知名公关公司
  • 如何将网站和域名绑定阿里云1M做网站
  • 南城网站建设公司咨询东莞智通人才网最新招聘
  • app建设网站公司哪家好php网站修改代码
  • 哪些网上订餐的网站做的好地情网站建设
  • 重庆推广网站的方法国内最近的新闻大事
  • 网站需要备案吗网站怎么推广软文
  • 做设计开哪个素材网站的会员好手机免费网站建设哪家公司好
  • 征婚网站认识的男人做定投保做高级电工题的网站
  • 学做饼干的网站汕头建设学校的网站
  • asp.net做网站原理工资卡app下载
  • 做齐鲁油官方网站集团网站建设报价
  • 网站的收录情况怎么查企业网银怎么登录
  • 网站开发会计处理wordpress阅读随机增加
  • 兰州做网站公司哪家好公司网站建设是什么意思
  • 小区物业管理网站开发报告deal 网站要怎么做
  • seo站长助手wordpress 注册侧边栏
  • 做网站是要编程吗那些网站是html5做的
  • 网站开发图在网站做电子画册
  • 怎样建一个英文网站wordpress 多用户商城
  • 制作一个自适应网站源码app在线生成器
  • Dw做html网站项目管理软件有哪些
  • 天津网站建设定制软件开发服务公司