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