google-api-client 0.9.28 → 0.10.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (138) hide show
  1. checksums.yaml +4 -4
  2. data/.travis.yml +7 -4
  3. data/CHANGELOG.md +10 -0
  4. data/api_names.yaml +36512 -36326
  5. data/generated/google/apis/adexchangebuyer2_v2beta1.rb +1 -1
  6. data/generated/google/apis/adexchangebuyer2_v2beta1/classes.rb +41 -41
  7. data/generated/google/apis/adexchangebuyer2_v2beta1/representations.rb +13 -13
  8. data/generated/google/apis/adexchangebuyer2_v2beta1/service.rb +110 -110
  9. data/generated/google/apis/adsense_v1_4.rb +1 -1
  10. data/generated/google/apis/adsensehost_v4_1.rb +1 -1
  11. data/generated/google/apis/analyticsreporting_v4.rb +3 -3
  12. data/generated/google/apis/analyticsreporting_v4/classes.rb +845 -845
  13. data/generated/google/apis/analyticsreporting_v4/representations.rb +184 -184
  14. data/generated/google/apis/androidenterprise_v1.rb +1 -1
  15. data/generated/google/apis/androidenterprise_v1/classes.rb +5 -5
  16. data/generated/google/apis/androidenterprise_v1/service.rb +3 -1
  17. data/generated/google/apis/appstate_v1.rb +1 -1
  18. data/generated/google/apis/calendar_v3.rb +1 -1
  19. data/generated/google/apis/classroom_v1.rb +22 -25
  20. data/generated/google/apis/classroom_v1/classes.rb +998 -907
  21. data/generated/google/apis/classroom_v1/representations.rb +240 -240
  22. data/generated/google/apis/classroom_v1/service.rb +1269 -1061
  23. data/generated/google/apis/cloudbuild_v1.rb +1 -1
  24. data/generated/google/apis/cloudbuild_v1/classes.rb +322 -322
  25. data/generated/google/apis/cloudbuild_v1/representations.rb +88 -88
  26. data/generated/google/apis/cloudbuild_v1/service.rb +57 -57
  27. data/generated/google/apis/clouddebugger_v2.rb +4 -4
  28. data/generated/google/apis/clouddebugger_v2/classes.rb +311 -311
  29. data/generated/google/apis/clouddebugger_v2/representations.rb +92 -92
  30. data/generated/google/apis/clouddebugger_v2/service.rb +41 -41
  31. data/generated/google/apis/cloudkms_v1beta1.rb +1 -1
  32. data/generated/google/apis/cloudkms_v1beta1/classes.rb +611 -611
  33. data/generated/google/apis/cloudkms_v1beta1/representations.rb +124 -124
  34. data/generated/google/apis/cloudkms_v1beta1/service.rb +254 -248
  35. data/generated/google/apis/cloudresourcemanager_v1.rb +1 -1
  36. data/generated/google/apis/cloudresourcemanager_v1/classes.rb +116 -116
  37. data/generated/google/apis/cloudresourcemanager_v1/representations.rb +28 -28
  38. data/generated/google/apis/cloudresourcemanager_v1/service.rb +257 -257
  39. data/generated/google/apis/cloudresourcemanager_v1beta1.rb +4 -4
  40. data/generated/google/apis/cloudresourcemanager_v1beta1/classes.rb +394 -394
  41. data/generated/google/apis/cloudresourcemanager_v1beta1/representations.rb +79 -79
  42. data/generated/google/apis/cloudresourcemanager_v1beta1/service.rb +269 -269
  43. data/generated/google/apis/cloudtrace_v1.rb +8 -8
  44. data/generated/google/apis/cloudtrace_v1/classes.rb +90 -84
  45. data/generated/google/apis/cloudtrace_v1/representations.rb +22 -22
  46. data/generated/google/apis/cloudtrace_v1/service.rb +40 -35
  47. data/generated/google/apis/compute_beta.rb +1 -1
  48. data/generated/google/apis/compute_beta/classes.rb +406 -31
  49. data/generated/google/apis/compute_beta/representations.rb +154 -0
  50. data/generated/google/apis/compute_beta/service.rb +262 -9
  51. data/generated/google/apis/compute_v1.rb +1 -1
  52. data/generated/google/apis/compute_v1/classes.rb +17 -20
  53. data/generated/google/apis/content_v2.rb +1 -1
  54. data/generated/google/apis/dataflow_v1b3.rb +1 -1
  55. data/generated/google/apis/dataflow_v1b3/classes.rb +3226 -2847
  56. data/generated/google/apis/dataflow_v1b3/representations.rb +825 -677
  57. data/generated/google/apis/dataflow_v1b3/service.rb +175 -175
  58. data/generated/google/apis/dataproc_v1.rb +2 -2
  59. data/generated/google/apis/dataproc_v1/classes.rb +1213 -1136
  60. data/generated/google/apis/dataproc_v1/representations.rb +262 -244
  61. data/generated/google/apis/dataproc_v1/service.rb +298 -243
  62. data/generated/google/apis/datastore_v1.rb +4 -4
  63. data/generated/google/apis/datastore_v1/classes.rb +728 -728
  64. data/generated/google/apis/datastore_v1/representations.rb +167 -167
  65. data/generated/google/apis/datastore_v1/service.rb +68 -68
  66. data/generated/google/apis/doubleclicksearch_v2.rb +1 -1
  67. data/generated/google/apis/drive_v2.rb +1 -1
  68. data/generated/google/apis/drive_v3.rb +1 -1
  69. data/generated/google/apis/games_configuration_v1configuration.rb +1 -1
  70. data/generated/google/apis/games_management_v1management.rb +1 -1
  71. data/generated/google/apis/games_v1.rb +1 -1
  72. data/generated/google/apis/genomics_v1.rb +7 -7
  73. data/generated/google/apis/genomics_v1/classes.rb +932 -932
  74. data/generated/google/apis/genomics_v1/representations.rb +205 -205
  75. data/generated/google/apis/genomics_v1/service.rb +1228 -1228
  76. data/generated/google/apis/gmail_v1.rb +1 -1
  77. data/generated/google/apis/iam_v1/classes.rb +440 -440
  78. data/generated/google/apis/iam_v1/representations.rb +94 -94
  79. data/generated/google/apis/iam_v1/service.rb +60 -60
  80. data/generated/google/apis/identitytoolkit_v3.rb +1 -1
  81. data/generated/google/apis/identitytoolkit_v3/classes.rb +21 -1
  82. data/generated/google/apis/identitytoolkit_v3/representations.rb +3 -0
  83. data/generated/google/apis/kgsearch_v1/classes.rb +6 -6
  84. data/generated/google/apis/kgsearch_v1/representations.rb +1 -1
  85. data/generated/google/apis/kgsearch_v1/service.rb +21 -21
  86. data/generated/google/apis/language_v1beta1.rb +1 -1
  87. data/generated/google/apis/language_v1beta1/classes.rb +232 -232
  88. data/generated/google/apis/language_v1beta1/representations.rb +75 -75
  89. data/generated/google/apis/logging_v2beta1.rb +1 -1
  90. data/generated/google/apis/logging_v2beta1/classes.rb +345 -337
  91. data/generated/google/apis/logging_v2beta1/representations.rb +55 -55
  92. data/generated/google/apis/logging_v2beta1/service.rb +331 -306
  93. data/generated/google/apis/monitoring_v3.rb +1 -1
  94. data/generated/google/apis/monitoring_v3/classes.rb +253 -253
  95. data/generated/google/apis/monitoring_v3/representations.rb +58 -58
  96. data/generated/google/apis/monitoring_v3/service.rb +135 -135
  97. data/generated/google/apis/people_v1.rb +15 -16
  98. data/generated/google/apis/people_v1/classes.rb +985 -855
  99. data/generated/google/apis/people_v1/representations.rb +227 -220
  100. data/generated/google/apis/people_v1/service.rb +58 -52
  101. data/generated/google/apis/plus_domains_v1.rb +1 -1
  102. data/generated/google/apis/plus_v1.rb +1 -1
  103. data/generated/google/apis/pubsub_v1.rb +1 -1
  104. data/generated/google/apis/pubsub_v1/classes.rb +257 -257
  105. data/generated/google/apis/pubsub_v1/representations.rb +83 -83
  106. data/generated/google/apis/pubsub_v1/service.rb +390 -390
  107. data/generated/google/apis/script_v1.rb +17 -17
  108. data/generated/google/apis/script_v1/classes.rb +149 -141
  109. data/generated/google/apis/script_v1/representations.rb +26 -27
  110. data/generated/google/apis/script_v1/service.rb +9 -8
  111. data/generated/google/apis/sheets_v4.rb +1 -1
  112. data/generated/google/apis/sheets_v4/classes.rb +4223 -4188
  113. data/generated/google/apis/sheets_v4/representations.rb +850 -834
  114. data/generated/google/apis/sheets_v4/service.rb +192 -192
  115. data/generated/google/apis/slides_v1.rb +1 -1
  116. data/generated/google/apis/slides_v1/classes.rb +927 -800
  117. data/generated/google/apis/slides_v1/representations.rb +253 -211
  118. data/generated/google/apis/speech_v1beta1.rb +1 -1
  119. data/generated/google/apis/speech_v1beta1/classes.rb +94 -107
  120. data/generated/google/apis/speech_v1beta1/representations.rb +24 -36
  121. data/generated/google/apis/speech_v1beta1/service.rb +51 -54
  122. data/generated/google/apis/storage_v1.rb +1 -1
  123. data/generated/google/apis/vision_v1.rb +1 -1
  124. data/generated/google/apis/vision_v1/classes.rb +888 -885
  125. data/generated/google/apis/vision_v1/representations.rb +139 -139
  126. data/generated/google/apis/youtube_analytics_v1.rb +1 -1
  127. data/generated/google/apis/youtube_analytics_v1/service.rb +5 -1
  128. data/generated/google/apis/youtube_partner_v1.rb +1 -1
  129. data/generated/google/apis/youtubereporting_v1.rb +1 -1
  130. data/generated/google/apis/youtubereporting_v1/classes.rb +80 -80
  131. data/generated/google/apis/youtubereporting_v1/representations.rb +23 -23
  132. data/generated/google/apis/youtubereporting_v1/service.rb +51 -51
  133. data/google-api-client.gemspec +2 -2
  134. data/lib/google/apis/core/api_command.rb +1 -1
  135. data/lib/google/apis/core/json_representation.rb +2 -2
  136. data/lib/google/apis/version.rb +1 -1
  137. data/samples/cli/lib/samples/you_tube.rb +4 -1
  138. metadata +36 -30
