google-api-client 0.9.20 → 0.9.21

Sign up to get free protection for your applications and to get access to all the features.
Files changed (159) hide show
  1. checksums.yaml +4 -4
  2. data/.travis.yml +8 -4
  3. data/api_names.yaml +33179 -1058
  4. data/generated/google/apis/adexchangebuyer2_v2beta1.rb +1 -1
  5. data/generated/google/apis/adexchangebuyer_v1_4.rb +1 -1
  6. data/generated/google/apis/adexchangebuyer_v1_4/classes.rb +24 -6
  7. data/generated/google/apis/adexchangebuyer_v1_4/representations.rb +2 -0
  8. data/generated/google/apis/admin_directory_v1.rb +1 -1
  9. data/generated/google/apis/admin_directory_v1/classes.rb +14 -0
  10. data/generated/google/apis/admin_directory_v1/representations.rb +2 -0
  11. data/generated/google/apis/adsense_v1_4.rb +1 -1
  12. data/generated/google/apis/adsensehost_v4_1.rb +1 -1
  13. data/generated/google/apis/analyticsreporting_v4.rb +1 -1
  14. data/generated/google/apis/analyticsreporting_v4/classes.rb +7 -0
  15. data/generated/google/apis/analyticsreporting_v4/representations.rb +1 -0
  16. data/generated/google/apis/androidenterprise_v1.rb +1 -1
  17. data/generated/google/apis/androidenterprise_v1/classes.rb +96 -156
  18. data/generated/google/apis/androidenterprise_v1/representations.rb +18 -47
  19. data/generated/google/apis/androidenterprise_v1/service.rb +15 -459
  20. data/generated/google/apis/androidpublisher_v2.rb +1 -1
  21. data/generated/google/apis/androidpublisher_v2/classes.rb +176 -0
  22. data/generated/google/apis/androidpublisher_v2/representations.rb +62 -0
  23. data/generated/google/apis/androidpublisher_v2/service.rb +60 -2
  24. data/generated/google/apis/appengine_v1beta5.rb +1 -1
  25. data/generated/google/apis/appengine_v1beta5/classes.rb +300 -198
  26. data/generated/google/apis/appengine_v1beta5/representations.rb +36 -0
  27. data/generated/google/apis/appengine_v1beta5/service.rb +54 -49
  28. data/generated/google/apis/appsactivity_v1.rb +1 -1
  29. data/generated/google/apis/appstate_v1.rb +1 -1
  30. data/generated/google/apis/bigquery_v2.rb +1 -1
  31. data/generated/google/apis/bigquery_v2/classes.rb +50 -6
  32. data/generated/google/apis/bigquery_v2/representations.rb +5 -0
  33. data/generated/google/apis/books_v1.rb +1 -1
  34. data/generated/google/apis/books_v1/classes.rb +7 -2
  35. data/generated/google/apis/books_v1/representations.rb +1 -0
  36. data/generated/google/apis/calendar_v3.rb +1 -1
  37. data/generated/google/apis/classroom_v1.rb +1 -1
  38. data/generated/google/apis/classroom_v1/classes.rb +74 -74
  39. data/generated/google/apis/classroom_v1/representations.rb +29 -29
  40. data/generated/google/apis/classroom_v1/service.rb +132 -28
  41. data/generated/google/apis/cloudbuild_v1.rb +1 -1
  42. data/generated/google/apis/cloudbuild_v1/classes.rb +47 -27
  43. data/generated/google/apis/cloudbuild_v1/representations.rb +20 -7
  44. data/generated/google/apis/cloudbuild_v1/service.rb +42 -0
  45. data/generated/google/apis/clouddebugger_v2.rb +1 -1
  46. data/generated/google/apis/clouddebugger_v2/classes.rb +648 -578
  47. data/generated/google/apis/clouddebugger_v2/representations.rb +140 -140
  48. data/generated/google/apis/clouddebugger_v2/service.rb +161 -155
  49. data/generated/google/apis/cloudresourcemanager_v1.rb +1 -1
  50. data/generated/google/apis/cloudresourcemanager_v1/classes.rb +563 -423
  51. data/generated/google/apis/cloudresourcemanager_v1/representations.rb +116 -76
  52. data/generated/google/apis/cloudresourcemanager_v1/service.rb +318 -249
  53. data/generated/google/apis/cloudresourcemanager_v1beta1.rb +1 -1
  54. data/generated/google/apis/cloudresourcemanager_v1beta1/classes.rb +396 -331
  55. data/generated/google/apis/cloudresourcemanager_v1beta1/representations.rb +79 -79
  56. data/generated/google/apis/cloudresourcemanager_v1beta1/service.rb +317 -281
  57. data/generated/google/apis/compute_beta.rb +1 -1
  58. data/generated/google/apis/compute_beta/classes.rb +352 -80
  59. data/generated/google/apis/compute_beta/representations.rb +132 -19
  60. data/generated/google/apis/compute_beta/service.rb +214 -0
  61. data/generated/google/apis/compute_v1.rb +1 -1
  62. data/generated/google/apis/compute_v1/classes.rb +673 -73
  63. data/generated/google/apis/compute_v1/representations.rb +274 -9
  64. data/generated/google/apis/compute_v1/service.rb +1574 -2
  65. data/generated/google/apis/content_v2.rb +1 -1
  66. data/generated/google/apis/content_v2/classes.rb +7 -8
  67. data/generated/google/apis/content_v2/service.rb +125 -54
  68. data/generated/google/apis/dataflow_v1b3.rb +2 -3
  69. data/generated/google/apis/dataflow_v1b3/classes.rb +286 -114
  70. data/generated/google/apis/dataflow_v1b3/representations.rb +73 -0
  71. data/generated/google/apis/dataflow_v1b3/service.rb +37 -38
  72. data/generated/google/apis/datastore_v1.rb +1 -1
  73. data/generated/google/apis/datastore_v1/classes.rb +5 -0
  74. data/generated/google/apis/deploymentmanager_v2.rb +1 -1
  75. data/generated/google/apis/deploymentmanager_v2/classes.rb +37 -5
  76. data/generated/google/apis/deploymentmanager_v2/representations.rb +16 -0
  77. data/generated/google/apis/deploymentmanager_v2/service.rb +4 -1
  78. data/generated/google/apis/dns_v1.rb +1 -1
  79. data/generated/google/apis/doubleclicksearch_v2.rb +1 -1
  80. data/generated/google/apis/drive_v2.rb +1 -1
  81. data/generated/google/apis/drive_v2/classes.rb +55 -21
  82. data/generated/google/apis/drive_v2/representations.rb +2 -0
  83. data/generated/google/apis/drive_v3.rb +1 -1
  84. data/generated/google/apis/drive_v3/classes.rb +41 -12
  85. data/generated/google/apis/drive_v3/representations.rb +2 -0
  86. data/generated/google/apis/fitness_v1.rb +31 -1
  87. data/generated/google/apis/fitness_v1/classes.rb +1 -1
  88. data/generated/google/apis/games_configuration_v1configuration.rb +1 -1
  89. data/generated/google/apis/games_management_v1management.rb +1 -1
  90. data/generated/google/apis/games_v1.rb +1 -1
  91. data/generated/google/apis/gmail_v1.rb +1 -1
  92. data/generated/google/apis/gmail_v1/classes.rb +32 -1
  93. data/generated/google/apis/gmail_v1/representations.rb +15 -0
  94. data/generated/google/apis/gmail_v1/service.rb +41 -2
  95. data/generated/google/apis/identitytoolkit_v3.rb +4 -1
  96. data/generated/google/apis/identitytoolkit_v3/classes.rb +7 -0
  97. data/generated/google/apis/identitytoolkit_v3/representations.rb +1 -0
  98. data/generated/google/apis/kgsearch_v1.rb +2 -3
  99. data/generated/google/apis/kgsearch_v1/classes.rb +10 -10
  100. data/generated/google/apis/kgsearch_v1/representations.rb +2 -2
  101. data/generated/google/apis/kgsearch_v1/service.rb +28 -26
  102. data/generated/google/apis/language_v1beta1.rb +1 -1
  103. data/generated/google/apis/language_v1beta1/classes.rb +166 -8
  104. data/generated/google/apis/language_v1beta1/representations.rb +50 -0
  105. data/generated/google/apis/language_v1beta1/service.rb +32 -0
  106. data/generated/google/apis/logging_v2beta1.rb +6 -6
  107. data/generated/google/apis/logging_v2beta1/classes.rb +868 -789
  108. data/generated/google/apis/logging_v2beta1/representations.rb +179 -147
  109. data/generated/google/apis/logging_v2beta1/service.rb +378 -211
  110. data/generated/google/apis/monitoring_v3.rb +1 -1
  111. data/generated/google/apis/monitoring_v3/classes.rb +110 -112
  112. data/generated/google/apis/monitoring_v3/service.rb +68 -73
  113. data/generated/google/apis/pagespeedonline_v2.rb +1 -1
  114. data/generated/google/apis/plus_domains_v1.rb +1 -1
  115. data/generated/google/apis/plus_v1.rb +1 -1
  116. data/generated/google/apis/pubsub_v1.rb +1 -1
  117. data/generated/google/apis/pubsub_v1/classes.rb +380 -327
  118. data/generated/google/apis/pubsub_v1/representations.rb +79 -79
  119. data/generated/google/apis/pubsub_v1/service.rb +424 -396
  120. data/generated/google/apis/sheets_v4.rb +1 -1
  121. data/generated/google/apis/sheets_v4/classes.rb +175 -53
  122. data/generated/google/apis/sheets_v4/representations.rb +48 -13
  123. data/generated/google/apis/site_verification_v1.rb +1 -1
  124. data/generated/google/apis/slides_v1.rb +1 -1
  125. data/generated/google/apis/slides_v1/classes.rb +149 -31
  126. data/generated/google/apis/slides_v1/representations.rb +52 -9
  127. data/generated/google/apis/slides_v1/service.rb +5 -5
  128. data/generated/google/apis/speech_v1beta1.rb +1 -1
  129. data/generated/google/apis/speech_v1beta1/service.rb +3 -1
  130. data/generated/google/apis/sqladmin_v1beta4.rb +1 -1
  131. data/generated/google/apis/sqladmin_v1beta4/classes.rb +54 -2
  132. data/generated/google/apis/sqladmin_v1beta4/representations.rb +29 -0
  133. data/generated/google/apis/sqladmin_v1beta4/service.rb +41 -0
  134. data/generated/google/apis/storage_v1.rb +1 -1
  135. data/generated/google/apis/storage_v1/classes.rb +7 -0
  136. data/generated/google/apis/storage_v1/representations.rb +2 -0
  137. data/generated/google/apis/tagmanager_v1.rb +5 -5
  138. data/generated/google/apis/vision_v1.rb +1 -1
  139. data/generated/google/apis/vision_v1/classes.rb +63 -59
  140. data/generated/google/apis/youtube_analytics_v1.rb +1 -1
  141. data/generated/google/apis/youtube_analytics_v1/classes.rb +0 -209
  142. data/generated/google/apis/youtube_analytics_v1/representations.rb +0 -99
  143. data/generated/google/apis/youtube_analytics_v1/service.rb +0 -76
  144. data/generated/google/apis/youtube_partner_v1.rb +1 -1
  145. data/generated/google/apis/youtube_partner_v1/classes.rb +71 -0
  146. data/generated/google/apis/youtube_partner_v1/representations.rb +33 -0
  147. data/generated/google/apis/youtube_partner_v1/service.rb +52 -0
  148. data/generated/google/apis/youtube_v3.rb +1 -1
  149. data/generated/google/apis/youtube_v3/classes.rb +15 -2
  150. data/generated/google/apis/youtube_v3/representations.rb +3 -0
  151. data/generated/google/apis/youtube_v3/service.rb +4 -4
  152. data/generated/google/apis/youtubereporting_v1.rb +4 -4
  153. data/generated/google/apis/youtubereporting_v1/classes.rb +146 -137
  154. data/generated/google/apis/youtubereporting_v1/representations.rb +33 -33
  155. data/generated/google/apis/youtubereporting_v1/service.rb +149 -145
  156. data/lib/google/apis/version.rb +1 -1
  157. data/samples/cli/lib/samples/calendar.rb +1 -1
  158. data/samples/cli/lib/samples/gmail.rb +74 -0
  159. metadata +29 -29
