vzcdn 0.2.2 → 0.2.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
 - data/README.md +3 -0
 - data/lib/MockHttpResponse +6 -0
 - data/lib/common.rb +22 -47
 - data/lib/config_handler.rb +14 -3
 - data/lib/http_send.rb +110 -0
 - data/lib/method.rb +24 -3
 - data/lib/mock_http_send.rb +15 -0
 - data/lib/print.rb +5 -0
 - data/lib/proxy_credentials.rb +5 -13
 - data/lib/reporting.rb +105 -89
 - data/lib/vzcdn.rb +16 -0
 - data/lib/vzcdn/version.rb +1 -1
 - data/lib/zone_update.rb +39 -0
 - data/test/bad-credentials.mock +9 -0
 - data/test/bad-credentials.results +8 -0
 - data/test/create_delete.mock +72 -0
 - data/test/crud.mock +44 -0
 - data/test/crud.results +50 -0
 - data/test/initial.mock +58 -0
 - data/test/initial.results +308 -0
 - data/test/mk_mock.rb +24 -0
 - data/test/mk_response.rb +41 -0
 - data/test/push.mock +58 -0
 - data/test/test_clui.rb +34 -15
 - data/test/test_mock.rb +282 -0
 - data/test/test_reporting.rb +48 -47
 - data/test/unreachable.mock +9 -0
 - data/test/unreachable.results +8 -0
 - data/vzcdn.gemspec +0 -2
 - metadata +31 -19
 - data/pkg/vzcdn-0.0.1.gem +0 -0
 - data/test/test_all.rb +0 -2
 
    
        data/lib/vzcdn.rb
    CHANGED
    
    | 
         @@ -4,18 +4,34 @@ require_relative 'args' 
     | 
|
| 
       4 
4 
     | 
    
         
             
            require_relative 'clui_config'
         
     | 
| 
       5 
5 
     | 
    
         
             
            require_relative 'zone'
         
     | 
| 
       6 
6 
     | 
    
         
             
            require_relative 'vzcdn/version'
         
     | 
| 
      
 7 
     | 
    
         
            +
            require_relative 'config_reader'
         
     | 
| 
       7 
8 
     | 
    
         | 
| 
       8 
9 
     | 
    
         
             
            class VzcdnApp < Command
         
     | 
| 
      
 10 
     | 
    
         
            +
              include ConfigReader
         
     | 
| 
      
 11 
     | 
    
         
            +
             
     | 
| 
       9 
12 
     | 
    
         
             
              def add_options
         
     | 
| 
       10 
13 
     | 
    
         
             
                add_option({ short_name: 'v', long_name: 'version', method: :print_version, takes_value: false})
         
     | 
| 
       11 
14 
     | 
    
         
             
                add_option({ short_name: 'd', long_name: 'debug', method: :set_debug, takes_value: false})
         
     | 
| 
       12 
15 
     | 
    
         
             
              end
         
     | 
| 
       13 
16 
     | 
    
         | 
| 
      
 17 
     | 
    
         
            +
              def init
         
     | 
| 
      
 18 
     | 
    
         
            +
                if param("http-save-file") != ""
         
     | 
| 
      
 19 
     | 
    
         
            +
                  $http_save_file = param("http-save-file")
         
     | 
| 
      
 20 
     | 
    
         
            +
                end
         
     | 
| 
      
 21 
     | 
    
         
            +
                if param("mock-env") != ""
         
     | 
| 
      
 22 
     | 
    
         
            +
                  $mock_env = param("mock-env")
         
     | 
| 
      
 23 
     | 
    
         
            +
                end
         
     | 
| 
      
 24 
     | 
    
         
            +
              end
         
     | 
| 
      
 25 
     | 
    
         
            +
             
     | 
| 
       14 
26 
     | 
    
         
             
              def print_version
         
     | 
| 
       15 
27 
     | 
    
         
             
                puts "vzcdn Version:" + Vzcdn::VERSION
         
     | 
| 
       16 
28 
     | 
    
         
             
                exit
         
     | 
| 
       17 
29 
     | 
    
         
             
              end
         
     | 
| 
       18 
30 
     | 
    
         | 
| 
      
 31 
     | 
    
         
            +
              def set_http_file(file)
         
     | 
| 
      
 32 
     | 
    
         
            +
                $http_save_file = file
         
     | 
| 
      
 33 
     | 
    
         
            +
              end
         
     | 
| 
      
 34 
     | 
    
         
            +
             
     | 
| 
       19 
35 
     | 
    
         
             
              def set_debug
         
     | 
| 
       20 
36 
     | 
    
         
             
                $debug += 1
         
     | 
| 
       21 
37 
     | 
    
         
             
              end
         
     | 
    
        data/lib/vzcdn/version.rb
    CHANGED
    
    
    
        data/lib/zone_update.rb
    CHANGED
    
    | 
         @@ -19,6 +19,37 @@ class ZoneUpdate < Command 
     | 
|
| 
       19 
19 
     | 
    
         
             
                end
         
     | 
| 
       20 
20 
     | 
    
         
             
              end
         
     | 
| 
       21 
21 
     | 
    
         | 
| 
      
 22 
     | 
    
         
            +
              def empty_binding
         
     | 
| 
      
 23 
     | 
    
         
            +
                binding()
         
     | 
| 
      
 24 
     | 
    
         
            +
              end
         
     | 
| 
      
 25 
     | 
    
         
            +
             
     | 
| 
      
 26 
     | 
    
         
            +
              # def guess_cast_value(value)
         
     | 
| 
      
 27 
     | 
    
         
            +
              #   b = empty_binding
         
     | 
| 
      
 28 
     | 
    
         
            +
              #   result = nil
         
     | 
| 
      
 29 
     | 
    
         
            +
              #   begin
         
     | 
| 
      
 30 
     | 
    
         
            +
              #     result = eval(value, b)
         
     | 
| 
      
 31 
     | 
    
         
            +
              #   rescue
         
     | 
| 
      
 32 
     | 
    
         
            +
              #     raise "Unable to parse expression #{value}"
         
     | 
| 
      
 33 
     | 
    
         
            +
              #   end
         
     | 
| 
      
 34 
     | 
    
         
            +
              #   result
         
     | 
| 
      
 35 
     | 
    
         
            +
              # end
         
     | 
| 
      
 36 
     | 
    
         
            +
             
     | 
| 
      
 37 
     | 
    
         
            +
              def guess_cast_value(value)
         
     | 
| 
      
 38 
     | 
    
         
            +
                result = nil
         
     | 
| 
      
 39 
     | 
    
         
            +
                if result.to_i.to_s == result
         
     | 
| 
      
 40 
     | 
    
         
            +
                  result = value.to_i
         
     | 
| 
      
 41 
     | 
    
         
            +
                elsif value == 'null'
         
     | 
| 
      
 42 
     | 
    
         
            +
                  result = nil
         
     | 
| 
      
 43 
     | 
    
         
            +
                elsif value == 'true'
         
     | 
| 
      
 44 
     | 
    
         
            +
                  result = true
         
     | 
| 
      
 45 
     | 
    
         
            +
                elsif value == 'false'
         
     | 
| 
      
 46 
     | 
    
         
            +
                  result = false
         
     | 
| 
      
 47 
     | 
    
         
            +
                else
         
     | 
| 
      
 48 
     | 
    
         
            +
                  result = value
         
     | 
| 
      
 49 
     | 
    
         
            +
                end
         
     | 
| 
      
 50 
     | 
    
         
            +
                result
         
     | 
| 
      
 51 
     | 
    
         
            +
              end
         
     | 
| 
      
 52 
     | 
    
         
            +
             
     | 
| 
       22 
53 
     | 
    
         
             
              def update_struct(struct, key, value)
         
     | 
| 
       23 
54 
     | 
    
         
             
                name = Util.match_key(key, struct)
         
     | 
| 
       24 
55 
     | 
    
         
             
                if name.nil?
         
     | 
| 
         @@ -33,6 +64,14 @@ class ZoneUpdate < Command 
     | 
|
| 
       33 
64 
     | 
    
         
             
                when [FalseClass]
         
     | 
| 
       34 
65 
     | 
    
         
             
                  value = boolean_value_of(value)
         
     | 
| 
       35 
66 
     | 
    
         
             
                when [String]
         
     | 
| 
      
 67 
     | 
    
         
            +
                when [NilClass]
         
     | 
| 
      
 68 
     | 
    
         
            +
                  value = guess_cast_value(value)
         
     | 
| 
      
 69 
     | 
    
         
            +
                when [Hash]
         
     | 
| 
      
 70 
     | 
    
         
            +
                  if value == 'null'
         
     | 
| 
      
 71 
     | 
    
         
            +
                    value = nil
         
     | 
| 
      
 72 
     | 
    
         
            +
                  else
         
     | 
| 
      
 73 
     | 
    
         
            +
                    raise "cannot change entire object to a scaler value"
         
     | 
| 
      
 74 
     | 
    
         
            +
                  end
         
     | 
| 
       36 
75 
     | 
    
         
             
                else
         
     | 
| 
       37 
76 
     | 
    
         
             
                  raise "cannot change item of type #{target_type}"
         
     | 
| 
       38 
77 
     | 
    
         
             
                end
         
     | 
| 
         @@ -0,0 +1,72 @@ 
     | 
