fastlyctl 1.0.1 → 1.0.2

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: c99e7a36c4d22a02bd9dc8547be8e57e026b5e781eca956454bf29567ab0ff12
4
- data.tar.gz: a5c608f10b5259f9f08d61ee77f18c874a46aae079943b812854bc615eddc7ef
3
+ metadata.gz: 5ab49669dc42a806c9f2dcb070abaaaa2caf3ab3971d98137272297079ceae79
4
+ data.tar.gz: 956dd730b5d2fc1458e862d9470d37a2e967d0d0673dad7db88043ccc9294873
5
5
  SHA512:
6
- metadata.gz: 6b33f5cdc219afdb8be0872a893577264c7a1c7c16911a29646807dddf75f8cef941f3dd5c9aaa2b28c770705da12a7dbdadf7a8844d70d10e07d9a8977f09a7
7
- data.tar.gz: 9326d1f7ba46d301582fffd593d6a6821df4b4a2aab124d889a49f261c8bb3a250d780c8cded06b4b94512864aa4388cb8a65b7ecf0f73ebcc9d1afcdbd0ce6b
6
+ metadata.gz: 2537e34e4fcaf9151bcab19e0187f90e88afd61c12521045c640af86afa49bad52d14362a453b6d9ad8b4aea75b4ac345a790bfecd81458e5c2c2df2ea3d2091
7
+ data.tar.gz: db50f38b85871b732fe36dee45d65d562e203ced1e084cd37e59ab4ca76cc74217239c8ac22376c01b326c8be2f4f160d734567e723034c1d0fcdf252b633089
@@ -19,6 +19,8 @@ module FastlyCTL
19
19
  version = FastlyCTL::Fetcher.get_writable_version(id) unless options[:version]
20
20
  version ||= options[:version]
21
21
 
22
+ encoded_name = URI.escape(name) if name
23
+
22
24
  case action
23
25
  when "create"
24
26
  abort "Must specify name for ACL" unless name
@@ -27,7 +29,7 @@ module FastlyCTL
27
29
  say("ACL #{name} created.")
28
30
  when "delete"
29
31
  abort "Must specify name for ACL" unless name
30
- FastlyCTL::Fetcher.api_request(:delete, "/service/#{id}/version/#{version}/acl/#{name}")
32
+ FastlyCTL::Fetcher.api_request(:delete, "/service/#{id}/version/#{version}/acl/#{encoded_name}")
31
33
 
32
34
  say("ACL #{name} deleted.")
33
35
  when "list"
@@ -41,14 +43,14 @@ module FastlyCTL
41
43
  when "add"
42
44
  abort "Must specify name for ACL" unless name
43
45
  abort "Must specify IP" unless ip
44
- acl = FastlyCTL::Fetcher.api_request(:get, "/service/#{id}/version/#{version}/acl/#{name}")
46
+ acl = FastlyCTL::Fetcher.api_request(:get, "/service/#{id}/version/#{version}/acl/#{encoded_name}")
45
47
  FastlyCTL::Fetcher.api_request(:post, "/service/#{id}/acl/#{acl["id"]}/entry", params: { ip: ip, negated: options.key?(:negate) ? "1" : "0" })
46
48
 
47
49
  say("#{ip} added to ACL #{name}.")
48
50
  when "remove"
49
51
  abort "Must specify name for ACL" unless name
50
52
  abort "Must specify IP for ACL entry" unless ip
51
- acl = FastlyCTL::Fetcher.api_request(:get, "/service/#{id}/version/#{version}/acl/#{name}")
53
+ acl = FastlyCTL::Fetcher.api_request(:get, "/service/#{id}/version/#{version}/acl/#{encoded_name}")
52
54
  entries = FastlyCTL::Fetcher.api_request(:get, "/service/#{id}/acl/#{acl["id"]}/entries")
53
55
 
54
56
  entry = false
@@ -66,7 +68,7 @@ module FastlyCTL
66
68
  say("IP #{ip} removed from ACL #{name}.")
67
69
  when "list_ips"
68
70
  abort "Must specify name for ACL" unless name
