enfcli 4.2.1.pre.alpha → 5.0.2.pre.alpha

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 27b28906253cb5aa863c719da49ea29361254f44d7cc638e332d531f404e3887
4
- data.tar.gz: b6c231170699644a0628d9911368b822214b47916c61b66424384d19b5eb48fd
3
+ metadata.gz: 0f2c71edeb9cc8e958244a4f8617641cf7a1e4aec97fbcb7b294f10e9054705f
4
+ data.tar.gz: 34ad30dc994b28c3ebb81156f6787d7c90c81266f9ed41843df2f053e2ffcea6
5
5
  SHA512:
6
- metadata.gz: 84a41a3805664bf9e341d6a545daf92bc82c1271f5ccb92695808ae9e4737ecd8c148259d904f28f0bdbf65a8e6f34333c503adccf39b63c261d7b6bb1976d41
7
- data.tar.gz: 94706731090498b60bde0dcc0181cabf7ba7bddd9088c879cc049f4f7e87990bdf5e5bc05774a61506f3c3b9cffd1dff0314b75fb9fb2b65c43c7fa7875e2549
6
+ metadata.gz: 4697cbb6afaceb1cad22b3dbc1000a58a0b1cff12c9b46c5bb1f583ba0e9838aaa44c3764bc0201517f94808538510af04fe18071ddce5ab16a5fd9db2087e49
7
+ data.tar.gz: f35afc85b70fe26138c95d7f8fad9837d01e02239f0661a6c7425f82e692b37648a741fb503b2bd485d936ae67939fb273a8c1f4e035cbcf9feca25bdfe48224
@@ -1,7 +1,7 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- enfcli (4.2.1.pre.alpha)
4
+ enfcli (5.0.2.pre.alpha)
5
5
  clipboard
6
6
  ffi
7
7
  readline
@@ -21,7 +21,7 @@ GEM
21
21
  diff-lcs (1.3)
22
22
  domain_name (0.5.20190701)
23
23
  unf (>= 0.0.5, < 1.0.0)
24
- ffi (1.12.2)
24
+ ffi (1.13.1)
25
25
  fuubar (2.5.0)
26
26
  rspec-core (~> 3.0)
27
27
  ruby-progressbar (~> 1.4)
@@ -32,7 +32,7 @@ GEM
32
32
  io-console (0.5.6)
33
33
  mime-types (3.3.1)
34
34
  mime-types-data (~> 3.2015)
35
- mime-types-data (3.2020.0425)
35
+ mime-types-data (3.2020.0512)
36
36
  netrc (0.11.0)
37
37
  public_suffix (4.0.3)
38
38
  rake (10.5.0)
@@ -30,6 +30,14 @@ module EnfApi
30
30
  JSON.generate(hash)
31
31
  end
32
32
 
33
+ def self.from_json(string)
34
+ begin
35
+ JSON.parse(string, { symbolize_names: true })
36
+ rescue
37
+ raise EnfApi::ERROR, "Unable to parse api response json!"
38
+ end
39
+ end
40
+
33
41
  def self.url_encode(str)
34
42
  CGI.escape(str).gsub("+", "%20")
35
43
  end
@@ -40,103 +48,6 @@ module EnfApi
40
48
  end
41
49
  end
42
50
 