@@ -26,7 +26,7 @@ module Google
26
26
  # @see https://cloud.google.com/kms/
27
27
  module CloudkmsV1beta1
28
28
  VERSION = 'V1beta1'
29
- REVISION = '20170124'
29
+ REVISION = '20170208'
30
30
 
31
31
  # View and manage your data across Google Cloud Platform services
32
32
  AUTH_CLOUD_PLATFORM = 'https://www.googleapis.com/auth/cloud-platform'
@@ -22,41 +22,14 @@ module Google
22
22
  module Apis
23
23
  module CloudkmsV1beta1
24
24
 
25
- # Specifies what kind of log the caller must write
26
- # Increment a streamz counter with the specified metric and field names.
27
- # Metric names should start with a '/', generally be lowercase-only,
28
- # and end in "_count". Field names should not contain an initial slash.
29
- # The actual exported metric names will have "/iam/policy" prepended.
30
- # Field names correspond to IAM request parameters and field values are
31
- # their respective values.
32
- # At present the only supported field names are
33
- # - "iam_principal", corresponding to IAMContext.principal;
34
- # - "" (empty string), resulting in one aggretated counter with no field.
35
- # Examples:
36
- # counter ` metric: "/debug_access_count" field: "iam_principal" `
37
- # ==> increment counter /iam/policy/backend_debug_access_count
38
- # `iam_principal=[value of IAMContext.principal]`
39
- # At this time we do not support:
40
- # * multiple field names (though this may be supported in the future)
41
- # * decrementing the counter
42
- # * incrementing it by anything other than 1
43
- class LogConfig
25
+ # Response message for KeyManagementService.Decrypt.
26
+ class DecryptResponse
44
27
  include Google::Apis::Core::Hashable
45
28
 
46
- # Write a Data Access (Gin) log
47
- # Corresponds to the JSON property `dataAccess`
48
- # @return [Google::Apis::CloudkmsV1beta1::DataAccessOptions]
49
- attr_accessor :data_access
50
-
51
- # Write a Cloud Audit log
52
- # Corresponds to the JSON property `cloudAudit`
53
- # @return [Google::Apis::CloudkmsV1beta1::CloudAuditOptions]
54
- attr_accessor :cloud_audit
55
-
56
- # Options for counters
57
- # Corresponds to the JSON property `counter`
58
- # @return [Google::Apis::CloudkmsV1beta1::CounterOptions]
59
- attr_accessor :counter
29
+ # The decrypted data originally supplied in EncryptRequest.plaintext.
30
+ # Corresponds to the JSON property `plaintext`
31
+ # @return [String]
32
+ attr_accessor :plaintext
60
33
 
61
34
  def initialize(**args)
62
35
  update!(**args)
@@ -64,54 +37,21 @@ module Google
64
37
 
65
38
  # Update properties of this object
66
39
  def update!(**args)
67
- @data_access = args[:data_access] if args.key?(:data_access)
68
- @cloud_audit = args[:cloud_audit] if args.key?(:cloud_audit)
69
- @counter = args[:counter] if args.key?(:counter)
40
+ @plaintext = args[:plaintext] if args.key?(:plaintext)
70
41
  end
71
42
  end
72
43
 
73
- # Request message for `SetIamPolicy` method.
74
- class SetIamPolicyRequest
44
+ # Request message for `TestIamPermissions` method.
45
+ class TestIamPermissionsRequest
75
46
  include Google::Apis::Core::Hashable
76
47
 
77
- # OPTIONAL: A FieldMask specifying which fields of the policy to modify. Only
78
- # the fields in the mask will be modified. If no mask is provided, a default
79
- # mask is used:
80
- # paths: "bindings, etag"
81
- # This field is only used by Cloud IAM.
82
- # Corresponds to the JSON property `updateMask`
83
- # @return [String]
84
- attr_accessor :update_mask
85
-
86
- # Defines an Identity and Access Management (IAM) policy. It is used to
87
- # specify access control policies for Cloud Platform resources.
88
- # A `Policy` consists of a list of `bindings`. A `Binding` binds a list of
89
- # `members` to a `role`, where the members can be user accounts, Google groups,
90
- # Google domains, and service accounts. A `role` is a named list of permissions
91
- # defined by IAM.
92
- # **Example**
93
- # `
94
- # "bindings": [
95
- # `
96
- # "role": "roles/owner",
97
- # "members": [
98
- # "user:mike@example.com",
99
- # "group:admins@example.com",
100
- # "domain:google.com",
101
- # "serviceAccount:my-other-app@appspot.gserviceaccount.com",
102
- # ]
103
- # `,
104
- # `
105
- # "role": "roles/viewer",
106
- # "members": ["user:sean@example.com"]
107
- # `
108
- # ]
109
- # `
110
- # For a description of IAM and its features, see the
111
- # [IAM developer's guide](https://cloud.google.com/iam).
112
- # Corresponds to the JSON property `policy`
113
- # @return [Google::Apis::CloudkmsV1beta1::Policy]
114
- attr_accessor :policy
48
+ # The set of permissions to check for the `resource`. Permissions with
49
+ # wildcards (such as '*' or 'storage.*') are not allowed. For more
50
+ # information see
51
+ # [IAM Overview](https://cloud.google.com/iam/docs/overview#permissions).
52
+ # Corresponds to the JSON property `permissions`
53
+ # @return [Array<String>]
54
+ attr_accessor :permissions
115
55
 
116
56
  def initialize(**args)
117
57
  update!(**args)
@@ -119,26 +59,87 @@ module Google
119
59
 
120
60
  # Update properties of this object
121
61
  def update!(**args)
122
- @update_mask = args[:update_mask] if args.key?(:update_mask)
123
- @policy = args[:policy] if args.key?(:policy)
62
+ @permissions = args[:permissions] if args.key?(:permissions)
124
63
  end
125
64
  end
126
65
 
127
- # Request message for KeyManagementService.Decrypt.
128
- class DecryptRequest
66
+ # Defines an Identity and Access Management (IAM) policy. It is used to
67
+ # specify access control policies for Cloud Platform resources.
68
+ # A `Policy` consists of a list of `bindings`. A `Binding` binds a list of
69
+ # `members` to a `role`, where the members can be user accounts, Google groups,
70
+ # Google domains, and service accounts. A `role` is a named list of permissions
71
+ # defined by IAM.
72
+ # **Example**
73
+ # `
74
+ # "bindings": [
75
+ # `
76
+ # "role": "roles/owner",
77
+ # "members": [
78
+ # "user:mike@example.com",
79
+ # "group:admins@example.com",
80
+ # "domain:google.com",
81
+ # "serviceAccount:my-other-app@appspot.gserviceaccount.com",
82
+ # ]
83
+ # `,
84
+ # `
85
+ # "role": "roles/viewer",
86
+ # "members": ["user:sean@example.com"]
87
+ # `
88
+ # ]
89
+ # `
90
+ # For a description of IAM and its features, see the
91
+ # [IAM developer's guide](https://cloud.google.com/iam).
92
+ class Policy
129
93
  include Google::Apis::Core::Hashable
130
94
 
131
- # Required. The encrypted data originally returned in
132
- # EncryptResponse.ciphertext.
133
- # Corresponds to the JSON property `ciphertext`
134
- # @return [String]
135
- attr_accessor :ciphertext
95
+ #
96
+ # Corresponds to the JSON property `iamOwned`
97
+ # @return [Boolean]
98
+ attr_accessor :iam_owned
99
+ alias_method :iam_owned?, :iam_owned
136
100
 
137
- # Optional data that must match the data originally supplied in
138
- # EncryptRequest.additional_authenticated_data.
139
- # Corresponds to the JSON property `additionalAuthenticatedData`
101
+ # If more than one rule is specified, the rules are applied in the following
102
+ # manner:
103
+ # - All matching LOG rules are always applied.
104
+ # - If any DENY/DENY_WITH_LOG rule matches, permission is denied.
105
+ # Logging will be applied if one or more matching rule requires logging.
106
+ # - Otherwise, if any ALLOW/ALLOW_WITH_LOG rule matches, permission is
107
+ # granted.
108
+ # Logging will be applied if one or more matching rule requires logging.
109
+ # - Otherwise, if no rule applies, permission is denied.
110
+ # Corresponds to the JSON property `rules`
111
+ # @return [Array<Google::Apis::CloudkmsV1beta1::Rule>]
112
+ attr_accessor :rules
113
+
114
+ # Version of the `Policy`. The default version is 0.
115
+ # Corresponds to the JSON property `version`
116
+ # @return [Fixnum]
117
+ attr_accessor :version
118
+
119
+ # Specifies cloud audit logging configuration for this policy.
120
+ # Corresponds to the JSON property `auditConfigs`
121
+ # @return [Array<Google::Apis::CloudkmsV1beta1::AuditConfig>]
122
+ attr_accessor :audit_configs
123
+
124
+ # Associates a list of `members` to a `role`.
125
+ # Multiple `bindings` must not be specified for the same `role`.
126
+ # `bindings` with no members will result in an error.
127
+ # Corresponds to the JSON property `bindings`
128
+ # @return [Array<Google::Apis::CloudkmsV1beta1::Binding>]
129
+ attr_accessor :bindings
130
+
131
+ # `etag` is used for optimistic concurrency control as a way to help
132
+ # prevent simultaneous updates of a policy from overwriting each other.
133
+ # It is strongly suggested that systems make use of the `etag` in the
134
+ # read-modify-write cycle to perform policy updates in order to avoid race
135
+ # conditions: An `etag` is returned in the response to `getIamPolicy`, and
136
+ # systems are expected to put that etag in the request to `setIamPolicy` to
137
+ # ensure that their change will be applied to the same version of the policy.
138
+ # If no `etag` is provided in the call to `setIamPolicy`, then the existing
139
+ # policy is overwritten blindly.
140
+ # Corresponds to the JSON property `etag`
140
141
  # @return [String]
