google-api-client 0.9.20 → 0.9.21

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