@@ -26,7 +26,7 @@ module Google
26
26
  # @see https://developers.google.com/speed/docs/insights/v2/getting-started
27
27
  module PagespeedonlineV2
28
28
  VERSION = 'V2'
29
- REVISION = '20161101'
29
+ REVISION = '20161204'
30
30
  end
31
31
  end
32
32
  end
@@ -25,7 +25,7 @@ module Google
25
25
  # @see https://developers.google.com/+/domains/
26
26
  module PlusDomainsV1
27
27
  VERSION = 'V1'
28
- REVISION = '20161107'
28
+ REVISION = '20170118'
29
29
 
30
30
  # View your circles and the people and pages in them
31
31
  AUTH_PLUS_CIRCLES_READ = 'https://www.googleapis.com/auth/plus.circles.read'
@@ -25,7 +25,7 @@ module Google
25
25
  # @see https://developers.google.com/+/api/
26
26
  module PlusV1
27
27
  VERSION = 'V1'
28
- REVISION = '20161107'
28
+ REVISION = '20170118'
29
29
 
30
30
  # Know the list of people in your circles, your age range, and language
31
31
  AUTH_PLUS_LOGIN = 'https://www.googleapis.com/auth/plus.login'
@@ -25,7 +25,7 @@ module Google
25
25
  # @see https://cloud.google.com/pubsub/docs
26
26
  module PubsubV1
27
27
  VERSION = 'V1'
28
- REVISION = '20161003'
28
+ REVISION = '20170105'
29
29
 
30
30
  # View and manage your data across Google Cloud Platform services
31
31
  AUTH_CLOUD_PLATFORM = 'https://www.googleapis.com/auth/cloud-platform'
@@ -22,23 +22,19 @@ module Google
22
22
  module Apis
23
23
  module PubsubV1
24
24
 
25
- # Request message for `SetIamPolicy` method.
26
- class SetIamPolicyRequest
25
+ # A topic resource.
26
+ class Topic
27
27
  include Google::Apis::Core::Hashable
28
28
 