141
- attr_accessor :additional_authenticated_data
142
+ attr_accessor :etag
142
143
 
143
144
  def initialize(**args)
144
145
  update!(**args)
@@ -146,70 +147,54 @@ module Google
146
147
 
147
148
  # Update properties of this object
148
149
  def update!(**args)
149
- @ciphertext = args[:ciphertext] if args.key?(:ciphertext)
150
- @additional_authenticated_data = args[:additional_authenticated_data] if args.key?(:additional_authenticated_data)
150
+ @iam_owned = args[:iam_owned] if args.key?(:iam_owned)
151
+ @rules = args[:rules] if args.key?(:rules)
152
+ @version = args[:version] if args.key?(:version)
153
+ @audit_configs = args[:audit_configs] if args.key?(:audit_configs)
154
+ @bindings = args[:bindings] if args.key?(:bindings)
155
+ @etag = args[:etag] if args.key?(:etag)
151
156
  end
152
157
  end
153
158
 
154
- # A resource that represents Google Cloud Platform location.
155
- class Location
159
+ # Response message for KeyManagementService.Encrypt.
160
+ class EncryptResponse
156
161
  include Google::Apis::Core::Hashable
157
162
 
158
- # The canonical id for this location. For example: `"us-east1"`.
159
- # Corresponds to the JSON property `locationId`
160
- # @return [String]
161
- attr_accessor :location_id
162
-
163
- # Service-specific metadata. For example the available capacity at the given
164
- # location.
165
- # Corresponds to the JSON property `metadata`
166
- # @return [Hash<String,Object>]
167
- attr_accessor :metadata
168
-
169
- # Cross-service attributes for the location. For example
170
- # `"cloud.googleapis.com/region": "us-east1"`
171
- # Corresponds to the JSON property `labels`
172
- # @return [Hash<String,String>]
173
- attr_accessor :labels
174
-
175
- # Resource name for the location, which may vary between implementations.
176
- # For example: `"projects/example-project/locations/us-east1"`
163
+ # The resource name of the CryptoKeyVersion used in encryption.
177
164
  # Corresponds to the JSON property `name`
178
165
  # @return [String]
179
166
  attr_accessor :name
180
167
 
168
+ # The encrypted data.
169
+ # Corresponds to the JSON property `ciphertext`
170
+ # @return [String]
171
+ attr_accessor :ciphertext
172
+
181
173
  def initialize(**args)
182
174
  update!(**args)
183
175
  end
184
176
 
185
177
  # Update properties of this object
186
178
  def update!(**args)
187
- @location_id = args[:location_id] if args.key?(:location_id)
188
- @metadata = args[:metadata] if args.key?(:metadata)
189
- @labels = args[:labels] if args.key?(:labels)
190
179
  @name = args[:name] if args.key?(:name)
180
+ @ciphertext = args[:ciphertext] if args.key?(:ciphertext)
191
181
  end
192
182
  end
193
183
 
194
- # Response message for KeyManagementService.ListCryptoKeys.
195
- class ListCryptoKeysResponse
184
+ # A KeyRing is a toplevel logical grouping of CryptoKeys.
185
+ class KeyRing
196
186
  include Google::Apis::Core::Hashable
197
187
 
198
- # A token to retrieve next page of results. Pass this value in
199
- # ListCryptoKeysRequest.page_token to retrieve the next page of results.
200
- # Corresponds to the JSON property `nextPageToken`
188
+ # Output only. The resource name for the KeyRing in the format
189
+ # `projects/*/locations/*/keyRings/*`.
190
+ # Corresponds to the JSON property `name`
201
191
  # @return [String]
202
- attr_accessor :next_page_token
203
-
204
- # The list of CryptoKeys.
205
- # Corresponds to the JSON property `cryptoKeys`
206
- # @return [Array<Google::Apis::CloudkmsV1beta1::CryptoKey>]
207
- attr_accessor :crypto_keys
192
+ attr_accessor :name
208
193
 
209
- # The total number of CryptoKeys that matched the query.
210
- # Corresponds to the JSON property `totalSize`
211
- # @return [Fixnum]
212
- attr_accessor :total_size
194
+ # Output only. The time at which this KeyRing was created.
195
+ # Corresponds to the JSON property `createTime`
196
+ # @return [String]
197
+ attr_accessor :create_time
213
198
 
214
199
  def initialize(**args)
215
200
  update!(**args)
@@ -217,46 +202,57 @@ module Google
217
202
 
218
203
  # Update properties of this object
219
204
  def update!(**args)
220
- @next_page_token = args[:next_page_token] if args.key?(:next_page_token)
221
- @crypto_keys = args[:crypto_keys] if args.key?(:crypto_keys)
222
- @total_size = args[:total_size] if args.key?(:total_size)
205
+ @name = args[:name] if args.key?(:name)
206
+ @create_time = args[:create_time] if args.key?(:create_time)
223
207
  end
224
208
  end
225
209
 
226
- # A condition to be met.
227
- class Condition
210
+ # The response message for Locations.ListLocations.
211
+ class ListLocationsResponse
228
212
  include Google::Apis::Core::Hashable
229
213
 
230
- # DEPRECATED. Use 'values' instead.
231
- # Corresponds to the JSON property `value`
232
- # @return [String]
233
- attr_accessor :value
214
+ # A list of locations that matches the specified filter in the request.
215
+ # Corresponds to the JSON property `locations`
216
+ # @return [Array<Google::Apis::CloudkmsV1beta1::Location>]
217
+ attr_accessor :locations
234
218
 
235
- # Trusted attributes supplied by any service that owns resources and uses
236
- # the IAM system for access control.
237
- # Corresponds to the JSON property `sys`
219
+ # The standard List next-page token.
220
+ # Corresponds to the JSON property `nextPageToken`
238
221
  # @return [String]
239
- attr_accessor :sys
222
+ attr_accessor :next_page_token
240
223
 
241
- # The objects of the condition. This is mutually exclusive with 'value'.
242
- # Corresponds to the JSON property `values`
243
- # @return [Array<String>]
244
- attr_accessor :values
224
+ def initialize(**args)
225
+ update!(**args)
226
+ end
245
227
 
246
- # Trusted attributes supplied by the IAM system.
247
- # Corresponds to the JSON property `iam`
248
- # @return [String]
249
- attr_accessor :iam
228
+ # Update properties of this object
229
+ def update!(**args)
230
+ @locations = args[:locations] if args.key?(:locations)
231
+ @next_page_token = args[:next_page_token] if args.key?(:next_page_token)
232
+ end
233
+ end
250
234
 
251
- # An operator to apply the subject with.
252
- # Corresponds to the JSON property `op`
253
- # @return [String]
254
- attr_accessor :op
235
+ # Request message for KeyManagementService.RestoreCryptoKeyVersion.
236
+ class RestoreCryptoKeyVersionRequest
237
+ include Google::Apis::Core::Hashable
255
238
 
256
- # Trusted attributes discharged by the service.
257
- # Corresponds to the JSON property `svc`
239
+ def initialize(**args)
240
+ update!(**args)
241
+ end
242
+
243
+ # Update properties of this object
244
+ def update!(**args)
245
+ end
246
+ end
247
+
248
+ # Request message for KeyManagementService.UpdateCryptoKeyPrimaryVersion.
249
+ class UpdateCryptoKeyPrimaryVersionRequest
250
+ include Google::Apis::Core::Hashable
251
+
252
+ # The id of the child CryptoKeyVersion to use as primary.
253
+ # Corresponds to the JSON property `cryptoKeyVersionId`
258
254
  # @return [String]
259
- attr_accessor :svc
255
+ attr_accessor :crypto_key_version_id
260
256
 
261
257
  def initialize(**args)
262
258
  update!(**args)
@@ -264,28 +260,42 @@ module Google
264
260
 
265
261
  # Update properties of this object
266
262
  def update!(**args)
267
- @value = args[:value] if args.key?(:value)
268
- @sys = args[:sys] if args.key?(:sys)
269
- @values = args[:values] if args.key?(:values)
270
- @iam = args[:iam] if args.key?(:iam)
271
- @op = args[:op] if args.key?(:op)
272
- @svc = args[:svc] if args.key?(:svc)
263
+ @crypto_key_version_id = args[:crypto_key_version_id] if args.key?(:crypto_key_version_id)
273
264
  end
274
265
  end
275
266
 
276
- # Options for counters
277
- class CounterOptions
267
+ # Write a Data Access (Gin) log
268
+ class DataAccessOptions
278
269
  include Google::Apis::Core::Hashable
279
270
 
280
- # The metric to update.
281
- # Corresponds to the JSON property `metric`
282
- # @return [String]
283
- attr_accessor :metric
271
+ def initialize(**args)
272
+ update!(**args)
273
+ end
284
274
 
285
- # The field value to attribute.
286
- # Corresponds to the JSON property `field`
275
+ # Update properties of this object
276
+ def update!(**args)
277
+ end
278
+ end
279
+
280
+ # Response message for KeyManagementService.ListKeyRings.
281
+ class ListKeyRingsResponse
282
+ include Google::Apis::Core::Hashable
283
+
284
+ # A token to retrieve next page of results. Pass this value in
285
+ # ListKeyRingsRequest.page_token to retrieve the next page of results.
286
+ # Corresponds to the JSON property `nextPageToken`
287
287
  # @return [String]
288
- attr_accessor :field
288
+ attr_accessor :next_page_token
289
+
290
+ # The total number of KeyRings that matched the query.
291
+ # Corresponds to the JSON property `totalSize`
292
+ # @return [Fixnum]
293
+ attr_accessor :total_size
294
+
295
+ # The list of KeyRings.
296
+ # Corresponds to the JSON property `keyRings`
297
+ # @return [Array<Google::Apis::CloudkmsV1beta1::KeyRing>]
298
+ attr_accessor :key_rings
289
299
 