|
| 
      
 1 
     | 
    
         
            +
            [
         
     | 
| 
      
 2 
     | 
    
         
            +
              {
         
     | 
| 
      
 3 
     | 
    
         
            +
                "url": "https://api.edgecast.com/v2/mcc//dns/routezonestatus",
         
     | 
| 
      
 4 
     | 
    
         
            +
                "method": "get",
         
     | 
| 
      
 5 
     | 
    
         
            +
                "body": null,
         
     | 
| 
      
 6 
     | 
    
         
            +
                "response_code": 200,
         
     | 
| 
      
 7 
     | 
    
         
            +
                "response_body": "[{\"Id\":1,\"Name\":\"Active\"},{\"Id\":2,\"Name\":\"Inactive\"}]"
         
     | 
| 
      
 8 
     | 
    
         
            +
              },
         
     | 
| 
      
 9 
     | 
    
         
            +
              {
         
     | 
| 
      
 10 
     | 
    
         
            +
                "url": "https://api.edgecast.com/v2/mcc//dns/routezonetypes",
         
     | 
| 
      
 11 
     | 
    
         
            +
                "method": "get",
         
     | 
| 
      
 12 
     | 
    
         
            +
                "body": null,
         
     | 
| 
      
 13 
     | 
    
         
            +
                "response_code": 200,
         
     | 
| 
      
 14 
     | 
    
         
            +
                "response_body": "[{\"Id\":1,\"Name\":\"Primary\"},{\"Id\":2,\"Name\":\"Secondary\"}]"
         
     | 
| 
      
 15 
     | 
    
         
            +
              },
         
     | 
| 
      
 16 
     | 
    
         
            +
              {
         
     | 
| 
      
 17 
     | 
    
         
            +
                "url": "https://api.edgecast.com/v2/mcc/customers/BED3/dns/routezone",
         
     | 
| 
      
 18 
     | 
    
         
            +
                "method": "post",
         
     | 
| 
      
 19 
     | 
    
         
            +
                "body": "{\n  \"Comment\": \"\",\n  \"DomainName\": \"deleteme.\",\n  \"Status\": 1,\n  \"ZoneType\": 1\n}",
         
     | 
| 
      
 20 
     | 
    
         
            +
                "response_code": 200,
         
     | 
| 
      
 21 
     | 
    
         
            +
                "response_body": "{\"Comment\":\"\",\"DomainName\":\"deleteme.\",\"FailoverGroups\":[],\"LoadBalancingGroups\":[],\"Records\":null,\"Status\":1,\"Version\":1400600999,\"ZoneId\":5395,\"ZoneType\":1}"
         
     | 
| 
      
 22 
     | 
    
         
            +
              },
         
     | 
| 
      
 23 
     | 
    
         
            +
              {
         
     | 
| 
      
 24 
     | 
    
         
            +
                "url": "https://api.edgecast.com/v2/mcc/customers/BED3/dns/routezones",
         
     | 
| 
      
 25 
     | 
    
         
            +
                "method": "get",
         
     | 
| 
      
 26 
     | 
    
         
            +
                "body": null,
         
     | 
| 
      
 27 
     | 
    
         
            +
                "response_code": 200,
         
     | 
| 
      
 28 
     | 
    
         
            +
                "response_body": "[{\"DomainName\":\"Daniel.Test.\",\"Status\":1,\"Version\":1400255085,\"ZoneId\":5389,\"ZoneType\":1},{\"DomainName\":\"deleteme.\",\"Status\":1,\"Version\":1400600999,\"ZoneId\":5395,\"ZoneType\":1},{\"DomainName\":\"mockzone.\",\"Status\":1,\"Version\":1400600830,\"ZoneId\":5385,\"ZoneType\":1},{\"DomainName\":\"nitin.\",\"Status\":1,\"Version\":1400096702,\"ZoneId\":5284,\"ZoneType\":1},{\"DomainName\":\"pythonzone.\",\"Status\":1,\"Version\":1400169998,\"ZoneId\":5366,\"ZoneType\":1},{\"DomainName\":\"vdmstest.com.\",\"Status\":1,\"Version\":1398108874,\"ZoneId\":4980,\"ZoneType\":1},{\"DomainName\":\"vzdms.com.\",\"Status\":1,\"Version\":1400510393,\"ZoneId\":5391,\"ZoneType\":2}]"
         
     | 
| 
      
 29 
     | 
    
         
            +
              },
         
     | 
| 
      
 30 
     | 
    
         
            +
              {
         
     | 
| 
      
 31 
     | 
    
         
            +
                "url": "https://api.edgecast.com/v2/mcc//dns/routehttpmethodtypes",
         
     | 
| 
      
 32 
     | 
    
         
            +
                "method": "get",
         
     | 
| 
      
 33 
     | 
    
         
            +
                "body": null,
         
     | 
| 
      
 34 
     | 
    
         
            +
                "response_code": 200,
         
     | 
| 
      
 35 
     | 
    
         
            +
                "response_body": "[{\"Id\":1,\"Name\":\"GET\"},{\"Id\":2,\"Name\":\"POST\"}]"
         
     | 
| 
      
 36 
     | 
    
         
            +
              },
         
     | 
| 
      
 37 
     | 
    
         
            +
              {
         
     | 
| 
      
 38 
     | 
    
         
            +
                "url": "https://api.edgecast.com/v2/mcc//dns/routereintegrationmethodtypes",
         
     | 
| 
      
 39 
     | 
    
         
            +
                "method": "get",
         
     | 
| 
      
 40 
     | 
    
         
            +
                "body": null,
         
     | 
| 
      
 41 
     | 
    
         
            +
                "response_code": 200,
         
     | 
| 
      
 42 
     | 
    
         
            +
                "response_body": "[{\"Id\":1,\"Name\":\"Automatic\"},{\"Id\":2,\"Name\":\"Manual\"}]"
         
     | 
| 
      
 43 
     | 
    
         
            +
              },
         
     | 
| 
      
 44 
     | 
    
         
            +
              {
         
     | 
| 
      
 45 
     | 
    
         
            +
                "url": "https://api.edgecast.com/v2/mcc//dns/routehealthcheckipversion",
         
     | 
| 
      
 46 
     | 
    
         
            +
                "method": "get",
         
     | 
| 
      
 47 
     | 
    
         
            +
                "body": null,
         
     | 
| 
      
 48 
     | 
    
         
            +
                "response_code": 200,
         
     | 
| 
      
 49 
     | 
    
         
            +
                "response_body": "[{\"Id\":1,\"Name\":\"IPv4\"},{\"Id\":2,\"Name\":\"IPv6\"}]"
         
     | 
| 
      
 50 
     | 
    
         
            +
              },
         
     | 
| 
      
 51 
     | 
    
         
            +
              {
         
     | 
| 
      
 52 
     | 
    
         
            +
                "url": "https://api.edgecast.com/v2/mcc//dns/routehealthchecktypes",
         
     | 
| 
      
 53 
     | 
    
         
            +
                "method": "get",
         
     | 
| 
      
 54 
     | 
    
         
            +
                "body": null,
         
     | 
| 
      
 55 
     | 
    
         
            +
                "response_code": 200,
         
     | 
| 
      
 56 
     | 
    
         
            +
                "response_body": "[{\"Id\":1,\"Name\":\"HTTP\"},{\"Id\":2,\"Name\":\"HTTPs\"},{\"Id\":3,\"Name\":\"TCP Open\"},{\"Id\":4,\"Name\":\"TCP SSL\"}]"
         
     | 
| 
      
 57 
     | 
    
         
            +
              },
         
     | 
| 
      
 58 
     | 
    
         
            +
              {
         
     | 
| 
      
 59 
     | 
    
         
            +
                "url": "https://api.edgecast.com/v2/mcc/customers/BED3/dns/routezone",
         
     | 
| 
      
 60 
     | 
    
         
            +
                "method": "put",
         
     | 
| 
      
 61 
     | 
    
         
            +
                "body": "{\n  \"Comment\": \"\",\n  \"DomainName\": \"deleteme\",\n  \"FailoverGroups\": [\n    {\n      \"Group\": {\n        \"A\": [\n\n        ],\n        \"AAAA\": [\n          {\n            \"HealthCheck\": {\n              \"CheckInterval\": 50,\n              \"CheckTypeId\": 1,\n              \"ContentVerification\": \"\",\n              \"EmailNotificationAddress\": \"s.c@v.com\",\n              \"FailedCheckThreshold\": 2,\n              \"HTTPMethodId\": 1,\n              \"IPAddress\": \"\",\n              \"IPVersion\": 1,\n              \"PortNumber\": null,\n              \"ReintegrationMethodId\": 1,\n              \"Status\": 4,\n              \"StatusName\": \"Unknown\",\n              \"Uri\": \"www.google.com\"\n            },\n            \"IsPrimary\": true,\n            \"Record\": {\n              \"Name\": \"fo1\",\n              \"Rdata\": \"1:2:3::\",\n              \"TTL\": \"600\"\n            }\n          },\n          {\n            \"HealthCheck\": null,\n            \"IsPrimary\": false,\n            \"Record\": {\n              \"Name\": \"fo1\",\n              \"Rdata\": \"1:2:4::\",\n              \"TTL\": \"600\"\n            }\n          }\n        ],\n        \"CNAME\": [\n\n        ]\n      },\n      \"GroupTypeId\": 3,\n      \"Name\": \"fo1\"\n    }\n  ],\n  \"LoadBalancingGroups\": [\n\n  ],\n  \"Records\": {\n    \"A\": [\n      {\n        \"Name\": \"files\",\n        \"Rdata\": \"196.245.5.1\",\n        \"TTL\": 3600\n      },\n      {\n        \"Name\": \"images\",\n        \"Rdata\": \"196.245.5.2\",\n        \"TTL\": 3600\n      },\n      {\n        \"Name\": \"videos\",\n        \"Rdata\": \"196.245.5.3\",\n        \"TTL\": 3600\n      }\n    ],\n    \"AAAA\": [\n\n    ],\n    \"CNAME\": [\n\n    ],\n    \"MX\": [\n\n    ],\n    \"NS\": [\n\n    ],\n    \"SPF\": [\n\n    ],\n    \"SRV\": [\n\n    ],\n    \"TXT\": [\n\n    ]\n  },\n  \"Status\": 1,\n  \"Version\": 1400600999,\n  \"ZoneId\": 5395,\n  \"ZoneType\": 1\n}",
         
     | 
| 
      
 62 
     | 
    
         
            +
                "response_code": 200,
         
     | 
| 
      
 63 
     | 
    
         
            +
                "response_body": "{\"Comment\":\"\",\"DomainName\":\"deleteme.\",\"FailoverGroups\":[{\"Group\":{\"A\":[],\"AAAA\":[{\"HealthCheck\":{\"CheckInterval\":50,\"CheckTypeId\":1,\"ContentVerification\":\"\",\"EmailNotificationAddress\":\"s.c@v.com\",\"FailedCheckThreshold\":2,\"HTTPMethodId\":null,\"IPAddress\":\"\",\"IPVersion\":1,\"PortNumber\":null,\"ReintegrationMethodId\":1,\"Status\":4,\"StatusName\":\"Unknown\",\"Uri\":\"www.google.com\"},\"IsPrimary\":true,\"Record\":{\"Name\":\"fo1\",\"Rdata\":\"1:2:3::\",\"TTL\":600}},{\"HealthCheck\":null,\"IsPrimary\":false,\"Record\":{\"Name\":\"fo1\",\"Rdata\":\"1:2:4::\",\"TTL\":600}}],\"CNAME\":[]},\"GroupTypeId\":3,\"Name\":\"fo1\"}],\"LoadBalancingGroups\":[],\"Records\":{\"A\":[{\"Name\":\"files\",\"Rdata\":\"196.245.5.1\",\"TTL\":3600},{\"Name\":\"images\",\"Rdata\":\"196.245.5.2\",\"TTL\":3600},{\"Name\":\"videos\",\"Rdata\":\"196.245.5.3\",\"TTL\":3600}],\"AAAA\":[],\"CNAME\":[],\"MX\":[],\"NS\":[],\"SPF\":[],\"SRV\":[],\"TXT\":[]},\"Status\":1,\"Version\":1400601759,\"ZoneId\":5395,\"ZoneType\":1}"
         
     | 
| 
      
 64 
     | 
    
         
            +
              },
         
     | 
| 
      
 65 
     | 
    
         
            +
              {
         
     | 
| 
      
 66 
     | 
    
         
            +
                "url": "https://api.edgecast.com/v2/mcc/customers/BED3/dns/routezone/5395",
         
     | 
| 
      
 67 
     | 
    
         
            +
                "method": "delete",
         
     | 
| 
      
 68 
     | 
    
         
            +
                "body": null,
         
     | 
| 
      
 69 
     | 
    
         
            +
                "response_code": 200,
         
     | 
| 
      
 70 
     | 
    
         
            +
                "response_body": ""
         
     | 
| 
      
 71 
     | 
    
         
            +
              }
         
     | 
| 
      
 72 
     | 
    
         
            +
            ]
         
     | 
    
        data/test/crud.mock
    ADDED
    
    | 
         @@ -0,0 +1,44 @@ 
     | 