29
- # Defines an Identity and Access Management (IAM) policy. It is used to specify
30
- # access control policies for Cloud Platform resources. A `Policy` consists of a
31
- # list of `bindings`. A `Binding` binds a list of `members` to a `role`, where
32
- # the members can be user accounts, Google groups, Google domains, and service
33
- # accounts. A `role` is a named list of permissions defined by IAM. **Example** `
34
- # "bindings": [ ` "role": "roles/owner", "members": [ "user:mike@example.com", "
35
- # group:admins@example.com", "domain:google.com", "serviceAccount:my-other-app@
36
- # appspot.gserviceaccount.com", ] `, ` "role": "roles/viewer", "members": ["user:
37
- # sean@example.com"] ` ] ` For a description of IAM and its features, see the [
38
- # IAM developer's guide](https://cloud.google.com/iam).
39
- # Corresponds to the JSON property `policy`
40
- # @return [Google::Apis::PubsubV1::Policy]
41
- attr_accessor :policy
29
+ # The name of the topic. It must have the format
30
+ # `"projects/`project`/topics/`topic`"`. ``topic`` must start with a letter,
31
+ # and contain only letters (`[A-Za-z]`), numbers (`[0-9]`), dashes (`-`),
32
+ # underscores (`_`), periods (`.`), tildes (`~`), plus (`+`) or percent
33
+ # signs (`%`). It must be between 3 and 255 characters in length, and it
34
+ # must not start with `"goog"`.
35
+ # Corresponds to the JSON property `name`
36
+ # @return [String]
37
+ attr_accessor :name
42
38
 
43
39
  def initialize(**args)
44
40
  update!(**args)
@@ -46,46 +42,43 @@ module Google
46
42
 
47
43
  # Update properties of this object
48
44
  def update!(**args)
49
- @policy = args[:policy] if args.key?(:policy)
45
+ @name = args[:name] if args.key?(:name)
50
46
  end
51
47
  end
52
48
 
53
- # Defines an Identity and Access Management (IAM) policy. It is used to specify
54
- # access control policies for Cloud Platform resources. A `Policy` consists of a
55
- # list of `bindings`. A `Binding` binds a list of `members` to a `role`, where
56
- # the members can be user accounts, Google groups, Google domains, and service
57
- # accounts. A `role` is a named list of permissions defined by IAM. **Example** `
58
- # "bindings": [ ` "role": "roles/owner", "members": [ "user:mike@example.com", "
59
- # group:admins@example.com", "domain:google.com", "serviceAccount:my-other-app@
60
- # appspot.gserviceaccount.com", ] `, ` "role": "roles/viewer", "members": ["user:
61
- # sean@example.com"] ` ] ` For a description of IAM and its features, see the [
62
- # IAM developer's guide](https://cloud.google.com/iam).
63
- class Policy
49
+ # Request message for `SetIamPolicy` method.
50
+ class SetIamPolicyRequest
64
51
  include Google::Apis::Core::Hashable
65
52
 
66
- # Version of the `Policy`. The default version is 0.
67
- # Corresponds to the JSON property `version`
68
- # @return [Fixnum]
69
- attr_accessor :version
70
-
71
- # Associates a list of `members` to a `role`. Multiple `bindings` must not be
72
- # specified for the same `role`. `bindings` with no members will result in an
73
- # error.
74
- # Corresponds to the JSON property `bindings`
75
- # @return [Array<Google::Apis::PubsubV1::Binding>]
76
- attr_accessor :bindings
77
-
78
- # `etag` is used for optimistic concurrency control as a way to help prevent
79
- # simultaneous updates of a policy from overwriting each other. It is strongly
80
- # suggested that systems make use of the `etag` in the read-modify-write cycle
81
- # to perform policy updates in order to avoid race conditions: An `etag` is
82
- # returned in the response to `getIamPolicy`, and systems are expected to put
83
- # that etag in the request to `setIamPolicy` to ensure that their change will be
84
- # applied to the same version of the policy. If no `etag` is provided in the
85
- # call to `setIamPolicy`, then the existing policy is overwritten blindly.
86
- # Corresponds to the JSON property `etag`
87
- # @return [String]
88
- attr_accessor :etag
53
+ # Defines an Identity and Access Management (IAM) policy. It is used to
54
+ # specify access control policies for Cloud Platform resources.
55
+ # A `Policy` consists of a list of `bindings`. A `Binding` binds a list of
56
+ # `members` to a `role`, where the members can be user accounts, Google groups,
57
+ # Google domains, and service accounts. A `role` is a named list of permissions
58
+ # defined by IAM.
59
+ # **Example**
60
+ # `
61
+ # "bindings": [
62
+ # `
63
+ # "role": "roles/owner",
64
+ # "members": [
65
+ # "user:mike@example.com",
66
+ # "group:admins@example.com",
67
+ # "domain:google.com",
68
+ # "serviceAccount:my-other-app@appspot.gserviceaccount.com",
69
+ # ]
70
+ # `,
71
+ # `
72
+ # "role": "roles/viewer",
73
+ # "members": ["user:sean@example.com"]
74
+ # `
75
+ # ]
76
+ # `
77
+ # For a description of IAM and its features, see the
78
+ # [IAM developer's guide](https://cloud.google.com/iam).
79
+ # Corresponds to the JSON property `policy`
80
+ # @return [Google::Apis::PubsubV1::Policy]
81
+ attr_accessor :policy
89
82
 
90
83
  def initialize(**args)
91
84
  update!(**args)
@@ -93,37 +86,24 @@ module Google
93
86
 
94
87
  # Update properties of this object
95
88
  def update!(**args)
96
- @version = args[:version] if args.key?(:version)
97
- @bindings = args[:bindings] if args.key?(:bindings)
98
- @etag = args[:etag] if args.key?(:etag)
89
+ @policy = args[:policy] if args.key?(:policy)
99
90
  end
100
91
  end
101
92
 
102
- # Associates `members` with a `role`.
103
- class Binding
93
+ # A message and its corresponding acknowledgment ID.
94
+ class ReceivedMessage
104
95
  include Google::Apis::Core::Hashable
105
96
 
106
- # Role that is assigned to `members`. For example, `roles/viewer`, `roles/editor`
107
- # , or `roles/owner`. Required
108
- # Corresponds to the JSON property `role`
97
+ # This ID can be used to acknowledge the received message.
98
+ # Corresponds to the JSON property `ackId`
109
99
  # @return [String]
110
- attr_accessor :role
100
+ attr_accessor :ack_id
111
101
 
112
- # Specifies the identities requesting access for a Cloud Platform resource. `
113
- # members` can have the following values: * `allUsers`: A special identifier
114
- # that represents anyone who is on the internet; with or without a Google
115
- # account. * `allAuthenticatedUsers`: A special identifier that represents
116
- # anyone who is authenticated with a Google account or a service account. * `
117
- # user:`emailid``: An email address that represents a specific Google account.
118
- # For example, `alice@gmail.com` or `joe@example.com`. * `serviceAccount:`
119
- # emailid``: An email address that represents a service account. For example, `
120
- # my-other-app@appspot.gserviceaccount.com`. * `group:`emailid``: An email
121
- # address that represents a Google group. For example, `admins@example.com`. * `
122
- # domain:`domain``: A Google Apps domain name that represents all the users of
123
- # that domain. For example, `google.com` or `example.com`.
124
- # Corresponds to the JSON property `members`
125
- # @return [Array<String>]
126
- attr_accessor :members
102
+ # A message data and its attributes. The message payload must not be empty;
103
+ # it must contain either a non-empty data field, or at least one attribute.
104
+ # Corresponds to the JSON property `message`
105
+ # @return [Google::Apis::PubsubV1::Message]
106
+ attr_accessor :message
127
107
 
128
108
  def initialize(**args)
129
109
  update!(**args)
@@ -131,21 +111,19 @@ module Google
131
111
 
132
112
  # Update properties of this object
133
113
  def update!(**args)