290
300
  def initialize(**args)
291
301
  update!(**args)
@@ -293,42 +303,39 @@ module Google
293
303
 
294
304
  # Update properties of this object
295
305
  def update!(**args)
296
- @metric = args[:metric] if args.key?(:metric)
297
- @field = args[:field] if args.key?(:field)
306
+ @next_page_token = args[:next_page_token] if args.key?(:next_page_token)
307
+ @total_size = args[:total_size] if args.key?(:total_size)
308
+ @key_rings = args[:key_rings] if args.key?(:key_rings)
298
309
  end
299
310
  end
300
311
 
301
- # Provides the configuration for logging a type of permissions.
302
- # Example:
303
- # `
304
- # "audit_log_configs": [
305
- # `
306
- # "log_type": "DATA_READ",
307
- # "exempted_members": [
308
- # "user:foo@gmail.com"
309
- # ]
310
- # `,
311
- # `
312
- # "log_type": "DATA_WRITE",
313
- # `
314
- # ]
315
- # `
316
- # This enables 'DATA_READ' and 'DATA_WRITE' logging, while exempting
317
- # foo@gmail.com from DATA_READ logging.
318
- class AuditLogConfig
312
+ # Specifies the audit configuration for a service.
313
+ # It consists of which permission types are logged, and what identities, if
314
+ # any, are exempted from logging.
315
+ # An AuditConifg must have one or more AuditLogConfigs.
316
+ class AuditConfig
319
317
  include Google::Apis::Core::Hashable
320
318
 
321
- # Specifies the identities that do not cause logging for this type of
322
- # permission.
319
+ # Specifies the identities that are exempted from "data access" audit
320
+ # logging for the `service` specified above.
323
321
  # Follows the same format of Binding.members.
322
+ # This field is deprecated in favor of per-permission-type exemptions.
324
323
  # Corresponds to the JSON property `exemptedMembers`
325
324
  # @return [Array<String>]
326
325
  attr_accessor :exempted_members
327
326
 
328
- # The log type that this config enables.
329
- # Corresponds to the JSON property `logType`
327
+ # Specifies a service that will be enabled for audit logging.
328
+ # For example, `resourcemanager`, `storage`, `compute`.
329
+ # `allServices` is a special value that covers all services.
330
+ # Corresponds to the JSON property `service`
330
331
  # @return [String]
331
- attr_accessor :log_type
332
+ attr_accessor :service
333
+
334
+ # The configuration for logging of each type of permission.
335
+ # Next ID: 4
336
+ # Corresponds to the JSON property `auditLogConfigs`
337
+ # @return [Array<Google::Apis::CloudkmsV1beta1::AuditLogConfig>]
338
+ attr_accessor :audit_log_configs
332
339
 
333
340
  def initialize(**args)
334
341
  update!(**args)
@@ -337,18 +344,48 @@ module Google
337
344
  # Update properties of this object
338
345
  def update!(**args)
339
346
  @exempted_members = args[:exempted_members] if args.key?(:exempted_members)
340
- @log_type = args[:log_type] if args.key?(:log_type)
347
+ @service = args[:service] if args.key?(:service)
348
+ @audit_log_configs = args[:audit_log_configs] if args.key?(:audit_log_configs)
341
349
  end
342
350
  end
343
351
 
344
- # Response message for KeyManagementService.Decrypt.
345
- class DecryptResponse
352
+ # A CryptoKeyVersion represents an individual cryptographic key, and the
353
+ # associated key material.
354
+ # It can be used for cryptographic operations either directly, or via its
355
+ # parent CryptoKey, in which case the server will choose the appropriate
356
+ # version for the operation.
357
+ class CryptoKeyVersion
346
358
  include Google::Apis::Core::Hashable
347
359
 
348
- # The decrypted data originally supplied in EncryptRequest.plaintext.
349
- # Corresponds to the JSON property `plaintext`
360
+ # Output only. The time this CryptoKeyVersion's key material is scheduled
361
+ # for destruction. Only present if state is
362
+ # DESTROY_SCHEDULED.
363
+ # Corresponds to the JSON property `destroyTime`
350
364
  # @return [String]
351
- attr_accessor :plaintext
365
+ attr_accessor :destroy_time
366
+
367
+ # Output only. The time at which this CryptoKeyVersion was created.
368
+ # Corresponds to the JSON property `createTime`
369
+ # @return [String]
370
+ attr_accessor :create_time
371
+
372
+ # The current state of the CryptoKeyVersion.
373
+ # Corresponds to the JSON property `state`
374
+ # @return [String]
375
+ attr_accessor :state
376
+
377
+ # Output only. The resource name for this CryptoKeyVersion in the format
378
+ # `projects/*/locations/*/keyRings/*/cryptoKeys/*/cryptoKeyVersions/*`.
379
+ # Corresponds to the JSON property `name`
380
+ # @return [String]
381
+ attr_accessor :name
382
+
383
+ # Output only. The time this CryptoKeyVersion's key material was
384
+ # destroyed. Only present if state is
385
+ # DESTROYED.
386
+ # Corresponds to the JSON property `destroyEventTime`
387
+ # @return [String]
388
+ attr_accessor :destroy_event_time
352
389
 
353
390
  def initialize(**args)
354
391
  update!(**args)
@@ -356,45 +393,55 @@ module Google
356
393
 
357
394
  # Update properties of this object
358
395
  def update!(**args)
359
- @plaintext = args[:plaintext] if args.key?(:plaintext)
396
+ @destroy_time = args[:destroy_time] if args.key?(:destroy_time)
397
+ @create_time = args[:create_time] if args.key?(:create_time)
398
+ @state = args[:state] if args.key?(:state)
399
+ @name = args[:name] if args.key?(:name)
400
+ @destroy_event_time = args[:destroy_event_time] if args.key?(:destroy_event_time)
360
401
  end
361
402
  end
362
403
 
363
- # Request message for `TestIamPermissions` method.
364
- class TestIamPermissionsRequest
404
+ # Write a Cloud Audit log
405
+ class CloudAuditOptions
365
406
  include Google::Apis::Core::Hashable
366
407
 
367
- # The set of permissions to check for the `resource`. Permissions with
368
- # wildcards (such as '*' or 'storage.*') are not allowed. For more
369
- # information see
370
- # [IAM Overview](https://cloud.google.com/iam/docs/overview#permissions).
371
- # Corresponds to the JSON property `permissions`
372
- # @return [Array<String>]
373
- attr_accessor :permissions
374
-
375
408
  def initialize(**args)
376
409
  update!(**args)
377
410
  end
378
411
 
379
412
  # Update properties of this object
380
413
  def update!(**args)
381
- @permissions = args[:permissions] if args.key?(:permissions)
382
414
  end
383
415
  end
384
416
 
385
- # The response message for Locations.ListLocations.
386
- class ListLocationsResponse
417
+ # Associates `members` with a `role`.
418
+ class Binding
387
419
  include Google::Apis::Core::Hashable
388
420
 
389
- # The standard List next-page token.
390
- # Corresponds to the JSON property `nextPageToken`
391
- # @return [String]
392
- attr_accessor :next_page_token
421
+ # Specifies the identities requesting access for a Cloud Platform resource.
422
+ # `members` can have the following values:
423
+ # * `allUsers`: A special identifier that represents anyone who is
424
+ # on the internet; with or without a Google account.
425
+ # * `allAuthenticatedUsers`: A special identifier that represents anyone
426
+ # who is authenticated with a Google account or a service account.
427
+ # * `user:`emailid``: An email address that represents a specific Google
428
+ # account. For example, `alice@gmail.com` or `joe@example.com`.
429
+ # * `serviceAccount:`emailid``: An email address that represents a service
430
+ # account. For example, `my-other-app@appspot.gserviceaccount.com`.
431
+ # * `group:`emailid``: An email address that represents a Google group.
432
+ # For example, `admins@example.com`.
433
+ # * `domain:`domain``: A Google Apps domain name that represents all the
434
+ # users of that domain. For example, `google.com` or `example.com`.
435
+ # Corresponds to the JSON property `members`
436
+ # @return [Array<String>]
437
+ attr_accessor :members
393
438
 
394
- # A list of locations that matches the specified filter in the request.
395
- # Corresponds to the JSON property `locations`
396
- # @return [Array<Google::Apis::CloudkmsV1beta1::Location>]
397
- attr_accessor :locations
439
+ # Role that is assigned to `members`.
440
+ # For example, `roles/viewer`, `roles/editor`, or `roles/owner`.
441
+ # Required
442
+ # Corresponds to the JSON property `role`
443
+ # @return [String]
444
+ attr_accessor :role
398
445
 
399
446
  def initialize(**args)
400
447
  update!(**args)
@@ -402,88 +449,26 @@ module Google
402
449
 
403
450
  # Update properties of this object
404
451
  def update!(**args)
405
- @next_page_token = args[:next_page_token] if args.key?(:next_page_token)
406
- @locations = args[:locations] if args.key?(:locations)
452
+ @members = args[:members] if args.key?(:members)
453
+ @role = args[:role] if args.key?(:role)
407
454
  end
408
455
  end
409
456
 
410
- # Defines an Identity and Access Management (IAM) policy. It is used to
411
- # specify access control policies for Cloud Platform resources.
412
- # A `Policy` consists of a list of `bindings`. A `Binding` binds a list of
413
- # `members` to a `role`, where the members can be user accounts, Google groups,
414
- # Google domains, and service accounts. A `role` is a named list of permissions
415
- # defined by IAM.
416
- # **Example**
417
- # `
418
- # "bindings": [
419
- # `
420
- # "role": "roles/owner",
421
- # "members": [
422
- # "user:mike@example.com",
423
- # "group:admins@example.com",
424
- # "domain:google.com",
425
- # "serviceAccount:my-other-app@appspot.gserviceaccount.com",
426
- # ]
427
- # `,
428
- # `
429
- # "role": "roles/viewer",
430
- # "members": ["user:sean@example.com"]
431
- # `
432
- # ]
433
- # `
434
- # For a description of IAM and its features, see the
435
- # [IAM developer's guide](https://cloud.google.com/iam).
436
- class Policy
457
+ # Request message for KeyManagementService.Encrypt.
458
+ class EncryptRequest
437
459
  include Google::Apis::Core::Hashable
