dogapi 1.5.2 → 1.6.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.
@@ -1,10 +1,14 @@
1
- = Ruby client for Datadog API v1.5.2
1
+ = Ruby client for Datadog API v1.6.0
2
2
 
3
3
  The Ruby client is a library suitable for inclusion in existing Ruby projects or for development of standalone scripts. It provides an abstraction on top of Datadog's raw HTTP interface for reporting events and metrics.
4
4
 
5
5
  = What's new?
6
6
 
7
- == v1.5.1
7
+ == v1.6.0
8
+
9
+ * Support for setting `source` type when submitting host tags
10
+
11
+ == v1.5.2
8
12
  * Fix a bug in hashing the Event object when the instance variables are symbols.
9
13
 
10
14
  == v1.5.0
@@ -170,15 +170,15 @@ module Dogapi
170
170
  #
171
171
 
172
172
  # Get all tags and their associated hosts at your org
173
- def all_tags()
174
- @tag_svc.get_all()
173
+ def all_tags(source=nil)
174
+ @tag_svc.get_all(source)
175
175
  end
176
176
 
177
177
  # Get all tags for the given host
178
178
  #
179
179
  # +host_id+ can be the host's numeric id or string name
180
- def host_tags(host_id)
181
- @tag_svc.get(host_id)
180
+ def host_tags(host_id, source=nil, by_source=false)
181
+ @tag_svc.get(host_id, source, by_source)
182
182
  end
183
183
 
184
184
  # Add the tags to the given host
@@ -186,8 +186,8 @@ module Dogapi
186
186
  # +host_id+ can be the host's numeric id or string name
187
187
  #
188
188
  # +tags+ is and Array of Strings
189
- def add_tags(host_id, tags)
190
- @tag_svc.add(host_id, tags)
189
+ def add_tags(host_id, tags, source=nil)
190
+ @tag_svc.add(host_id, tags, source)
191
191
  end
192
192
 
193
193
  # Replace the tags on the given host
@@ -195,8 +195,8 @@ module Dogapi
195
195
  # +host_id+ can be the host's numeric id or string name
196
196
  #
197
197
  # +tags+ is and Array of Strings
198
- def update_tags(host_id, tags)
199
- @tag_svc.update(host_id, tags)
198
+ def update_tags(host_id, tags, source=nil)
199
+ @tag_svc.update(host_id, tags, source)
200
200
  end
201
201
 
202
202
  # <b>DEPRECATED:</b> Spelling mistake temporarily preserved as an alias.
@@ -208,8 +208,8 @@ module Dogapi
208
208
  # Remove all tags from the given host
209
209
  #
210
210
  # +host_id+ can be the host's numeric id or string name
211
- def detach_tags(host_id)
212
- @tag_svc.detach(host_id)
211
+ def detach_tags(host_id, source=nil)
212
+ @tag_svc.detach(host_id, source)
213
213
  end
214
214
 
215
215
  #
@@ -9,12 +9,15 @@ module Dogapi
9
9
  API_VERSION = "v1"
10
10
 
11
11
  # Gets all tags in your org and the hosts tagged with them
12
- def get_all()
12
+ def get_all(source=nil)
13
13
  begin
14
14
  params = {
15
15
  :api_key => @api_key,
16
16
  :application_key => @application_key
17
17
  }
18
+ if source
19
+ params['source'] = source
20
+ end
18
21
 
19
22
  request(Net::HTTP::Get, '/api/' + API_VERSION + '/tags/hosts', params, nil, false)
20
23
  rescue Exception => e
@@ -28,12 +31,18 @@ module Dogapi
28
31
  end
29
32
 
30
33
  # Gets all tags for a given host
31
- def get(host_id)
34
+ def get(host_id, source=nil, by_source=false)
32
35
  begin
33
36
  params = {
34
37
  :api_key => @api_key,
35
38
  :application_key => @application_key
36
39
  }
40
+ if source
41
+ params['source'] = source
42
+ end
43
+ if by_source
44
+ params['by_source'] = 'true'
45
+ end
37
46
 
38
47
  request(Net::HTTP::Get, '/api/' + API_VERSION + '/tags/hosts/' + host_id.to_s, params, nil, false)
39
48
  rescue Exception => e
@@ -47,12 +56,15 @@ module Dogapi
47
56
  end
48
57
 
49
58
  # Adds a list of tags to a host
50
- def add(host_id, tags)
59
+ def add(host_id, tags, source=nil)
51
60
  begin
52
61
  params = {
53
62
  :api_key => @api_key,
54
63
  :application_key => @application_key
55
64
  }
65
+ if source
66
+ params['source'] = source
67
+ end
56
68
 