134
- @role = args[:role] if args.key?(:role)
135
- @members = args[:members] if args.key?(:members)
114
+ @ack_id = args[:ack_id] if args.key?(:ack_id)
115
+ @message = args[:message] if args.key?(:message)
136
116
  end
137
117
  end
138
118
 
139
- # Request message for `TestIamPermissions` method.
140
- class TestIamPermissionsRequest
119
+ # Request for the Publish method.
120
+ class PublishRequest
141
121
  include Google::Apis::Core::Hashable
142
122
 
143
- # The set of permissions to check for the `resource`. Permissions with wildcards
144
- # (such as '*' or 'storage.*') are not allowed. For more information see [IAM
145
- # Overview](https://cloud.google.com/iam/docs/overview#permissions).
146
- # Corresponds to the JSON property `permissions`
147
- # @return [Array<String>]
148
- attr_accessor :permissions
123
+ # The messages to publish.
124
+ # Corresponds to the JSON property `messages`
125
+ # @return [Array<Google::Apis::PubsubV1::Message>]
126
+ attr_accessor :messages
149
127
 
150
128
  def initialize(**args)
151
129
  update!(**args)
@@ -153,7 +131,7 @@ module Google
153
131
 
154
132
  # Update properties of this object
155
133
  def update!(**args)
156
- @permissions = args[:permissions] if args.key?(:permissions)
134
+ @messages = args[:messages] if args.key?(:messages)
157
135
  end
158
136
  end
159
137
 
@@ -161,7 +139,8 @@ module Google
161
139
  class TestIamPermissionsResponse
162
140
  include Google::Apis::Core::Hashable
163
141
 
164
- # A subset of `TestPermissionsRequest.permissions` that the caller is allowed.
142
+ # A subset of `TestPermissionsRequest.permissions` that the caller is
143
+ # allowed.
165
144
  # Corresponds to the JSON property `permissions`
166
145
  # @return [Array<String>]
167
146
  attr_accessor :permissions
@@ -176,18 +155,16 @@ module Google
176
155
  end
177
156
  end
178
157
 
179
- # A topic resource.
180
- class Topic
158
+ # Response for the `Publish` method.
159
+ class PublishResponse
181
160
  include Google::Apis::Core::Hashable
182
161
 
183
- # The name of the topic. It must have the format `"projects/`project`/topics/`
184
- # topic`"`. ``topic`` must start with a letter, and contain only letters (`[A-Za-
185
- # z]`), numbers (`[0-9]`), dashes (`-`), underscores (`_`), periods (`.`),
186
- # tildes (`~`), plus (`+`) or percent signs (`%`). It must be between 3 and 255
187
- # characters in length, and it must not start with `"goog"`.
188
- # Corresponds to the JSON property `name`
189
- # @return [String]
190
- attr_accessor :name
162
+ # The server-assigned ID of each published message, in the same order as
163
+ # the messages in the request. IDs are guaranteed to be unique within
164
+ # the topic.
165
+ # Corresponds to the JSON property `messageIds`
166
+ # @return [Array<String>]
167
+ attr_accessor :message_ids
191
168
 
192
169
  def initialize(**args)
193
170
  update!(**args)
@@ -195,18 +172,25 @@ module Google
195
172
 
196
173
  # Update properties of this object
197
174
  def update!(**args)
198
- @name = args[:name] if args.key?(:name)
175
+ @message_ids = args[:message_ids] if args.key?(:message_ids)
199
176
  end
200
177
  end
201
178
 
202
- # Request for the Publish method.
203
- class PublishRequest
179
+ # Response for the `ListSubscriptions` method.
180
+ class ListSubscriptionsResponse
204
181
  include Google::Apis::Core::Hashable
205
182
 
206
- # The messages to publish.
207
- # Corresponds to the JSON property `messages`
208
- # @return [Array<Google::Apis::PubsubV1::Message>]
209
- attr_accessor :messages
183
+ # The subscriptions that match the request.
184
+ # Corresponds to the JSON property `subscriptions`
185
+ # @return [Array<Google::Apis::PubsubV1::Subscription>]
186
+ attr_accessor :subscriptions
187
+
188
+ # If not empty, indicates that there may be more subscriptions that match
189
+ # the request; this value should be passed in a new
190
+ # `ListSubscriptionsRequest` to get more subscriptions.
191
+ # Corresponds to the JSON property `nextPageToken`
192
+ # @return [String]
193
+ attr_accessor :next_page_token
210
194
 
211
195
  def initialize(**args)
212
196
  update!(**args)
@@ -214,40 +198,64 @@ module Google
214
198
 
215
199
  # Update properties of this object
216
200
  def update!(**args)
217
- @messages = args[:messages] if args.key?(:messages)
201
+ @subscriptions = args[:subscriptions] if args.key?(:subscriptions)
202
+ @next_page_token = args[:next_page_token] if args.key?(:next_page_token)
218
203
  end
219
204
  end
220
205
 
221
- # A message data and its attributes. The message payload must not be empty; it
222
- # must contain either a non-empty data field, or at least one attribute.
223
- class Message
206
+ # Defines an Identity and Access Management (IAM) policy. It is used to
207
+ # specify access control policies for Cloud Platform resources.
208
+ # A `Policy` consists of a list of `bindings`. A `Binding` binds a list of
209
+ # `members` to a `role`, where the members can be user accounts, Google groups,
210
+ # Google domains, and service accounts. A `role` is a named list of permissions
211
+ # defined by IAM.
212
+ # **Example**
213
+ # `
214
+ # "bindings": [
215
+ # `
216
+ # "role": "roles/owner",
217
+ # "members": [
218
+ # "user:mike@example.com",
219
+ # "group:admins@example.com",
220
+ # "domain:google.com",
221
+ # "serviceAccount:my-other-app@appspot.gserviceaccount.com",
222
+ # ]
223
+ # `,
224
+ # `
225
+ # "role": "roles/viewer",
226
+ # "members": ["user:sean@example.com"]
227
+ # `
228
+ # ]
229
+ # `
230
+ # For a description of IAM and its features, see the
231
+ # [IAM developer's guide](https://cloud.google.com/iam).
232
+ class Policy
224
233
  include Google::Apis::Core::Hashable
225
234
 
226
- # The message payload. For JSON requests, the value of this field must be [
227
- # base64-encoded](https://tools.ietf.org/html/rfc4648).
228
- # Corresponds to the JSON property `data`
229
- # @return [String]
230
- attr_accessor :data
231
-
232
- # Optional attributes for this message.
233
- # Corresponds to the JSON property `attributes`
234
- # @return [Hash<String,String>]
235
- attr_accessor :attributes
235
+ # Associates a list of `members` to a `role`.
236
+ # Multiple `bindings` must not be specified for the same `role`.
237
+ # `bindings` with no members will result in an error.
238
+ # Corresponds to the JSON property `bindings`
239
+ # @return [Array<Google::Apis::PubsubV1::Binding>]
240
+ attr_accessor :bindings
236
241
 
237
- # ID of this message, assigned by the server when the message is published.
238
- # Guaranteed to be unique within the topic. This value may be read by a
239
- # subscriber that receives a `PubsubMessage` via a `Pull` call or a push
240
- # delivery. It must not be populated by the publisher in a `Publish` call.
241
- # Corresponds to the JSON property `messageId`
242
+ # `etag` is used for optimistic concurrency control as a way to help
243
+ # prevent simultaneous updates of a policy from overwriting each other.
244
+ # It is strongly suggested that systems make use of the `etag` in the
245
+ # read-modify-write cycle to perform policy updates in order to avoid race
246
+ # conditions: An `etag` is returned in the response to `getIamPolicy`, and
247
+ # systems are expected to put that etag in the request to `setIamPolicy` to
248
+ # ensure that their change will be applied to the same version of the policy.
249
+ # If no `etag` is provided in the call to `setIamPolicy`, then the existing
250
+ # policy is overwritten blindly.
251
+ # Corresponds to the JSON property `etag`
242
252
  # @return [String]