|
| 
      
 1 
     | 
    
         
            +
            [
         
     | 
| 
      
 2 
     | 
    
         
            +
              {
         
     | 
| 
      
 3 
     | 
    
         
            +
                "url": "https://api.edgecast.com/v2/mcc//dns/routezonestatus",
         
     | 
| 
      
 4 
     | 
    
         
            +
                "method": "get",
         
     | 
| 
      
 5 
     | 
    
         
            +
                "body": null,
         
     | 
| 
      
 6 
     | 
    
         
            +
                "response_code": 200,
         
     | 
| 
      
 7 
     | 
    
         
            +
                "response_body": "[{\"Id\":1,\"Name\":\"Active\"},{\"Id\":2,\"Name\":\"Inactive\"}]"
         
     | 
| 
      
 8 
     | 
    
         
            +
              },
         
     | 
| 
      
 9 
     | 
    
         
            +
              {
         
     | 
| 
      
 10 
     | 
    
         
            +
                "url": "https://api.edgecast.com/v2/mcc//dns/routezonetypes",
         
     | 
| 
      
 11 
     | 
    
         
            +
                "method": "get",
         
     | 
| 
      
 12 
     | 
    
         
            +
                "body": null,
         
     | 
| 
      
 13 
     | 
    
         
            +
                "response_code": 200,
         
     | 
| 
      
 14 
     | 
    
         
            +
                "response_body": "[{\"Id\":1,\"Name\":\"Primary\"},{\"Id\":2,\"Name\":\"Secondary\"}]"
         
     | 
| 
      
 15 
     | 
    
         
            +
              },
         
     | 
| 
      
 16 
     | 
    
         
            +
              {
         
     | 
| 
      
 17 
     | 
    
         
            +
                "url": "https://api.edgecast.com/v2/mcc/customers/BED3/dns/routezone",
         
     | 
| 
      
 18 
     | 
    
         
            +
                "method": "post",
         
     | 
| 
      
 19 
     | 
    
         
            +
                "body": "{\n  \"Comment\": \"\",\n  \"DomainName\": \"deleteme.\",\n  \"Status\": 1,\n  \"ZoneType\": 1\n}",
         
     | 
| 
      
 20 
     | 
    
         
            +
                "response_code": 200,
         
     | 
| 
      
 21 
     | 
    
         
            +
                "response_body": "{\"Comment\":\"\",\"DomainName\":\"deleteme.\",\"FailoverGroups\":[],\"LoadBalancingGroups\":[],\"Records\":null,\"Status\":1,\"Version\":1400623544,\"ZoneId\":5398,\"ZoneType\":1}"
         
     | 
| 
      
 22 
     | 
    
         
            +
              },
         
     | 
| 
      
 23 
     | 
    
         
            +
              {
         
     | 
| 
      
 24 
     | 
    
         
            +
                "url": "https://api.edgecast.com/v2/mcc/customers/BED3/dns/routezones",
         
     | 
| 
      
 25 
     | 
    
         
            +
                "method": "get",
         
     | 
| 
      
 26 
     | 
    
         
            +
                "body": null,
         
     | 
| 
      
 27 
     | 
    
         
            +
                "response_code": 200,
         
     | 
| 
      
 28 
     | 
    
         
            +
                "response_body": "[{\"DomainName\":\"Daniel.Test.\",\"Status\":1,\"Version\":1400255085,\"ZoneId\":5389,\"ZoneType\":1},{\"DomainName\":\"deleteme.\",\"Status\":1,\"Version\":1400623544,\"ZoneId\":5398,\"ZoneType\":1},{\"DomainName\":\"mockzone.\",\"Status\":1,\"Version\":1400600830,\"ZoneId\":5385,\"ZoneType\":1},{\"DomainName\":\"nitin.\",\"Status\":1,\"Version\":1400096702,\"ZoneId\":5284,\"ZoneType\":1},{\"DomainName\":\"pythonzone.\",\"Status\":1,\"Version\":1400169998,\"ZoneId\":5366,\"ZoneType\":1},{\"DomainName\":\"vdmstest.com.\",\"Status\":1,\"Version\":1398108874,\"ZoneId\":4980,\"ZoneType\":1},{\"DomainName\":\"vzdms.com.\",\"Status\":1,\"Version\":1400510393,\"ZoneId\":5391,\"ZoneType\":2}]"
         
     | 
| 
      
 29 
     | 
    
         
            +
              },
         
     | 
| 
      
 30 
     | 
    
         
            +
              {
         
     | 
| 
      
 31 
     | 
    
         
            +
                "url": "https://api.edgecast.com/v2/mcc/customers/BED3/dns/routezone",
         
     | 
| 
      
 32 
     | 
    
         
            +
                "method": "put",
         
     | 
| 
      
 33 
     | 
    
         
            +
                "body": "{\n  \"Comment\": \"\",\n  \"DomainName\": \"deleteme\",\n  \"FailoverGroups\": [\n\n  ],\n  \"LoadBalancingGroups\": [\n\n  ],\n  \"Records\": {\n    \"A\": [\n      {\n        \"Name\": \"images\",\n        \"Rdata\": \"196.145.5.1\",\n        \"TTL\": 2600\n      },\n      {\n        \"Name\": \"videos\",\n        \"Rdata\": \"196.145.5.2\",\n        \"TTL\": 2600\n      },\n      {\n        \"Name\": \"@\",\n        \"Rdata\": \"196.145.5.3\",\n        \"TTL\": 2600\n      }\n    ],\n    \"AAAA\": [\n\n    ],\n    \"CNAME\": [\n\n    ],\n    \"MX\": [\n\n    ],\n    \"NS\": [\n\n    ],\n    \"SPF\": [\n\n    ],\n    \"SRV\": [\n\n    ],\n    \"TXT\": [\n\n    ]\n  },\n  \"Status\": 1,\n  \"Version\": 1400623544,\n  \"ZoneId\": 5398,\n  \"ZoneType\": 1\n}",
         
     | 
| 
      
 34 
     | 
    
         
            +
                "response_code": 200,
         
     | 
| 
      
 35 
     | 
    
         
            +
                "response_body": "{\"Comment\":\"\",\"DomainName\":\"deleteme.\",\"FailoverGroups\":[],\"LoadBalancingGroups\":[],\"Records\":{\"A\":[{\"Name\":\"images\",\"Rdata\":\"196.145.5.1\",\"TTL\":2600},{\"Name\":\"videos\",\"Rdata\":\"196.145.5.2\",\"TTL\":2600},{\"Name\":\"@\",\"Rdata\":\"196.145.5.3\",\"TTL\":2600}],\"AAAA\":[],\"CNAME\":[],\"MX\":[],\"NS\":[],\"SPF\":[],\"SRV\":[],\"TXT\":[]},\"Status\":1,\"Version\":1400623630,\"ZoneId\":5398,\"ZoneType\":1}"
         
     | 
| 
      
 36 
     | 
    
         
            +
              },
         
     | 
| 
      
 37 
     | 
    
         
            +
              {
         
     | 
| 
      
 38 
     | 
    
         
            +
                "url": "https://api.edgecast.com/v2/mcc/customers/BED3/dns/routezone/5398",
         
     | 
| 
      
 39 
     | 
    
         
            +
                "method": "delete",
         
     | 
| 
      
 40 
     | 
    
         
            +
                "body": null,
         
     | 
| 
      
 41 
     | 
    
         
            +
                "response_code": 200,
         
     | 
| 
      
 42 
     | 
    
         
            +
                "response_body": ""
         
     | 
| 
      
 43 
     | 
    
         
            +
              }
         
     | 
| 
      
 44 
     | 
    
         
            +
            ]
         
     | 
    
        data/test/crud.results
    ADDED
    
    | 
         @@ -0,0 +1,50 @@ 
     | 
