fastly 1.00 → 1.1.0

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
- ---
2
- SHA512:
3
- data.tar.gz: 173bc2e9d43fbf193a73830700cbd0909e8999a204605330cfbfb9b8d773aacde089c9902f98ddedaad8166d8d412e2475c44bc784e7d0884a61b6c8599d7fd2
4
- metadata.gz: 68c1f14d18fd3894e3c15864509db3984f57a4dde8a9b804ffe20b24df981d3512eb4f7446042971d677d138017ec1a092fe022bc2036c89ee8a90c24af84bc9
5
- SHA1:
6
- data.tar.gz: 3090d1395750ed869ebd3cc8947d38c688f99217
7
- metadata.gz: 43141d3014baaca138f007d90e1de1411e80bf2a
1
+ ---
2
+ SHA1:
3
+ metadata.gz: 32433fc4e1827f9659e820237e1169cd7daac028
4
+ data.tar.gz: 10af32d40745105a372f0701d8dbe248d679ec8c
5
+ SHA512:
6
+ metadata.gz: 9d9206b598514df93cb6ea04802fbe25cfeff699037d37881655323a893757c357695356fed7c45f162844acd3757f92c7d4f41c822112aa64ff7aa88edd2696
7
+ data.tar.gz: 26ec2fb0e1fb0ee4633f09a3e4203dc342b2c235c474f637d8f13ed620a48e9c5ae180bff79b9de4bfb7b26e0e2f97354205d117a1b5170efb0ffc55a183709f
data/.gitignore CHANGED
@@ -4,3 +4,4 @@ Gemfile.lock
4
4
  pkg/*
5
5
  run_test.sh
6
6
  doc/*
7
+ .*.sw?
@@ -0,0 +1,6 @@
1
+ language: ruby
2
+ rvm:
3
+ - "1.9.2"
4
+ - "1.9.3"
5
+ - jruby-19mode # JRuby in 1.9 mode
6
+ - rbx-19mode
data/Changes CHANGED
@@ -1,3 +1,17 @@
1
+ 2013-11-26 v1.02
2
+
3
+ Fix rdoc dependency and quorum spelling (Kristoffer Renholm)
4
+
5
+ 2013-10-03 v1.01
6
+
7
+ Add historical stats functionality
8
+ Fix settings
9
+ Add conditions
10
+ Add in auto_loadbalancing for backends
11
+ Fix some doc stuff (Sam Sharpe)
12
+ Reorganize library (Eric Saxby & Paul Henry)
13
+ Fix purge_all, purge_by_key and details (Kazuki Ohta)
14
+
1
15
  2013-07-16 v1.00
2
16
 
3
17
  Fix delete VCL (thanks Andrian Jardan)
data/LICENSE ADDED
@@ -0,0 +1,20 @@
1
+ The MIT License (MIT)
2
+
3
+ Copyright (c) 2012-2014 Fastly, Inc.
4
+
5
+ Permission is hereby granted, free of charge, to any person obtaining a copy of
6
+ this software and associated documentation files (the "Software"), to deal in
7
+ the Software without restriction, including without limitation the rights to
8
+ use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of
9
+ the Software, and to permit persons to whom the Software is furnished to do so,
10
+ subject to the following conditions:
11
+
12
+ The above copyright notice and this permission notice shall be included in all
13
+ copies or substantial portions of the Software.
14
+
15
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS
17
+ FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR
18
+ COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER
19
+ IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
20
+ CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
data/README.md CHANGED
@@ -1,65 +1,98 @@
1
- Fastly - client library for interacting with the Fastly web acceleration service
2
-
3
- # Example
4
-
5
- fastly = Fastly.new(login_opts)
6
-
7
- current_user = fastly.current_user
8
- current_customer = fastly.current_customer
9
-
10
- user = fastly.get_user(current_user.id)
11
- customer = fastly.get_customer(current_customer.id)
12
-
13
- puts "Name: #{user.name}"
14
- puts "Works for #{user.customer.name}"
15
- puts "Which is the same as #{customer.name}"
16
- puts "Which has the owner #{customer.owner.name}"
17
-
18
- # Let's see which services we have defined
19
- fastly.list_services.each do |service|
20
- puts "Service ID: #{service.id}"
21
- puts "Service Name: #{service.name}"
22
- puts "Service Versions:"
23
- service.versions.each do |version|
24
- puts "\t#{version.number}"
25
- end
26
- end
27
-
28
- service = fastly.create_service(:name => "MyFirstService")
29
- latest_version = service.version
30
-
31
- # Create a domain and a backend for the service ...
32
- domain = fastly.create_domain(:service_id => service.id, :version => latest_version.number, :name => "www.example.com")
33
- backend = fastly.create_backend(:service_id => service.id, :version => latest_version.number, :name => "Backend 1", :ipv4 => "192.0.43.10", :port => 80)
34
-
35
- # ... and activate it. You're now hosted on Fastly.
36
- latest_version.activate
37
-
38
- # Let's take a peek at the VCL that Fastly generated for us
39
- vcl = latest_version.generated_vcl
40
- puts "Generated VCL file is:\n#{vcl.content}"
41
-
42
- # Now let's create a new version ...
43
- new_version = latest_version.clone
44
- # ... add a new backend ...
45
- new_backend = fastly.create_backend(:service_id => service.id, :version => new_version.number, :name => "Backend 2", :ipv4 => "74.125.224.136", :port => 8080)
46
- # ... add a director to switch between them
47
- director = fastly.create_director(:service_id => service.id, :version => new_version.number, :name => "My Director")
48
- director.add_backend(backend)
49
- director.add_backend(new_backend)
50
- # ... and upload some custom vcl (presuming we have permissions)
51
- new_version.upload_vcl(vcl_name, File.read(vcl_file))
52
-
53
- new_version.activate
54
-
55
- # Copyright
56
-
57
- Copyright 2011 - Fastly Inc
1
+ # Fastly
2
+
3
+ Client library for interacting with the Fastly web acceleration service [API](http://docs.fastly.com/api)
4
+
5
+ ## Example
6
+
7
+ ```ruby
8
+ fastly = Fastly.new(login_opts)
9
+
10
+ current_user = fastly.current_user
11
+ current_customer = fastly.current_customer
12
+
13
+ user = fastly.get_user(current_user.id)
14
+ customer = fastly.get_customer(current_customer.id)
15
+
16
+ puts "Name: #{user.name}"
17
+ puts "Works for #{user.customer.name}"
18
+ puts "Which is the same as #{customer.name}"
19
+ puts "Which has the owner #{customer.owner.name}"
20
+
21
+ # Let's see which services we have defined
22
+ fastly.list_services.each do |service|
23
+ puts "Service ID: #{service.id}"
24
+ puts "Service Name: #{service.name}"
25
+ puts "Service Versions:"
26
+ service.versions.each do |version|
27
+ puts "\t#{version.number}"
28
+ end
29
+ end
30
+
31
+ service = fastly.create_service(:name => "MyFirstService")
32
+ latest_version = service.version
33
+
34
+ # Create a domain and a backend for the service ...
35
+ domain = fastly.create_domain(:service_id => service.id, :version => latest_version.number, :name => "www.example.com")
36
+ backend = fastly.create_backend(:service_id => service.id, :version => latest_version.number, :name => "Backend 1", :ipv4 => "192.0.43.10", :port => 80)
37
+
38
+ # ... and activate it. You're now hosted on Fastly.
39
+ latest_version.activate!
40
+
41
+ # Let's take a peek at the VCL that Fastly generated for us
42
+ vcl = latest_version.generated_vcl
43
+ puts "Generated VCL file is:\n#{vcl.content}"
44
+
45
+ # Now let's create a new version ...
46
+ new_version = latest_version.clone
47
+ # ... add a new backend ...
48
+ new_backend = fastly.create_backend(:service_id => service.id, :version => new_version.number, :name => "Backend 2", :ipv4 => "74.125.224.136", :port => 8080)
49
+ # ... add a director to switch between them
50
+ director = fastly.create_director(:service_id => service.id, :version => new_version.number, :name => "My Director")
51
+ director.add_backend(backend)
52
+ director.add_backend(new_backend)
53
+ # ... and upload some custom vcl (presuming we have permissions)
54
+ new_version.upload_vcl(vcl_name, File.read(vcl_file))
55
+ # ... and set it as the service's main vcl
56
+ fastly.client.put("/service/#{service.id}/version/#{new_version.number}/vcl/#{vcl_name}/main")
57
+
58
+ new_version.activate!
59
+ ```
60
+
61
+ ## Contributing
62
+
63
+ 1. Fork it
64
+ 2. Create your feature branch (`git checkout -b my-new-feature`)
65
+ 3. Commit your changes (`git commit -am 'Added some feature'`)
66
+ 4. Push to the branch (`git push origin my-new-feature`)
67
+ 5. Create new Pull Request
68
+
69
+ ### Notes for testing
70
+
71
+ The test suite requires the following `ENV` variables to be set:
72
+
73
+ * `FASTLY_TEST_USER` - Your user email
74
+ * `FASTLY_TEST_NAME` - Your name on your account (ie "John Smith")
75
+ * `FASTLY_TEST_PASSWORD` - Your account password
76
+ * `FASTLY_TEST_CUSTOMER` - Your customer or company name (ie. "Fastly" or "Acme, Inc.")
77
+ * `FASTLY_TEST_API_KEY` - Your API key (found at https://app.fastly.com/#account)
78
+
79
+ While the test suite is safe to be run on all accounts and isn't harmful to your
80
+ data, the tests will create and delete 3 services in sequence so you may want
81
+ to create an account just for tests.
82
+
83
+ ## Copyright
84
+
85
+ Copyright 2011-2014 - Fastly Inc
86
+
87
+ ## Redistribution
88
+
89
+ MIT license, see LICENSE.
90
+
91
+ ## Contact
58
92
 
59
93
  Mail support at fastly dot com if you have problems.
60
-
61
- # Developers
62
94
 
63
- http://github.com/fastly/fastly-ruby
95
+ ## Developers
64
96
 
65
- http://www.fastly.com/documentation
97
+ * http://github.com/fastly/fastly-ruby
98
+ * http://www.fastly.com/documentation
data/Rakefile CHANGED
@@ -1 +1,10 @@
1
1
  require 'bundler/gem_tasks'
2
+ require 'rake/testtask'
3
+
4
+ task :default => :test
5
+
6
+ Rake::TestTask.new do |t|
7
+ t.libs << "test"
8
+ t.test_files = FileList['test/*test.rb']
9
+ t.verbose = true
10
+ end
@@ -1,6 +1,6 @@
1
1
  # -*- encoding: utf-8 -*-
2
2
  $:.push File.expand_path("../lib", __FILE__)
3
- require "fastly"
3
+ require 'fastly/gem_version'
4
4
 
5
5
  Gem::Specification.new do |s|
6
6
  s.name = "fastly"
@@ -10,14 +10,16 @@ Gem::Specification.new do |s|
10
10
  s.homepage = "http://github.com/fastly/fastly-ruby"
11
11
  s.summary = %q{Client library for the Fastly acceleration system}
12
12
  s.description = %q{Client library for the Fastly acceleration system}
13
+ s.license = 'MIT'
13
14
 
14
15
  s.files = `git ls-files`.split("\n")
15
16
  s.test_files = `git ls-files -- {test,spec,features}/*`.split("\n")
16
17
  s.executables = `git ls-files -- bin/*`.split("\n").map{ |f| File.basename(f) }
17
18
  s.require_paths = ["lib"]
18
-
19
+
20
+ s.add_dependency 'rake'
19
21
  s.add_dependency 'json'
20
22
  s.add_dependency 'curb', '>=0.7.15'
21
23
  s.add_dependency 'curb-fu', '>=0.6.1'
22
- s.add_dependency 'rdoc', '>=3.11'
24
+ s.add_development_dependency 'rdoc', '>=3.4'
23
25
  end
@@ -4,25 +4,31 @@
4
4
 
5
5
  # A client library for interacting with the Fastly web acceleration service
6
6
  class Fastly
7
- # The current version of the library
8
- VERSION = "1.00"
9
-
7
+ require 'fastly/gem_version'
8
+ require 'fastly/string'
10
9
  require 'fastly/fetcher'
11
10
  require 'fastly/client'
12
11
 
13
12
  require 'fastly/base'
14
13
  require 'fastly/belongs_to_service_and_version'
15
14
  require 'fastly/backend'
15
+ require 'fastly/cache_setting'
16
+ require 'fastly/condition'
16
17
  require 'fastly/customer'
17
18
  require 'fastly/director'
18
19
  require 'fastly/domain'
20
+ require 'fastly/header'
19
21
  require 'fastly/healthcheck'
22
+ require 'fastly/gzip'
20
23
  require 'fastly/invoice'
21
24
  require 'fastly/match'
22
25
  require 'fastly/origin'
26
+ require 'fastly/request_setting'
27
+ require 'fastly/response_object'
23
28
  require 'fastly/service'
24
29
  require 'fastly/settings'
25
30
  require 'fastly/syslog'
31
+ require 'fastly/s3_logging'
26
32
  require 'fastly/user'
27
33
  require 'fastly/vcl'
28
34
  require 'fastly/version'
@@ -89,9 +95,67 @@ class Fastly
89
95
  #res = client.post("/purge/", :path => path)
90
96
  end
91
97
 
98
+ # Fetches historical stats for each of your fastly services and groups the results by service id.
99
+ #
100
+ # If you pass in a :field opt then fetches only the specified field.
101
+ # If you pass in a :service opt then fetches only the specified service.
102
+ # The :field and :service opts can be combined.
103
+ #
104
+ # If you pass in an :aggregate flag then fetches historical stats information aggregated across all of your Fastly services. This cannot be combined with :field and :service.
105
+ #
106
+ # Other options available are:
107
+ #
108
+ # from:: earliest time from which to fetch historical statistics
109
+ # to:: latest time from which to fetch historical statistics
110
+ # by:: the sampling rate used to produce the result set (minute, hour, day)
111
+ # region:: restrict query to a particular region
112
+ #
113
+ # See http://docs.fastly.com/docs/stats for details.
114
+ def stats(opts)
115
+ raise Fastly::Error.new("You can't specify a field or a service for an aggregate request") if opts[:aggregate] && (opts[:field] || opts[:service])
116
+
117
+ url = "/stats"
118
+
119
+ if opts.delete(:aggregate)
120
+ url += "/aggregate"
121
+ end
122
+
123
+ if service = opts.delete(:service)
124
+ url += "/service/#{service}"
125
+ end
126
+
127
+ if field = opts.delete(:field)
128
+ url += "/field/#{field}"
129
+ end
130
+
131
+ client.get_stats(url, opts);
132
+ end
133
+
134
+ # Returns usage information aggregated across all Fastly services and grouped by region.
135
+ #
136
+ # If the :by_service flag is passed then teturns usage information aggregated by service and grouped by service & region.
137
+ #
138
+ # Other options available are:
139
+ #
140
+ # from:: earliest time from which to fetch historical statistics
141
+ # to:: latest time from which to fetch historical statistics
142
+ # by:: the sampling rate used to produce the result set (minute, hour, day)
143
+ # region:: restrict query to a particular region
144
+ #
145
+ # See http://docs.fastly.com/docs/stats for details.
146
+ def usage(opts)
147
+ url = "/stats/usage";
148
+ url += "_by_service" if opts.delete(:by_service)
149
+ client.get_stats(url, opts)
150
+ end
151
+
152
+ # Fetches the list of codes for regions that are covered by the Fastly CDN service.
153
+ def regions
154
+ client.get_stats("/stats/regions")
155
+ end
92
156
 
93
- [User, Customer, Backend, Director, Domain, Healthcheck, Match, Origin, Service, Syslog, VCL, Version].each do |klass|
94
- type = klass.to_s.downcase.split("::")[-1]
157
+ [User, Customer, Backend, CacheSetting, Condition, Director, Domain, Header, Healthcheck, Gzip, Match, Origin, RequestSetting, ResponseObject, Service, S3Logging, Syslog, VCL, Version].each do |klass|
158
+ type = klass.to_s.split("::")[-1].underscore
95
159
  # unless the class doesn't have a list path or it already exists
96
160
  unless klass.list_path.nil? || klass.respond_to?("list_#{type}s".to_sym)
97
161
  self.send :define_method, "list_#{type}s".to_sym do |*args|
@@ -144,6 +208,10 @@ class Fastly
144
208
  # :method: create_healthcheck(opts)
145
209
  # opts must contain service_id, version and name params
146
210
 
211
+ ##
212
+ # :method: create_s3_logging(opts)
213
+ # opts must contain service_id, version and name params
214
+
147
215
  ##
148
216
  # :method: create_syslog(opts)
149
217
  # opts must contain service_id, version and name params
@@ -151,6 +219,30 @@ class Fastly
151
219
  ##
152
220
  # :method: create_vcl(opts)
153
221
  # opts must contain service_id, version and name params
222
+
223
+ ##
224
+ # :method: create_condition(opts)
225
+ # opts must contain service_id, version and name params
226
+
227
+ ##
228
+ # :method: create_cache_setting(opts)
229
+ # opts must contain service_id, version and name params
230
+
231
+ ##
232
+ # :method: create_header(opts)
233
+ # opts must contain service_id, version and name params
234
+
235
+ ##
236
+ # :method: create_gzip(opts)
237
+ # opts must contain service_id, version and name params
238
+
239
+ ##
240
+ # :method: create_request_setting(opts)
241
+ # opts must contain service_id, version and name params
242
+
243
+ ##
244
+ # :method: create_response_object(opts)
245
+ # opts must contain service_id, version and name params
154
246
 
155
247
  ##
156
248
  # :method: get_user(id)
@@ -191,6 +283,10 @@ class Fastly
191
283
  ##
192
284
  # :method: get_origin(service_id, number, name)
193
285
  # Get an Origin
286
+
287
+ ##
288
+ # :method: get_s3_logging(service_id, number, name)
289
+ # Get a S3 logging
194
290
 
195
291
  ##
196
292
  # :method: get_syslog(service_id, number, name)
@@ -208,6 +304,30 @@ class Fastly
208
304
  # :method: get_settings(service_id, number, name)
209
305
  # Get a Settings
210
306
 
307
+ ##
308
+ # :method: get_condition(service_id, number, name)
309
+ # Get a Condition
310
+
311
+ ##
312
+ # :method: get_cache_setting(service_id, number, name)
313
+ # Get a Cache Setting
314
+
315
+ ##
316
+ # :method: get_gzip(service_id, number, name)
317
+ # Get a Gzip
318
+
319
+ ##
320
+ # :method: get_header(service_id, number, name)
321
+ # Get a Header
322
+
323
+ ##
324
+ # :method: get_request_setting(service_id, number, name)
325
+ # Get a Request Setting
326
+
327
+ ##
328
+ # :method: get_response_object(service_id, number, name)
329
+ # Get a Response Object
330
+
211
331
  ##
212
332
  # :method: update_user(user)
213
333
  # You can also call
@@ -263,6 +383,11 @@ class Fastly
263
383
  # You can also call
264
384
  # settings.save!
265
385
 
386
+ ##
387
+ # :method: update_s3_logging(s3_logging)
388
+ # You can also call
389
+ # s3_logging.save!
390
+
266
391
  ##
267
392
  # :method: update_syslog(syslog)
268
393
  # You can also call
@@ -273,6 +398,36 @@ class Fastly
273
398
  # You can also call
274
399
  # vcl.save!
275
400
 
401
+ ##
402
+ # :method: update_cache_setting(cache_setting)
403
+ # You can also call
404
+ # cache_setting.save!
405
+
406
+ ##
407
+ # :method: update_header(header)
408
+ # You can also call
409
+ # header.save!
410
+
411
+ ##
412
+ # :method: update_gzip(gzip)
413
+ # You can also call
414
+ # gzip.save!
415
+
416
+ ##
417
+ # :method: update_request_setting(request_setting)
418
+ # You can also call
419
+ # request_setting.save!
420
+
421
+ ##
422
+ # :method: update_response_object(response_object)
423
+ # You can also call
424
+ # response_object.save!
425
+
426
+ ##
427
+ # :method: update_condition(condition)
428
+ # You can also call
429
+ # condition.save!
430
+
276
431
  ##
277
432
  # :method: update_version(version)
278
433
  # You can also call
@@ -334,6 +489,11 @@ class Fastly
334
489
  # You can also call
335
490
  # origin.delete!
336
491
 
492
+ ##
493
+ # :method: delete_s3_logging(s3_logging)
494
+ # You can also call
495
+ # s3_logging.delete!
496
+
337
497
  ##
338
498
  # :method: delete_syslog(syslog)
339
499
  # You can also call
@@ -345,60 +505,114 @@ class Fastly
345
505
  # You can also call
346
506
  # vcl.delete!
347
507
 
508
+ ##
509
+ # :method: delete_cache_setting(cache_setting)
510
+ # You can also call
511
+ # cache_setting.delete!
512
+
513
+ ##
514
+ # :method: delete_header(header)
515
+ # You can also call
516
+ # header.delete!
517
+
518
+ ##
519
+ # :method: delete_gzip(gzip)
520
+ # You can also call
521
+ # gzip.delete!
522
+
523
+ ##
524
+ # :method: delete_request_setting(request_setting)
525
+ # You can also call
526
+ # request_setting.delete!
527
+
528
+ ##
529
+ # :method: delete_response_object(response_object)
530
+ # You can also call
531
+ # response_object.delete!
532
+
533
+ ##
534
+ # :method: delete_condition(condition)
535
+ # You can also call
536
+ # condition.delete!
537
+
348
538
  ##
349
539
  # :method: delete_version(version)
350
540
  # You can also call
351
541
  # version.delete!
352
542
 
353
- # :method: list_users
543
+ # :method: list_users(:service_id => service.id, :version => version.number)
354
544
  #
355
545
  # Get a list of all users
356
546
 
357
- # :method: list_customers
547
+ # :method: list_customers(:service_id => service.id, :version => version.number)
358
548
  #
359
549
  # Get a list of all customers
360
550
 
361
- # :method: list_versions
551
+ # :method: list_versions(:service_id => service.id, :version => version.number)
362
552
  #
363
553
  # Get a list of all versions
364
554
 
365
- # :method: list_services
555
+ # :method: list_services(:service_id => service.id, :version => version.number)
366
556
  #
367
557
  # Get a list of all services
368
558
 
369
- # :method: list_backends
559
+ # :method: list_backends(:service_id => service.id, :version => version.number)
370
560
  #
371
561
  # Get a list of all backends
372
562
 
373
- # :method: list_directors
563
+ # :method: list_directors(:service_id => service.id, :version => version.number)
374
564
  #
375
565
  # Get a list of all directors
376
566
 
377
- # :method: list_domains
567
+ # :method: list_domains(:service_id => service.id, :version => version.number)
378
568
  #
379
569
  # Get a list of all domains
380
570
 
381
- # :method: list_healthchecks
571
+ # :method: list_healthchecks(:service_id => service.id, :version => version.number)
382
572
  #
383
573
  # Get a list of all healthchecks
384
574
 
385
- # :method: list_matchs
575
+ # :method: list_matchs(:service_id => service.id, :version => version.number)
386
576
  #
387
577
  # Get a list of all matches
388
578
 
389
- # :method: list_origins
579
+ # :method: list_origins(:service_id => service.id, :version => version.number)
390
580
  #
391
581
  # Get a list of all origins
392
582
 
393
- # :method: list_syslogs
583
+ # :method: list_syslogs(:service_id => service.id, :version => version.number)
394
584
  #
395
585
  # Get a list of all syslogs
396
586
 
397
- # :method: list_vcls
587
+ # :method: list_vcls(:service_id => service.id, :version => version.number)
398
588
  #
399
589
  # Get a list of all vcls
590
+
591
+ # :method: list_conditions(:service_id => service.id, :version => version.number)
592
+ #
593
+ # Get a list of all conditions
594
+
595
+ # :method: list_cache_settings(:service_id => service.id, :version => version.number)
596
+ #
597
+ # Get a list of all cache settings
400
598
 
401
- # :method: list_versions
599
+ # :method: list_headers(:service_id => service.id, :version => version.number)
600
+ #
601
+ # Get a list of all headers
602
+
603
+ # :method: list_gzips(:service_id => service.id, :version => version.number)
604
+ #
605
+ # Get a list of all gzips
606
+
607
+ # :method: list_request_settings(:service_id => service.id, :version => version.number)
608
+ #
609
+ # Get a list of all request_settings
610
+
611
+ # :method: list_response_objects(:service_id => service.id, :version => version.number)
612
+ #
613
+ # Get a list of all response_objects
614
+
615
+ # :method: list_versions(:service_id => service.id, :version => version.number)
402
616
  #
403
617
  # Get a list of all versions
404
618
 
@@ -456,3 +670,4 @@ class Fastly
456
670
  options;
457
671
  end
458
672
  end
673
+