57
69
  body = {
58
70
  :tags => tags
@@ -70,12 +82,15 @@ module Dogapi
70
82
  end
71
83
 
72
84
  # Remove all tags from a host and replace them with a new list
73
- def update(host_id, tags)
85
+ def update(host_id, tags, source=nil)
74
86
  begin
75
87
  params = {
76
88
  :api_key => @api_key,
77
89
  :application_key => @application_key
78
90
  }
91
+ if source
92
+ params['source'] = source
93
+ end
79
94
 
80
95
  body = {
81
96
  :tags => tags
@@ -99,12 +114,15 @@ module Dogapi
99
114
  end
100
115
 
101
116
  # Remove all tags from a host
102
- def detach(host_id)
117
+ def detach(host_id, source=nil)
103
118
  begin
104
119
  params = {
105
120
  :api_key => @api_key,
106
121
  :application_key => @application_key
107
122
  }
123
+ if source
124
+ params['source'] = source
125
+ end
108
126
 
109
127
  request(Net::HTTP::Delete, '/api/' + API_VERSION + '/tags/hosts/' + host_id.to_s, params, nil, false)
110
128
  rescue Exception => e
metadata CHANGED
@@ -1,47 +1,53 @@
1
- --- !ruby/object:Gem::Specification
1
+ --- !ruby/object:Gem::Specification
2
2
  name: dogapi
3
- version: !ruby/object:Gem::Version
4
- version: 1.5.2
5
- prerelease:
3
+ version: !ruby/object:Gem::Version
4
+ prerelease: false
5
+ segments:
6
+ - 1
7
+ - 6
8
+ - 0
9
+ segments_generated: true
10
+ version: 1.6.0
6
11
  platform: ruby
7
- authors:
12
+ authors:
8
13
  - Datadog, Inc.
9
14
  autorequire:
10
15
  bindir: bin
11
16
  cert_chain: []
12
- date: 2013-02-13 00:00:00.000000000 Z
13
- dependencies:
14
- - !ruby/object:Gem::Dependency
15
- name: json
16
- requirement: !ruby/object:Gem::Requirement
17
- none: false
18
- requirements:
19
- - - ! '>='
20
- - !ruby/object:Gem::Version
21
- version: 1.5.1
17
+
18
+ date: 2013-02-19 00:00:00 -05:00
19
+ default_executable:
20
+ dependencies:
21
+ - !ruby/object:Gem::Dependency
22
22
  type: :runtime
23
- prerelease: false
24
- version_requirements: !ruby/object:Gem::Requirement
25
- none: false
26
- requirements:
27
- - - ! '>='
28
- - !ruby/object:Gem::Version
23
+ version_requirements: &id001 !ruby/object:Gem::Requirement
24
+ requirements:
25
+ - - ">="
26
+ - !ruby/object:Gem::Version
27
+ segments:
28
+ - 1
29
+ - 5
30
+ - 1
31
+ segments_generated: true
29
32
  version: 1.5.1
33
+ name: json
34
+ requirement: *id001
35
+ prerelease: false
30
36
  description:
31
37
  email: packages@datadoghq.com
32
38
  executables: []
39
+
33
40
  extensions: []
34
- extra_rdoc_files:
41
+
42
+ extra_rdoc_files:
35
43
  - README.rdoc
36
- files:
37
- - lib/capistrano/README.md
44
+ files:
38
45
  - lib/capistrano/datadog.rb
39
- - lib/dogapi.rb
46
+ - lib/capistrano/README.md
40
47
  - lib/dogapi/common.rb
41
48
  - lib/dogapi/event.rb
42
49
  - lib/dogapi/facade.rb
43
50
  - lib/dogapi/metric.rb
44
- - lib/dogapi/v1.rb
45
51
  - lib/dogapi/v1/alert.rb
46
52
  - lib/dogapi/v1/comment.rb
47
53
  - lib/dogapi/v1/dash.rb
@@ -49,6 +55,8 @@ files:
49
55
  - lib/dogapi/v1/metric.rb
50
56
  - lib/dogapi/v1/search.rb
51
57
  - lib/dogapi/v1/tag.rb
58
+ - lib/dogapi/v1.rb
59
+ - lib/dogapi.rb
52
60
  - tests/test_alerts.rb
53
61
  - tests/test_base.rb
54
62
  - tests/test_client.rb
@@ -56,36 +64,42 @@ files:
56
64
  - tests/test_dashes.rb
57
65
  - tests/test_search.rb
58
66
  - README.rdoc
67
+ has_rdoc: true
59
68
  homepage: http://datadoghq.com/
60
- licenses:
69
+ licenses:
61
70
  - BSD
62
71
  post_install_message:
63
- rdoc_options:
72
+ rdoc_options:
64
73
  - --title
65
74
  - DogAPI -- DataDog Client
66
75
  - --main
67
76
  - README.rdoc
68
77
  - --line-numbers
69
78
  - --inline-source
70
- require_paths:
79
+ require_paths:
71
80
  - lib
72
- required_ruby_version: !ruby/object:Gem::Requirement
73
- none: false
74
- requirements:
75
- - - ! '>='
76
- - !ruby/object:Gem::Version
77
- version: '0'
78
- required_rubygems_version: !ruby/object:Gem::Requirement
79
- none: false
80
- requirements:
81
- - - ! '>='
82
- - !ruby/object:Gem::Version
83
- version: '0'
81
+ required_ruby_version: !ruby/object:Gem::Requirement
82
+ requirements:
83
+ - - ">="
84
+ - !ruby/object:Gem::Version
85
+ segments:
86
+ - 0
87
+ segments_generated: true
88
+ version: "0"
89
+ required_rubygems_version: !ruby/object:Gem::Requirement
90
+ requirements:
91
+ - - ">="
92
+ - !ruby/object:Gem::Version
93
+ segments:
94
+ - 0
95
+ segments_generated: true
96
+ version: "0"
84
97
  requirements: []
98
+
85
99
  rubyforge_project:
86
- rubygems_version: 1.8.24
100
+ rubygems_version: 1.3.6
87
101
  signing_key:
88
102
  specification_version: 3
89
103
  summary: Ruby bindings for Datadog's API
90
- test_files:
104
+ test_files:
91
105
  - tests/test_client.rb