|
| 
      
 1 
     | 
    
         
            +
            [
         
     | 
| 
      
 2 
     | 
    
         
            +
            {
         
     | 
| 
      
 3 
     | 
    
         
            +
              "cmd": "ec zone",
         
     | 
| 
      
 4 
     | 
    
         
            +
              "stdout": "zone - dns zone command\nUsage:\n  zone list\n  zone create\n  zone <zname> pull\n  zone <zname> push\n  zone <zname> delete\n  zone <zname> audit\n  zone <zname> diff\n  zone <zname> [<drill-down-param>...] add\n  zone <zname> [<drill-down-param>...] update\n  zone <zname> <drill-down-param>... delete\n  zone <zname> [<drill-down-param>...] [print]\n  zone <zname> <drill-down-param>... sethc\nWhere:\n  zname : name or id of zone\n  drill-down-param : names of fields, or indexes of items, for drilling down\nOptions:\n  -h or --help\n",
         
     | 
| 
      
 5 
     | 
    
         
            +
              "stderr": "",
         
     | 
| 
      
 6 
     | 
    
         
            +
              "diff": ""
         
     | 
| 
      
 7 
     | 
    
         
            +
            },
         
     | 
| 
      
 8 
     | 
    
         
            +
            {
         
     | 
| 
      
 9 
     | 
    
         
            +
              "cmd": "ec zone create -h",
         
     | 
| 
      
 10 
     | 
    
         
            +
              "stdout": "create - create new zone\nUsage:\n  create <name> <status> [<comment>] [<type>='Primary']\nWhere:\n  name : name of zone\n  status : zone status - value from [\"Active\", \"Inactive\"]\n  comment : zone comment\n  type : zone type - value from [\"Primary\", \"Secondary\"]\nOptions:\n  -h or --help\n",
         
     | 
| 
      
 11 
     | 
    
         
            +
              "stderr": "",
         
     | 
| 
      
 12 
     | 
    
         
            +
              "diff": ""
         
     | 
| 
      
 13 
     | 
    
         
            +
            },
         
     | 
| 
      
 14 
     | 
    
         
            +
            {
         
     | 
| 
      
 15 
     | 
    
         
            +
              "cmd": "ec zone create deleteme Active",
         
     | 
| 
      
 16 
     | 
    
         
            +
              "stdout": "creating zone on server\nitem  DomainName       ZoneId  Status\n~~~~  ~~~~~~~~~~~~~~~  ~~~~~~  ~~~~~~\n1        Daniel.Test   5389    Active\n2     -  deleteme      5398    Active\n3     -  mockzone      5385    Active\n4        nitin         5284    Active\n5        pythonzone    5366    Active\n6        vdmstest.com  4980    Active\n7        vzdms.com     5391    Active\n",
         
     | 
| 
      
 17 
     | 
    
         
            +
              "stderr": "",
         
     | 
| 
      
 18 
     | 
    
         
            +
              "diff": ""
         
     | 
| 
      
 19 
     | 
    
         
            +
            },
         
     | 
| 
      
 20 
     | 
    
         
            +
            {
         
     | 
| 
      
 21 
     | 
    
         
            +
              "cmd": "ec zone deleteme ",
         
     | 
| 
      
 22 
     | 
    
         
            +
              "stdout": "ZoneId  DomainName  ZoneType  Status  Version     Records  FailoverGroups  LoadBalancingGroups\n------  ----------  --------  ------  ----------  -------  --------------  -------------------\n5398    deleteme    Primary   Active  1400623544  ...      [0]             [0]                \n",
         
     | 
| 
      
 23 
     | 
    
         
            +
              "stderr": "",
         
     | 
| 
      
 24 
     | 
    
         
            +
              "diff": ""
         
     | 
| 
      
 25 
     | 
    
         
            +
            },
         
     | 
| 
      
 26 
     | 
    
         
            +
            {
         
     | 
| 
      
 27 
     | 
    
         
            +
              "cmd": "ec zone deleteme rec",
         
     | 
| 
      
 28 
     | 
    
         
            +
              "stdout": "A    AAAA  CNAME  MX   NS   SPF  SRV  TXT\n---  ----  -----  ---  ---  ---  ---  ---\n[0]  [0]   [0]    [0]  [0]  [0]  [0]  [0]\n",
         
     | 
| 
      
 29 
     | 
    
         
            +
              "stderr": "",
         
     | 
| 
      
 30 
     | 
    
         
            +
              "diff": ""
         
     | 
| 
      
 31 
     | 
    
         
            +
            },
         
     | 
| 
      
 32 
     | 
    
         
            +
            {
         
     | 
| 
      
 33 
     | 
    
         
            +
              "cmd": "ec zone deleteme rec a add images 196.244.5.1 3500",
         
     | 
| 
      
 34 
     | 
    
         
            +
              "stdout": "Name    Rdata        TTL \n------  -----------  ----\nimages  196.244.5.1  3500\n",
         
     | 
| 
      
 35 
     | 
    
         
            +
              "stderr": "",
         
     | 
| 
      
 36 
     | 
    
         
            +
              "diff": ""
         
     | 
| 
      
 37 
     | 
    
         
            +
            },
         
     | 
| 
      
 38 
     | 
    
         
            +
            {
         
     | 
| 
      
 39 
     | 
    
         
            +
              "cmd": "ec zone deleteme push",
         
     | 
| 
      
 40 
     | 
    
         
            +
              "stdout": "pushing zone to server\n",
         
     | 
| 
      
 41 
     | 
    
         
            +
              "stderr": "",
         
     | 
| 
      
 42 
     | 
    
         
            +
              "diff": ""
         
     | 
| 
      
 43 
     | 
    
         
            +
            },
         
     | 
| 
      
 44 
     | 
    
         
            +
            {
         
     | 
| 
      
 45 
     | 
    
         
            +
              "cmd": "ec zone deleteme delete",
         
     | 
| 
      
 46 
     | 
    
         
            +
              "stdout": "deleting zone with id 5398\n",
         
     | 
| 
      
 47 
     | 
    
         
            +
              "stderr": "",
         
     | 
| 
      
 48 
     | 
    
         
            +
              "diff": ""
         
     | 
| 
      
 49 
     | 
    
         
            +
            },
         
     | 
| 
      
 50 
     | 
    
         
            +
             {} ]
         
     | 
    
        data/test/initial.mock
    ADDED
    
    | 
         @@ -0,0 +1,58 @@ 
     | 
|
| 
      
 1 
     | 
    
         
            +
            [
         
     | 
| 
      
 2 
     | 
    
         
            +
              {
         
     | 
| 
      
 3 
     | 
    
         
            +
                "url": "https://api.edgecast.com/v2/mcc/customers/BED3/dns/routezones",
         
     | 
| 
      
 4 
     | 
    
         
            +
                "method": "get",
         
     | 
| 
      
 5 
     | 
    
         
            +
                "body": null,
         
     | 
| 
      
 6 
     | 
    
         
            +
                "response_code": 200,
         
     | 
| 
      
 7 
     | 
    
         
            +
                "response_body": "[{\"DomainName\":\"Daniel.Test.\",\"Status\":1,\"Version\":1400255085,\"ZoneId\":5389,\"ZoneType\":1},{\"DomainName\":\"mockzone.\",\"Status\":1,\"Version\":1400600830,\"ZoneId\":5385,\"ZoneType\":1},{\"DomainName\":\"nitin.\",\"Status\":1,\"Version\":1400096702,\"ZoneId\":5284,\"ZoneType\":1},{\"DomainName\":\"pythonzone.\",\"Status\":1,\"Version\":1400169998,\"ZoneId\":5366,\"ZoneType\":1},{\"DomainName\":\"vdmstest.com.\",\"Status\":1,\"Version\":1398108874,\"ZoneId\":4980,\"ZoneType\":1},{\"DomainName\":\"vzdms.com.\",\"Status\":1,\"Version\":1400510393,\"ZoneId\":5391,\"ZoneType\":2}]"
         
     | 
| 
      
 8 
     | 
    
         
            +
              },
         
     | 
| 
      
 9 
     | 
    
         
            +
              {
         
     | 
| 
      
 10 
     | 
    
         
            +
                "url": "https://api.edgecast.com/v2/mcc//dns/routezonestatus",
         
     | 
| 
      
 11 
     | 
    
         
            +
                "method": "get",
         
     | 
| 
      
 12 
     | 
    
         
            +
                "body": null,
         
     | 
| 
      
 13 
     | 
    
         
            +
                "response_code": 200,
         
     | 
| 
      
 14 
     | 
    
         
            +
                "response_body": "[{\"Id\":1,\"Name\":\"Active\"},{\"Id\":2,\"Name\":\"Inactive\"}]"
         
     | 
| 
      
 15 
     | 
    
         
            +
              },
         
     | 
| 
      
 16 
     | 
    
         
            +
              {
         
     | 
| 
      
 17 
     | 
    
         
            +
                "url": "https://api.edgecast.com/v2/mcc//dns/routezonetypes",
         
     | 
| 
      
 18 
     | 
    
         
            +
                "method": "get",
         
     | 
| 
      
 19 
     | 
    
         
            +
                "body": null,
         
     | 
| 
      
 20 
     | 
    
         
            +
                "response_code": 200,
         
     | 
| 
      
 21 
     | 
    
         
            +
                "response_body": "[{\"Id\":1,\"Name\":\"Primary\"},{\"Id\":2,\"Name\":\"Secondary\"}]"
         
     | 
| 
      
 22 
     | 
    
         
            +
              },
         
     | 
| 
      
 23 
     | 
    
         
            +
              {
         
     | 
| 
      
 24 
     | 
    
         
            +
                "url": "https://api.edgecast.com/v2/mcc/customers/BED3/dns/routezone?id=5385",
         
     | 
| 
      
 25 
     | 
    
         
            +
                "method": "get",
         
     | 
| 
      
 26 
     | 
    
         
            +
                "body": null,
         
     | 
| 
      
 27 
     | 
    
         
            +
                "response_code": 200,
         
     | 
| 
      
 28 
     | 
    
         
            +
                "response_body": "{\"Comment\":\"\",\"DomainName\":\"mockzone.\",\"FailoverGroups\":[{\"Group\":{\"A\":[],\"AAAA\":[],\"CNAME\":[{\"HealthCheck\":null,\"IsPrimary\":true,\"Record\":{\"Name\":\"fo1\",\"Rdata\":\"www.google.com.mockzone.\",\"TTL\":300}},{\"HealthCheck\":null,\"IsPrimary\":false,\"Record\":{\"Name\":\"fo1\",\"Rdata\":\"www.yahoo.com.mockzone.\",\"TTL\":300}}]},\"GroupTypeId\":3,\"Name\":\"fo1\"}],\"LoadBalancingGroups\":[{\"Group\":{\"A\":[{\"HealthCheck\":null,\"Record\":{\"Name\":\"lb1\",\"Rdata\":\"192.186.1.1\",\"TTL\":300},\"Weight\":50},{\"HealthCheck\":null,\"Record\":{\"Name\":\"lb1\",\"Rdata\":\"192.186.2.2\",\"TTL\":300},\"Weight\":50}],\"AAAA\":[{\"HealthCheck\":{\"CheckInterval\":60,\"CheckTypeId\":1,\"ContentVerification\":\"\",\"EmailNotificationAddress\":\"a@b.c\",\"FailedCheckThreshold\":4,\"HTTPMethodId\":null,\"IPAddress\":\"\",\"IPVersion\":1,\"PortNumber\":null,\"ReintegrationMethodId\":1,\"Status\":2,\"StatusName\":\"Failed\",\"Uri\":\"www.google.com\"},\"Record\":{\"Name\":\"lb1\",\"Rdata\":\"2:2::\",\"TTL\":300},\"Weight\":50},{\"HealthCheck\":{\"CheckInterval\":60,\"CheckTypeId\":1,\"ContentVerification\":\"\",\"EmailNotificationAddress\":\"a@b.c\",\"FailedCheckThreshold\":4,\"HTTPMethodId\":null,\"IPAddress\":\"\",\"IPVersion\":1,\"PortNumber\":null,\"ReintegrationMethodId\":1,\"Status\":2,\"StatusName\":\"Failed\",\"Uri\":\"www.yahoo.com\"},\"Record\":{\"Name\":\"lb1\",\"Rdata\":\"1:1::\",\"TTL\":300},\"Weight\":50}],\"CNAME\":[]},\"GroupTypeId\":3,\"Name\":\"lb1\"},{\"Group\":{\"A\":[{\"HealthCheck\":null,\"Record\":{\"Name\":\"lb2\",\"Rdata\":\"192.186.3.3\",\"TTL\":300},\"Weight\":33},{\"HealthCheck\":null,\"Record\":{\"Name\":\"lb2\",\"Rdata\":\"192.186.4.4\",\"TTL\":300},\"Weight\":33},{\"HealthCheck\":null,\"Record\":{\"Name\":\"lb2\",\"Rdata\":\"192.186.5.5\",\"TTL\":300},\"Weight\":33}],\"AAAA\":[],\"CNAME\":[]},\"GroupTypeId\":3,\"Name\":\"lb2\"}],\"Records\":{\"A\":[{\"Name\":\"portal\",\"Rdata\":\"65.196.119.145\",\"TTL\":3600},{\"Name\":\"ops\",\"Rdata\":\"65.196.119.146\",\"TTL\":3600},{\"Name\":\"sso\",\"Rdata\":\"65.196.119.147\",\"TTL\":3600},{\"Name\":\"@\",\"Rdata\":\"23.96.96.142\",\"TTL\":4500}],\"AAAA\":[],\"CNAME\":[{\"Name\":\"mockasia\",\"Rdata\":\"wpc.BED3.edgecastcdn.net.mockzone.\",\"TTL\":3600},{\"Name\":\"mockeurope\",\"Rdata\":\"wpc.BED3.edgecastcdn.net.mockzone.\",\"TTL\":3600},{\"Name\":\"www\",\"Rdata\":\"VZ-CDN-Learn-75038-site1.azurewebsites.net.mockzone.\",\"TTL\":3600}],\"MX\":[],\"NS\":[],\"SPF\":[],\"SRV\":[],\"TXT\":[]},\"Status\":1,\"Version\":1400600830,\"ZoneId\":5385,\"ZoneType\":1}"
         
     | 
| 
      
 29 
     | 
    
         
            +
              },
         
     | 
| 
      
 30 
     | 
    
         
            +
              {
         
     | 
| 
      
 31 
     | 
    
         
            +
                "url": "https://api.edgecast.com/v2/mcc//dns/routehealthchecktypes",
         
     | 
| 
      
 32 
     | 
    
         
            +
                "method": "get",
         
     | 
| 
      
 33 
     | 
    
         
            +
                "body": null,
         
     | 
| 
      
 34 
     | 
    
         
            +
                "response_code": 200,
         
     | 
| 
      
 35 
     | 
    
         
            +
                "response_body": "[{\"Id\":1,\"Name\":\"HTTP\"},{\"Id\":2,\"Name\":\"HTTPs\"},{\"Id\":3,\"Name\":\"TCP Open\"},{\"Id\":4,\"Name\":\"TCP SSL\"}]"
         
     | 
| 
      
 36 
     | 
    
         
            +
              },
         
     | 
| 
      
 37 
     | 
    
         
            +
              {
         
     | 
| 
      
 38 
     | 
    
         
            +
                "url": "https://api.edgecast.com/v2/mcc//dns/routehttpmethodtypes",
         
     | 
| 
      
 39 
     | 
    
         
            +
                "method": "get",
         
     | 
| 
      
 40 
     | 
    
         
            +
                "body": null,
         
     | 
| 
      
 41 
     | 
    
         
            +
                "response_code": 200,
         
     | 
| 
      
 42 
     | 
    
         
            +
                "response_body": "[{\"Id\":1,\"Name\":\"GET\"},{\"Id\":2,\"Name\":\"POST\"}]"
         
     | 
| 
      
 43 
     | 
    
         
            +
              },
         
     | 
| 
      
 44 
     | 
    
         
            +
              {
         
     | 
| 
      
 45 
     | 
    
         
            +
                "url": "https://api.edgecast.com/v2/mcc//dns/routehealthcheckipversion",
         
     | 
| 
      
 46 
     | 
    
         
            +
                "method": "get",
         
     | 
| 
      
 47 
     | 
    
         
            +
                "body": null,
         
     | 
| 
      
 48 
     | 
    
         
            +
                "response_code": 200,
         
     | 
| 
      
 49 
     | 
    
         
            +
                "response_body": "[{\"Id\":1,\"Name\":\"IPv4\"},{\"Id\":2,\"Name\":\"IPv6\"}]"
         
     | 
| 
      
 50 
     | 
    
         
            +
              },
         
     | 
| 
      
 51 
     | 
    
         
            +
              {
         
     | 
| 
      
 52 
     | 
    
         
            +
                "url": "https://api.edgecast.com/v2/mcc//dns/routereintegrationmethodtypes",
         
     | 
| 
      
 53 
     | 
    
         
            +
                "method": "get",
         
     | 
| 
      
 54 
     | 
    
         
            +
                "body": null,
         
     | 
| 
      
 55 
     | 
    
         
            +
                "response_code": 200,
         
     | 
| 
      
 56 
     | 
    
         
            +
                "response_body": "[{\"Id\":1,\"Name\":\"Automatic\"},{\"Id\":2,\"Name\":\"Manual\"}]"
         
     | 
| 
      
 57 
     | 
    
         
            +
              }
         
     | 
| 
      
 58 
     | 
    
         
            +
            ]
         
     | 