438
460
 
439
- #
440
- # Corresponds to the JSON property `iamOwned`
441
- # @return [Boolean]
442
- attr_accessor :iam_owned
443
- alias_method :iam_owned?, :iam_owned
444
-
445
- # If more than one rule is specified, the rules are applied in the following
446
- # manner:
447
- # - All matching LOG rules are always applied.
448
- # - If any DENY/DENY_WITH_LOG rule matches, permission is denied.
449
- # Logging will be applied if one or more matching rule requires logging.
450
- # - Otherwise, if any ALLOW/ALLOW_WITH_LOG rule matches, permission is
451
- # granted.
452
- # Logging will be applied if one or more matching rule requires logging.
453
- # - Otherwise, if no rule applies, permission is denied.
454
- # Corresponds to the JSON property `rules`
455
- # @return [Array<Google::Apis::CloudkmsV1beta1::Rule>]
456
- attr_accessor :rules
457
-
458
- # Version of the `Policy`. The default version is 0.
459
- # Corresponds to the JSON property `version`
460
- # @return [Fixnum]
461
- attr_accessor :version
462
-
463
- # Specifies cloud audit logging configuration for this policy.
464
- # Corresponds to the JSON property `auditConfigs`
465
- # @return [Array<Google::Apis::CloudkmsV1beta1::AuditConfig>]
466
- attr_accessor :audit_configs
467
-
468
- # Associates a list of `members` to a `role`.
469
- # Multiple `bindings` must not be specified for the same `role`.
470
- # `bindings` with no members will result in an error.
471
- # Corresponds to the JSON property `bindings`
472
- # @return [Array<Google::Apis::CloudkmsV1beta1::Binding>]
473
- attr_accessor :bindings
461
+ # Required. The data to encrypt. Must be no larger than 64KiB.
462
+ # Corresponds to the JSON property `plaintext`
463
+ # @return [String]
464
+ attr_accessor :plaintext
474
465
 
475
- # `etag` is used for optimistic concurrency control as a way to help
476
- # prevent simultaneous updates of a policy from overwriting each other.
477
- # It is strongly suggested that systems make use of the `etag` in the
478
- # read-modify-write cycle to perform policy updates in order to avoid race
479
- # conditions: An `etag` is returned in the response to `getIamPolicy`, and
480
- # systems are expected to put that etag in the request to `setIamPolicy` to
481
- # ensure that their change will be applied to the same version of the policy.
482
- # If no `etag` is provided in the call to `setIamPolicy`, then the existing
483
- # policy is overwritten blindly.
484
- # Corresponds to the JSON property `etag`
466
+ # Optional data that, if specified, must also be provided during decryption
467
+ # through DecryptRequest.additional_authenticated_data. Must be no
468
+ # larger than 64KiB.
469
+ # Corresponds to the JSON property `additionalAuthenticatedData`
485
470
  # @return [String]
486
- attr_accessor :etag
471
+ attr_accessor :additional_authenticated_data
487
472
 
488
473
  def initialize(**args)
489
474
  update!(**args)
@@ -491,28 +476,32 @@ module Google
491
476
 
492
477
  # Update properties of this object
493
478
  def update!(**args)
494
- @iam_owned = args[:iam_owned] if args.key?(:iam_owned)
495
- @rules = args[:rules] if args.key?(:rules)
496
- @version = args[:version] if args.key?(:version)
497
- @audit_configs = args[:audit_configs] if args.key?(:audit_configs)
498
- @bindings = args[:bindings] if args.key?(:bindings)
499
- @etag = args[:etag] if args.key?(:etag)
479
+ @plaintext = args[:plaintext] if args.key?(:plaintext)
480
+ @additional_authenticated_data = args[:additional_authenticated_data] if args.key?(:additional_authenticated_data)
500
481
  end
501
482
  end
502
483
 
503
- # Response message for KeyManagementService.Encrypt.
504
- class EncryptResponse
484
+ # Response message for KeyManagementService.ListCryptoKeyVersions.
485
+ class ListCryptoKeyVersionsResponse
505
486
  include Google::Apis::Core::Hashable
506
487
 
507
- # The encrypted data.
508
- # Corresponds to the JSON property `ciphertext`
509
- # @return [String]
510
- attr_accessor :ciphertext
488
+ # The list of CryptoKeyVersions.
489
+ # Corresponds to the JSON property `cryptoKeyVersions`
490
+ # @return [Array<Google::Apis::CloudkmsV1beta1::CryptoKeyVersion>]
491
+ attr_accessor :crypto_key_versions
511
492
 
512
- # The resource name of the CryptoKeyVersion used in encryption.
513
- # Corresponds to the JSON property `name`
493
+ # A token to retrieve next page of results. Pass this value in
494
+ # ListCryptoKeyVersionsRequest.page_token to retrieve the next page of
495
+ # results.
496
+ # Corresponds to the JSON property `nextPageToken`
514
497
  # @return [String]
515
- attr_accessor :name
498
+ attr_accessor :next_page_token
499
+
500
+ # The total number of CryptoKeyVersions that matched the
501
+ # query.
502
+ # Corresponds to the JSON property `totalSize`
503
+ # @return [Fixnum]
504
+ attr_accessor :total_size
516
505
 
517
506
  def initialize(**args)
518
507
  update!(**args)
@@ -520,25 +509,21 @@ module Google
520
509
 
521
510
  # Update properties of this object
522
511
  def update!(**args)
523
- @ciphertext = args[:ciphertext] if args.key?(:ciphertext)
524
- @name = args[:name] if args.key?(:name)
512
+ @crypto_key_versions = args[:crypto_key_versions] if args.key?(:crypto_key_versions)
513
+ @next_page_token = args[:next_page_token] if args.key?(:next_page_token)
514
+ @total_size = args[:total_size] if args.key?(:total_size)
525
515
  end
526
516
  end
527
517
 
528
- # A KeyRing is a toplevel logical grouping of CryptoKeys.
529
- class KeyRing
518
+ # Response message for `TestIamPermissions` method.
519
+ class TestIamPermissionsResponse
530
520
  include Google::Apis::Core::Hashable
531
521
 
532
- # Output only. The time at which this KeyRing was created.
533
- # Corresponds to the JSON property `createTime`
534
- # @return [String]
535
- attr_accessor :create_time
536
-
537
- # Output only. The resource name for the KeyRing in the format
538
- # `projects/*/locations/*/keyRings/*`.
539
- # Corresponds to the JSON property `name`
540
- # @return [String]
541
- attr_accessor :name
522
+ # A subset of `TestPermissionsRequest.permissions` that the caller is
523
+ # allowed.
524
+ # Corresponds to the JSON property `permissions`
525
+ # @return [Array<String>]
526
+ attr_accessor :permissions
542
527
 
543
528
  def initialize(**args)
544
529
  update!(**args)
@@ -546,75 +531,68 @@ module Google
546
531
 
547
532
  # Update properties of this object
548
533
  def update!(**args)
549
- @create_time = args[:create_time] if args.key?(:create_time)
550
- @name = args[:name] if args.key?(:name)
534
+ @permissions = args[:permissions] if args.key?(:permissions)
551
535
  end
552
536
  end
553
537
 
554
- # Request message for KeyManagementService.UpdateCryptoKeyPrimaryVersion.
555
- class UpdateCryptoKeyPrimaryVersionRequest
538
+ # Request message for KeyManagementService.DestroyCryptoKeyVersion.
539
+ class DestroyCryptoKeyVersionRequest
556
540
  include Google::Apis::Core::Hashable
557
541
 
558
- # The id of the child CryptoKeyVersion to use as primary.
559
- # Corresponds to the JSON property `cryptoKeyVersionId`
560
- # @return [String]
561
- attr_accessor :crypto_key_version_id
562
-
563
542
  def initialize(**args)
564
543
  update!(**args)
565
544
  end
566
545
 
567
546
  # Update properties of this object
568
547
  def update!(**args)
569
- @crypto_key_version_id = args[:crypto_key_version_id] if args.key?(:crypto_key_version_id)
570
548
  end
571
549
  end
572
550
 
573
- # Request message for KeyManagementService.RestoreCryptoKeyVersion.
574
- class RestoreCryptoKeyVersionRequest
551
+ # A rule to be applied in a Policy.
552
+ class Rule
575
553
  include Google::Apis::Core::Hashable
576
554
 
577
- def initialize(**args)
578
- update!(**args)
579
- end
580
-
581
- # Update properties of this object
582
- def update!(**args)
583
- end
584
- end
555
+ # If one or more 'not_in' clauses are specified, the rule matches
556
+ # if the PRINCIPAL/AUTHORITY_SELECTOR is in none of the entries.
557
+ # The format for in and not_in entries is the same as for members in a
558
+ # Binding (see google/iam/v1/policy.proto).
559
+ # Corresponds to the JSON property `notIn`
560
+ # @return [Array<String>]
561
+ attr_accessor :not_in
585
562
 
586
- # Write a Data Access (Gin) log
587
- class DataAccessOptions
588
- include Google::Apis::Core::Hashable
563
+ # Human-readable description of the rule.
564
+ # Corresponds to the JSON property `description`
565
+ # @return [String]
566
+ attr_accessor :description
589
567
 
590
- def initialize(**args)
591
- update!(**args)
592
- end
568
+ # Additional restrictions that must be met
569
+ # Corresponds to the JSON property `conditions`
570
+ # @return [Array<Google::Apis::CloudkmsV1beta1::Condition>]
571
+ attr_accessor :conditions
593
572
 
