gcloud 0.11.0 → 0.12.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.
Files changed (121) hide show
  1. checksums.yaml +8 -8
  2. data/AUTHENTICATION.md +3 -3
  3. data/CHANGELOG.md +92 -0
  4. data/OVERVIEW.md +3 -3
  5. data/lib/gcloud.rb +75 -25
  6. data/lib/gcloud/backoff.rb +5 -1
  7. data/lib/gcloud/bigquery.rb +25 -43
  8. data/lib/gcloud/bigquery/copy_job.rb +13 -13
  9. data/lib/gcloud/bigquery/data.rb +20 -16
  10. data/lib/gcloud/bigquery/dataset.rb +202 -177
  11. data/lib/gcloud/bigquery/dataset/access.rb +118 -104
  12. data/lib/gcloud/bigquery/dataset/list.rb +14 -18
  13. data/lib/gcloud/bigquery/extract_job.rb +12 -12
  14. data/lib/gcloud/bigquery/insert_response.rb +12 -14
  15. data/lib/gcloud/bigquery/job.rb +45 -57
  16. data/lib/gcloud/bigquery/job/list.rb +18 -24
  17. data/lib/gcloud/bigquery/load_job.rb +35 -27
  18. data/lib/gcloud/bigquery/project.rb +53 -73
  19. data/lib/gcloud/bigquery/query_data.rb +28 -35
  20. data/lib/gcloud/bigquery/query_job.rb +18 -18
  21. data/lib/gcloud/bigquery/schema.rb +359 -0
  22. data/lib/gcloud/bigquery/service.rb +506 -0
  23. data/lib/gcloud/bigquery/table.rb +185 -266
  24. data/lib/gcloud/bigquery/table/list.rb +15 -19
  25. data/lib/gcloud/bigquery/view.rb +126 -81
  26. data/lib/gcloud/datastore.rb +39 -27
  27. data/lib/gcloud/datastore/commit.rb +2 -2
  28. data/lib/gcloud/datastore/dataset.rb +8 -19
  29. data/lib/gcloud/datastore/dataset/lookup_results.rb +2 -4
  30. data/lib/gcloud/datastore/dataset/query_results.rb +0 -2
  31. data/lib/gcloud/datastore/entity.rb +7 -1
  32. data/lib/gcloud/datastore/errors.rb +5 -27
  33. data/lib/gcloud/datastore/grpc_utils.rb +4 -3
  34. data/lib/gcloud/datastore/key.rb +6 -0
  35. data/lib/gcloud/datastore/service.rb +18 -12
  36. data/lib/gcloud/datastore/transaction.rb +0 -10
  37. data/lib/gcloud/dns.rb +29 -19
  38. data/lib/gcloud/dns/change.rb +10 -15
  39. data/lib/gcloud/dns/change/list.rb +4 -4
  40. data/lib/gcloud/dns/importer.rb +1 -1
  41. data/lib/gcloud/dns/project.rb +32 -49
  42. data/lib/gcloud/dns/record.rb +8 -2
  43. data/lib/gcloud/dns/record/list.rb +4 -4
  44. data/lib/gcloud/dns/service.rb +167 -0
  45. data/lib/gcloud/dns/zone.rb +33 -52
  46. data/lib/gcloud/dns/zone/list.rb +12 -16
  47. data/lib/gcloud/errors.rb +31 -19
  48. data/lib/gcloud/logging.rb +50 -39
  49. data/lib/gcloud/logging/entry.rb +197 -24
  50. data/lib/gcloud/logging/entry/list.rb +0 -2
  51. data/lib/gcloud/logging/logger.rb +1 -1
  52. data/lib/gcloud/logging/metric.rb +3 -9
  53. data/lib/gcloud/logging/metric/list.rb +0 -2
  54. data/lib/gcloud/logging/project.rb +58 -54
  55. data/lib/gcloud/logging/resource_descriptor.rb +2 -2
  56. data/lib/gcloud/logging/resource_descriptor/list.rb +0 -2
  57. data/lib/gcloud/logging/service.rb +32 -23
  58. data/lib/gcloud/logging/sink.rb +8 -14
  59. data/lib/gcloud/logging/sink/list.rb +0 -2
  60. data/lib/gcloud/pubsub.rb +21 -16
  61. data/lib/gcloud/pubsub/policy.rb +204 -0
  62. data/lib/gcloud/pubsub/project.rb +26 -38
  63. data/lib/gcloud/pubsub/service.rb +39 -31
  64. data/lib/gcloud/pubsub/subscription.rb +56 -59
  65. data/lib/gcloud/pubsub/subscription/list.rb +4 -4
  66. data/lib/gcloud/pubsub/topic.rb +69 -66
  67. data/lib/gcloud/pubsub/topic/list.rb +0 -2
  68. data/lib/gcloud/pubsub/topic/{batch.rb → publisher.rb} +15 -2
  69. data/lib/gcloud/resource_manager.rb +27 -26
  70. data/lib/gcloud/resource_manager/manager.rb +19 -39
  71. data/lib/gcloud/resource_manager/policy.rb +211 -0
  72. data/lib/gcloud/resource_manager/project.rb +97 -121
  73. data/lib/gcloud/resource_manager/project/list.rb +7 -7
  74. data/lib/gcloud/resource_manager/project/updater.rb +4 -9
  75. data/lib/gcloud/resource_manager/service.rb +127 -0
  76. data/lib/gcloud/storage.rb +24 -42
  77. data/lib/gcloud/storage/bucket.rb +104 -192
  78. data/lib/gcloud/storage/bucket/acl.rb +47 -143
  79. data/lib/gcloud/storage/bucket/cors.rb +55 -11
  80. data/lib/gcloud/storage/bucket/list.rb +14 -14
  81. data/lib/gcloud/storage/errors.rb +3 -43
  82. data/lib/gcloud/storage/file.rb +114 -111
  83. data/lib/gcloud/storage/file/acl.rb +27 -113
  84. data/lib/gcloud/storage/file/list.rb +21 -21
  85. data/lib/gcloud/storage/project.rb +49 -59
  86. data/lib/gcloud/storage/service.rb +347 -0
  87. data/lib/gcloud/translate.rb +24 -14
  88. data/lib/gcloud/translate/api.rb +12 -21
  89. data/lib/gcloud/translate/detection.rb +5 -5
  90. data/lib/gcloud/translate/language.rb +1 -1
  91. data/lib/gcloud/translate/service.rb +80 -0
  92. data/lib/gcloud/translate/translation.rb +6 -6
  93. data/lib/gcloud/version.rb +1 -1
  94. data/lib/gcloud/vision.rb +24 -15
  95. data/lib/gcloud/vision/annotate.rb +24 -21
  96. data/lib/gcloud/vision/annotation.rb +9 -9
  97. data/lib/gcloud/vision/annotation/entity.rb +11 -11
  98. data/lib/gcloud/vision/annotation/face.rb +25 -25
  99. data/lib/gcloud/vision/annotation/properties.rb +8 -8
  100. data/lib/gcloud/vision/annotation/safe_search.rb +4 -4
  101. data/lib/gcloud/vision/annotation/text.rb +7 -7
  102. data/lib/gcloud/vision/annotation/vertex.rb +1 -1
  103. data/lib/gcloud/vision/image.rb +11 -11
  104. data/lib/gcloud/vision/location.rb +5 -2
  105. data/lib/gcloud/vision/project.rb +14 -16
  106. data/lib/gcloud/vision/service.rb +66 -0
  107. data/lib/google/api_client.rb +0 -0
  108. metadata +27 -24
  109. data/lib/gcloud/bigquery/connection.rb +0 -624
  110. data/lib/gcloud/bigquery/errors.rb +0 -68
  111. data/lib/gcloud/bigquery/table/schema.rb +0 -234
  112. data/lib/gcloud/dns/connection.rb +0 -173
  113. data/lib/gcloud/dns/errors.rb +0 -68
  114. data/lib/gcloud/resource_manager/connection.rb +0 -134
  115. data/lib/gcloud/resource_manager/errors.rb +0 -68
  116. data/lib/gcloud/storage/connection.rb +0 -444
  117. data/lib/gcloud/translate/connection.rb +0 -85
  118. data/lib/gcloud/translate/errors.rb +0 -68
  119. data/lib/gcloud/upload.rb +0 -95
  120. data/lib/gcloud/vision/connection.rb +0 -63
  121. data/lib/gcloud/vision/errors.rb +0 -69
