google-cloud-managed_kafka-v1 1.2.0 → 1.4.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -335,6 +335,193 @@ module Google
335
335
  include ::Google::Protobuf::MessageExts
336
336
  extend ::Google::Protobuf::MessageExts::ClassMethods
337
337
  end
338
+
339
+ # Request for ListAcls.
340
+ # @!attribute [rw] parent
341
+ # @return [::String]
342
+ # Required. The parent cluster whose acls are to be listed.
343
+ # Structured like
344
+ # `projects/{project}/locations/{location}/clusters/{cluster}`.
345
+ # @!attribute [rw] page_size
346
+ # @return [::Integer]
347
+ # Optional. The maximum number of acls to return. The service may return
348
+ # fewer than this value. If unset or zero, all acls for the parent is
349
+ # returned.
350
+ # @!attribute [rw] page_token
351
+ # @return [::String]
352
+ # Optional. A page token, received from a previous `ListAcls` call.
353
+ # Provide this to retrieve the subsequent page.
354
+ #
355
+ # When paginating, all other parameters provided to `ListAcls` must match
356
+ # the call that provided the page token.
357
+ class ListAclsRequest
358
+ include ::Google::Protobuf::MessageExts
359
+ extend ::Google::Protobuf::MessageExts::ClassMethods
360
+ end
361
+
362
+ # Response for ListAcls.
363
+ # @!attribute [rw] acls
364
+ # @return [::Array<::Google::Cloud::ManagedKafka::V1::Acl>]
365
+ # The list of acls in the requested parent. The order of the acls is
366
+ # unspecified.
367
+ # @!attribute [rw] next_page_token
368
+ # @return [::String]
369
+ # A token that can be sent as `page_token` to retrieve the next page of
370
+ # results. If this field is omitted, there are no more results.
371
+ class ListAclsResponse
372
+ include ::Google::Protobuf::MessageExts
373
+ extend ::Google::Protobuf::MessageExts::ClassMethods
374
+ end
375
+
376
+ # Request for GetAcl.
377
+ # @!attribute [rw] name
378
+ # @return [::String]
379
+ # Required. The name of the acl to return.
380
+ # Structured like:
381
+ # `projects/{project}/locations/{location}/clusters/{cluster}/acls/{acl_id}`.
382
+ #
383
+ # The structure of `acl_id` defines the Resource Pattern (resource_type,
384
+ # resource_name, pattern_type) of the acl. See `Acl.name` for
385
+ # details.
386
+ class GetAclRequest
387
+ include ::Google::Protobuf::MessageExts
388
+ extend ::Google::Protobuf::MessageExts::ClassMethods
389
+ end
390
+
391
+ # Request for CreateAcl.
392
+ # @!attribute [rw] parent
393
+ # @return [::String]
394
+ # Required. The parent cluster in which to create the acl.
395
+ # Structured like
396
+ # `projects/{project}/locations/{location}/clusters/{cluster}`.
397
+ # @!attribute [rw] acl_id
398
+ # @return [::String]
399
+ # Required. The ID to use for the acl, which will become the final component
400
+ # of the acl's name. The structure of `acl_id` defines the Resource Pattern
401
+ # (resource_type, resource_name, pattern_type) of the acl. `acl_id` is
402
+ # structured like one of the following:
403
+ #
404
+ # For acls on the cluster:
405
+ # `cluster`
406
+ #
407
+ # For acls on a single resource within the cluster:
408
+ # `topic/{resource_name}`
409
+ # `consumerGroup/{resource_name}`
410
+ # `transactionalId/{resource_name}`
411
+ #
412
+ # For acls on all resources that match a prefix:
413
+ # `topicPrefixed/{resource_name}`
414
+ # `consumerGroupPrefixed/{resource_name}`
415
+ # `transactionalIdPrefixed/{resource_name}`
416
+ #
417
+ # For acls on all resources of a given type (i.e. the wildcard literal "*"):
418
+ # `allTopics` (represents `topic/*`)
419
+ # `allConsumerGroups` (represents `consumerGroup/*`)
420
+ # `allTransactionalIds` (represents `transactionalId/*`)
421
+ # @!attribute [rw] acl
422
+ # @return [::Google::Cloud::ManagedKafka::V1::Acl]
423
+ # Required. Configuration of the acl to create. Its `name` field is ignored.
424
+ class CreateAclRequest
425
+ include ::Google::Protobuf::MessageExts
426
+ extend ::Google::Protobuf::MessageExts::ClassMethods
427
+ end
428
+
429
+ # Request for UpdateAcl.
430
+ # @!attribute [rw] acl
431
+ # @return [::Google::Cloud::ManagedKafka::V1::Acl]
432
+ # Required. The updated acl. Its `name` and `etag` fields must be populated.
433
+ # `acl_entries` must not be empty in the updated acl; to remove all acl
434
+ # entries for an acl, use DeleteAcl.
435
+ # @!attribute [rw] update_mask
436
+ # @return [::Google::Protobuf::FieldMask]
437
+ # Optional. Field mask is used to specify the fields to be overwritten in the
438
+ # Acl resource by the update. The fields specified in the update_mask are
439
+ # relative to the resource, not the full request. A field will be overwritten
440
+ # if it is in the mask.
441
+ class UpdateAclRequest
442
+ include ::Google::Protobuf::MessageExts
443
+ extend ::Google::Protobuf::MessageExts::ClassMethods
444
+ end
445
+
446
+ # Request for DeleteAcl.
447
+ # @!attribute [rw] name
448
+ # @return [::String]
449
+ # Required. The name of the acl to delete.
450
+ # Structured like:
451
+ # `projects/{project}/locations/{location}/clusters/{cluster}/acls/{acl_id}`.
452
+ #
453
+ # The structure of `acl_id` defines the Resource Pattern (resource_type,
454
+ # resource_name, pattern_type) of the acl. See `Acl.name` for details.
455
+ class DeleteAclRequest
456
+ include ::Google::Protobuf::MessageExts
457
+ extend ::Google::Protobuf::MessageExts::ClassMethods
458
+ end
459
+
460
+ # Request for AddAclEntry.
461
+ # @!attribute [rw] acl
462
+ # @return [::String]
463
+ # Required. The name of the acl to add the acl entry to.
464
+ # Structured like:
465
+ # `projects/{project}/locations/{location}/clusters/{cluster}/acls/{acl_id}`.
466
+ #
467
+ # The structure of `acl_id` defines the Resource Pattern (resource_type,
468
+ # resource_name, pattern_type) of the acl. See `Acl.name` for
469
+ # details.
470
+ # @!attribute [rw] acl_entry
471
+ # @return [::Google::Cloud::ManagedKafka::V1::AclEntry]
472
+ # Required. The acl entry to add.
473
+ class AddAclEntryRequest
474
+ include ::Google::Protobuf::MessageExts
475
+ extend ::Google::Protobuf::MessageExts::ClassMethods
476
+ end
477
+
478
+ # Response for AddAclEntry.
479
+ # @!attribute [rw] acl
480
+ # @return [::Google::Cloud::ManagedKafka::V1::Acl]
481
+ # The updated acl.
482
+ # @!attribute [rw] acl_created
483
+ # @return [::Boolean]
484
+ # Whether the acl was created as a result of adding the acl entry.
485
+ class AddAclEntryResponse
486
+ include ::Google::Protobuf::MessageExts
487
+ extend ::Google::Protobuf::MessageExts::ClassMethods
488
+ end
489
+
490
+ # Request for RemoveAclEntry.
491
+ # @!attribute [rw] acl
492
+ # @return [::String]
493
+ # Required. The name of the acl to remove the acl entry from.
494
+ # Structured like:
495
+ # `projects/{project}/locations/{location}/clusters/{cluster}/acls/{acl_id}`.
496
+ #
497
+ # The structure of `acl_id` defines the Resource Pattern (resource_type,
498
+ # resource_name, pattern_type) of the acl. See `Acl.name` for
499
+ # details.
500
+ # @!attribute [rw] acl_entry
501
+ # @return [::Google::Cloud::ManagedKafka::V1::AclEntry]
502
+ # Required. The acl entry to remove.
503
+ class RemoveAclEntryRequest
504
+ include ::Google::Protobuf::MessageExts
505
+ extend ::Google::Protobuf::MessageExts::ClassMethods
506
+ end
507
+
508
+ # Response for RemoveAclEntry.
509
+ # @!attribute [rw] acl
510
+ # @return [::Google::Cloud::ManagedKafka::V1::Acl]
511
+ # The updated acl. Returned if the removed acl entry was not the last entry
512
+ # in the acl.
513
+ #
514
+ # Note: The following fields are mutually exclusive: `acl`, `acl_deleted`. If a field in that set is populated, all other fields in the set will automatically be cleared.
515
+ # @!attribute [rw] acl_deleted
516
+ # @return [::Boolean]
517
+ # Returned with value true if the removed acl entry was the last entry in
518
+ # the acl, resulting in acl deletion.
519
+ #
520
+ # Note: The following fields are mutually exclusive: `acl_deleted`, `acl`. If a field in that set is populated, all other fields in the set will automatically be cleared.
521
+ class RemoveAclEntryResponse
522
+ include ::Google::Protobuf::MessageExts
523
+ extend ::Google::Protobuf::MessageExts::ClassMethods
524
+ end
338
525
  end