43
- class Dns
44
- include Singleton
45
-
46
- def initialize
47
- @version = "2019-05-27"
48
- @xdns_base_url = "/api/xdns/#{@version}"
49
- end
50
-
51
- def list_zones(domain)
52
- EnfApi::API.instance.get "#{@xdns_base_url}/zones?enf_domain=#{domain}"
53
- end
54
-
55
- def create_dns_zone(new_zone)
56
- json = EnfApi::to_json(new_zone)
57
- EnfApi::API.instance.post "#{@xdns_base_url}/zones", json
58
- end
59
-
60
- def update_dns_zone(zone_id, updated_zone)
61
- json = EnfApi::to_json(updated_zone)
62
- EnfApi::API.instance.put "#{@xdns_base_url}/zones/#{zone_id}", json
63
- end
64
-
65
- def delete_dns_zone(zone_id)
66
- EnfApi::API.instance.delete "#{@xdns_base_url}/zones/#{zone_id}"
67
- end
68
-
69
- def add_networks_to_zone(zone_id, add_networks)
70
- json = EnfApi::to_json(add_networks)
71
- EnfApi::API.instance.post "#{@xdns_base_url}/zones/#{zone_id}/networks", json
72
- end
73
-
74
- def replace_networks_in_zone(zone_id, replace_networks)
75
- json = EnfApi::to_json(replace_networks)
76
- EnfApi::API.instance.put "#{@xdns_base_url}/zones/#{zone_id}/networks", json
77
- end
78
-
79
- def list_networks_in_zone(zone_id)
80
- EnfApi::API.instance.get "#{@xdns_base_url}/zones/#{zone_id}/networks"
81
- end
82
-
83
- def delete_networks_from_zone(zone_id, delete_networks)
84
- EnfApi::API.instance.delete "#{@xdns_base_url}/zones/#{zone_id}/networks?delete=#{delete_networks}"
85
- end
86
-
87
- def list_zones_in_network(network)
88
- EnfApi::API.instance.get "#{@xdns_base_url}/networks/#{network}/zones"
89
- end
90
-
91
- def provision_server(network, new_server)
92
- json = EnfApi::to_json(new_server)
93
- EnfApi::API.instance.post "#{@xdns_base_url}/networks/#{network}/servers", json
94
- end
95
-
96
- def list_servers(network)
97
- EnfApi::API.instance.get "#{@xdns_base_url}/networks/#{network}/servers"
98
- end
99
-
100
- def delete_server(network, server_ipv6)
101
- EnfApi::API.instance.delete "#{@xdns_base_url}/networks/#{network}/servers/#{server_ipv6}"
102
- end
103
-
104
- def create_dns_record(zone_id, new_record)
105
- json = EnfApi::to_json(new_record)
106
- EnfApi::API.instance.post "#{@xdns_base_url}/zones/#{zone_id}/records", json
107
- end
108
-
109
- def list_dns_records(zone_id)
110
- EnfApi::API.instance.get "#{@xdns_base_url}/zones/#{zone_id}/records"
111
- end
112
-
113
- def query(network, type, name)
114
- EnfApi::API.instance.get "#{@xdns_base_url}/networks/#{network}/query/#{type}/#{name}"
115
- end
116
-
117
- def delete_dns_record(record_id)
118
- EnfApi::API.instance.delete "#{@xdns_base_url}/records/#{record_id}"
119
- end
120
- end
121
-
122
- class Firewall
123
- include Singleton
124
-
125
- def list_firewall_rules(network)
126
- EnfApi::API.instance.get "/api/xfw/v1/#{network}/rule"
127
- end
128
-
129
- def add_firewall_rule(network, rule)
130
- rule_json = EnfApi::to_json(rule)
131
- EnfApi::API.instance.post "/api/xfw/v1/#{network}/rule", rule_json
132
- end
133
-
134
- def delete_firewall_rules(network, id = nil)
135
- # Same method to call to delete all firewall rules in a network. if id is nil
136
- EnfApi::API.instance.delete "/api/xfw/v1/#{network}/rule/#{id}"
137
- end
138
- end
139
-
140
51
  class Iam
141
52
  include Singleton
142
53
 
@@ -389,11 +300,11 @@ module EnfApi
389
300
  @api = RestClient::Resource.new(host)
390
301
 
391
302
  # Create request json
392
- hash = { :username => user, :token => password }
303
+ hash = { username: user, password: password }
393
304
  json = to_json(hash)
394
305
 
395
306
  # call api
