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:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 5ab49669dc42a806c9f2dcb070abaaaa2caf3ab3971d98137272297079ceae79
|
4
|
+
data.tar.gz: 956dd730b5d2fc1458e862d9470d37a2e967d0d0673dad7db88043ccc9294873
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
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/#{
|
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/#{
|
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/#{
|
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/#{
|
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/#{
|
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}/#{
|
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}/#{
|
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/#{
|
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/#{
|
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/#{
|
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/#{
|
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/#{
|
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/#{
|
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)
|
data/lib/fastlyctl/version.rb
CHANGED
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.
|
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-
|
11
|
+
date: 2019-04-19 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: bundler
|