594
- # Update properties of this object
595
- def update!(**args)
596
- end
597
- end
573
+ # The config returned to callers of tech.iam.IAM.CheckPolicy for any entries
574
+ # that match the LOG action.
575
+ # Corresponds to the JSON property `logConfig`
576
+ # @return [Array<Google::Apis::CloudkmsV1beta1::LogConfig>]
577
+ attr_accessor :log_config
598
578
 
599
- # Response message for KeyManagementService.ListKeyRings.
600
- class ListKeyRingsResponse
601
- include Google::Apis::Core::Hashable
579
+ # If one or more 'in' clauses are specified, the rule matches if
580
+ # the PRINCIPAL/AUTHORITY_SELECTOR is in at least one of these entries.
581
+ # Corresponds to the JSON property `in`
582
+ # @return [Array<String>]
583
+ attr_accessor :in
602
584
 
603
- # The list of KeyRings.
604
- # Corresponds to the JSON property `keyRings`
605
- # @return [Array<Google::Apis::CloudkmsV1beta1::KeyRing>]
606
- attr_accessor :key_rings
585
+ # A permission is a string of form '<service>.<resource type>.<verb>'
586
+ # (e.g., 'storage.buckets.list'). A value of '*' matches all permissions,
587
+ # and a verb part of '*' (e.g., 'storage.buckets.*') matches all verbs.
588
+ # Corresponds to the JSON property `permissions`
589
+ # @return [Array<String>]
590
+ attr_accessor :permissions
607
591
 
608
- # A token to retrieve next page of results. Pass this value in
609
- # ListKeyRingsRequest.page_token to retrieve the next page of results.
610
- # Corresponds to the JSON property `nextPageToken`
592
+ # Required
593
+ # Corresponds to the JSON property `action`
611
594
  # @return [String]
612
- attr_accessor :next_page_token
613
-
614
- # The total number of KeyRings that matched the query.
615
- # Corresponds to the JSON property `totalSize`
616
- # @return [Fixnum]
617
- attr_accessor :total_size
595
+ attr_accessor :action
618
596
 
619
597
  def initialize(**args)
620
598
  update!(**args)
@@ -622,39 +600,66 @@ module Google
622
600
 
623
601
  # Update properties of this object
624
602
  def update!(**args)
625
- @key_rings = args[:key_rings] if args.key?(:key_rings)
626
- @next_page_token = args[:next_page_token] if args.key?(:next_page_token)
627
- @total_size = args[:total_size] if args.key?(:total_size)
603
+ @not_in = args[:not_in] if args.key?(:not_in)
604
+ @description = args[:description] if args.key?(:description)
605
+ @conditions = args[:conditions] if args.key?(:conditions)
606
+ @log_config = args[:log_config] if args.key?(:log_config)
607
+ @in = args[:in] if args.key?(:in)
608
+ @permissions = args[:permissions] if args.key?(:permissions)
609
+ @action = args[:action] if args.key?(:action)
628
610
  end
629
611
  end
630
612
 
631
- # Specifies the audit configuration for a service.
632
- # It consists of which permission types are logged, and what identities, if
633
- # any, are exempted from logging.
634
- # An AuditConifg must have one or more AuditLogConfigs.
635
- class AuditConfig
613
+ # A CryptoKey represents a logical key that can be used for cryptographic
614
+ # operations.
615
+ # A CryptoKey is made up of one or more versions, which
616
+ # represent the actual key material used in cryptographic operations.
617
+ class CryptoKey
636
618
  include Google::Apis::Core::Hashable
637
619
 
638
- # The configuration for logging of each type of permission.
639
- # Next ID: 4
640
- # Corresponds to the JSON property `auditLogConfigs`
641
- # @return [Array<Google::Apis::CloudkmsV1beta1::AuditLogConfig>]
642
- attr_accessor :audit_log_configs
620
+ # The immutable purpose of this CryptoKey. Currently, the only acceptable
621
+ # purpose is ENCRYPT_DECRYPT.
622
+ # Corresponds to the JSON property `purpose`
623
+ # @return [String]
624
+ attr_accessor :purpose
643
625
 
644
- # Specifies the identities that are exempted from "data access" audit
645
- # logging for the `service` specified above.
646
- # Follows the same format of Binding.members.
647
- # This field is deprecated in favor of per-permission-type exemptions.
648
- # Corresponds to the JSON property `exemptedMembers`
649
- # @return [Array<String>]
650
- attr_accessor :exempted_members
626
+ # At next_rotation_time, the Key Management Service will automatically:
627
+ # 1. Create a new version of this CryptoKey.
628
+ # 2. Mark the new version as primary.
629
+ # Key rotations performed manually via
630
+ # CreateCryptoKeyVersion and
631
+ # UpdateCryptoKeyPrimaryVersion
632
+ # do not affect next_rotation_time.
633
+ # Corresponds to the JSON property `nextRotationTime`
634
+ # @return [String]
635
+ attr_accessor :next_rotation_time
651
636
 
652
- # Specifies a service that will be enabled for audit logging.
653
- # For example, `resourcemanager`, `storage`, `compute`.
654
- # `allServices` is a special value that covers all services.
655
- # Corresponds to the JSON property `service`
637
+ # Output only. The time at which this CryptoKey was created.
638
+ # Corresponds to the JSON property `createTime`
656
639
  # @return [String]
657
- attr_accessor :service
640
+ attr_accessor :create_time
641
+
642
+ # next_rotation_time will be advanced by this period when the service
643
+ # automatically rotates a key. Must be at least one day.
644
+ # If rotation_period is set, next_rotation_time must also be set.
645
+ # Corresponds to the JSON property `rotationPeriod`
646
+ # @return [String]
647
+ attr_accessor :rotation_period
648
+
649
+ # A CryptoKeyVersion represents an individual cryptographic key, and the
650
+ # associated key material.
651
+ # It can be used for cryptographic operations either directly, or via its
652
+ # parent CryptoKey, in which case the server will choose the appropriate
653
+ # version for the operation.
654
+ # Corresponds to the JSON property `primary`
655
+ # @return [Google::Apis::CloudkmsV1beta1::CryptoKeyVersion]
656
+ attr_accessor :primary
657
+
658
+ # Output only. The resource name for this CryptoKey in the format
659
+ # `projects/*/locations/*/keyRings/*/cryptoKeys/*`.
660
+ # Corresponds to the JSON property `name`
661
+ # @return [String]
662
+ attr_accessor :name
658
663
 
659
664
  def initialize(**args)
660
665
  update!(**args)
@@ -662,49 +667,50 @@ module Google
662
667
 
663
668
  # Update properties of this object
664
669
  def update!(**args)
665
- @audit_log_configs = args[:audit_log_configs] if args.key?(:audit_log_configs)
666
- @exempted_members = args[:exempted_members] if args.key?(:exempted_members)
667
- @service = args[:service] if args.key?(:service)
670
+ @purpose = args[:purpose] if args.key?(:purpose)
671
+ @next_rotation_time = args[:next_rotation_time] if args.key?(:next_rotation_time)
672
+ @create_time = args[:create_time] if args.key?(:create_time)
673
+ @rotation_period = args[:rotation_period] if args.key?(:rotation_period)
674
+ @primary = args[:primary] if args.key?(:primary)
675
+ @name = args[:name] if args.key?(:name)
668
676
  end
669
677
  end
670
678
 
671
- # A CryptoKeyVersion represents an individual cryptographic key, and the
672
- # associated key material.
673
- # It can be used for cryptographic operations either directly, or via its
674
- # parent CryptoKey, in which case the server will choose the appropriate
675
- # version for the operation.
676
- class CryptoKeyVersion
679
+ # Specifies what kind of log the caller must write
680
+ # Increment a streamz counter with the specified metric and field names.
681
+ # Metric names should start with a '/', generally be lowercase-only,
682
+ # and end in "_count". Field names should not contain an initial slash.
683
+ # The actual exported metric names will have "/iam/policy" prepended.
684
+ # Field names correspond to IAM request parameters and field values are
685
+ # their respective values.
686
+ # At present the only supported field names are
687
+ # - "iam_principal", corresponding to IAMContext.principal;
688
+ # - "" (empty string), resulting in one aggretated counter with no field.
689
+ # Examples:
690
+ # counter ` metric: "/debug_access_count" field: "iam_principal" `
691
+ # ==> increment counter /iam/policy/backend_debug_access_count
692
+ # `iam_principal=[value of IAMContext.principal]`
693
+ # At this time we do not support:
694
+ # * multiple field names (though this may be supported in the future)
695
+ # * decrementing the counter
696
+ # * incrementing it by anything other than 1
697
+ class LogConfig
677
698
  include Google::Apis::Core::Hashable
678
699
 
679
- # Output only. The time at which this CryptoKeyVersion was created.
680
- # Corresponds to the JSON property `createTime`
681
- # @return [String]
682
- attr_accessor :create_time
683
-
684
- # The current state of the CryptoKeyVersion.
685
- # Corresponds to the JSON property `state`
686
- # @return [String]
687
- attr_accessor :state
688
-
689
- # Output only. The resource name for this CryptoKeyVersion in the format
690
- # `projects/*/locations/*/keyRings/*/cryptoKeys/*/cryptoKeyVersions/*`.
691
- # Corresponds to the JSON property `name`
692
- # @return [String]
693
- attr_accessor :name
700
+ # Write a Cloud Audit log
701
+ # Corresponds to the JSON property `cloudAudit`
702
+ # @return [Google::Apis::CloudkmsV1beta1::CloudAuditOptions]
703
+ attr_accessor :cloud_audit
694
704
 
695
- # Output only. The time this CryptoKeyVersion's key material was
696
- # destroyed. Only present if state is
697
- # DESTROYED.
698
- # Corresponds to the JSON property `destroyEventTime`
699
- # @return [String]
700
- attr_accessor :destroy_event_time
705
+ # Options for counters
706
+ # Corresponds to the JSON property `counter`
707
+ # @return [Google::Apis::CloudkmsV1beta1::CounterOptions]
708
+ attr_accessor :counter
701
709
 