@@ -1,85 +0,0 @@
1
- # Copyright 2016 Google Inc. All rights reserved.
2
- #
3
- # Licensed under the Apache License, Version 2.0 (the "License");
4
- # you may not use this file except in compliance with the License.
5
- # You may obtain a copy of the License at
6
- #
7
- # http://www.apache.org/licenses/LICENSE-2.0
8
- #
9
- # Unless required by applicable law or agreed to in writing, software
10
- # distributed under the License is distributed on an "AS IS" BASIS,
11
- # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12
- # See the License for the specific language governing permissions and
13
- # limitations under the License.
14
-
15
-
16
- require "gcloud/version"
17
- require "gcloud/backoff"
18
- require "google/api_client"
19
-
20
- module Gcloud
21
- module Translate
22
- ##
23
- # @private Represents the connection to Translate, as well as expose the API
24
- # calls
25
- class Connection
26
- API_VERSION = "v2"
27
-
28
- attr_accessor :client
29
-
30
- ##
31
- # Creates a new Connection instance.
32
- def initialize key
33
- @client = Google::APIClient.new application_name: "gcloud-ruby",
34
- application_version: Gcloud::VERSION,
35
- authorization: nil
36
- @translate = @client.discovered_api "translate", API_VERSION
37
- @client.key = key # set key after discovery, helps with tests
38
- end
39
-
40
- def translate text, to: nil, from: nil, format: nil, cid: nil
41
- params = { q: Array(text),
42
- target: to,
43
- source: from,
44
- format: format,
45
- cid: cid,
46
- prettyprint: false
47
- }.delete_if { |_, v| v.nil? }
48
-
49
- execute(
50
- api_method: @translate.translations.list,
51
- parameters: params
52
- )
53
- end
54
-
55
- def detect text
56
- execute(
57
- api_method: @translate.detections.list,
58
- parameters: { q: Array(text), prettyprint: false }
59
- )
60
- end
61
-
62
- def languages language = nil
63
- params = { target: language,
64
- prettyprint: false }.delete_if { |_, v| v.nil? }
65
-
66
- execute(
67
- api_method: @translate.languages.list,
68
- parameters: params
69
- )
70
- end
71
-
72
- def inspect
73
- "#{self.class}(#{@project})"
74
- end
75
-
76
- protected
77
-
78
- def execute options
79
- Gcloud::Backoff.new.execute_gapi do
80
- @client.execute options
81
- end
82
- end
83
- end
84
- end
85
- end
@@ -1,68 +0,0 @@
1
- # Copyright 2016 Google Inc. All rights reserved.
2
- #
3
- # Licensed under the Apache License, Version 2.0 (the "License");
4
- # you may not use this file except in compliance with the License.
5
- # You may obtain a copy of the License at
6
- #
7
- # http://www.apache.org/licenses/LICENSE-2.0
8
- #
9
- # Unless required by applicable law or agreed to in writing, software
10
- # distributed under the License is distributed on an "AS IS" BASIS,
11
- # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12
- # See the License for the specific language governing permissions and
13
- # limitations under the License.
14
-
15
-
16
- require "gcloud/errors"
17
-
18
- module Gcloud
19
- module Translate
20
- ##
21
- # Base Translate exception class.
22
- class Error < Gcloud::Error
23
- end
24
-
25
- ##
26
- # Raised when an API call is not successful.
27
- class ApiError < Error
28
- ##
29
- # The code of the error.
30
- attr_reader :code
31
-
32
- ##
33
- # The errors encountered.
34
- attr_reader :errors
35
-
36
- # @private
37
- def initialize message, code, errors = []
38
- super message
39
- @code = code
40
- @errors = errors
41
- end
42
-
43
- # @private
44
- def self.from_response resp
45
- if resp.data? && resp.data["error"]
46
- from_response_data resp.data["error"]
47
- else
48
- from_response_status resp
49
- end
50
- end
51
-
52
- # @private
53
- def self.from_response_data error
54
- new error["message"], error["code"], error["errors"]
55
- end
56
-
57
- # @private
58
- def self.from_response_status resp
59
- if resp.status == 404
60
- new "#{resp.error_message}: #{resp.request.uri.request_uri}",
61
- resp.status
62
- else
63
- new resp.error_message, resp.status
64
- end
65
- end
66
- end
67
- end
68
- end
data/lib/gcloud/upload.rb DELETED
@@ -1,95 +0,0 @@
1
- # Copyright 2014 Google Inc. All rights reserved.
2
- #
3
- # Licensed under the Apache License, Version 2.0 (the "License");
4
- # you may not use this file except in compliance with the License.
5
- # You may obtain a copy of the License at
6
- #
7
- # http://www.apache.org/licenses/LICENSE-2.0
8
- #
9
- # Unless required by applicable law or agreed to in writing, software
10
- # distributed under the License is distributed on an "AS IS" BASIS,
11
- # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12
- # See the License for the specific language governing permissions and
13
- # limitations under the License.
14
-
15
-
16
- require "gcloud"
17
-
18
- module Gcloud
19
- ##
20
- # # Upload Settings
21
- #
22
- # Upload allows users to configure how files are uploaded to the Google Cloud
23
- # Service APIs.
24
- #
25
- # @example
26
- # require "gcloud/upload"
27
- #
28
- # # Set the default threshold to 10 MiB.
29
- # Gcloud::Upload.resumable_threshold = 10_000_000
30
- #
31
- module Upload
32
- ##
33
- # Retrieve resumable threshold.
34
- # If uploads are larger in size than this value then
35
- # resumable uploads are used.
36
- #
37
- # The default value is 5 MiB (5,000,000 bytes).
38
- def self.resumable_threshold
39
- @@resumable_threshold
40
- end
41
-
42
- ##
43
- # Sets a new resumable threshold value in number of bytes.
44
- def self.resumable_threshold= new_resumable_threshold
45
- @@resumable_threshold = new_resumable_threshold.to_i
46
- end
47
-
48
- ##
49
- # Default chunk size used on resumable uploads.
50
- #
51
- # The default value is 10 MB (10,485,760 bytes).
52
- def self.default_chunk_size
53
- @@default_chunk_size
54
- end
55
-
56
- ##
57
- # Sets a new default chunk_size value in number of bytes. Must be a multiple
58
- # of 256KB (262,144).
59
- def self.default_chunk_size= new_chunk_size
60
- new_chunk_size = normalize_chunk_size new_chunk_size
61
- @@default_chunk_size = new_chunk_size if new_chunk_size
62
- end
63
-
64
- ##
65
- # @private Determines if a chunk_size is valid. Must be a multiple of 256KB.
66
- # Returns lowest possible chunk_size if given a very small value.
67
- def self.normalize_chunk_size chunk_size
68
- chunk_size = chunk_size.to_i
69
- chunk_mod = 256 * 1024 # 256KB
70
- if (chunk_size.to_i % chunk_mod) != 0
71
- chunk_size = (chunk_size / chunk_mod) * chunk_mod
72
- end
73
- return chunk_mod if chunk_size.zero?
74
- chunk_size
75
- end
76
-
77
- ##
78
- # @private Determines if a chunk_size is valid. Must be a multiple of 256KB.
79
- # Returns the default chunk_size if one is not provided.
80
- def self.verify_chunk_size chunk_size, file_size
81
- if chunk_size.to_i.zero?
82
- return nil if file_size < default_chunk_size
83
- return default_chunk_size
84
- else
85
- chunk_size = normalize_chunk_size chunk_size
86
- return nil if file_size < chunk_size
87
- return chunk_size
88
- end
89
- end
90
-
91
- # Set the default values for threshold and chunk_size.
92
- self.resumable_threshold = 5_000_000 # 5 MiB
93
- self.default_chunk_size = 10_485_760 # 10 MB
94
- end
95
- end
@@ -1,63 +0,0 @@
1
- # Copyright 2016 Google Inc. All rights reserved.
2
- #
3
- # Licensed under the Apache License, Version 2.0 (the "License");
4
- # you may not use this file except in compliance with the License.
5
- # You may obtain a copy of the License at
6
- #
7
- # http://www.apache.org/licenses/LICENSE-2.0
8
- #
9
- # Unless required by applicable law or agreed to in writing, software
10
- # distributed under the License is distributed on an "AS IS" BASIS,
11
- # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12
- # See the License for the specific language governing permissions and
13
- # limitations under the License.
14
-
15
-
16
- require "gcloud/version"
17
- require "gcloud/backoff"
18
- require "google/api_client"
19
-
20
- module Gcloud
21
- module Vision
22
- ##
23
- # @private Represents the connection to Vision,
24
- # as well as expose the API calls.
25
- class Connection
26
- attr_accessor :project
27
- attr_accessor :credentials
28
-
29
- ##
30
- # Creates a new Connection instance.
31
- def initialize project, credentials
32
- @project = project
33
- @credentials = credentials
34
- @client = Google::APIClient.new application_name: "gcloud-ruby",
35
- application_version: Gcloud::VERSION
36
- @client.authorization = @credentials.client
37
- custom_discovery_url = Addressable::URI.parse(
38
- "https://vision.googleapis.com/$discovery/rest?version=v1")
39
- @client.register_discovery_uri "vision", "v1", custom_discovery_url
40
- @vision = @client.discovered_api "vision", "v1"
41
- end
42
-
43
- def annotate requests
44
- execute(
45
- api_method: @vision.images.annotate,
46
- body_object: { requests: requests }
47
- )
48
- end
49
-
50
- def inspect
51
- "#{self.class}(#{@project})"
52
- end
53
-
54
- protected
55
-
56
- def execute options
57
- Gcloud::Backoff.new.execute_gapi do
58
- @client.execute options
59
- end
60
- end
61
- end
62
- end
63
- end
@@ -1,69 +0,0 @@
1
- # Copyright 2016 Google Inc. All rights reserved.
2
- #
3
- # Licensed under the Apache License, Version 2.0 (the "License");
4
- # you may not use this file except in compliance with the License.
5
- # You may obtain a copy of the License at
6
- #
7
- # http://www.apache.org/licenses/LICENSE-2.0
8
- #
9
- # Unless required by applicable law or agreed to in writing, software
10
- # distributed under the License is distributed on an "AS IS" BASIS,
11
- # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12
- # See the License for the specific language governing permissions and
13
- # limitations under the License.
14
-
15
-
16
- require "gcloud/errors"
17
-
18
- module Gcloud
19
- module Vision
20
- ##
21
- # # Vision Error
22
- #
23
- # Base Vision exception class.
24
- class Error < Gcloud::Error
25
- ##
26
- # The response object of the failed HTTP request.
27
- attr_reader :response
28
-
29
- # @private
30
- def self.from_response resp
31
- new.tap do |e|
32
- e.instance_variable_set "@response", resp
33
- end
34
- end
35
- end
36
-
37
- ##
38
- # # ApiError
39
- #
40
- # Raised when an API call is not successful.
41
- class ApiError < Error
42
- ##
43
- # The HTTP code of the error.
44
- attr_reader :code
45
-
46
- ##
47
- # The Google API error status.
48
- attr_reader :status
49
-
50
- ##
51
- # The errors encountered.
52
- attr_reader :errors
53
-
54
- # @private
55
- def self.from_response resp
56
- if resp.data? && resp.data["error"]
57
- new(resp.data["error"]["message"]).tap do |e|
58
- e.instance_variable_set "@code", resp.data["error"]["code"]
59
- e.instance_variable_set "@status", resp.data["error"]["status"]
60
- e.instance_variable_set "@errors", resp.data["error"]["errors"]
61
- e.instance_variable_set "@response", resp
62
- end
63
- else
64
- Error.from_response_status resp
65
- end
66
- end
67
- end
68
- end
69
- end