243
- attr_accessor :message_id
253
+ attr_accessor :etag
244
254
 
245
- # The time at which the message was published, populated by the server when it
246
- # receives the `Publish` call. It must not be populated by the publisher in a `
247
- # Publish` call.
248
- # Corresponds to the JSON property `publishTime`
249
- # @return [String]
250
- attr_accessor :publish_time
255
+ # Version of the `Policy`. The default version is 0.
256
+ # Corresponds to the JSON property `version`
257
+ # @return [Fixnum]
258
+ attr_accessor :version
251
259
 
252
260
  def initialize(**args)
253
261
  update!(**args)
@@ -255,22 +263,27 @@ module Google
255
263
 
256
264
  # Update properties of this object
257
265
  def update!(**args)
258
- @data = args[:data] if args.key?(:data)
259
- @attributes = args[:attributes] if args.key?(:attributes)
260
- @message_id = args[:message_id] if args.key?(:message_id)
261
- @publish_time = args[:publish_time] if args.key?(:publish_time)
266
+ @bindings = args[:bindings] if args.key?(:bindings)
267
+ @etag = args[:etag] if args.key?(:etag)
268
+ @version = args[:version] if args.key?(:version)
262
269
  end
263
270
  end
264
271
 
265
- # Response for the `Publish` method.
266
- class PublishResponse
272
+ # Response for the `ListTopicSubscriptions` method.
273
+ class ListTopicSubscriptionsResponse
267
274
  include Google::Apis::Core::Hashable
268
275
 
269
- # The server-assigned ID of each published message, in the same order as the
270
- # messages in the request. IDs are guaranteed to be unique within the topic.
271
- # Corresponds to the JSON property `messageIds`
276
+ # The names of the subscriptions that match the request.
277
+ # Corresponds to the JSON property `subscriptions`
272
278
  # @return [Array<String>]
273
- attr_accessor :message_ids
279
+ attr_accessor :subscriptions
280
+
281
+ # If not empty, indicates that there may be more subscriptions that match
282
+ # the request; this value should be passed in a new
283
+ # `ListTopicSubscriptionsRequest` to get more subscriptions.
284
+ # Corresponds to the JSON property `nextPageToken`
285
+ # @return [String]
286
+ attr_accessor :next_page_token
274
287
 
275
288
  def initialize(**args)
276
289
  update!(**args)
@@ -278,24 +291,57 @@ module Google
278
291
 
279
292
  # Update properties of this object
280
293
  def update!(**args)
281
- @message_ids = args[:message_ids] if args.key?(:message_ids)
294
+ @subscriptions = args[:subscriptions] if args.key?(:subscriptions)
295
+ @next_page_token = args[:next_page_token] if args.key?(:next_page_token)
282
296
  end
283
297
  end
284
298
 
285
- # Response for the `ListTopics` method.
286
- class ListTopicsResponse
299
+ # A subscription resource.
300
+ class Subscription
287
301
  include Google::Apis::Core::Hashable
288
302
 
289
- # The resulting topics.
290
- # Corresponds to the JSON property `topics`
291
- # @return [Array<Google::Apis::PubsubV1::Topic>]
292
- attr_accessor :topics
303
+ # Configuration for a push delivery endpoint.
304
+ # Corresponds to the JSON property `pushConfig`
305
+ # @return [Google::Apis::PubsubV1::PushConfig]
306
+ attr_accessor :push_config
293
307
 
294
- # If not empty, indicates that there may be more topics that match the request;
295
- # this value should be passed in a new `ListTopicsRequest`.
296
- # Corresponds to the JSON property `nextPageToken`
308
+ # The name of the topic from which this subscription is receiving messages.
309
+ # Format is `projects/`project`/topics/`topic``.
310
+ # The value of this field will be `_deleted-topic_` if the topic has been
311
+ # deleted.
312
+ # Corresponds to the JSON property `topic`
297
313
  # @return [String]
298
- attr_accessor :next_page_token
314
+ attr_accessor :topic
315
+
316
+ # This value is the maximum time after a subscriber receives a message
317
+ # before the subscriber should acknowledge the message. After message
318
+ # delivery but before the ack deadline expires and before the message is
319
+ # acknowledged, it is an outstanding message and will not be delivered
320
+ # again during that time (on a best-effort basis).
321
+ # For pull subscriptions, this value is used as the initial value for the ack
322
+ # deadline. To override this value for a given message, call
323
+ # `ModifyAckDeadline` with the corresponding `ack_id` if using
324
+ # pull.
325
+ # The minimum custom deadline you can specify is 10 seconds.
326
+ # The maximum custom deadline you can specify is 600 seconds (10 minutes).
327
+ # If this parameter is 0, a default value of 10 seconds is used.
328
+ # For push delivery, this value is also used to set the request timeout for
329
+ # the call to the push endpoint.
330
+ # If the subscriber never acknowledges the message, the Pub/Sub
331
+ # system will eventually redeliver the message.
332
+ # Corresponds to the JSON property `ackDeadlineSeconds`
333
+ # @return [Fixnum]
334
+ attr_accessor :ack_deadline_seconds
335
+
336
+ # The name of the subscription. It must have the format
337
+ # `"projects/`project`/subscriptions/`subscription`"`. ``subscription`` must
338
+ # start with a letter, and contain only letters (`[A-Za-z]`), numbers
339
+ # (`[0-9]`), dashes (`-`), underscores (`_`), periods (`.`), tildes (`~`),
340
+ # plus (`+`) or percent signs (`%`). It must be between 3 and 255 characters
341
+ # in length, and it must not start with `"goog"`.
342
+ # Corresponds to the JSON property `name`
343
+ # @return [String]
344
+ attr_accessor :name
299
345
 
300
346
  def initialize(**args)
301
347
  update!(**args)
@@ -303,26 +349,32 @@ module Google
303
349
 
304
350
  # Update properties of this object
305
351
  def update!(**args)
306
- @topics = args[:topics] if args.key?(:topics)
307
- @next_page_token = args[:next_page_token] if args.key?(:next_page_token)
352
+ @push_config = args[:push_config] if args.key?(:push_config)
353
+ @topic = args[:topic] if args.key?(:topic)
354
+ @ack_deadline_seconds = args[:ack_deadline_seconds] if args.key?(:ack_deadline_seconds)
355
+ @name = args[:name] if args.key?(:name)
308
356
  end
309
357
  end
310
358
 
311
- # Response for the `ListTopicSubscriptions` method.
312
- class ListTopicSubscriptionsResponse
359
+ # Request for the ModifyAckDeadline method.
360
+ class ModifyAckDeadlineRequest
313
361
  include Google::Apis::Core::Hashable
314
362
 