702
- # Output only. The time this CryptoKeyVersion's key material is scheduled
703
- # for destruction. Only present if state is
704
- # DESTROY_SCHEDULED.
705
- # Corresponds to the JSON property `destroyTime`
706
- # @return [String]
707
- attr_accessor :destroy_time
710
+ # Write a Data Access (Gin) log
711
+ # Corresponds to the JSON property `dataAccess`
712
+ # @return [Google::Apis::CloudkmsV1beta1::DataAccessOptions]
713
+ attr_accessor :data_access
708
714
 
709
715
  def initialize(**args)
710
716
  update!(**args)
@@ -712,55 +718,81 @@ module Google
712
718
 
713
719
  # Update properties of this object
714
720
  def update!(**args)
715
- @create_time = args[:create_time] if args.key?(:create_time)
716
- @state = args[:state] if args.key?(:state)
717
- @name = args[:name] if args.key?(:name)
718
- @destroy_event_time = args[:destroy_event_time] if args.key?(:destroy_event_time)
719
- @destroy_time = args[:destroy_time] if args.key?(:destroy_time)
721
+ @cloud_audit = args[:cloud_audit] if args.key?(:cloud_audit)
722
+ @counter = args[:counter] if args.key?(:counter)
723
+ @data_access = args[:data_access] if args.key?(:data_access)
720
724
  end
721
725
  end
722
726
 
723
- # Write a Cloud Audit log
724
- class CloudAuditOptions
727
+ # Request message for `SetIamPolicy` method.
728
+ class SetIamPolicyRequest
725
729
  include Google::Apis::Core::Hashable
726
730
 
731
+ # Defines an Identity and Access Management (IAM) policy. It is used to
732
+ # specify access control policies for Cloud Platform resources.
733
+ # A `Policy` consists of a list of `bindings`. A `Binding` binds a list of
734
+ # `members` to a `role`, where the members can be user accounts, Google groups,
735
+ # Google domains, and service accounts. A `role` is a named list of permissions
736
+ # defined by IAM.
737
+ # **Example**
738
+ # `
739
+ # "bindings": [
740
+ # `
741
+ # "role": "roles/owner",
742
+ # "members": [
743
+ # "user:mike@example.com",
744
+ # "group:admins@example.com",
745
+ # "domain:google.com",
746
+ # "serviceAccount:my-other-app@appspot.gserviceaccount.com",
747
+ # ]
748
+ # `,
749
+ # `
750
+ # "role": "roles/viewer",
751
+ # "members": ["user:sean@example.com"]
752
+ # `
753
+ # ]
754
+ # `
755
+ # For a description of IAM and its features, see the
756
+ # [IAM developer's guide](https://cloud.google.com/iam).
757
+ # Corresponds to the JSON property `policy`
758
+ # @return [Google::Apis::CloudkmsV1beta1::Policy]
759
+ attr_accessor :policy
760
+
761
+ # OPTIONAL: A FieldMask specifying which fields of the policy to modify. Only
762
+ # the fields in the mask will be modified. If no mask is provided, a default
763
+ # mask is used:
764
+ # paths: "bindings, etag"
765
+ # This field is only used by Cloud IAM.
766
+ # Corresponds to the JSON property `updateMask`
767
+ # @return [String]
768
+ attr_accessor :update_mask
769
+
727
770
  def initialize(**args)
728
771
  update!(**args)
729
772
  end
730
773
 
731
774
  # Update properties of this object
732
775
  def update!(**args)
776
+ @policy = args[:policy] if args.key?(:policy)
777
+ @update_mask = args[:update_mask] if args.key?(:update_mask)
733
778
  end
734
779
  end
735
780
 
736
- # Associates `members` with a `role`.
737
- class Binding
781
+ # Request message for KeyManagementService.Decrypt.
782
+ class DecryptRequest
738
783
  include Google::Apis::Core::Hashable
739
784
 
740
- # Specifies the identities requesting access for a Cloud Platform resource.
741
- # `members` can have the following values:
742
- # * `allUsers`: A special identifier that represents anyone who is
743
- # on the internet; with or without a Google account.
744
- # * `allAuthenticatedUsers`: A special identifier that represents anyone
745
- # who is authenticated with a Google account or a service account.
746
- # * `user:`emailid``: An email address that represents a specific Google
747
- # account. For example, `alice@gmail.com` or `joe@example.com`.
748
- # * `serviceAccount:`emailid``: An email address that represents a service
749
- # account. For example, `my-other-app@appspot.gserviceaccount.com`.
750
- # * `group:`emailid``: An email address that represents a Google group.
751
- # For example, `admins@example.com`.
752
- # * `domain:`domain``: A Google Apps domain name that represents all the
753
- # users of that domain. For example, `google.com` or `example.com`.
754
- # Corresponds to the JSON property `members`
755
- # @return [Array<String>]
756
- attr_accessor :members
785
+ # Required. The encrypted data originally returned in
786
+ # EncryptResponse.ciphertext.
787
+ # Corresponds to the JSON property `ciphertext`
788
+ # @return [String]
789
+ attr_accessor :ciphertext
757
790
 
758
- # Role that is assigned to `members`.
759
- # For example, `roles/viewer`, `roles/editor`, or `roles/owner`.
760
- # Required
761
- # Corresponds to the JSON property `role`
791
+ # Optional data that must match the data originally supplied in
792
+ # EncryptRequest.additional_authenticated_data.
793
+ # Corresponds to the JSON property `additionalAuthenticatedData`
762
794
  # @return [String]
763
- attr_accessor :role
795
+ attr_accessor :additional_authenticated_data
764
796
 
765
797
  def initialize(**args)
766
798
  update!(**args)
@@ -768,26 +800,37 @@ module Google
768
800
 
769
801
  # Update properties of this object
770
802
  def update!(**args)
771
- @members = args[:members] if args.key?(:members)
772
- @role = args[:role] if args.key?(:role)
803
+ @ciphertext = args[:ciphertext] if args.key?(:ciphertext)
804
+ @additional_authenticated_data = args[:additional_authenticated_data] if args.key?(:additional_authenticated_data)
773
805
  end
774
806
  end
775
807
 
776
- # Request message for KeyManagementService.Encrypt.
777
- class EncryptRequest
808
+ # A resource that represents Google Cloud Platform location.
809
+ class Location
778
810
  include Google::Apis::Core::Hashable
779
811
 
780
- # Required. The data to encrypt. Must be no larger than 64KiB.
781
- # Corresponds to the JSON property `plaintext`
812
+ # Cross-service attributes for the location. For example
813
+ # `"cloud.googleapis.com/region": "us-east1"`
814
+ # Corresponds to the JSON property `labels`
815
+ # @return [Hash<String,String>]
816
+ attr_accessor :labels
817
+
818
+ # Resource name for the location, which may vary between implementations.
819
+ # For example: `"projects/example-project/locations/us-east1"`
820
+ # Corresponds to the JSON property `name`
782
821
  # @return [String]
783
- attr_accessor :plaintext
822
+ attr_accessor :name
784
823
 
785
- # Optional data that, if specified, must also be provided during decryption
786
- # through DecryptRequest.additional_authenticated_data. Must be no
787
- # larger than 64KiB.
788
- # Corresponds to the JSON property `additionalAuthenticatedData`
824
+ # The canonical id for this location. For example: `"us-east1"`.
825
+ # Corresponds to the JSON property `locationId`
789
826
  # @return [String]
790
- attr_accessor :additional_authenticated_data
827
+ attr_accessor :location_id
828
+
829
+ # Service-specific metadata. For example the available capacity at the given
830
+ # location.
831
+ # Corresponds to the JSON property `metadata`
832
+ # @return [Hash<String,Object>]
833
+ attr_accessor :metadata
791
834
 
792
835
  def initialize(**args)
793
836
  update!(**args)
@@ -795,29 +838,29 @@ module Google
795
838
 
796
839
  # Update properties of this object
797
840
  def update!(**args)
798
- @plaintext = args[:plaintext] if args.key?(:plaintext)
799
- @additional_authenticated_data = args[:additional_authenticated_data] if args.key?(:additional_authenticated_data)
841
+ @labels = args[:labels] if args.key?(:labels)
842
+ @name = args[:name] if args.key?(:name)
843
+ @location_id = args[:location_id] if args.key?(:location_id)
844
+ @metadata = args[:metadata] if args.key?(:metadata)
800
845
  end
801
846
  end
802
847
 
803
- # Response message for KeyManagementService.ListCryptoKeyVersions.
804
- class ListCryptoKeyVersionsResponse
848
+ # Response message for KeyManagementService.ListCryptoKeys.
849
+ class ListCryptoKeysResponse
805
850
  include Google::Apis::Core::Hashable
806
851
 
807
- # The list of CryptoKeyVersions.
808
- # Corresponds to the JSON property `cryptoKeyVersions`
809
- # @return [Array<Google::Apis::CloudkmsV1beta1::CryptoKeyVersion>]
810
- attr_accessor :crypto_key_versions
811
-
812
852
  # A token to retrieve next page of results. Pass this value in
813
- # ListCryptoKeyVersionsRequest.page_token to retrieve the next page of
814
- # results.
853
+ # ListCryptoKeysRequest.page_token to retrieve the next page of results.
815
854
  # Corresponds to the JSON property `nextPageToken`
816
855
  # @return [String]
817
856
  attr_accessor :next_page_token
818
857
 
819
- # The total number of CryptoKeyVersions that matched the
820
- # query.
858
+ # The list of CryptoKeys.
859
+ # Corresponds to the JSON property `cryptoKeys`
860
+ # @return [Array<Google::Apis::CloudkmsV1beta1::CryptoKey>]
861
+ attr_accessor :crypto_keys
862
+
863
+ # The total number of CryptoKeys that matched the query.
821
864
  # Corresponds to the JSON property `totalSize`
822
865
  # @return [Fixnum]
823
866
  attr_accessor :total_size
@@ -828,35 +871,46 @@ module Google
828
871
 
829
872
  # Update properties of this object
830
873
  def update!(**args)
831
- @crypto_key_versions = args[:crypto_key_versions] if args.key?(:crypto_key_versions)
832
874
  @next_page_token = args[:next_page_token] if args.key?(:next_page_token)