396
- @api["/api/xcr/v2/xauth"].post(json, { content_type: :json, accept: :json }) { |response, request, result|
307
+ @api["/api/xcr/v3/xauth"].post(json, { content_type: :json, accept: :json }) { |response, request, result|
397
308
  case response.code
398
309
  when 200
399
310
  # get resp from json
@@ -439,59 +350,59 @@ module EnfApi
439
350
  # NOT READY API. MOVE ABOVE THIS LINE AFTER RSPEC OR INTO OWN CLASS
440
351
  ############################################################################################################################
441
352
  def list_domain_nws(domain_id)
442
- @api["/api/xcr/v2/domains/#{domain_id}/nws"].get(@headers) { |response, request, result|
353
+ @api["/api/xcr/v3/domains/#{domain_id}/nws"].get(@headers) { |response, request, result|
443
354
  process_api_response response, request, result
444
355
  }
445
356
  end
446
357
 
447
358
  def list_enfnws
448
- @api["/api/xcr/v2/enfnws"].get(@headers) { |response, request, result|
359
+ @api["/api/xcr/v3/enfnws"].get(@headers) { |response, request, result|
449
360
  process_api_response response, request, result
450
361
  }
451
362
  end
452
363
 
453
364
  def list_domains
454
- @api["/api/xcr/v2/domains"].get(@headers) { |response, request, result|
365
+ @api["/api/xcr/v3/domains"].get(@headers) { |response, request, result|
455
366
  process_api_response response, request, result
456
367
  }
457
368
  end
458
369
 
459
370
  def get_domain(domain_id)
460
- @api["/api/xcr/v2/domains/#{domain_id}"].get(@headers) { |response, request, result|
371
+ @api["/api/xcr/v3/domains/#{domain_id}"].get(@headers) { |response, request, result|
461
372
  process_api_response response, request, result
462
373
  }
463
374
  end
464
375
 
465
376
  def create_domain(domain_hash)
466
377
  json = to_json(domain_hash)
467
- @api["/api/xcr/v2/domains"].post(json, @headers) { |response, request, result|
378
+ @api["/api/xcr/v3/domains"].post(json, @headers) { |response, request, result|
468
379
  process_api_response response, request, result
469
380
  }
470
381
  end
471
382
 
472
383
  def update_domain_rate_limits(domain_network, limit, limits_hash)
473
384
  json = to_json(limits_hash)
474
- @api["/api/xcr/v2/domains/#{domain_network}/ep_rate_limits/#{limit}"].put(json, @headers) { |response, request, result|
385
+ @api["/api/xcr/v3/domains/#{domain_network}/ep_rate_limits/#{limit}"].put(json, @headers) { |response, request, result|
475
386
  process_api_response response, request, result
476
387
  }
477
388
  end
478
389
 
479
390
  def update_network_rate_limits(network, limit, limits_hash)
480
391
  json = to_json(limits_hash)
481
- @api["/api/xcr/v2/nws/#{network}/ep_rate_limits/#{limit}"].put(json, @headers) { |response, request, result|
392
+ @api["/api/xcr/v3/nws/#{network}/ep_rate_limits/#{limit}"].put(json, @headers) { |response, request, result|
482
393
  process_api_response response, request, result
483
394
  }
484
395
  end
485
396
 
486
397
  def update_ep_rate_limits(ipv6, limit, limits_hash)
487
398
  json = to_json(limits_hash)
488
- @api["/api/xcr/v2/cxns/#{ipv6}/ep_rate_limits/#{limit}"].put(json, @headers) { |response, request, result|
399
+ @api["/api/xcr/v3/cxns/#{ipv6}/ep_rate_limits/#{limit}"].put(json, @headers) { |response, request, result|
489
400
  process_api_response response, request, result
490
401
  }
491
402
  end
492
403
 
493
404
  def get_domain_rate_limits(domain_network, filter = nil)
494
- api_url = "/api/xcr/v2/domains/#{domain_network}/ep_rate_limits"
405
+ api_url = "/api/xcr/v3/domains/#{domain_network}/ep_rate_limits"
495
406
  api_url = "#{api_url}/#{filter}" if filter
496
407
 
497
408
  @api[api_url].get(@headers) { |response, request, result|
@@ -500,7 +411,7 @@ module EnfApi
500
411
  end
501
412
 
502
413
  def get_network_rate_limits(network, filter = nil)
503
- api_url = "/api/xcr/v2/nws/#{network}/ep_rate_limits"
414
+ api_url = "/api/xcr/v3/nws/#{network}/ep_rate_limits"
504
415
  api_url = "#{api_url}/#{filter}" if filter
505
416
 
506
417
  @api[api_url].get(@headers) { |response, request, result|
@@ -509,7 +420,7 @@ module EnfApi
509
420
  end
510
421
 
511
422
  def get_ep_rate_limits(ipv6, filter = nil)
512
- api_url = "/api/xcr/v2/cxns/#{ipv6}/ep_rate_limits"
423
+ api_url = "/api/xcr/v3/cxns/#{ipv6}/ep_rate_limits"
513
424
  api_url = "#{api_url}/#{filter}" if filter
514
425
 
515
426
  @api[api_url].get(@headers) { |response, request, result|
@@ -519,105 +430,66 @@ module EnfApi
519
430
 
520
431
  def update_domain_status(domain_network, status)
521
432
  json = to_json(status)
522
- @api["/api/xcr/v2/domains/#{domain_network}/status"].put(json, @headers) { |response, request, result|
433
+ @api["/api/xcr/v3/domains/#{domain_network}/status"].put(json, @headers) { |response, request, result|
523
434
  process_api_response response, request, result
524
435
  }
525
436
  end
526
437
 
527
- def create_nw(nw_hash)
438
+ def create_nw(domain, nw_hash)
528
439
  json = to_json(nw_hash)
529
- domain_id = nw_hash[:domain_id]
530
- @api["/api/xcr/v2/domains/#{domain_id}/nws"].post(json, @headers) { |response, request, result|
440
+ @api["/api/xcr/v3/domains/#{domain}/nws"].post(json, @headers) { |response, request, result|
531
441
  process_api_response response, request, result
532
442
  }
533
443
  end
534
444
 
535
445
  def update_nw(network_cidr, nw_hash)
536
446
  json = to_json(nw_hash)
537
- @api["/api/xcr/v2/nws/#{network_cidr}"].put(json, @headers) { |response, request, result|
447
+ @api["/api/xcr/v3/nws/#{network_cidr}"].put(json, @headers) { |response, request, result|
538
448
  process_api_response response, request, result
539
449
  }
540
450
  end
541
451
 
542
452
  def get_nw(network_cidr)
543
- @api["/api/xcr/v2/nws/#{network_cidr}"].get(@headers) { |response, request, result|
453
+ @api["/api/xcr/v3/nws/#{network_cidr}"].get(@headers) { |response, request, result|
544
454
  process_api_response response, request, result
545
455
  }
546
456
  end
547
457
 
548
- def list_nw_connections(domain_id, network_cidr, file = nil)
549
- @api["/api/xcr/v2/domains/#{domain_id}/nws/#{network_cidr}/cxns"].get(@headers) { |response, request, result|
458
+ def list_nw_connections(network_cidr, file = nil)
459
+ @api["/api/xcr/v3/nws/#{network_cidr}/cxns"].get(@headers) { |response, request, result|
550
460
  process_api_response response, request, result
551
461
  }
552
462
  end
553
463
 
554
464
  def list_endpoint_events(ipv6)
555
- @api["/api/xcr/v2/cxns/#{ipv6}/events"].get(@headers) { |response, request, result|
465
+ @api["/api/xcr/v3/cxns/#{ipv6}/events"].get(@headers) { |response, request, result|
556
466
  process_api_response response, request, result
557
467
  }
558
468
  end
559
469
 
560
470
  def list_network_events(network_cidr)
561
- @api["/api/xcr/v2/nws/#{network_cidr}/events"].get(@headers) { |response, request, result|
471
+ @api["/api/xcr/v3/nws/#{network_cidr}/events"].get(@headers) { |response, request, result|
562
472
  process_api_response response, request, result
563
473
  }
564
474
  end
565
475
 
566
476
  def get_endpoint(ipv6)
567
- @api["/api/xcr/v2/cxns/#{ipv6}"].get(@headers) { |response, request, result|
477
+ @api["/api/xcr/v3/cxns/#{ipv6}"].get(@headers) { |response, request, result|
568
478
  process_api_response response, request, result
569
479
  }
570
480
  end
571
481
 
572
482
  def update_endpoint(ipv6, name)
573
- hash = { :ipv6 => ipv6, :name => name }
483
+ hash = { ipv6: ipv6, name: name }
574
484
  json = to_json(hash)
575
485
 
576
- @api["/api/xcr/v2/cxns/#{ipv6}"].put(json, @headers) { |response, request, result|
486
+ @api["/api/xcr/v3/cxns/#{ipv6}"].put(json, @headers) { |response, request, result|
577
487
  process_api_response response, request, result
578
488
  }
579
489
  end
580
490
 
581
491
  def activate_enfnw(subnet)
582
- @api["/api/xcr/v2/enfnws/#{subnet}"].put("", @headers) { |response, request, result|
583
- process_api_response response, request, result
584
- }
585
- end
586
-
587
- def list_domain_users(domain_network)
588
- @api["/api/xcr/v2/domains/#{domain_network}/users"].get(@headers) { |response, request, result|
589
- process_api_response response, request, result
590
- }
591
- end
592
-
593
- def list_domain_invites(domain_network)
594
- @api["/api/xcr/v2/domains/#{domain_network}/invites"].get(@headers) { |response, request, result|
595
- process_api_response response, request, result
596
- }
597
- end
598
-
599
- def invite(domain_network, hash)
600
- json = to_json(hash)
601
- @api["/api/xcr/v2/domains/#{domain_network}/invites"].post(json, @headers) { |response, request, result|
602
- process_api_response response, request, result
603
- }
604
- end
605
-
606
- def cancel_invite(email)
607
- @api["/api/xcr/v2/invites/#{email}"].delete(@headers) { |response, request, result|
608
- process_api_response response, request, result
609
- }
610
- end
611
-
612
- def resend_invite(email)
613
- @api["/api/xcr/v2/invites/#{email}"].put("{}", @headers) { |response, request, result|
614
- process_api_response response, request, result
615
- }
616
- end
617
-
618
- def update_user_status(user_id, status)
619
- json = to_json(status)
620
- @api["/api/xcr/v2/users/#{user_id}/status"].put(json, @headers) { |response, request, result|
492
+ @api["/api/xcr/v3/enfnws/#{subnet}"].put("", @headers) { |response, request, result|
621
493
  process_api_response response, request, result
622
494
  }
623
495
  end
@@ -665,15 +537,11 @@ module EnfApi
665
537
  end
666
538
 
667
539
  def from_json(string)
668
- begin
669
- JSON.parse(string, { :symbolize_names => true })
670
- rescue
671
- raise EnfApi::ERROR, "Unable to parse api response json!"
672
- end
540
+ EnfApi::from_json(string)
673
541
  end
674
542
 
675
543
  def to_json(hash)
676
- JSON.generate(hash)
544
+ EnfApi::to_json(hash)
677
545
  end
678
546
 
679
547
  def api_error_msg(err)
@@ -0,0 +1,95 @@
1
+ #
2
+ # Copyright 2020 Xaptum,Inc
3
+ #
4
+ # Licensed under the Apache License, Version 2.0 (the "License");
5
+ # you may not use this file except in compliance with the License.
6
+ # You may obtain a copy of the License at
7
+ #
8
+ # http://www.apache.org/licenses/LICENSE-2.0
9
+ #
10
+ # Unless required by applicable law or agreed to in writing, software
11
+ # distributed under the License is distributed on an "AS IS" BASIS,
12
+ # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13
+ # See the License for the specific language governing permissions and
14
+ # limitations under the License.
15
+ #
16
+ module EnfApi
17
+ class Dns
18
+ include Singleton
19
+
20
+ def initialize
21
+ @version = "v1"
22
+ @xdns_base_url = "/api/xdns/#{@version}"
23
+ end
24
+
25
+ def list_zones(domain)
26
+ EnfApi::API.instance.get "#{@xdns_base_url}/zones?enf_domain=#{domain}"
27
+ end
28
+
29
+ def create_dns_zone(new_zone)
30
+ json = EnfApi::to_json(new_zone)
31
+ EnfApi::API.instance.post "#{@xdns_base_url}/zones", json
32
+ end
33
+
34
+ def update_dns_zone(zone_id, updated_zone)
35
+ json = EnfApi::to_json(updated_zone)
36
+ EnfApi::API.instance.put "#{@xdns_base_url}/zones/#{zone_id}", json
37
+ end
38
+
39
+ def delete_dns_zone(zone_id)
40
+ EnfApi::API.instance.delete "#{@xdns_base_url}/zones/#{zone_id}"
41
+ end
42
+
43
+ def add_networks_to_zone(zone_id, add_networks)
44
+ json = EnfApi::to_json(add_networks)
45
+ EnfApi::API.instance.post "#{@xdns_base_url}/zones/#{zone_id}/networks", json
46
+ end
47
+
48
+ def replace_networks_in_zone(zone_id, replace_networks)
49
+ json = EnfApi::to_json(replace_networks)
50
+ EnfApi::API.instance.put "#{@xdns_base_url}/zones/#{zone_id}/networks", json
51
+ end
52
+
53
+ def list_networks_in_zone(zone_id)
54
+ EnfApi::API.instance.get "#{@xdns_base_url}/zones/#{zone_id}/networks"
55
+ end
56
+
57
+ def delete_networks_from_zone(zone_id, delete_networks)
58
+ EnfApi::API.instance.delete "#{@xdns_base_url}/zones/#{zone_id}/networks?delete=#{delete_networks}"
59
+ end
60
+
61
+ def list_zones_in_network(network)
62
+ EnfApi::API.instance.get "#{@xdns_base_url}/networks/#{network}/zones"
63
+ end
64
+
65
+ def provision_server(network, new_server)
66
+ json = EnfApi::to_json(new_server)
67
+ EnfApi::API.instance.post "#{@xdns_base_url}/networks/#{network}/servers", json
68
+ end
69
+
70
+ def list_servers(network)
71
+ EnfApi::API.instance.get "#{@xdns_base_url}/networks/#{network}/servers"
72
+ end
73
+
74
+ def delete_server(network, server_ipv6)
75
+ EnfApi::API.instance.delete "#{@xdns_base_url}/networks/#{network}/servers/#{server_ipv6}"
76
+ end
77
+
78
+ def create_dns_record(zone_id, new_record)
79
+ json = EnfApi::to_json(new_record)
80
+ EnfApi::API.instance.post "#{@xdns_base_url}/zones/#{zone_id}/records", json
81
+ end
82
+
83
+ def list_dns_records(zone_id)
84
+ EnfApi::API.instance.get "#{@xdns_base_url}/zones/#{zone_id}/records"
85
+ end
86
+
87
+ def query(network, type, name)
88
+ EnfApi::API.instance.get "#{@xdns_base_url}/networks/#{network}/query/#{type}/#{name}"
89
+ end
90
+
91
+ def delete_dns_record(record_id)
92
+ EnfApi::API.instance.delete "#{@xdns_base_url}/records/#{record_id}"
93
+ end
94
+ end
95
+ end