315
- # The names of the subscriptions that match the request.
316
- # Corresponds to the JSON property `subscriptions`
317
- # @return [Array<String>]
318
- attr_accessor :subscriptions
363
+ # The new ack deadline with respect to the time this request was sent to
364
+ # the Pub/Sub system. For example, if the value is 10, the new
365
+ # ack deadline will expire 10 seconds after the `ModifyAckDeadline` call
366
+ # was made. Specifying zero may immediately make the message available for
367
+ # another pull request.
368
+ # The minimum deadline you can specify is 0 seconds.
369
+ # The maximum deadline you can specify is 600 seconds (10 minutes).
370
+ # Corresponds to the JSON property `ackDeadlineSeconds`
371
+ # @return [Fixnum]
372
+ attr_accessor :ack_deadline_seconds
319
373
 
320
- # If not empty, indicates that there may be more subscriptions that match the
321
- # request; this value should be passed in a new `ListTopicSubscriptionsRequest`
322
- # to get more subscriptions.
323
- # Corresponds to the JSON property `nextPageToken`
324
- # @return [String]
325
- attr_accessor :next_page_token
374
+ # List of acknowledgment IDs.
375
+ # Corresponds to the JSON property `ackIds`
376
+ # @return [Array<String>]
377
+ attr_accessor :ack_ids
326
378
 
327
379
  def initialize(**args)
328
380
  update!(**args)
@@ -330,68 +382,63 @@ module Google
330
382
 
331
383
  # Update properties of this object
332
384
  def update!(**args)
333
- @subscriptions = args[:subscriptions] if args.key?(:subscriptions)
334
- @next_page_token = args[:next_page_token] if args.key?(:next_page_token)
385
+ @ack_deadline_seconds = args[:ack_deadline_seconds] if args.key?(:ack_deadline_seconds)
386
+ @ack_ids = args[:ack_ids] if args.key?(:ack_ids)
335
387
  end
336
388
  end
337
389
 
338
- # A generic empty message that you can re-use to avoid defining duplicated empty
339
- # messages in your APIs. A typical example is to use it as the request or the
340
- # response type of an API method. For instance: service Foo ` rpc Bar(google.
341
- # protobuf.Empty) returns (google.protobuf.Empty); ` The JSON representation for
342
- # `Empty` is empty JSON object ````.
343
- class Empty
390
+ # Request message for `TestIamPermissions` method.
391
+ class TestIamPermissionsRequest
344
392
  include Google::Apis::Core::Hashable
345
393
 
394
+ # The set of permissions to check for the `resource`. Permissions with
395
+ # wildcards (such as '*' or 'storage.*') are not allowed. For more
396
+ # information see
397
+ # [IAM Overview](https://cloud.google.com/iam/docs/overview#permissions).
398
+ # Corresponds to the JSON property `permissions`
399
+ # @return [Array<String>]
400
+ attr_accessor :permissions
401
+
346
402
  def initialize(**args)
347
403
  update!(**args)
348
404
  end
349
405
 
350
406
  # Update properties of this object
351
407
  def update!(**args)
408
+ @permissions = args[:permissions] if args.key?(:permissions)
352
409
  end
353
410
  end
354
411
 
355
- # A subscription resource.
356
- class Subscription
412
+ # Configuration for a push delivery endpoint.
413
+ class PushConfig
357
414
  include Google::Apis::Core::Hashable
358
415
 
359
- # The name of the subscription. It must have the format `"projects/`project`/
360
- # subscriptions/`subscription`"`. ``subscription`` must start with a letter, and
361
- # contain only letters (`[A-Za-z]`), numbers (`[0-9]`), dashes (`-`),
362
- # underscores (`_`), periods (`.`), tildes (`~`), plus (`+`) or percent signs (`%
363
- # `). It must be between 3 and 255 characters in length, and it must not start
364
- # with `"goog"`.
365
- # Corresponds to the JSON property `name`
366
- # @return [String]
367
- attr_accessor :name
416
+ # Endpoint configuration attributes.
417
+ # Every endpoint has a set of API supported attributes that can be used to
418
+ # control different aspects of the message delivery.
419
+ # The currently supported attribute is `x-goog-version`, which you can
420
+ # use to change the format of the push message. This attribute
421
+ # indicates the version of the data expected by the endpoint. This
422
+ # controls the shape of the envelope (i.e. its fields and metadata).
423
+ # The endpoint version is based on the version of the Pub/Sub
424
+ # API.
425
+ # If not present during the `CreateSubscription` call, it will default to
426
+ # the version of the API used to make such call. If not present during a
427
+ # `ModifyPushConfig` call, its value will not be changed. `GetSubscription`
428
+ # calls will always return a valid version, even if the subscription was
429
+ # created without this attribute.
430
+ # The possible values for this attribute are:
431
+ # * `v1beta1`: uses the push format defined in the v1beta1 Pub/Sub API.
432
+ # * `v1` or `v1beta2`: uses the push format defined in the v1 Pub/Sub API.
433
+ # Corresponds to the JSON property `attributes`
434
+ # @return [Hash<String,String>]
435
+ attr_accessor :attributes
368
436
 
369
- # The name of the topic from which this subscription is receiving messages. The
370
- # value of this field will be `_deleted-topic_` if the topic has been deleted.
371
- # Corresponds to the JSON property `topic`
437
+ # A URL locating the endpoint to which messages should be pushed.
438
+ # For example, a Webhook endpoint might use "https://example.com/push".
439
+ # Corresponds to the JSON property `pushEndpoint`
372
440
  # @return [String]
373
- attr_accessor :topic
374
-
375
- # Configuration for a push delivery endpoint.
376
- # Corresponds to the JSON property `pushConfig`
377
- # @return [Google::Apis::PubsubV1::PushConfig]
378
- attr_accessor :push_config
379
-
380
- # This value is the maximum time after a subscriber receives a message before
381
- # the subscriber should acknowledge the message. After message delivery but
382
- # before the ack deadline expires and before the message is acknowledged, it is
383
- # an outstanding message and will not be delivered again during that time (on a
384
- # best-effort basis). For pull subscriptions, this value is used as the initial
385
- # value for the ack deadline. To override this value for a given message, call `
386
- # ModifyAckDeadline` with the corresponding `ack_id` if using pull. The maximum
387
- # custom deadline you can specify is 600 seconds (10 minutes). For push delivery,
388
- # this value is also used to set the request timeout for the call to the push
389
- # endpoint. If the subscriber never acknowledges the message, the Pub/Sub system
390
- # will eventually redeliver the message. If this parameter is 0, a default value
391
- # of 10 seconds is used.
392
- # Corresponds to the JSON property `ackDeadlineSeconds`
393
- # @return [Fixnum]
394
- attr_accessor :ack_deadline_seconds
441
+ attr_accessor :push_endpoint
395
442
 
396
443
  def initialize(**args)
397
444
  update!(**args)
@@ -399,40 +446,31 @@ module Google
399
446
 
400
447
  # Update properties of this object
401
448
  def update!(**args)
402
- @name = args[:name] if args.key?(:name)
403
- @topic = args[:topic] if args.key?(:topic)
404
- @push_config = args[:push_config] if args.key?(:push_config)
405
- @ack_deadline_seconds = args[:ack_deadline_seconds] if args.key?(:ack_deadline_seconds)
449
+ @attributes = args[:attributes] if args.key?(:attributes)
450
+ @push_endpoint = args[:push_endpoint] if args.key?(:push_endpoint)
406
451
  end
407
452
  end
408
453
 
409
- # Configuration for a push delivery endpoint.
410
- class PushConfig
454
+ # Request for the `Pull` method.
455
+ class PullRequest
411
456
  include Google::Apis::Core::Hashable
412
457
 