875
+ @crypto_keys = args[:crypto_keys] if args.key?(:crypto_keys)
833
876
  @total_size = args[:total_size] if args.key?(:total_size)
834
877
  end
835
878
  end
836
879
 
837
- # Response message for `TestIamPermissions` method.
838
- class TestIamPermissionsResponse
880
+ # A condition to be met.
881
+ class Condition
839
882
  include Google::Apis::Core::Hashable
840
883
 
841
- # A subset of `TestPermissionsRequest.permissions` that the caller is
842
- # allowed.
843
- # Corresponds to the JSON property `permissions`
844
- # @return [Array<String>]
845
- attr_accessor :permissions
884
+ # An operator to apply the subject with.
885
+ # Corresponds to the JSON property `op`
886
+ # @return [String]
887
+ attr_accessor :op
846
888
 
847
- def initialize(**args)
848
- update!(**args)
849
- end
889
+ # Trusted attributes discharged by the service.
890
+ # Corresponds to the JSON property `svc`
891
+ # @return [String]
892
+ attr_accessor :svc
850
893
 
851
- # Update properties of this object
852
- def update!(**args)
853
- @permissions = args[:permissions] if args.key?(:permissions)
854
- end
855
- end
894
+ # Trusted attributes supplied by any service that owns resources and uses
895
+ # the IAM system for access control.
896
+ # Corresponds to the JSON property `sys`
897
+ # @return [String]
898
+ attr_accessor :sys
856
899
 
857
- # Request message for KeyManagementService.DestroyCryptoKeyVersion.
858
- class DestroyCryptoKeyVersionRequest
859
- include Google::Apis::Core::Hashable
900
+ # DEPRECATED. Use 'values' instead.
901
+ # Corresponds to the JSON property `value`
902
+ # @return [String]
903
+ attr_accessor :value
904
+
905
+ # Trusted attributes supplied by the IAM system.
906
+ # Corresponds to the JSON property `iam`
907
+ # @return [String]
908
+ attr_accessor :iam
909
+
910
+ # The objects of the condition. This is mutually exclusive with 'value'.
911
+ # Corresponds to the JSON property `values`
912
+ # @return [Array<String>]
913
+ attr_accessor :values
860
914
 
861
915
  def initialize(**args)
862
916
  update!(**args)
@@ -864,54 +918,28 @@ module Google
864
918
 
865
919
  # Update properties of this object
866
920
  def update!(**args)
921
+ @op = args[:op] if args.key?(:op)
922
+ @svc = args[:svc] if args.key?(:svc)
923
+ @sys = args[:sys] if args.key?(:sys)
924
+ @value = args[:value] if args.key?(:value)
925
+ @iam = args[:iam] if args.key?(:iam)
926
+ @values = args[:values] if args.key?(:values)
867
927
  end
868
928
  end
869
929
 
870
- # A rule to be applied in a Policy.
871
- class Rule
930
+ # Options for counters
931
+ class CounterOptions
872
932
  include Google::Apis::Core::Hashable
873
933
 
874
- # If one or more 'not_in' clauses are specified, the rule matches
875
- # if the PRINCIPAL/AUTHORITY_SELECTOR is in none of the entries.
876
- # The format for in and not_in entries is the same as for members in a
877
- # Binding (see google/iam/v1/policy.proto).
878
- # Corresponds to the JSON property `notIn`
879
- # @return [Array<String>]
880
- attr_accessor :not_in
881
-
882
- # Human-readable description of the rule.
883
- # Corresponds to the JSON property `description`
934
+ # The metric to update.
935
+ # Corresponds to the JSON property `metric`
884
936
  # @return [String]
885
- attr_accessor :description
886
-
887
- # Additional restrictions that must be met
888
- # Corresponds to the JSON property `conditions`
889
- # @return [Array<Google::Apis::CloudkmsV1beta1::Condition>]
890
- attr_accessor :conditions
891
-
892
- # The config returned to callers of tech.iam.IAM.CheckPolicy for any entries
893
- # that match the LOG action.
894
- # Corresponds to the JSON property `logConfig`
895
- # @return [Array<Google::Apis::CloudkmsV1beta1::LogConfig>]
896
- attr_accessor :log_config
897
-
898
- # If one or more 'in' clauses are specified, the rule matches if
899
- # the PRINCIPAL/AUTHORITY_SELECTOR is in at least one of these entries.
900
- # Corresponds to the JSON property `in`
901
- # @return [Array<String>]
902
- attr_accessor :in
903
-
904
- # A permission is a string of form '<service>.<resource type>.<verb>'
905
- # (e.g., 'storage.buckets.list'). A value of '*' matches all permissions,
906
- # and a verb part of '*' (e.g., 'storage.buckets.*') matches all verbs.
907
- # Corresponds to the JSON property `permissions`
908
- # @return [Array<String>]
909
- attr_accessor :permissions
937
+ attr_accessor :metric
910
938
 
911
- # Required
912
- # Corresponds to the JSON property `action`
939
+ # The field value to attribute.
940
+ # Corresponds to the JSON property `field`
913
941
  # @return [String]
914
- attr_accessor :action
942
+ attr_accessor :field
915
943
 
916
944
  def initialize(**args)
917
945
  update!(**args)
@@ -919,66 +947,42 @@ module Google
919
947
 
920
948
  # Update properties of this object
921
949
  def update!(**args)
922
- @not_in = args[:not_in] if args.key?(:not_in)
923
- @description = args[:description] if args.key?(:description)
924
- @conditions = args[:conditions] if args.key?(:conditions)
925
- @log_config = args[:log_config] if args.key?(:log_config)
926
- @in = args[:in] if args.key?(:in)
927
- @permissions = args[:permissions] if args.key?(:permissions)
928
- @action = args[:action] if args.key?(:action)
950
+ @metric = args[:metric] if args.key?(:metric)
951
+ @field = args[:field] if args.key?(:field)
929
952
  end
930
953
  end
931
954
 
932
- # A CryptoKey represents a logical key that can be used for cryptographic
933
- # operations.
934
- # A CryptoKey is made up of one or more versions, which
935
- # represent the actual key material used in cryptographic operations.
936
- class CryptoKey
955
+ # Provides the configuration for logging a type of permissions.
956
+ # Example:
957
+ # `
958
+ # "audit_log_configs": [
959
+ # `
960
+ # "log_type": "DATA_READ",
961
+ # "exempted_members": [
962
+ # "user:foo@gmail.com"
963
+ # ]
964
+ # `,
965
+ # `
966
+ # "log_type": "DATA_WRITE",
967
+ # `
968
+ # ]
969
+ # `
970
+ # This enables 'DATA_READ' and 'DATA_WRITE' logging, while exempting
971
+ # foo@gmail.com from DATA_READ logging.
972
+ class AuditLogConfig
937
973
  include Google::Apis::Core::Hashable
938
974
 
939
- # Output only. The time at which this CryptoKey was created.
940
- # Corresponds to the JSON property `createTime`
941
- # @return [String]
942
- attr_accessor :create_time
943
-
944
- # next_rotation_time will be advanced by this period when the service
945
- # automatically rotates a key. Must be at least one day.
946
- # If rotation_period is set, next_rotation_time must also be set.
947
- # Corresponds to the JSON property `rotationPeriod`
948
- # @return [String]
949
- attr_accessor :rotation_period
950
-
951
- # A CryptoKeyVersion represents an individual cryptographic key, and the
952
- # associated key material.
953
- # It can be used for cryptographic operations either directly, or via its
954
- # parent CryptoKey, in which case the server will choose the appropriate
955
- # version for the operation.
956
- # Corresponds to the JSON property `primary`
957
- # @return [Google::Apis::CloudkmsV1beta1::CryptoKeyVersion]
958
- attr_accessor :primary
959
-
960
- # Output only. The resource name for this CryptoKey in the format
961
- # `projects/*/locations/*/keyRings/*/cryptoKeys/*`.
962
- # Corresponds to the JSON property `name`
963
- # @return [String]
964
- attr_accessor :name
965
-
966
- # The immutable purpose of this CryptoKey. Currently, the only acceptable
967
- # purpose is ENCRYPT_DECRYPT.
968
- # Corresponds to the JSON property `purpose`
969
- # @return [String]
970
- attr_accessor :purpose
975
+ # Specifies the identities that do not cause logging for this type of
976
+ # permission.
977
+ # Follows the same format of Binding.members.
978
+ # Corresponds to the JSON property `exemptedMembers`
979
+ # @return [Array<String>]
980
+ attr_accessor :exempted_members
971
981
 
972
- # At next_rotation_time, the Key Management Service will automatically:
973
- # 1. Create a new version of this CryptoKey.
974
- # 2. Mark the new version as primary.
975
- # Key rotations performed manually via
976
- # CreateCryptoKeyVersion and
977
- # UpdateCryptoKeyPrimaryVersion
978
- # do not affect next_rotation_time.
979
- # Corresponds to the JSON property `nextRotationTime`
982
+ # The log type that this config enables.
983
+ # Corresponds to the JSON property `logType`
980
984
  # @return [String]
981
- attr_accessor :next_rotation_time
985
+ attr_accessor :log_type
982
986
 
983
987
  def initialize(**args)
984
988
  update!(**args)
@@ -986,12 +990,8 @@ module Google
986
990
 
987
991
  # Update properties of this object
988
992
  def update!(**args)
989
- @create_time = args[:create_time] if args.key?(:create_time)
990
- @rotation_period = args[:rotation_period] if args.key?(:rotation_period)
991
- @primary = args[:primary] if args.key?(:primary)
992
- @name = args[:name] if args.key?(:name)
993
- @purpose = args[:purpose] if args.key?(:purpose)
994
- @next_rotation_time = args[:next_rotation_time] if args.key?(:next_rotation_time)
993
+ @exempted_members = args[:exempted_members] if args.key?(:exempted_members)
994
+ @log_type = args[:log_type] if args.key?(:log_type)
995
995
  end
996
996
  end
997
997
  end