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  )