413
- # A URL locating the endpoint to which messages should be pushed. For example, a
414
- # Webhook endpoint might use "https://example.com/push".
415
- # Corresponds to the JSON property `pushEndpoint`
416
- # @return [String]
417
- attr_accessor :push_endpoint
458
+ # If this field set to true, the system will respond immediately even if
459
+ # it there are no messages available to return in the `Pull` response.
460
+ # Otherwise, the system may wait (for a bounded amount of time) until at
461
+ # least one message is available, rather than returning no messages. The
462
+ # client may cancel the request if it does not wish to wait any longer for
463
+ # the response.
464
+ # Corresponds to the JSON property `returnImmediately`
465
+ # @return [Boolean]
466
+ attr_accessor :return_immediately
467
+ alias_method :return_immediately?, :return_immediately
418
468
 
419
- # Endpoint configuration attributes. Every endpoint has a set of API supported
420
- # attributes that can be used to control different aspects of the message
421
- # delivery. The currently supported attribute is `x-goog-version`, which you can
422
- # use to change the format of the push message. This attribute indicates the
423
- # version of the data expected by the endpoint. This controls the shape of the
424
- # envelope (i.e. its fields and metadata). The endpoint version is based on the
425
- # version of the Pub/Sub API. If not present during the `CreateSubscription`
426
- # call, it will default to the version of the API used to make such call. If not
427
- # present during a `ModifyPushConfig` call, its value will not be changed. `
428
- # GetSubscription` calls will always return a valid version, even if the
429
- # subscription was created without this attribute. The possible values for this
430
- # attribute are: * `v1beta1`: uses the push format defined in the v1beta1 Pub/
431
- # Sub API. * `v1` or `v1beta2`: uses the push format defined in the v1 Pub/Sub
432
- # API.
433
- # Corresponds to the JSON property `attributes`
434
- # @return [Hash<String,String>]
435
- attr_accessor :attributes
469
+ # The maximum number of messages returned for this request. The Pub/Sub
470
+ # system may return fewer than the number specified.
471
+ # Corresponds to the JSON property `maxMessages`
472
+ # @return [Fixnum]
473
+ attr_accessor :max_messages
436
474
 
437
475
  def initialize(**args)
438
476
  update!(**args)
@@ -440,26 +478,19 @@ module Google
440
478
 
441
479
  # Update properties of this object
442
480
  def update!(**args)
443
- @push_endpoint = args[:push_endpoint] if args.key?(:push_endpoint)
444
- @attributes = args[:attributes] if args.key?(:attributes)
481
+ @return_immediately = args[:return_immediately] if args.key?(:return_immediately)
482
+ @max_messages = args[:max_messages] if args.key?(:max_messages)
445
483
  end
446
484
  end
447
485
 
448
- # Response for the `ListSubscriptions` method.
449
- class ListSubscriptionsResponse
486
+ # Request for the ModifyPushConfig method.
487
+ class ModifyPushConfigRequest
450
488
  include Google::Apis::Core::Hashable
451
489
 
452
- # The subscriptions that match the request.
453
- # Corresponds to the JSON property `subscriptions`
454
- # @return [Array<Google::Apis::PubsubV1::Subscription>]
455
- attr_accessor :subscriptions
456
-
457
- # If not empty, indicates that there may be more subscriptions that match the
458
- # request; this value should be passed in a new `ListSubscriptionsRequest` to
459
- # get more subscriptions.
460
- # Corresponds to the JSON property `nextPageToken`
461
- # @return [String]
462
- attr_accessor :next_page_token
490
+ # Configuration for a push delivery endpoint.
491
+ # Corresponds to the JSON property `pushConfig`
492
+ # @return [Google::Apis::PubsubV1::PushConfig]
493
+ attr_accessor :push_config
463
494
 
464
495
  def initialize(**args)
465
496
  update!(**args)
@@ -467,28 +498,21 @@ module Google
467
498
 
468
499
  # Update properties of this object
469
500
  def update!(**args)
470
- @subscriptions = args[:subscriptions] if args.key?(:subscriptions)
471
- @next_page_token = args[:next_page_token] if args.key?(:next_page_token)
501
+ @push_config = args[:push_config] if args.key?(:push_config)
472
502
  end
473
503
  end
474
504
 
475
- # Request for the ModifyAckDeadline method.
476
- class ModifyAckDeadlineRequest
505
+ # Response for the `Pull` method.
506
+ class PullResponse
477
507
  include Google::Apis::Core::Hashable
478
508
 
479
- # List of acknowledgment IDs.
480
- # Corresponds to the JSON property `ackIds`
481
- # @return [Array<String>]
482
- attr_accessor :ack_ids
483
-
484
- # The new ack deadline with respect to the time this request was sent to the Pub/
485
- # Sub system. Must be >= 0. For example, if the value is 10, the new ack
486
- # deadline will expire 10 seconds after the `ModifyAckDeadline` call was made.
487
- # Specifying zero may immediately make the message available for another pull
488
- # request.
489
- # Corresponds to the JSON property `ackDeadlineSeconds`
490
- # @return [Fixnum]
491
- attr_accessor :ack_deadline_seconds
509
+ # Received Pub/Sub messages. The Pub/Sub system will return zero messages if
510
+ # there are no more available in the backlog. The Pub/Sub system may return
511
+ # fewer than the `maxMessages` requested even if there are more messages
512
+ # available in the backlog.
513
+ # Corresponds to the JSON property `receivedMessages`
514
+ # @return [Array<Google::Apis::PubsubV1::ReceivedMessage>]
515
+ attr_accessor :received_messages
492
516
 
493
517
  def initialize(**args)
494
518
  update!(**args)
@@ -496,20 +520,39 @@ module Google
496
520
 
497
521
  # Update properties of this object
498
522
  def update!(**args)
499
- @ack_ids = args[:ack_ids] if args.key?(:ack_ids)
500
- @ack_deadline_seconds = args[:ack_deadline_seconds] if args.key?(:ack_deadline_seconds)
523
+ @received_messages = args[:received_messages] if args.key?(:received_messages)
501
524
  end
502
525
  end
503
526
 
504
- # Request for the Acknowledge method.
505
- class AcknowledgeRequest
527
+ # A message data and its attributes. The message payload must not be empty;
528
+ # it must contain either a non-empty data field, or at least one attribute.
529
+ class Message
506
530
  include Google::Apis::Core::Hashable
507
531
 
508
- # The acknowledgment ID for the messages being acknowledged that was returned by
509
- # the Pub/Sub system in the `Pull` response. Must not be empty.
510
- # Corresponds to the JSON property `ackIds`
511
- # @return [Array<String>]
512
- attr_accessor :ack_ids
532
+ # The message payload.
533
+ # Corresponds to the JSON property `data`
534
+ # @return [String]
535
+ attr_accessor :data
536
+
537
+ # Optional attributes for this message.
538
+ # Corresponds to the JSON property `attributes`
539
+ # @return [Hash<String,String>]
540
+ attr_accessor :attributes
541
+
542
+ # ID of this message, assigned by the server when the message is published.
543
+ # Guaranteed to be unique within the topic. This value may be read by a
544
+ # subscriber that receives a `PubsubMessage` via a `Pull` call or a push
545
+ # delivery. It must not be populated by the publisher in a `Publish` call.
546
+ # Corresponds to the JSON property `messageId`
547
+ # @return [String]
548
+ attr_accessor :message_id
549
+
550
+ # The time at which the message was published, populated by the server when
551
+ # it receives the `Publish` call. It must not be populated by the
552
+ # publisher in a `Publish` call.
553
+ # Corresponds to the JSON property `publishTime`
554
+ # @return [String]
555
+ attr_accessor :publish_time
513
556
 
