yunion.io/x/cloudmux@v0.3.10-0-alpha.1/pkg/apis/compute/dnszone.go (about) 1 // Copyright 2019 Yunion 2 // 3 // Licensed under the Apache License, Version 2.0 (the "License"); 4 // you may not use this file except in compliance with the License. 5 // You may obtain a copy of the License at 6 // 7 // http://www.apache.org/licenses/LICENSE-2.0 8 // 9 // Unless required by applicable law or agreed to in writing, software 10 // distributed under the License is distributed on an "AS IS" BASIS, 11 // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 12 // See the License for the specific language governing permissions and 13 // limitations under the License. 14 15 package compute 16 17 /* 18 19 Architecture For DnsZone 20 21 22 +-----------+ +----------------+ +-----------+ 23 | RecordSet | | TrafficPolicy | | RecordSet | +-------------+ 24 | (A) | | (Aliyun) | | (TXT) | | Vpc1 | 25 | | | | | | | (Aws) | 26 | | | | | | | | 27 +-----------------------+ | | | | | | +-----------------+ | | 28 API | DnsZone example.com | | RecordSet | | TrafficPolicy | | RecordSet | | DnsZone abc.app | | Vpc2 | 29 | (Public) | ------>| (AAAA) | -----------------> | (Tencent) | <-------------| (CAA) | <-------------| (Private) |-----> | (Tencent) | 30 +-----------------------+ | | | | | | +-----------------+ | | 31 ^ | | | | | | ^ | | 32 | | | | | | | | | Vpc3 | 33 | | RecordSet | | TrafficPolicy | | RecordSet | | | (Aws) | 34 | | (NS) | | (Aws) | | (PTR) | | +-------------+ 35 | +-----------+ +----------------+ +-----------+ | 36 | | 37 | | 38 ------------------------------------------------------------------------------------------------------------------------------------------------------------------------ 39 | | 40 v | 41 +-----------------+ | 42 | | | 43 | | +----------+ v 44 | example.com <-------------> | Account1 | +----------+ +---------------+ 45 | | | (Aliyun) | | Account3 | <-------> | abc.app | 46 | | +----------+ +------------+ | (Aws) | | | 47 | | | Account2 | +----------+ | | 48 | example.com <-------------------------------------------------------> | (Tencent) | | | 49 Cache | | +------------+ | | 50 | | | | 51 | | +----------+ | | 52 | example.com <-------------> | Account4 | <--------------------------------------------------------------------------------> | abc.app | 53 | | | (Aliyun) | | | 54 | | +----------+ +---------------+ 55 +-----------------+ 56 57 --------------------------------------------------------------------------------------------------------------------------------------------------------------------------- 58 59 60 ************* *************** ************* 61 **** **** **** **** **** **** 62 Public Cloud ** Aliyun ** ** Tencent ** ** Aws ** 63 **** **** **** **** **** **** 64 ************* *************** ************* 65 66 67 */ 68 69 const ( 70 DNS_ZONE_STATUS_AVAILABLE = "available" // 可用 71 DNS_ZONE_STATUS_CREATING = "creating" // 创建中 72 DNS_ZONE_STATUS_CREATE_FAILE = "create_failed" // 创建失败 73 DNS_ZONE_STATUS_UNCACHING = "uncaching" // 云上资源删除中 74 DNS_ZONE_STATUS_UNCACHE_FAILED = "uncache_failed" // 云上资源删除失败 75 DNS_ZONE_STATUS_CACHING = "caching" // 云上资源创建中 76 DNS_ZONE_STATUS_CACHE_FAILED = "cache_failed" // 云上资源创建失败 77 DNS_ZONE_STATUS_SYNC_VPCS = "sync_vpcs" // 同步VPC中 78 DNS_ZONE_STATUS_SYNC_VPCS_FAILED = "sync_vpcs_failed" // 同步VPC失败 79 DNS_ZONE_STATUS_SYNC_RECORD_SETS = "sync_record_sets" // 同步解析列表中 80 DNS_ZONE_STATUS_SYNC_RECORD_SETS_FAILED = "sync_record_sets_failed" // 同步解析列表失败 81 DNS_ZONE_STATUS_DELETING = "deleting" // 删除中 82 DNS_ZONE_STATUS_DELETE_FAILED = "delete_failed" // 删除失败 83 DNS_ZONE_STATUS_UNKNOWN = "unknown" // 未知 84 )