69
- acl = FastlyCTL::Fetcher.api_request(:get, "/service/#{id}/version/#{version}/acl/#{name}")
71
+ acl = FastlyCTL::Fetcher.api_request(:get, "/service/#{id}/version/#{version}/acl/#{encoded_name}")
70
72
  entries = FastlyCTL::Fetcher.api_request(:get, "/service/#{id}/acl/#{acl["id"]}/entries")
71
73
 
72
74
  say("No items in ACL.") unless entries.length > 0
@@ -76,7 +78,7 @@ module FastlyCTL
76
78
  when "bulk_add"
77
79
  abort "Must specify name for ACL" unless name
78
80
  abort "Must specify JSON blob of operations in ip field. Documentation on this can be found here: https://docs.fastly.com/api/config#acl_entry_c352ca5aee49b7898535cce488e3ba82" unless ip
79
- acl = FastlyCTL::Fetcher.api_request(:get, "/service/#{id}/version/#{version}/acl/#{name}")
81
+ acl = FastlyCTL::Fetcher.api_request(:get, "/service/#{id}/version/#{version}/acl/#{encoded_name}")
80
82
  FastlyCTL::Fetcher.api_request(:patch, "/service/#{id}/acl/#{acl["id"]}/items", {body: ip, headers: {"Content-Type" => "application/json"}})
81
83
 
82
84
  say("Bulk add operation completed successfully.")
@@ -19,17 +19,19 @@ module FastlyCTL
19
19
  path += "/#{obj_name}" unless obj_type == "settings"
20
20
  obj = FastlyCTL::Fetcher.api_request(:get, path)
21
21
 
22
+ encoded_name = URI.escape(obj_name)
23
+
22
24
  if (obj_type == "settings")
23
25
  puts "Copying settings from #{id} version #{source_version} to #{target_id} version #{target_version}..."
24
26
  else