339
526
  end
340
527
  end
@@ -54,6 +54,9 @@ module Google
54
54
  # @!attribute [r] satisfies_pzs
55
55
  # @return [::Boolean]
56
56
  # Output only. Reserved for future use.
57
+ # @!attribute [rw] tls_config
58
+ # @return [::Google::Cloud::ManagedKafka::V1::TlsConfig]
59
+ # Optional. TLS configuration for the Kafka cluster.
57
60
  class Cluster
58
61
  include ::Google::Protobuf::MessageExts
59
62
  extend ::Google::Protobuf::MessageExts::ClassMethods
@@ -163,6 +166,50 @@ module Google
163
166
  extend ::Google::Protobuf::MessageExts::ClassMethods
164
167
  end
165
168
 
169
+ # The TLS configuration for the Kafka cluster.
170
+ # @!attribute [rw] trust_config
171
+ # @return [::Google::Cloud::ManagedKafka::V1::TrustConfig]
172
+ # Optional. The configuration of the broker truststore. If specified, clients
173
+ # can use mTLS for authentication.
174
+ # @!attribute [rw] ssl_principal_mapping_rules
175
+ # @return [::String]
176
+ # Optional. A list of rules for mapping from SSL principal names to
177
+ # short names. These are applied in order by Kafka.
178
+ # Refer to the Apache Kafka documentation for `ssl.principal.mapping.rules`
179
+ # for the precise formatting details and syntax.
180
+ # Example: "RULE:^CN=(.*?),OU=ServiceUsers.*$/$1@example.com/,DEFAULT"
181
+ #
182
+ # This is a static Kafka broker configuration. Setting or modifying this
183
+ # field will trigger a rolling restart of the Kafka brokers to apply
184
+ # the change. An empty string means no rules are applied (Kafka default).
185
+ class TlsConfig
186
+ include ::Google::Protobuf::MessageExts
187
+ extend ::Google::Protobuf::MessageExts::ClassMethods
188
+ end
189
+
190
+ # Sources of CA certificates to install in the broker's truststore.
191
+ # @!attribute [rw] cas_configs
192
+ # @return [::Array<::Google::Cloud::ManagedKafka::V1::TrustConfig::CertificateAuthorityServiceConfig>]
193
+ # Optional. Configuration for the Google Certificate Authority Service.
194
+ # Maximum 10.
195
+ class TrustConfig
196
+ include ::Google::Protobuf::MessageExts
197
+ extend ::Google::Protobuf::MessageExts::ClassMethods
198
+
199
+ # A configuration for the Google Certificate Authority Service.
200
+ # @!attribute [rw] ca_pool
201
+ # @return [::String]
202
+ # Required. The name of the CA pool to pull CA certificates from.
203
+ # Structured like:
204
+ # projects/\\{project}/locations/\\{location}/caPools/\\{ca_pool}.
205
+ # The CA pool does not need to be in the same project or location as the
206
+ # Kafka cluster.
207
+ class CertificateAuthorityServiceConfig
208
+ include ::Google::Protobuf::MessageExts
209
+ extend ::Google::Protobuf::MessageExts::ClassMethods
210
+ end
211
+ end
212
+
166
213
  # A Kafka topic in a given cluster.