514
557
  def initialize(**args)
515
558
  update!(**args)
@@ -517,29 +560,22 @@ module Google
517
560
 
518
561
  # Update properties of this object
519
562
  def update!(**args)
520
- @ack_ids = args[:ack_ids] if args.key?(:ack_ids)
563
+ @data = args[:data] if args.key?(:data)
564
+ @attributes = args[:attributes] if args.key?(:attributes)
565
+ @message_id = args[:message_id] if args.key?(:message_id)
566
+ @publish_time = args[:publish_time] if args.key?(:publish_time)
521
567
  end
522
568
  end
523
569
 
524
- # Request for the `Pull` method.
525
- class PullRequest
570
+ # Request for the Acknowledge method.
571
+ class AcknowledgeRequest
526
572
  include Google::Apis::Core::Hashable
527
573
 
528
- # If this is specified as true the system will respond immediately even if it is
529
- # not able to return a message in the `Pull` response. Otherwise the system is
530
- # allowed to wait until at least one message is available rather than returning
531
- # no messages. The client may cancel the request if it does not wish to wait any
532
- # longer for the response.
533
- # Corresponds to the JSON property `returnImmediately`
534
- # @return [Boolean]
535
- attr_accessor :return_immediately
536
- alias_method :return_immediately?, :return_immediately
537
-
538
- # The maximum number of messages returned for this request. The Pub/Sub system
539
- # may return fewer than the number specified.
540
- # Corresponds to the JSON property `maxMessages`
541
- # @return [Fixnum]
542
- attr_accessor :max_messages
574
+ # The acknowledgment ID for the messages being acknowledged that was returned
575
+ # by the Pub/Sub system in the `Pull` response. Must not be empty.
576
+ # Corresponds to the JSON property `ackIds`
577
+ # @return [Array<String>]
578
+ attr_accessor :ack_ids
543
579
 
544
580
  def initialize(**args)
545
581
  update!(**args)
@@ -547,47 +583,43 @@ module Google
547
583
 
548
584
  # Update properties of this object
549
585
  def update!(**args)
550
- @return_immediately = args[:return_immediately] if args.key?(:return_immediately)
551
- @max_messages = args[:max_messages] if args.key?(:max_messages)
586
+ @ack_ids = args[:ack_ids] if args.key?(:ack_ids)
552
587
  end
553
588
  end
554
589
 
555
- # Response for the `Pull` method.
556
- class PullResponse
590
+ # A generic empty message that you can re-use to avoid defining duplicated
591
+ # empty messages in your APIs. A typical example is to use it as the request
592
+ # or the response type of an API method. For instance:
593
+ # service Foo `
594
+ # rpc Bar(google.protobuf.Empty) returns (google.protobuf.Empty);
595
+ # `
596
+ # The JSON representation for `Empty` is empty JSON object ````.
597
+ class Empty
557
598
  include Google::Apis::Core::Hashable
558
599
 
559
- # Received Pub/Sub messages. The Pub/Sub system will return zero messages if
560
- # there are no more available in the backlog. The Pub/Sub system may return
561
- # fewer than the `maxMessages` requested even if there are more messages
562
- # available in the backlog.
563
- # Corresponds to the JSON property `receivedMessages`
564
- # @return [Array<Google::Apis::PubsubV1::ReceivedMessage>]
565
- attr_accessor :received_messages
566
-
567
600
  def initialize(**args)
568
601
  update!(**args)
569
602
  end
570
603
 
571
604
  # Update properties of this object
572
605
  def update!(**args)
573
- @received_messages = args[:received_messages] if args.key?(:received_messages)
574
606
  end
575
607
  end
576
608
 
577
- # A message and its corresponding acknowledgment ID.
578
- class ReceivedMessage
609
+ # Response for the `ListTopics` method.
610
+ class ListTopicsResponse
579
611
  include Google::Apis::Core::Hashable
580
612
 
581
- # This ID can be used to acknowledge the received message.
582
- # Corresponds to the JSON property `ackId`
613
+ # If not empty, indicates that there may be more topics that match the
614
+ # request; this value should be passed in a new `ListTopicsRequest`.
615
+ # Corresponds to the JSON property `nextPageToken`
583
616
  # @return [String]
584
- attr_accessor :ack_id
617
+ attr_accessor :next_page_token
585
618
 
586
- # A message data and its attributes. The message payload must not be empty; it
587
- # must contain either a non-empty data field, or at least one attribute.
588
- # Corresponds to the JSON property `message`
589
- # @return [Google::Apis::PubsubV1::Message]
590
- attr_accessor :message
619
+ # The resulting topics.
620
+ # Corresponds to the JSON property `topics`
621
+ # @return [Array<Google::Apis::PubsubV1::Topic>]
622
+ attr_accessor :topics
591
623
 
592
624
  def initialize(**args)
593
625
  update!(**args)
@@ -595,19 +627,39 @@ module Google
595
627
 
596
628
  # Update properties of this object
597
629
  def update!(**args)
598
- @ack_id = args[:ack_id] if args.key?(:ack_id)
599
- @message = args[:message] if args.key?(:message)
630
+ @next_page_token = args[:next_page_token] if args.key?(:next_page_token)
631
+ @topics = args[:topics] if args.key?(:topics)
600
632
  end
601
633
  end
602
634
 
603
- # Request for the ModifyPushConfig method.
604
- class ModifyPushConfigRequest
635
+ # Associates `members` with a `role`.
636
+ class Binding
605
637
  include Google::Apis::Core::Hashable
606
638
 
607
- # Configuration for a push delivery endpoint.
608
- # Corresponds to the JSON property `pushConfig`
609
- # @return [Google::Apis::PubsubV1::PushConfig]
610
- attr_accessor :push_config
639
+ # Specifies the identities requesting access for a Cloud Platform resource.
640
+ # `members` can have the following values:
641
+ # * `allUsers`: A special identifier that represents anyone who is
642
+ # on the internet; with or without a Google account.
643
+ # * `allAuthenticatedUsers`: A special identifier that represents anyone
644
+ # who is authenticated with a Google account or a service account.
645
+ # * `user:`emailid``: An email address that represents a specific Google
646
+ # account. For example, `alice@gmail.com` or `joe@example.com`.
647
+ # * `serviceAccount:`emailid``: An email address that represents a service
648
+ # account. For example, `my-other-app@appspot.gserviceaccount.com`.
649
+ # * `group:`emailid``: An email address that represents a Google group.
650
+ # For example, `admins@example.com`.
651
+ # * `domain:`domain``: A Google Apps domain name that represents all the
652
+ # users of that domain. For example, `google.com` or `example.com`.
653
+ # Corresponds to the JSON property `members`
654
+ # @return [Array<String>]
655
+ attr_accessor :members
656
+
657
+ # Role that is assigned to `members`.
658
+ # For example, `roles/viewer`, `roles/editor`, or `roles/owner`.
659
+ # Required
660
+ # Corresponds to the JSON property `role`
661
+ # @return [String]
662
+ attr_accessor :role
611
663
 
612
664
  def initialize(**args)
613
665
  update!(**args)
@@ -615,7 +667,8 @@ module Google
615
667
 
616
668
  # Update properties of this object
617
669
  def update!(**args)
618
- @push_config = args[:push_config] if args.key?(:push_config)
670
+ @members = args[:members] if args.key?(:members)
671
+ @role = args[:role] if args.key?(:role)
619
672
  end
620
673
  end
621
674
  end