25
- existing_obj = FastlyCTL::Fetcher.api_request(:get, "/service/#{target_id}/version/#{target_version}/#{obj_type}/#{obj_name}",{
27
+ existing_obj = FastlyCTL::Fetcher.api_request(:get, "/service/#{target_id}/version/#{target_version}/#{obj_type}/#{encoded_name}",{
26
28
  expected_responses: [200,404]
27
29
  })
28
30
 
29
31
  if existing_obj.key?("name")
30
32
  abort unless yes?("A #{FastlyCTL::CloneUtils.unpluralize(obj_type)} named #{obj_name} already exists on #{target_id} version #{target_version}. Delete it and proceed?")
31
33
 
32
- FastlyCTL::Fetcher.api_request(:delete,"/service/#{target_id}/version/#{target_version}/#{obj_type}/#{obj_name}")
34
+ FastlyCTL::Fetcher.api_request(:delete,"/service/#{target_id}/version/#{target_version}/#{obj_type}/#{encoded_name}")
33
35
  end
34
36
 
35
37
  puts "Copying #{FastlyCTL::CloneUtils.unpluralize(obj_type)} #{obj_name} from #{id} version #{source_version} to #{target_id} version #{target_version}..."
@@ -18,6 +18,8 @@ module FastlyCTL
18
18
  version = FastlyCTL::Fetcher.get_writable_version(id) unless options[:version]
19
19
  version ||= options[:version]
20
20
 
21
+ encoded_name = URI.escape(name) if name
22
+
21
23
  case action
22
24
  when "create"
23
25
  abort "Must specify name for dictionary" unless name
@@ -26,7 +28,7 @@ module FastlyCTL
26
28
  say("Dictionary #{name} created.")
27
29
  when "delete"
28
30
  abort "Must specify name for dictionary" unless name
29
- FastlyCTL::Fetcher.api_request(:delete, "/service/#{id}/version/#{version}/dictionary/#{name}")
31
+ FastlyCTL::Fetcher.api_request(:delete, "/service/#{id}/version/#{version}/dictionary/#{encoded_name}")
30
32
 
31
33
  say("Dictionary #{name} deleted.")
32
34
  when "list"
@@ -40,20 +42,20 @@ module FastlyCTL
40
42
  when "upsert"
41
43
  abort "Must specify name for dictionary" unless name
42
44
  abort "Must specify key and value for dictionary item" unless (key && value)
43
- dict = FastlyCTL::Fetcher.api_request(:get, "/service/#{id}/version/#{version}/dictionary/#{name}")
45
+ dict = FastlyCTL::Fetcher.api_request(:get, "/service/#{id}/version/#{version}/dictionary/#{encoded_name}")
44
46
  FastlyCTL::Fetcher.api_request(:put, "/service/#{id}/dictionary/#{dict["id"]}/item/#{key}", params: { item_value: value })
45
47
 
46
48
  say("Dictionary item #{key} set to #{value}.")
47
49
  when "remove"
48
50
  abort "Must specify name for dictionary" unless name
49
51
  abort "Must specify key for dictionary item" unless key
50
- dict = FastlyCTL::Fetcher.api_request(:get, "/service/#{id}/version/#{version}/dictionary/#{name}")
52
+ dict = FastlyCTL::Fetcher.api_request(:get, "/service/#{id}/version/#{version}/dictionary/#{encoded_name}")
51
53
  FastlyCTL::Fetcher.api_request(:delete, "/service/#{id}/dictionary/#{dict["id"]}/item/#{key}")
52
54
 
53
55
  say("Item #{key} removed from dictionary #{name}.")
54
56
  when "list_items"
55
57
  abort "Must specify name for dictionary" unless name
56
- dict = FastlyCTL::Fetcher.api_request(:get, "/service/#{id}/version/#{version}/dictionary/#{name}")
58
+ dict = FastlyCTL::Fetcher.api_request(:get, "/service/#{id}/version/#{version}/dictionary/#{encoded_name}")
57
59
  resp = FastlyCTL::Fetcher.api_request(:get, "/service/#{id}/dictionary/#{dict["id"]}/items")
58
60
 
59
61
  say("No items in dictionary.") unless resp.length > 0
@@ -63,7 +65,7 @@ module FastlyCTL
63
65
  when "bulk_add"
64
66
  abort "Must specify name for dictionary" unless name
65
67
  abort "Must specify JSON blob of operations in key field. Documentation on this can be found here: https://docs.fastly.com/api/config#dictionary_item_dc826ce1255a7c42bc48eb204eed8f7f" unless key
66
- dict = FastlyCTL::Fetcher.api_request(:get, "/service/#{id}/version/#{version}/dictionary/#{name}")
68
+ dict = FastlyCTL::Fetcher.api_request(:get, "/service/#{id}/version/#{version}/dictionary/#{encoded_name}")
67
69
  FastlyCTL::Fetcher.api_request(:patch, "/service/#{id}/dictionary/#{dict["id"]}/items", {body: key, headers: {"Content-Type" => "application/json"}})
68
70
 
69
71
  say("Bulk add operation completed successfully.")
@@ -14,6 +14,8 @@ module FastlyCTL
14
14
  version = FastlyCTL::Fetcher.get_writable_version(id) unless options[:version]
15
15
  version ||= options[:version].to_i
16
16
 
17
+ encoded_name = URI.escape(name) if name
18
+
17
19
  filename = "#{name}.snippet"
18
20
 
19
21
  case action
@@ -82,7 +84,7 @@ module FastlyCTL
82
84
  when "delete"
83
85
  abort "Must supply a snippet name as second parameter" unless name
84
86
 
85
- FastlyCTL::Fetcher.api_request(:delete,"/service/#{id}/version/#{version}/snippet/#{name}")
87
+ FastlyCTL::Fetcher.api_request(:delete,"/service/#{id}/version/#{version}/snippet/#{encoded_name}")
86
88
  say("#{name} deleted on #{id} version #{version}")
87
89
 
88
90
  return unless File.exists?(filename)
@@ -1,3 +1,3 @@
1
1
  module FastlyCTL
2
- VERSION = "1.0.1"
2
+ VERSION = "1.0.2"
3
3
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: fastlyctl
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.0.1
4
+ version: 1.0.2
5
5
  platform: ruby
6
6
  authors:
7
7
  - Stephen Basile
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2019-04-10 00:00:00.000000000 Z
11
+ date: 2019-04-19 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bundler