fastlyctl 1.0.1 → 1.0.2

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 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