| 
         @@ -0,0 +1,308 @@ 
     | 
|
| 
      
 1 
     | 
    
         
            +
            [
         
     | 
| 
      
 2 
     | 
    
         
            +
            {
         
     | 
| 
      
 3 
     | 
    
         
            +
              "cmd": "ec zone list",
         
     | 
| 
      
 4 
     | 
    
         
            +
              "stdout": "item  DomainName       ZoneId  Status\n~~~~  ~~~~~~~~~~~~~~~  ~~~~~~  ~~~~~~\n1        Daniel.Test   5389    Active\n2     -  mockzone      5385    Active\n3        nitin         5284    Active\n4        pythonzone    5366    Active\n5        vdmstest.com  4980    Active\n6        vzdms.com     5391    Active\n",
         
     | 
| 
      
 5 
     | 
    
         
            +
              "stderr": "",
         
     | 
| 
      
 6 
     | 
    
         
            +
              "diff": ""
         
     | 
| 
      
 7 
     | 
    
         
            +
            },
         
     | 
| 
      
 8 
     | 
    
         
            +
            {
         
     | 
| 
      
 9 
     | 
    
         
            +
              "cmd": "ec zone mockzone pull",
         
     | 
| 
      
 10 
     | 
    
         
            +
              "stdout": "'zones/mockzone.5385' saved locally\n",
         
     | 
| 
      
 11 
     | 
    
         
            +
              "stderr": "",
         
     | 
| 
      
 12 
     | 
    
         
            +
              "diff": ""
         
     | 
| 
      
 13 
     | 
    
         
            +
            },
         
     | 
| 
      
 14 
     | 
    
         
            +
            {
         
     | 
| 
      
 15 
     | 
    
         
            +
              "cmd": "ec zone 5385 pull",
         
     | 
| 
      
 16 
     | 
    
         
            +
              "stdout": "'zones/mockzone.5385' saved locally\n",
         
     | 
| 
      
 17 
     | 
    
         
            +
              "stderr": "",
         
     | 
| 
      
 18 
     | 
    
         
            +
              "diff": ""
         
     | 
| 
      
 19 
     | 
    
         
            +
            },
         
     | 
| 
      
 20 
     | 
    
         
            +
            {
         
     | 
| 
      
 21 
     | 
    
         
            +
              "cmd": "ec zone mockzone",
         
     | 
| 
      
 22 
     | 
    
         
            +
              "stdout": "ZoneId  DomainName  ZoneType  Status  Version     Records  FailoverGroups  LoadBalancingGroups\n------  ----------  --------  ------  ----------  -------  --------------  -------------------\n5385    mockzone.   Primary   Active  1400600830  ...      [1]             [2]                \n",
         
     | 
| 
      
 23 
     | 
    
         
            +
              "stderr": "",
         
     | 
| 
      
 24 
     | 
    
         
            +
              "diff": ""
         
     | 
| 
      
 25 
     | 
    
         
            +
            },
         
     | 
| 
      
 26 
     | 
    
         
            +
            {
         
     | 
| 
      
 27 
     | 
    
         
            +
              "cmd": "ec zone 5385",
         
     | 
| 
      
 28 
     | 
    
         
            +
              "stdout": "ZoneId  DomainName  ZoneType  Status  Version     Records  FailoverGroups  LoadBalancingGroups\n------  ----------  --------  ------  ----------  -------  --------------  -------------------\n5385    mockzone.   Primary   Active  1400600830  ...      [1]             [2]                \n",
         
     | 
| 
      
 29 
     | 
    
         
            +
              "stderr": "",
         
     | 
| 
      
 30 
     | 
    
         
            +
              "diff": ""
         
     | 
| 
      
 31 
     | 
    
         
            +
            },
         
     | 
| 
      
 32 
     | 
    
         
            +
            {
         
     | 
| 
      
 33 
     | 
    
         
            +
              "cmd": "ec zone mockzone rec",
         
     | 
| 
      
 34 
     | 
    
         
            +
              "stdout": "A    AAAA  CNAME  MX   NS   SPF  SRV  TXT\n---  ----  -----  ---  ---  ---  ---  ---\n[4]  [0]   [3]    [0]  [0]  [0]  [0]  [0]\n",
         
     | 
| 
      
 35 
     | 
    
         
            +
              "stderr": "",
         
     | 
| 
      
 36 
     | 
    
         
            +
              "diff": ""
         
     | 
| 
      
 37 
     | 
    
         
            +
            },
         
     | 
| 
      
 38 
     | 
    
         
            +
            {
         
     | 
| 
      
 39 
     | 
    
         
            +
              "cmd": "ec zone mockzone rec a",
         
     | 
| 
      
 40 
     | 
    
         
            +
              "stdout": "item  Name    Rdata           TTL \n----  ------  --------------  ----\n1     portal  65.196.119.145  3600\n2     ops     65.196.119.146  3600\n3     sso     65.196.119.147  3600\n4     @       23.96.96.142    4500\n",
         
     | 
| 
      
 41 
     | 
    
         
            +
              "stderr": "",
         
     | 
| 
      
 42 
     | 
    
         
            +
              "diff": ""
         
     | 
| 
      
 43 
     | 
    
         
            +
            },
         
     | 
| 
      
 44 
     | 
    
         
            +
            {
         
     | 
| 
      
 45 
     | 
    
         
            +
              "cmd": "ec zone mockzone rec a cn",
         
     | 
| 
      
 46 
     | 
    
         
            +
              "stdout": "ERROR:no (unique) key matches cn\n",
         
     | 
| 
      
 47 
     | 
    
         
            +
              "stderr": "",
         
     | 
| 
      
 48 
     | 
    
         
            +
              "diff": ""
         
     | 
| 
      
 49 
     | 
    
         
            +
            },
         
     | 
| 
      
 50 
     | 
    
         
            +
            {
         
     | 
| 
      
 51 
     | 
    
         
            +
              "cmd": "ec zone mockzone rec cn",
         
     | 
| 
      
 52 
     | 
    
         
            +
              "stdout": "item  Name        Rdata                                                 TTL \n----  ----------  ----------------------------------------------------  ----\n1     mockasia    wpc.BED3.edgecastcdn.net.mockzone.                    3600\n2     mockeurope  wpc.BED3.edgecastcdn.net.mockzone.                    3600\n3     www         VZ-CDN-Learn-75038-site1.azurewebsites.net.mockzone.  3600\n",
         
     | 
| 
      
 53 
     | 
    
         
            +
              "stderr": "",
         
     | 
| 
      
 54 
     | 
    
         
            +
              "diff": ""
         
     | 
| 
      
 55 
     | 
    
         
            +
            },
         
     | 
| 
      
 56 
     | 
    
         
            +
            {
         
     | 
| 
      
 57 
     | 
    
         
            +
              "cmd": "ec zone mockzone rec cn print -h",
         
     | 
| 
      
 58 
     | 
    
         
            +
              "stdout": "print - print zone data.  ~~~~ online, ---- local copy\nUsage:\n  print \nOptions:\n  -h or --help\n  -j or --json\n  -t or --type=<one of [\"csv\", \"json\"]>\n  -n or --no-header\n  -c or --columns=<comma separated column names, or * for all columns>\n",
         
     | 
| 
      
 59 
     | 
    
         
            +
              "stderr": "",
         
     | 
| 
      
 60 
     | 
    
         
            +
              "diff": ""
         
     | 
| 
      
 61 
     | 
    
         
            +
            },
         
     | 
| 
      
 62 
     | 
    
         
            +
            {
         
     | 
| 
      
 63 
     | 
    
         
            +
              "cmd": "ec zone mockzone rec cn print --columns=Name,Rdata",
         
     | 
| 
      
 64 
     | 
    
         
            +
              "stdout": "Name        Rdata                                               \n----------  ----------------------------------------------------\nmockasia    wpc.BED3.edgecastcdn.net.mockzone.                  \nmockeurope  wpc.BED3.edgecastcdn.net.mockzone.                  \nwww         VZ-CDN-Learn-75038-site1.azurewebsites.net.mockzone.\n",
         
     | 
| 
      
 65 
     | 
    
         
            +
              "stderr": "",
         
     | 
| 
      
 66 
     | 
    
         
            +
              "diff": ""
         
     | 
| 
      
 67 
     | 
    
         
            +
            },
         
     | 
| 
      
 68 
     | 
    
         
            +
            {
         
     | 
| 
      
 69 
     | 
    
         
            +
              "cmd": "ec zone mockzone ",
         
     | 
| 
      
 70 
     | 
    
         
            +
              "stdout": "ZoneId  DomainName  ZoneType  Status  Version     Records  FailoverGroups  LoadBalancingGroups\n------  ----------  --------  ------  ----------  -------  --------------  -------------------\n5385    mockzone.   Primary   Active  1400600830  ...      [1]             [2]                \n",
         
     | 
| 
      
 71 
     | 
    
         
            +
              "stderr": "",
         
     | 
| 
      
 72 
     | 
    
         
            +
              "diff": ""
         
     | 
| 
      
 73 
     | 
    
         
            +
            },
         
     | 
| 
      
 74 
     | 
    
         
            +
            {
         
     | 
| 
      
 75 
     | 
    
         
            +
              "cmd": "ec zone mockzone fail",
         
     | 
| 
      
 76 
     | 
    
         
            +
              "stdout": "Group  GroupTypeId  Name  TTL\n-----  -----------  ----  ---\n...    3            fo1   300\n",
         
     | 
| 
      
 77 
     | 
    
         
            +
              "stderr": "",
         
     | 
| 
      
 78 
     | 
    
         
            +
              "diff": ""
         
     | 
| 
      
 79 
     | 
    
         
            +
            },
         
     | 
| 
      
 80 
     | 
    
         
            +
            {
         
     | 
| 
      
 81 
     | 
    
         
            +
              "cmd": "ec zone mockzone fail 1 group",
         
     | 
| 
      
 82 
     | 
    
         
            +
              "stdout": "A    AAAA  CNAME\n---  ----  -----\n[0]  [0]   [2]  \n",
         
     | 
| 
      
 83 
     | 
    
         
            +
              "stderr": "",
         
     | 
| 
      
 84 
     | 
    
         
            +
              "diff": ""
         
     | 
| 
      
 85 
     | 
    
         
            +
            },
         
     | 
| 
      
 86 
     | 
    
         
            +
            {
         
     | 
| 
      
 87 
     | 
    
         
            +
              "cmd": "ec zone mockzone fail 1 group cn",
         
     | 
| 
      
 88 
     | 
    
         
            +
              "stdout": "item  HealthCheck  IsPrimary  Rdata                   \n----  -----------  ---------  ------------------------\n1     null         true       www.google.com.mockzone.\n2     null         false      www.yahoo.com.mockzone. \n",
         
     | 
| 
      
 89 
     | 
    
         
            +
              "stderr": "",
         
     | 
| 
      
 90 
     | 
    
         
            +
              "diff": ""
         
     | 
| 
      
 91 
     | 
    
         
            +
            },
         
     | 
| 
      
 92 
     | 
    
         
            +
            {
         
     | 
| 
      
 93 
     | 
    
         
            +
              "cmd": "ec zone mockzone load",
         
     | 
| 
      
 94 
     | 
    
         
            +
              "stdout": "item  Group  GroupTypeId  Name  TTL\n----  -----  -----------  ----  ---\n1     ...    3            lb1   300\n2     ...    3            lb2   300\n",
         
     | 
| 
      
 95 
     | 
    
         
            +
              "stderr": "",
         
     | 
| 
      
 96 
     | 
    
         
            +
              "diff": ""
         
     | 
| 
      
 97 
     | 
    
         
            +
            },
         
     | 
| 
      
 98 
     | 
    
         
            +
            {
         
     | 
| 
      
 99 
     | 
    
         
            +
              "cmd": "ec zone mockzone load 1",
         
     | 
| 
      
 100 
     | 
    
         
            +
              "stdout": "Group  GroupTypeId  Name  TTL\n-----  -----------  ----  ---\n...    3            lb1   300\n",
         
     | 
| 
      
 101 
     | 
    
         
            +
              "stderr": "",
         
     | 
| 
      
 102 
     | 
    
         
            +
              "diff": ""
         
     | 
| 
      
 103 
     | 
    
         
            +
            },
         
     | 
| 
      
 104 
     | 
    
         
            +
            {
         
     | 
| 
      
 105 
     | 
    
         
            +
              "cmd": "ec zone mockzone load 1 group",
         
     | 
| 
      
 106 
     | 
    
         
            +
              "stdout": "A    AAAA  CNAME\n---  ----  -----\n[2]  [2]   [0]  \n",
         
     | 
| 
      
 107 
     | 
    
         
            +
              "stderr": "",
         
     | 
| 
      
 108 
     | 
    
         
            +
              "diff": ""
         
     | 
| 
      
 109 
     | 
    
         
            +
            },
         
     | 
| 
      
 110 
     | 
    
         
            +
            {
         
     | 
| 
      
 111 
     | 
    
         
            +
              "cmd": "ec zone mockzone load 1 group a",
         
     | 
| 
      
 112 
     | 
    
         
            +
              "stdout": "item  HealthCheck  Weight  Rdata      \n----  -----------  ------  -----------\n1     null         50      192.186.1.1\n2     null         50      192.186.2.2\n",
         
     | 
| 
      
 113 
     | 
    
         
            +
              "stderr": "",
         
     | 
| 
      
 114 
     | 
    
         
            +
              "diff": ""
         
     | 
| 
      
 115 
     | 
    
         
            +
            },
         
     | 
| 
      
 116 
     | 
    
         
            +
            {
         
     | 
| 
      
 117 
     | 
    
         
            +
              "cmd": "ec zone mockzone load 1 group aaaa",
         
     | 
| 
      
 118 
     | 
    
         
            +
              "stdout": "item  HealthCheck  Weight  Rdata\n----  -----------  ------  -----\n1     ...          50      2:2::\n2     ...          50      1:1::\n",
         
     | 
| 
      
 119 
     | 
    
         
            +
              "stderr": "",
         
     | 
| 
      
 120 
     | 
    
         
            +
              "diff": ""
         
     | 
| 
      
 121 
     | 
    
         
            +
            },
         
     | 
| 
      
 122 
     | 
    
         
            +
            {
         
     | 
| 
      
 123 
     | 
    
         
            +
              "cmd": "ec zone mockzone load 1 group aaaa",
         
     | 
| 
      
 124 
     | 
    
         
            +
              "stdout": "item  HealthCheck  Weight  Rdata\n----  -----------  ------  -----\n1     ...          50      2:2::\n2     ...          50      1:1::\n",
         
     | 
| 
      
 125 
     | 
    
         
            +
              "stderr": "",
         
     | 
| 
      
 126 
     | 
    
         
            +
              "diff": ""
         
     | 
| 
      
 127 
     | 
    
         
            +
            },
         
     | 
| 
      
 128 
     | 
    
         
            +
            {
         
     | 
| 
      
 129 
     | 
    
         
            +
              "cmd": "ec zone mockzone load 1 group aaaa h",
         
     | 
| 
      
 130 
     | 
    
         
            +
              "stdout": "item  CheckInterval  CheckTypeId  ContentVerification  EmailNotificationAddress  FailedCheckThreshold  HTTPMethodId  IPAddress  IPVersion  PortNumber  ReintegrationMethodId  Status  StatusName  Uri           \n----  -------------  -----------  -------------------  ------------------------  --------------------  ------------  ---------  ---------  ----------  ---------------------  ------  ----------  --------------\n1     60             HTTP                              a@b.c                     4                     null                     IPv4       null        Automatic              2       Failed      www.google.com\n2     60             HTTP                              a@b.c                     4                     null                     IPv4       null        Automatic              2       Failed      www.yahoo.com \n",
         
     | 
| 
      
 131 
     | 
    
         
            +
              "stderr": "",
         
     | 
| 
      
 132 
     | 
    
         
            +
              "diff": ""
         
     | 
| 
      
 133 
     | 
    
         
            +
            },
         
     | 
| 
      
 134 
     | 
    
         
            +
            {
         
     | 
| 
      
 135 
     | 
    
         
            +
              "cmd": "ec zone mockzone load 2",
         
     | 
| 
      
 136 
     | 
    
         
            +
              "stdout": "Group  GroupTypeId  Name  TTL\n-----  -----------  ----  ---\n...    3            lb2   300\n",
         
     | 
| 
      
 137 
     | 
    
         
            +
              "stderr": "",
         
     | 
| 
      
 138 
     | 
    
         
            +
              "diff": ""
         
     | 
| 
      
 139 
     | 
    
         
            +
            },
         
     | 
| 
      
 140 
     | 
    
         
            +
            {
         
     | 
| 
      
 141 
     | 
    
         
            +
              "cmd": "ec zone mockzone load 2 group",
         
     | 
| 
      
 142 
     | 
    
         
            +
              "stdout": "A    AAAA  CNAME\n---  ----  -----\n[3]  [0]   [0]  \n",
         
     | 
| 
      
 143 
     | 
    
         
            +
              "stderr": "",
         
     | 
| 
      
 144 
     | 
    
         
            +
              "diff": ""
         
     | 
| 
      
 145 
     | 
    
         
            +
            },
         
     | 
| 
      
 146 
     | 
    
         
            +
            {
         
     | 
| 
      
 147 
     | 
    
         
            +
              "cmd": "ec zone mockzone load 2 group a",
         
     | 
| 
      
 148 
     | 
    
         
            +
              "stdout": "item  HealthCheck  Weight  Rdata      \n----  -----------  ------  -----------\n1     null         33      192.186.3.3\n2     null         33      192.186.4.4\n3     null         33      192.186.5.5\n",
         
     | 
| 
      
 149 
     | 
    
         
            +
              "stderr": "",
         
     | 
| 
      
 150 
     | 
    
         
            +
              "diff": ""
         
     | 
| 
      
 151 
     | 
    
         
            +
            },
         
     | 
| 
      
 152 
     | 
    
         
            +
            {
         
     | 
| 
      
 153 
     | 
    
         
            +
              "cmd": "ec zone mockzone load 2 group a print -j",
         
     | 
| 
      
 154 
     | 
    
         
            +
              "stdout": "[\n  {\n    \"HealthCheck\": null,\n    \"Weight\": 33,\n    \"Rdata\": \"192.186.3.3\"\n  },\n  {\n    \"HealthCheck\": null,\n    \"Weight\": 33,\n    \"Rdata\": \"192.186.4.4\"\n  },\n  {\n    \"HealthCheck\": null,\n    \"Weight\": 33,\n    \"Rdata\": \"192.186.5.5\"\n  }\n]\n",
         
     | 
| 
      
 155 
     | 
    
         
            +
              "stderr": "",
         
     | 
| 
      
 156 
     | 
    
         
            +
              "diff": ""
         
     | 
| 
      
 157 
     | 
    
         
            +
            },
         
     | 
| 
      
 158 
     | 
    
         
            +
            {
         
     | 
| 
      
 159 
     | 
    
         
            +
              "cmd": "ec zone mockzone load 2 group a print -h",
         
     | 
| 
      
 160 
     | 
    
         
            +
              "stdout": "print - print zone data.  ~~~~ online, ---- local copy\nUsage:\n  print \nOptions:\n  -h or --help\n  -j or --json\n  -t or --type=<one of [\"csv\", \"json\"]>\n  -n or --no-header\n  -c or --columns=<comma separated column names, or * for all columns>\n",
         
     | 
| 
      
 161 
     | 
    
         
            +
              "stderr": "",
         
     | 
| 
      
 162 
     | 
    
         
            +
              "diff": ""
         
     | 
| 
      
 163 
     | 
    
         
            +
            },
         
     | 
| 
      
 164 
     | 
    
         
            +
            {
         
     | 
| 
      
 165 
     | 
    
         
            +
              "cmd": "ec zone mockzone load 2 group a print -tcsv",
         
     | 
| 
      
 166 
     | 
    
         
            +
              "stdout": "item,HealthCheck,Weight,Rdata\n1,null,33,192.186.3.3\n2,null,33,192.186.4.4\n3,null,33,192.186.5.5\n",
         
     | 
| 
      
 167 
     | 
    
         
            +
              "stderr": "",
         
     | 
| 
      
 168 
     | 
    
         
            +
              "diff": ""
         
     | 
| 
      
 169 
     | 
    
         
            +
            },
         
     | 
| 
      
 170 
     | 
    
         
            +
            {
         
     | 
| 
      
 171 
     | 
    
         
            +
              "cmd": "ec zone mockzone load 2 group a print -tcsv --no-header",
         
     | 
| 
      
 172 
     | 
    
         
            +
              "stdout": "1,null,33,192.186.3.3\n2,null,33,192.186.4.4\n3,null,33,192.186.5.5\n",
         
     | 
| 
      
 173 
     | 
    
         
            +
              "stderr": "",
         
     | 
| 
      
 174 
     | 
    
         
            +
              "diff": ""
         
     | 
| 
      
 175 
     | 
    
         
            +
            },
         
     | 
| 
      
 176 
     | 
    
         
            +
            {
         
     | 
| 
      
 177 
     | 
    
         
            +
              "cmd": "ec zone mockzone",
         
     | 
| 
      
 178 
     | 
    
         
            +
              "stdout": "ZoneId  DomainName  ZoneType  Status  Version     Records  FailoverGroups  LoadBalancingGroups\n------  ----------  --------  ------  ----------  -------  --------------  -------------------\n5385    mockzone.   Primary   Active  1400600830  ...      [1]             [2]                \n",
         
     | 
| 
      
 179 
     | 
    
         
            +
              "stderr": "",
         
     | 
| 
      
 180 
     | 
    
         
            +
              "diff": ""
         
     | 
| 
      
 181 
     | 
    
         
            +
            },
         
     | 
| 
      
 182 
     | 
    
         
            +
            {
         
     | 
| 
      
 183 
     | 
    
         
            +
              "cmd": "ec zone 5385",
         
     | 
| 
      
 184 
     | 
    
         
            +
              "stdout": "ZoneId  DomainName  ZoneType  Status  Version     Records  FailoverGroups  LoadBalancingGroups\n------  ----------  --------  ------  ----------  -------  --------------  -------------------\n5385    mockzone.   Primary   Active  1400600830  ...      [1]             [2]                \n",
         
     | 
| 
      
 185 
     | 
    
         
            +
              "stderr": "",
         
     | 
| 
      
 186 
     | 
    
         
            +
              "diff": ""
         
     | 
| 
      
 187 
     | 
    
         
            +
            },
         
     | 
| 
      
 188 
     | 
    
         
            +
            {
         
     | 
| 
      
 189 
     | 
    
         
            +
              "cmd": "ec zone 5385 rec",
         
     | 
| 
      
 190 
     | 
    
         
            +
              "stdout": "A    AAAA  CNAME  MX   NS   SPF  SRV  TXT\n---  ----  -----  ---  ---  ---  ---  ---\n[4]  [0]   [3]    [0]  [0]  [0]  [0]  [0]\n",
         
     | 
| 
      
 191 
     | 
    
         
            +
              "stderr": "",
         
     | 
| 
      
 192 
     | 
    
         
            +
              "diff": ""
         
     | 
| 
      
 193 
     | 
    
         
            +
            },
         
     | 
| 
      
 194 
     | 
    
         
            +
            {
         
     | 
| 
      
 195 
     | 
    
         
            +
              "cmd": "ec zone 5385 rec a",
         
     | 
| 
      
 196 
     | 
    
         
            +
              "stdout": "item  Name    Rdata           TTL \n----  ------  --------------  ----\n1     portal  65.196.119.145  3600\n2     ops     65.196.119.146  3600\n3     sso     65.196.119.147  3600\n4     @       23.96.96.142    4500\n",
         
     | 
| 
      
 197 
     | 
    
         
            +
              "stderr": "",
         
     | 
| 
      
 198 
     | 
    
         
            +
              "diff": ""
         
     | 
| 
      
 199 
     | 
    
         
            +
            },
         
     | 
| 
      
 200 
     | 
    
         
            +
            {
         
     | 
| 
      
 201 
     | 
    
         
            +
              "cmd": "ec zone 5385 rec a add",
         
     | 
| 
      
 202 
     | 
    
         
            +
              "stdout": "add - add record/group/healthcheck\nUsage:\n  add <name> <rdata> <ttl>\nWhere:\n  name : Name of the node to which this record pertains\n  rdata : Additional resource record data, such as IP Address\n  ttl : Time to live, in seconds\nOptions:\n  -h or --help\n",
         
     | 
| 
      
 203 
     | 
    
         
            +
              "stderr": "",
         
     | 
| 
      
 204 
     | 
    
         
            +
              "diff": ""
         
     | 
| 
      
 205 
     | 
    
         
            +
            },
         
     | 
| 
      
 206 
     | 
    
         
            +
            {
         
     | 
| 
      
 207 
     | 
    
         
            +
              "cmd": "ec zone 5385 rec a add figs 66.196.119.148 4500",
         
     | 
| 
      
 208 
     | 
    
         
            +
              "stdout": "item  Name    Rdata           TTL \n----  ------  --------------  ----\n1     portal  65.196.119.145  3600\n2     ops     65.196.119.146  3600\n3     sso     65.196.119.147  3600\n4     @       23.96.96.142    4500\n5     figs    66.196.119.148  4500\n",
         
     | 
| 
      
 209 
     | 
    
         
            +
              "stderr": "",
         
     | 
| 
      
 210 
     | 
    
         
            +
              "diff": "145a146,150\n>       },\n>       {\n>         \"Name\": \"figs\",\n>         \"Rdata\": \"66.196.119.148\",\n>         \"TTL\": 4500\n"
         
     | 
| 
      
 211 
     | 
    
         
            +
            },
         
     | 
| 
      
 212 
     | 
    
         
            +
            {
         
     | 
| 
      
 213 
     | 
    
         
            +
              "cmd": "ec zone mockzone",
         
     | 
| 
      
 214 
     | 
    
         
            +
              "stdout": "ZoneId  DomainName  ZoneType  Status  Version     Records  FailoverGroups  LoadBalancingGroups\n------  ----------  --------  ------  ----------  -------  --------------  -------------------\n5385    mockzone.   Primary   Active  1400600830  ...      [1]             [2]                \n",
         
     | 
| 
      
 215 
     | 
    
         
            +
              "stderr": "",
         
     | 
| 
      
 216 
     | 
    
         
            +
              "diff": ""
         
     | 
| 
      
 217 
     | 
    
         
            +
            },
         
     | 
| 
      
 218 
     | 
    
         
            +
            {
         
     | 
| 
      
 219 
     | 
    
         
            +
              "cmd": "ec zone mockzone fail",
         
     | 
| 
      
 220 
     | 
    
         
            +
              "stdout": "Group  GroupTypeId  Name  TTL\n-----  -----------  ----  ---\n...    3            fo1   300\n",
         
     | 
| 
      
 221 
     | 
    
         
            +
              "stderr": "",
         
     | 
| 
      
 222 
     | 
    
         
            +
              "diff": ""
         
     | 
| 
      
 223 
     | 
    
         
            +
            },
         
     | 
| 
      
 224 
     | 
    
         
            +
            {
         
     | 
| 
      
 225 
     | 
    
         
            +
              "cmd": "ec zone mockzone fail add",
         
     | 
| 
      
 226 
     | 
    
         
            +
              "stdout": "add - add record/group/healthcheck\nUsage:\n  add <gname> [<ttl>='300']\nWhere:\n  gname : Name of load balancing or failover group\n  ttl : Time to live, in seconds\nOptions:\n  -h or --help\n",
         
     | 
| 
      
 227 
     | 
    
         
            +
              "stderr": "",
         
     | 
| 
      
 228 
     | 
    
         
            +
              "diff": ""
         
     | 
| 
      
 229 
     | 
    
         
            +
            },
         
     | 
| 
      
 230 
     | 
    
         
            +
            {
         
     | 
| 
      
 231 
     | 
    
         
            +
              "cmd": "ec zone mockzone fail add fo2 450",
         
     | 
| 
      
 232 
     | 
    
         
            +
              "stdout": "item  Group  GroupTypeId  Name  TTL\n----  -----  -----------  ----  ---\n1     ...    3            fo1   300\n2     ...    3            fo2   450\n",
         
     | 
| 
      
 233 
     | 
    
         
            +
              "stderr": "",
         
     | 
| 
      
 234 
     | 
    
         
            +
              "diff": "28a29,44\n>     },\n>     {\n>       \"Group\": {\n>         \"A\": [\n> \n>         ],\n>         \"AAAA\": [\n> \n>         ],\n>         \"CNAME\": [\n> \n>         ]\n>       },\n>       \"GroupTypeId\": 3,\n>       \"Name\": \"fo2\",\n>       \"TTL\": \"450\"\n"
         
     | 
| 
      
 235 
     | 
    
         
            +
            },
         
     | 
| 
      
 236 
     | 
    
         
            +
            {
         
     | 
| 
      
 237 
     | 
    
         
            +
              "cmd": "ec zone mockzone fail 2 group",
         
     | 
| 
      
 238 
     | 
    
         
            +
              "stdout": "ERROR:index 2 out of bounds\n",
         
     | 
| 
      
 239 
     | 
    
         
            +
              "stderr": "",
         
     | 
| 
      
 240 
     | 
    
         
            +
              "diff": ""
         
     | 
| 
      
 241 
     | 
    
         
            +
            },
         
     | 
| 
      
 242 
     | 
    
         
            +
            {
         
     | 
| 
      
 243 
     | 
    
         
            +
              "cmd": "ec zone mockzone fail 2 ",
         
     | 
| 
      
 244 
     | 
    
         
            +
              "stdout": "ERROR:index 2 out of bounds\n",
         
     | 
| 
      
 245 
     | 
    
         
            +
              "stderr": "",
         
     | 
| 
      
 246 
     | 
    
         
            +
              "diff": ""
         
     | 
| 
      
 247 
     | 
    
         
            +
            },
         
     | 
| 
      
 248 
     | 
    
         
            +
            {
         
     | 
| 
      
 249 
     | 
    
         
            +
              "cmd": "ec zone mockzone fail ",
         
     | 
| 
      
 250 
     | 
    
         
            +
              "stdout": "Group  GroupTypeId  Name  TTL\n-----  -----------  ----  ---\n...    3            fo1   300\n",
         
     | 
| 
      
 251 
     | 
    
         
            +
              "stderr": "",
         
     | 
| 
      
 252 
     | 
    
         
            +
              "diff": ""
         
     | 
| 
      
 253 
     | 
    
         
            +
            },
         
     | 
| 
      
 254 
     | 
    
         
            +
            {
         
     | 
| 
      
 255 
     | 
    
         
            +
              "cmd": "ec zone mockzone load",
         
     | 
| 
      
 256 
     | 
    
         
            +
              "stdout": "item  Group  GroupTypeId  Name  TTL\n----  -----  -----------  ----  ---\n1     ...    3            lb1   300\n2     ...    3            lb2   300\n",
         
     | 
| 
      
 257 
     | 
    
         
            +
              "stderr": "",
         
     | 
| 
      
 258 
     | 
    
         
            +
              "diff": ""
         
     | 
| 
      
 259 
     | 
    
         
            +
            },
         
     | 
| 
      
 260 
     | 
    
         
            +
            {
         
     | 
| 
      
 261 
     | 
    
         
            +
              "cmd": "ec zone mockzone load 2",
         
     | 
| 
      
 262 
     | 
    
         
            +
              "stdout": "Group  GroupTypeId  Name  TTL\n-----  -----------  ----  ---\n...    3            lb2   300\n",
         
     | 
| 
      
 263 
     | 
    
         
            +
              "stderr": "",
         
     | 
| 
      
 264 
     | 
    
         
            +
              "diff": ""
         
     | 
| 
      
 265 
     | 
    
         
            +
            },
         
     | 
| 
      
 266 
     | 
    
         
            +
            {
         
     | 
| 
      
 267 
     | 
    
         
            +
              "cmd": "ec zone mockzone load 2 group",
         
     | 
| 
      
 268 
     | 
    
         
            +
              "stdout": "A    AAAA  CNAME\n---  ----  -----\n[3]  [0]   [0]  \n",
         
     | 
| 
      
 269 
     | 
    
         
            +
              "stderr": "",
         
     | 
| 
      
 270 
     | 
    
         
            +
              "diff": ""
         
     | 
| 
      
 271 
     | 
    
         
            +
            },
         
     | 
| 
      
 272 
     | 
    
         
            +
            {
         
     | 
| 
      
 273 
     | 
    
         
            +
              "cmd": "ec zone mockzone load 2 group a",
         
     | 
| 
      
 274 
     | 
    
         
            +
              "stdout": "item  HealthCheck  Weight  Rdata      \n----  -----------  ------  -----------\n1     null         33      192.186.3.3\n2     null         33      192.186.4.4\n3     null         33      192.186.5.5\n",
         
     | 
| 
      
 275 
     | 
    
         
            +
              "stderr": "",
         
     | 
| 
      
 276 
     | 
    
         
            +
              "diff": ""
         
     | 
| 
      
 277 
     | 
    
         
            +
            },
         
     | 
| 
      
 278 
     | 
    
         
            +
            {
         
     | 
| 
      
 279 
     | 
    
         
            +
              "cmd": "ec zone mockzone load 2 group a add",
         
     | 
| 
      
 280 
     | 
    
         
            +
              "stdout": "add - add record/group/healthcheck\nUsage:\n  add <weight> <rdata>\nWhere:\n  weight : Load balancing weight assigned to the record\n  rdata : Additional resource record data, such as IP Address\nOptions:\n  -h or --help\n",
         
     | 
| 
      
 281 
     | 
    
         
            +
              "stderr": "",
         
     | 
| 
      
 282 
     | 
    
         
            +
              "diff": ""
         
     | 
| 
      
 283 
     | 
    
         
            +
            },
         
     | 
| 
      
 284 
     | 
    
         
            +
            {
         
     | 
| 
      
 285 
     | 
    
         
            +
              "cmd": "ec zone mockzone load 2 group a add 44 192.186.5.6",
         
     | 
| 
      
 286 
     | 
    
         
            +
              "stdout": "level = zone.LoadBalancingGroups[2].Group.A\nitem  HealthCheck  Weight  Rdata      \n----  -----------  ------  -----------\n1     null         33      192.186.3.3\n2     null         33      192.186.4.4\n3     null         33      192.186.5.5\n4     null         44      192.186.5.6\n",
         
     | 
| 
      
 287 
     | 
    
         
            +
              "stderr": "",
         
     | 
| 
      
 288 
     | 
    
         
            +
              "diff": "110a111,115\n>           },\n>           {\n>             \"HealthCheck\": null,\n>             \"Weight\": 44,\n>             \"Rdata\": \"192.186.5.6\"\n"
         
     | 
| 
      
 289 
     | 
    
         
            +
            },
         
     | 
| 
      
 290 
     | 
    
         
            +
            {
         
     | 
| 
      
 291 
     | 
    
         
            +
              "cmd": "ec zone mockzone load 2 group a 1",
         
     | 
| 
      
 292 
     | 
    
         
            +
              "stdout": "HealthCheck  Weight  Rdata      \n-----------  ------  -----------\nnull         33      192.186.3.3\n",
         
     | 
| 
      
 293 
     | 
    
         
            +
              "stderr": "",
         
     | 
| 
      
 294 
     | 
    
         
            +
              "diff": ""
         
     | 
| 
      
 295 
     | 
    
         
            +
            },
         
     | 
| 
      
 296 
     | 
    
         
            +
            {
         
     | 
| 
      
 297 
     | 
    
         
            +
              "cmd": "ec zone mockzone load 2 group a 1 sethc",
         
     | 
| 
      
 298 
     | 
    
         
            +
              "stdout": "sethc - set health check for group member\nUsage:\n  sethc <http-type> <uri> <ip-version> <check-interval> <fail-threshold> <email-address> [<http-method>='GET'] [<content-verification>] [<reintegration-method>='Automatic']\n  sethc <tcp-type> <ip-address> <port> <check-interval> <fail-threshold> <email-address> [<content-verification>] [<reintegration-method>='Automatic']\nWhere:\n  http-type : for HTTP or secure HTTP health checks - value from [\"HTTP\", \"HTTPs\"]\n  uri : URI to which health checks will be directed\n  ip-version : IP version - value from [\"IPv4\", \"IPv6\"]\n  check-interval : number of seconds between health checks\n  fail-threshold : number of consecutive succeeds/fails for status change (1-10)\n  email-address : email address to which notifications will be sent\n  http-method : HTTP method for health check - value from [\"GET\", \"POST\"]\n  content-verification : text that will be used to verify health check\n  reintegration-method : how and unhealthy server/domain will be integrated back - value from [\"Automatic\", \"Manual\"]\n  tcp-type : for TCP or TCP SSL health checks - value from [\"TCP Open\", \"TCP SSL\"]\n  ip-address : ip address to which TCP health checks will be directed (IPv4 or IPv6)\n  port : ip port to which TCP health checks will be directed (1-65535)\nOptions:\n  -h or --help\n",
         
     | 
| 
      
 299 
     | 
    
         
            +
              "stderr": "",
         
     | 
| 
      
 300 
     | 
    
         
            +
              "diff": ""
         
     | 
| 
      
 301 
     | 
    
         
            +
            },
         
     | 
| 
      
 302 
     | 
    
         
            +
            {
         
     | 
| 
      
 303 
     | 
    
         
            +
              "cmd": "ec zone mockzone load 2 group a 1 sethc HTTPs www.google.com IPv6 300 2 s.c@v.com",
         
     | 
| 
      
 304 
     | 
    
         
            +
              "stdout": "CheckInterval  CheckTypeId  ContentVerification  EmailNotificationAddress  FailedCheckThreshold  HTTPMethodId  IPAddress  IPVersion  PortNumber  ReintegrationMethodId  Status  StatusName  Uri           \n-------------  -----------  -------------------  ------------------------  --------------------  ------------  ---------  ---------  ----------  ---------------------  ------  ----------  --------------\n300            HTTPs                             s.c@v.com                 2                     GET                      IPv6       null        Automatic              4       Unknown     www.google.com\n",
         
     | 
| 
      
 305 
     | 
    
         
            +
              "stderr": "",
         
     | 
| 
      
 306 
     | 
    
         
            +
              "diff": "98c98,112\n<             \"HealthCheck\": null,\n---\n>             \"HealthCheck\": {\n>               \"CheckInterval\": 300,\n>               \"CheckTypeId\": \"HTTPs\",\n>               \"ContentVerification\": \"\",\n>               \"EmailNotificationAddress\": \"s.c@v.com\",\n>               \"FailedCheckThreshold\": 2,\n>               \"HTTPMethodId\": \"GET\",\n>               \"IPAddress\": \"\",\n>               \"IPVersion\": \"IPv6\",\n>               \"PortNumber\": null,\n>               \"ReintegrationMethodId\": \"Automatic\",\n>               \"Status\": 4,\n>               \"StatusName\": \"Unknown\",\n>               \"Uri\": \"www.google.com\"\n>             },\n"
         
     | 
| 
      
 307 
     | 
    
         
            +
            },
         
     | 
| 
      
 308 
     | 
    
         
            +
             {} ]
         
     |