167
214
  # @!attribute [rw] name
168
215
  # @return [::String]
@@ -496,6 +543,95 @@ module Google
496
543
  include ::Google::Protobuf::MessageExts
497
544
  extend ::Google::Protobuf::MessageExts::ClassMethods
498
545
  end
546
+
547
+ # Represents the set of ACLs for a given Kafka Resource Pattern, which consists
548
+ # of resource_type, resource_name and pattern_type.
549
+ # @!attribute [rw] name
550
+ # @return [::String]
551
+ # Identifier. The name for the acl. Represents a single Resource Pattern.
552
+ # Structured like:
553
+ # projects/\\{project}/locations/\\{location}/clusters/\\{cluster}/acls/\\{acl_id}
554
+ #
555
+ # The structure of `acl_id` defines the Resource Pattern (resource_type,
556
+ # resource_name, pattern_type) of the acl. `acl_id` is structured like one of
557
+ # the following:
558
+ #
559
+ # For acls on the cluster:
560
+ # `cluster`
561
+ #
562
+ # For acls on a single resource within the cluster:
563
+ # `topic/{resource_name}`
564
+ # `consumerGroup/{resource_name}`
565
+ # `transactionalId/{resource_name}`
566
+ #
567
+ # For acls on all resources that match a prefix:
568
+ # `topicPrefixed/{resource_name}`
569
+ # `consumerGroupPrefixed/{resource_name}`
570
+ # `transactionalIdPrefixed/{resource_name}`
571
+ #
572
+ # For acls on all resources of a given type (i.e. the wildcard literal "*"):
573
+ # `allTopics` (represents `topic/*`)
574
+ # `allConsumerGroups` (represents `consumerGroup/*`)
575
+ # `allTransactionalIds` (represents `transactionalId/*`)
576
+ # @!attribute [rw] acl_entries
577
+ # @return [::Array<::Google::Cloud::ManagedKafka::V1::AclEntry>]
578
+ # Required. The ACL entries that apply to the resource pattern. The maximum
579
+ # number of allowed entries 100.
580
+ # @!attribute [rw] etag
581
+ # @return [::String]
582
+ # Optional. `etag` is used for concurrency control. An `etag` is returned in
583
+ # the response to `GetAcl` and `CreateAcl`. Callers are required to put that
584
+ # etag in the request to `UpdateAcl` to ensure that their change will be
585
+ # applied to the same version of the acl that exists in the Kafka Cluster.
586
+ #
587
+ # A terminal 'T' character in the etag indicates that the AclEntries were
588
+ # truncated; more entries for the Acl exist on the Kafka Cluster, but can't
589
+ # be returned in the Acl due to repeated field limits.
590
+ # @!attribute [r] resource_type
591
+ # @return [::String]
592
+ # Output only. The ACL resource type derived from the name. One of: CLUSTER,
593
+ # TOPIC, GROUP, TRANSACTIONAL_ID.
594
+ # @!attribute [r] resource_name
595
+ # @return [::String]
596
+ # Output only. The ACL resource name derived from the name. For cluster
597
+ # resource_type, this is always "kafka-cluster". Can be the wildcard literal
598
+ # "*".
599
+ # @!attribute [r] pattern_type
600
+ # @return [::String]
601
+ # Output only. The ACL pattern type derived from the name. One of: LITERAL,
602
+ # PREFIXED.
603
+ class Acl
604
+ include ::Google::Protobuf::MessageExts
605
+ extend ::Google::Protobuf::MessageExts::ClassMethods
606
+ end
607
+
608
+ # Represents the access granted for a given Resource Pattern in an ACL.
609
+ # @!attribute [rw] principal
610
+ # @return [::String]
611
+ # Required. The principal. Specified as Google Cloud account, with the Kafka
612
+ # StandardAuthorizer prefix "User:". For example:
613
+ # "User:test-kafka-client@test-project.iam.gserviceaccount.com".
614
+ # Can be the wildcard "User:*" to refer to all users.
615
+ # @!attribute [rw] permission_type
616
+ # @return [::String]
617
+ # Required. The permission type. Accepted values are (case insensitive):
618
+ # ALLOW, DENY.
619
+ # @!attribute [rw] operation
620
+ # @return [::String]
621
+ # Required. The operation type. Allowed values are (case insensitive): ALL,
622
+ # READ, WRITE, CREATE, DELETE, ALTER, DESCRIBE, CLUSTER_ACTION,
623
+ # DESCRIBE_CONFIGS, ALTER_CONFIGS, and IDEMPOTENT_WRITE. See
624
+ # https://kafka.apache.org/documentation/#operations_resources_and_protocols
625
+ # for valid combinations of resource_type and operation for different Kafka
626
+ # API requests.
627
+ # @!attribute [rw] host
628
+ # @return [::String]
629
+ # Required. The host. Must be set to "*" for Managed Service for Apache
630
+ # Kafka.
631
+ class AclEntry
632
+ include ::Google::Protobuf::MessageExts
633
+ extend ::Google::Protobuf::MessageExts::ClassMethods
634
+ end
499
635
  end
500
636
  end
501
637
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: google-cloud-managed_kafka-v1
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.2.0
4
+ version: 1.4.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Google LLC
@@ -126,7 +126,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
126
126
  - !ruby/object:Gem::Version
127
127
  version: '0'
128
128
  requirements: []
129
- rubygems_version: 3.6.8
129
+ rubygems_version: 3.6.9
130
130
  specification_version: 4
131
131
  summary: Manage Apache Kafka clusters and resources.
132
132
  test_files: []