google-cloud-confidential_computing-v1 1.6.1 → 2.0.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.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 5c69f3bb1cdca783e42b9248559897fd42cab5bc655fc19d5449543dd61b61ab
4
- data.tar.gz: aa7f8f5dd2f353ed66898f0962cc675d3824997bbf1e8e9e475ae93ae013c713
3
+ metadata.gz: 7fd58f318c59500b031dd3ece5cda1ec95a0d9189c64eb2e8368f17d82a997c5
4
+ data.tar.gz: f79f32ae873e3b410d130a0bcc020ab8166e1f725ce0ffdc486a217735f5fad8
5
5
  SHA512:
6
- metadata.gz: 497baf54d0cbcbdd08dc4dd26a09baff2867421e0817641f39ec7ae6af8cfae748aef52640f7ce4d64fbb345f274c0185467dcfdde44eceb601e2a933ea83139
7
- data.tar.gz: dc5d7db2959e03dcacd4ef87669a83e4883fb1e235e1bacb533a5b56698731a791bbf7cfc68d9407e1ccdba190b85c95309f90fc5bf35224cefcc5a55ad863ed
6
+ metadata.gz: 6adbeeab0d6be5cdd313e68e354cb64350ae7b4388c72d11926ca9d41a060264fb15721a1f1e589d703e55bed6becf9c2dc4426bdf5da4ac4fbc38411299438b
7
+ data.tar.gz: 9e7ee1d64bc2c25d5762691368c850ea4a4b38095dc74c911fcac6c2cbb7002cf751363b2e7ebddd42a2ef41bb87656c6a57b99f7594b2854f736b763c929c27
@@ -16,7 +16,7 @@
16
16
 
17
17
  # Auto-generated by gapic-generator-ruby. DO NOT EDIT!
18
18
 
19
- require "gapic/config"
19
+ require "gapic/rest"
20
20
 
21
21
  module Google
22
22
  module Cloud
@@ -42,7 +42,7 @@ module Google
42
42
  namespace.pop
43
43
  end
44
44
 
45
- default_config = Configuration.new parent_config
45
+ default_config = ::Gapic::Rest::HttpBindingOverrideConfiguration.new parent_config
46
46
  default_config.bindings_override["google.cloud.location.Locations.GetLocation"] = [
47
47
  Gapic::Rest::GrpcTranscoder::HttpBinding.create_with_validation(
48
48
  uri_method: :get,
@@ -69,33 +69,6 @@ module Google
69
69
  yield @configure if block_given?
70
70
  @configure
71
71
  end
72
-
73
- ##
74
- # @private
75
- # Configuration class for the google.cloud.confidentialcomputing.v1 package.
76
- #
77
- # This class contains common configuration for all services
78
- # of the google.cloud.confidentialcomputing.v1 package.
79
- #
80
- # This configuration is for internal use of the client library classes,
81
- # and it is not intended that the end-users will read or change it.
82
- #
83
- class Configuration
84
- extend ::Gapic::Config
85
-
86
- # @private
87
- # Overrides for http bindings for the RPC of the mixins for this package.
88
- # Services in this package should use these when creating clients for the mixin services.
89
- # @return [::Hash{::Symbol=>::Array<::Gapic::Rest::GrpcTranscoder::HttpBinding>}]
90
- config_attr :bindings_override, {}, ::Hash, nil
91
-
92
- # @private
93
- def initialize parent_config = nil
94
- @parent_config = parent_config unless parent_config.nil?
95
-
96
- yield self if block_given?
97
- end
98
- end
99
72
  end
100
73
  end
101
74
  end
@@ -83,6 +83,16 @@ module Google
83
83
  initial_delay: 1.0, max_delay: 60.0, multiplier: 1.3, retry_codes: [14]
84
84
  }
85
85
 
86
+ default_config.rpcs.verify_confidential_space.timeout = 60.0
87
+ default_config.rpcs.verify_confidential_space.retry_policy = {
88
+ initial_delay: 1.0, max_delay: 60.0, multiplier: 1.3, retry_codes: [14]
89
+ }
90
+
91
+ default_config.rpcs.verify_confidential_gke.timeout = 60.0
92
+ default_config.rpcs.verify_confidential_gke.retry_policy = {
93
+ initial_delay: 1.0, max_delay: 60.0, multiplier: 1.3, retry_codes: [14]
94
+ }
95
+
86
96
  default_config
87
97
  end
88
98
  yield @configure if block_given?
@@ -301,7 +311,8 @@ module Google
301
311
  end
302
312
 
303
313
  ##
304
- # Verifies the provided attestation info, returning a signed OIDC token.
314
+ # Verifies the provided attestation info, returning a signed attestation
315
+ # token.
305
316
  #
306
317
  # @overload verify_attestation(request, options = nil)
307
318
  # Pass arguments to `verify_attestation` via a request object, either of type
@@ -409,6 +420,206 @@ module Google
409
420
  raise ::Google::Cloud::Error.from_error(e)
410
421
  end
411
422
 
423
+ ##
424
+ # Verifies whether the provided attestation info is valid, returning a signed
425
+ # attestation token if so.
426
+ #
427
+ # @overload verify_confidential_space(request, options = nil)
428
+ # Pass arguments to `verify_confidential_space` via a request object, either of type
429
+ # {::Google::Cloud::ConfidentialComputing::V1::VerifyConfidentialSpaceRequest} or an equivalent Hash.
430
+ #
431
+ # @param request [::Google::Cloud::ConfidentialComputing::V1::VerifyConfidentialSpaceRequest, ::Hash]
432
+ # A request object representing the call parameters. Required. To specify no
433
+ # parameters, or to keep all the default parameter values, pass an empty Hash.
434
+ # @param options [::Gapic::CallOptions, ::Hash]
435
+ # Overrides the default settings for this call, e.g, timeout, retries, etc. Optional.
436
+ #
437
+ # @overload verify_confidential_space(td_ccel: nil, tpm_attestation: nil, challenge: nil, gcp_credentials: nil, signed_entities: nil, gce_shielded_identity: nil, options: nil)
438
+ # Pass arguments to `verify_confidential_space` via keyword arguments. Note that at
439
+ # least one keyword argument is required. To specify no parameters, or to keep all
440
+ # the default parameter values, pass an empty Hash as a request object (see above).
441
+ #
442
+ # @param td_ccel [::Google::Cloud::ConfidentialComputing::V1::TdxCcelAttestation, ::Hash]
443
+ # Input only. A TDX with CCEL and RTMR Attestation Quote.
444
+ #
445
+ # Note: The following parameters are mutually exclusive: `td_ccel`, `tpm_attestation`. At most one of these parameters can be set. If more than one is set, only one will be used, and it is not defined which one.
446
+ # @param tpm_attestation [::Google::Cloud::ConfidentialComputing::V1::TpmAttestation, ::Hash]
447
+ # Input only. The TPM-specific data provided by the attesting platform,
448
+ # used to populate any of the claims regarding platform state.
449
+ #
450
+ # Note: The following parameters are mutually exclusive: `tpm_attestation`, `td_ccel`. At most one of these parameters can be set. If more than one is set, only one will be used, and it is not defined which one.
451
+ # @param challenge [::String]
452
+ # Required. The name of the Challenge whose nonce was used to generate the
453
+ # attestation, in the format `projects/*/locations/*/challenges/*`. The
454
+ # provided Challenge will be consumed, and cannot be used again.
455
+ # @param gcp_credentials [::Google::Cloud::ConfidentialComputing::V1::GcpCredentials, ::Hash]
456
+ # Optional. Credentials used to populate the "emails" claim in the
457
+ # claims_token. If not present, token will not contain the "emails" claim.
458
+ # @param signed_entities [::Array<::Google::Cloud::ConfidentialComputing::V1::SignedEntity, ::Hash>]
459
+ # Optional. A list of signed entities containing container image signatures
460
+ # that can be used for server-side signature verification.
461
+ # @param gce_shielded_identity [::Google::Cloud::ConfidentialComputing::V1::GceShieldedIdentity, ::Hash]
462
+ # Optional. Information about the associated Compute Engine instance.
463
+ # Required for td_ccel requests only - tpm_attestation requests will provide
464
+ # this information in the attestation.
465
+ # @param options [::Google::Cloud::ConfidentialComputing::V1::VerifyConfidentialSpaceRequest::ConfidentialSpaceOptions, ::Hash]
466
+ # Optional. A collection of fields that modify the token output.
467
+ #
468
+ # @yield [response, operation] Access the result along with the RPC operation
469
+ # @yieldparam response [::Google::Cloud::ConfidentialComputing::V1::VerifyConfidentialSpaceResponse]
470
+ # @yieldparam operation [::GRPC::ActiveCall::Operation]
471
+ #
472
+ # @return [::Google::Cloud::ConfidentialComputing::V1::VerifyConfidentialSpaceResponse]
473
+ #
474
+ # @raise [::Google::Cloud::Error] if the RPC is aborted.
475
+ #
476
+ # @example Basic example
477
+ # require "google/cloud/confidential_computing/v1"
478
+ #
479
+ # # Create a client object. The client can be reused for multiple calls.
480
+ # client = Google::Cloud::ConfidentialComputing::V1::ConfidentialComputing::Client.new
481
+ #
482
+ # # Create a request. To set request fields, pass in keyword arguments.
483
+ # request = Google::Cloud::ConfidentialComputing::V1::VerifyConfidentialSpaceRequest.new
484
+ #
485
+ # # Call the verify_confidential_space method.
486
+ # result = client.verify_confidential_space request
487
+ #
488
+ # # The returned object is of type Google::Cloud::ConfidentialComputing::V1::VerifyConfidentialSpaceResponse.
489
+ # p result
490
+ #
491
+ def verify_confidential_space request, options = nil
492
+ raise ::ArgumentError, "request must be provided" if request.nil?
493
+
494
+ request = ::Gapic::Protobuf.coerce request, to: ::Google::Cloud::ConfidentialComputing::V1::VerifyConfidentialSpaceRequest
495
+
496
+ # Converts hash and nil to an options object
497
+ options = ::Gapic::CallOptions.new(**options.to_h) if options.respond_to? :to_h
498
+
499
+ # Customize the options with defaults
500
+ metadata = @config.rpcs.verify_confidential_space.metadata.to_h
501
+
502
+ # Set x-goog-api-client, x-goog-user-project and x-goog-api-version headers
503
+ metadata[:"x-goog-api-client"] ||= ::Gapic::Headers.x_goog_api_client \
504
+ lib_name: @config.lib_name, lib_version: @config.lib_version,
505
+ gapic_version: ::Google::Cloud::ConfidentialComputing::V1::VERSION
506
+ metadata[:"x-goog-api-version"] = API_VERSION unless API_VERSION.empty?
507
+ metadata[:"x-goog-user-project"] = @quota_project_id if @quota_project_id
508
+
509
+ header_params = {}
510
+ if request.challenge
511
+ header_params["challenge"] = request.challenge
512
+ end
513
+
514
+ request_params_header = header_params.map { |k, v| "#{k}=#{v}" }.join("&")
515
+ metadata[:"x-goog-request-params"] ||= request_params_header
516
+
517
+ options.apply_defaults timeout: @config.rpcs.verify_confidential_space.timeout,
518
+ metadata: metadata,
519
+ retry_policy: @config.rpcs.verify_confidential_space.retry_policy
520
+
521
+ options.apply_defaults timeout: @config.timeout,
522
+ metadata: @config.metadata,
523
+ retry_policy: @config.retry_policy
524
+
525
+ @confidential_computing_stub.call_rpc :verify_confidential_space, request, options: options do |response, operation|
526
+ yield response, operation if block_given?
527
+ end
528
+ rescue ::GRPC::BadStatus => e
529
+ raise ::Google::Cloud::Error.from_error(e)
530
+ end
531
+
532
+ ##
533
+ # Verifies the provided Confidential GKE attestation info, returning a signed
534
+ # OIDC token.
535
+ #
536
+ # @overload verify_confidential_gke(request, options = nil)
537
+ # Pass arguments to `verify_confidential_gke` via a request object, either of type
538
+ # {::Google::Cloud::ConfidentialComputing::V1::VerifyConfidentialGkeRequest} or an equivalent Hash.
539
+ #
540
+ # @param request [::Google::Cloud::ConfidentialComputing::V1::VerifyConfidentialGkeRequest, ::Hash]
541
+ # A request object representing the call parameters. Required. To specify no
542
+ # parameters, or to keep all the default parameter values, pass an empty Hash.
543
+ # @param options [::Gapic::CallOptions, ::Hash]
544
+ # Overrides the default settings for this call, e.g, timeout, retries, etc. Optional.
545
+ #
546
+ # @overload verify_confidential_gke(tpm_attestation: nil, challenge: nil)
547
+ # Pass arguments to `verify_confidential_gke` via keyword arguments. Note that at
548
+ # least one keyword argument is required. To specify no parameters, or to keep all
549
+ # the default parameter values, pass an empty Hash as a request object (see above).
550
+ #
551
+ # @param tpm_attestation [::Google::Cloud::ConfidentialComputing::V1::TpmAttestation, ::Hash]
552
+ # The TPM-specific data provided by the attesting platform, used to
553
+ # populate any of the claims regarding platform state.
554
+ # @param challenge [::String]
555
+ # Required. The name of the Challenge whose nonce was used to generate the
556
+ # attestation, in the format projects/*/locations/*/challenges/*. The
557
+ # provided Challenge will be consumed, and cannot be used again.
558
+ #
559
+ # @yield [response, operation] Access the result along with the RPC operation
560
+ # @yieldparam response [::Google::Cloud::ConfidentialComputing::V1::VerifyConfidentialGkeResponse]
561
+ # @yieldparam operation [::GRPC::ActiveCall::Operation]
562
+ #
563
+ # @return [::Google::Cloud::ConfidentialComputing::V1::VerifyConfidentialGkeResponse]
564
+ #
565
+ # @raise [::Google::Cloud::Error] if the RPC is aborted.
566
+ #
567
+ # @example Basic example
568
+ # require "google/cloud/confidential_computing/v1"
569
+ #
570
+ # # Create a client object. The client can be reused for multiple calls.
571
+ # client = Google::Cloud::ConfidentialComputing::V1::ConfidentialComputing::Client.new
572
+ #
573
+ # # Create a request. To set request fields, pass in keyword arguments.
574
+ # request = Google::Cloud::ConfidentialComputing::V1::VerifyConfidentialGkeRequest.new
575
+ #
576
+ # # Call the verify_confidential_gke method.
577
+ # result = client.verify_confidential_gke request
578
+ #
579
+ # # The returned object is of type Google::Cloud::ConfidentialComputing::V1::VerifyConfidentialGkeResponse.
580
+ # p result
581
+ #
582
+ def verify_confidential_gke request, options = nil
583
+ raise ::ArgumentError, "request must be provided" if request.nil?
584
+
585
+ request = ::Gapic::Protobuf.coerce request, to: ::Google::Cloud::ConfidentialComputing::V1::VerifyConfidentialGkeRequest
586
+
587
+ # Converts hash and nil to an options object
588
+ options = ::Gapic::CallOptions.new(**options.to_h) if options.respond_to? :to_h
589
+
590
+ # Customize the options with defaults
591
+ metadata = @config.rpcs.verify_confidential_gke.metadata.to_h
592
+
593
+ # Set x-goog-api-client, x-goog-user-project and x-goog-api-version headers
594
+ metadata[:"x-goog-api-client"] ||= ::Gapic::Headers.x_goog_api_client \
595
+ lib_name: @config.lib_name, lib_version: @config.lib_version,
596
+ gapic_version: ::Google::Cloud::ConfidentialComputing::V1::VERSION
597
+ metadata[:"x-goog-api-version"] = API_VERSION unless API_VERSION.empty?
598
+ metadata[:"x-goog-user-project"] = @quota_project_id if @quota_project_id
599
+
600
+ header_params = {}
601
+ if request.challenge
602
+ header_params["challenge"] = request.challenge
603
+ end
604
+
605
+ request_params_header = header_params.map { |k, v| "#{k}=#{v}" }.join("&")
606
+ metadata[:"x-goog-request-params"] ||= request_params_header
607
+
608
+ options.apply_defaults timeout: @config.rpcs.verify_confidential_gke.timeout,
609
+ metadata: metadata,
610
+ retry_policy: @config.rpcs.verify_confidential_gke.retry_policy
611
+
612
+ options.apply_defaults timeout: @config.timeout,
613
+ metadata: @config.metadata,
614
+ retry_policy: @config.retry_policy
615
+
616
+ @confidential_computing_stub.call_rpc :verify_confidential_gke, request, options: options do |response, operation|
617
+ yield response, operation if block_given?
618
+ end
619
+ rescue ::GRPC::BadStatus => e
620
+ raise ::Google::Cloud::Error.from_error(e)
621
+ end
622
+
412
623
  ##
413
624
  # Configuration class for the ConfidentialComputing API.
414
625
  #
@@ -585,6 +796,16 @@ module Google
585
796
  # @return [::Gapic::Config::Method]
586
797
  #
587
798
  attr_reader :verify_attestation
799
+ ##
800
+ # RPC-specific configuration for `verify_confidential_space`
801
+ # @return [::Gapic::Config::Method]
802
+ #
803
+ attr_reader :verify_confidential_space
804
+ ##
805
+ # RPC-specific configuration for `verify_confidential_gke`
806
+ # @return [::Gapic::Config::Method]
807
+ #
808
+ attr_reader :verify_confidential_gke
588
809
 
589
810
  # @private
590
811
  def initialize parent_rpcs = nil
@@ -592,6 +813,10 @@ module Google
592
813
  @create_challenge = ::Gapic::Config::Method.new create_challenge_config
593
814
  verify_attestation_config = parent_rpcs.verify_attestation if parent_rpcs.respond_to? :verify_attestation
594
815
  @verify_attestation = ::Gapic::Config::Method.new verify_attestation_config
816
+ verify_confidential_space_config = parent_rpcs.verify_confidential_space if parent_rpcs.respond_to? :verify_confidential_space
817
+ @verify_confidential_space = ::Gapic::Config::Method.new verify_confidential_space_config
818
+ verify_confidential_gke_config = parent_rpcs.verify_confidential_gke if parent_rpcs.respond_to? :verify_confidential_gke
819
+ @verify_confidential_gke = ::Gapic::Config::Method.new verify_confidential_gke_config
595
820
 
596
821
  yield self if block_given?
597
822
  end
@@ -85,6 +85,16 @@ module Google
85
85
  initial_delay: 1.0, max_delay: 60.0, multiplier: 1.3, retry_codes: [14]
86
86
  }
87
87
 
88
+ default_config.rpcs.verify_confidential_space.timeout = 60.0
89
+ default_config.rpcs.verify_confidential_space.retry_policy = {
90
+ initial_delay: 1.0, max_delay: 60.0, multiplier: 1.3, retry_codes: [14]
91
+ }
92
+
93
+ default_config.rpcs.verify_confidential_gke.timeout = 60.0
94
+ default_config.rpcs.verify_confidential_gke.retry_policy = {
95
+ initial_delay: 1.0, max_delay: 60.0, multiplier: 1.3, retry_codes: [14]
96
+ }
97
+
88
98
  default_config
89
99
  end
90
100
  yield @configure if block_given?
@@ -288,7 +298,8 @@ module Google
288
298
  end
289
299
 
290
300
  ##
291
- # Verifies the provided attestation info, returning a signed OIDC token.
301
+ # Verifies the provided attestation info, returning a signed attestation
302
+ # token.
292
303
  #
293
304
  # @overload verify_attestation(request, options = nil)
294
305
  # Pass arguments to `verify_attestation` via a request object, either of type
@@ -389,6 +400,192 @@ module Google
389
400
  raise ::Google::Cloud::Error.from_error(e)
390
401
  end
391
402
 
403
+ ##
404
+ # Verifies whether the provided attestation info is valid, returning a signed
405
+ # attestation token if so.
406
+ #
407
+ # @overload verify_confidential_space(request, options = nil)
408
+ # Pass arguments to `verify_confidential_space` via a request object, either of type
409
+ # {::Google::Cloud::ConfidentialComputing::V1::VerifyConfidentialSpaceRequest} or an equivalent Hash.
410
+ #
411
+ # @param request [::Google::Cloud::ConfidentialComputing::V1::VerifyConfidentialSpaceRequest, ::Hash]
412
+ # A request object representing the call parameters. Required. To specify no
413
+ # parameters, or to keep all the default parameter values, pass an empty Hash.
414
+ # @param options [::Gapic::CallOptions, ::Hash]
415
+ # Overrides the default settings for this call, e.g, timeout, retries etc. Optional.
416
+ #
417
+ # @overload verify_confidential_space(td_ccel: nil, tpm_attestation: nil, challenge: nil, gcp_credentials: nil, signed_entities: nil, gce_shielded_identity: nil, options: nil)
418
+ # Pass arguments to `verify_confidential_space` via keyword arguments. Note that at
419
+ # least one keyword argument is required. To specify no parameters, or to keep all
420
+ # the default parameter values, pass an empty Hash as a request object (see above).
421
+ #
422
+ # @param td_ccel [::Google::Cloud::ConfidentialComputing::V1::TdxCcelAttestation, ::Hash]
423
+ # Input only. A TDX with CCEL and RTMR Attestation Quote.
424
+ #
425
+ # Note: The following parameters are mutually exclusive: `td_ccel`, `tpm_attestation`. At most one of these parameters can be set. If more than one is set, only one will be used, and it is not defined which one.
426
+ # @param tpm_attestation [::Google::Cloud::ConfidentialComputing::V1::TpmAttestation, ::Hash]
427
+ # Input only. The TPM-specific data provided by the attesting platform,
428
+ # used to populate any of the claims regarding platform state.
429
+ #
430
+ # Note: The following parameters are mutually exclusive: `tpm_attestation`, `td_ccel`. At most one of these parameters can be set. If more than one is set, only one will be used, and it is not defined which one.
431
+ # @param challenge [::String]
432
+ # Required. The name of the Challenge whose nonce was used to generate the
433
+ # attestation, in the format `projects/*/locations/*/challenges/*`. The
434
+ # provided Challenge will be consumed, and cannot be used again.
435
+ # @param gcp_credentials [::Google::Cloud::ConfidentialComputing::V1::GcpCredentials, ::Hash]
436
+ # Optional. Credentials used to populate the "emails" claim in the
437
+ # claims_token. If not present, token will not contain the "emails" claim.
438
+ # @param signed_entities [::Array<::Google::Cloud::ConfidentialComputing::V1::SignedEntity, ::Hash>]
439
+ # Optional. A list of signed entities containing container image signatures
440
+ # that can be used for server-side signature verification.
441
+ # @param gce_shielded_identity [::Google::Cloud::ConfidentialComputing::V1::GceShieldedIdentity, ::Hash]
442
+ # Optional. Information about the associated Compute Engine instance.
443
+ # Required for td_ccel requests only - tpm_attestation requests will provide
444
+ # this information in the attestation.
445
+ # @param options [::Google::Cloud::ConfidentialComputing::V1::VerifyConfidentialSpaceRequest::ConfidentialSpaceOptions, ::Hash]
446
+ # Optional. A collection of fields that modify the token output.
447
+ # @yield [result, operation] Access the result along with the TransportOperation object
448
+ # @yieldparam result [::Google::Cloud::ConfidentialComputing::V1::VerifyConfidentialSpaceResponse]
449
+ # @yieldparam operation [::Gapic::Rest::TransportOperation]
450
+ #
451
+ # @return [::Google::Cloud::ConfidentialComputing::V1::VerifyConfidentialSpaceResponse]
452
+ #
453
+ # @raise [::Google::Cloud::Error] if the REST call is aborted.
454
+ #
455
+ # @example Basic example
456
+ # require "google/cloud/confidential_computing/v1"
457
+ #
458
+ # # Create a client object. The client can be reused for multiple calls.
459
+ # client = Google::Cloud::ConfidentialComputing::V1::ConfidentialComputing::Rest::Client.new
460
+ #
461
+ # # Create a request. To set request fields, pass in keyword arguments.
462
+ # request = Google::Cloud::ConfidentialComputing::V1::VerifyConfidentialSpaceRequest.new
463
+ #
464
+ # # Call the verify_confidential_space method.
465
+ # result = client.verify_confidential_space request
466
+ #
467
+ # # The returned object is of type Google::Cloud::ConfidentialComputing::V1::VerifyConfidentialSpaceResponse.
468
+ # p result
469
+ #
470
+ def verify_confidential_space request, options = nil
471
+ raise ::ArgumentError, "request must be provided" if request.nil?
472
+
473
+ request = ::Gapic::Protobuf.coerce request, to: ::Google::Cloud::ConfidentialComputing::V1::VerifyConfidentialSpaceRequest
474
+
475
+ # Converts hash and nil to an options object
476
+ options = ::Gapic::CallOptions.new(**options.to_h) if options.respond_to? :to_h
477
+
478
+ # Customize the options with defaults
479
+ call_metadata = @config.rpcs.verify_confidential_space.metadata.to_h
480
+
481
+ # Set x-goog-api-client, x-goog-user-project and x-goog-api-version headers
482
+ call_metadata[:"x-goog-api-client"] ||= ::Gapic::Headers.x_goog_api_client \
483
+ lib_name: @config.lib_name, lib_version: @config.lib_version,
484
+ gapic_version: ::Google::Cloud::ConfidentialComputing::V1::VERSION,
485
+ transports_version_send: [:rest]
486
+
487
+ call_metadata[:"x-goog-api-version"] = API_VERSION unless API_VERSION.empty?
488
+ call_metadata[:"x-goog-user-project"] = @quota_project_id if @quota_project_id
489
+
490
+ options.apply_defaults timeout: @config.rpcs.verify_confidential_space.timeout,
491
+ metadata: call_metadata,
492
+ retry_policy: @config.rpcs.verify_confidential_space.retry_policy
493
+
494
+ options.apply_defaults timeout: @config.timeout,
495
+ metadata: @config.metadata,
496
+ retry_policy: @config.retry_policy
497
+
498
+ @confidential_computing_stub.verify_confidential_space request, options do |result, operation|
499
+ yield result, operation if block_given?
500
+ end
501
+ rescue ::Gapic::Rest::Error => e
502
+ raise ::Google::Cloud::Error.from_error(e)
503
+ end
504
+
505
+ ##
506
+ # Verifies the provided Confidential GKE attestation info, returning a signed
507
+ # OIDC token.
508
+ #
509
+ # @overload verify_confidential_gke(request, options = nil)
510
+ # Pass arguments to `verify_confidential_gke` via a request object, either of type
511
+ # {::Google::Cloud::ConfidentialComputing::V1::VerifyConfidentialGkeRequest} or an equivalent Hash.
512
+ #
513
+ # @param request [::Google::Cloud::ConfidentialComputing::V1::VerifyConfidentialGkeRequest, ::Hash]
514
+ # A request object representing the call parameters. Required. To specify no
515
+ # parameters, or to keep all the default parameter values, pass an empty Hash.
516
+ # @param options [::Gapic::CallOptions, ::Hash]
517
+ # Overrides the default settings for this call, e.g, timeout, retries etc. Optional.
518
+ #
519
+ # @overload verify_confidential_gke(tpm_attestation: nil, challenge: nil)
520
+ # Pass arguments to `verify_confidential_gke` via keyword arguments. Note that at
521
+ # least one keyword argument is required. To specify no parameters, or to keep all
522
+ # the default parameter values, pass an empty Hash as a request object (see above).
523
+ #
524
+ # @param tpm_attestation [::Google::Cloud::ConfidentialComputing::V1::TpmAttestation, ::Hash]
525
+ # The TPM-specific data provided by the attesting platform, used to
526
+ # populate any of the claims regarding platform state.
527
+ # @param challenge [::String]
528
+ # Required. The name of the Challenge whose nonce was used to generate the
529
+ # attestation, in the format projects/*/locations/*/challenges/*. The
530
+ # provided Challenge will be consumed, and cannot be used again.
531
+ # @yield [result, operation] Access the result along with the TransportOperation object
532
+ # @yieldparam result [::Google::Cloud::ConfidentialComputing::V1::VerifyConfidentialGkeResponse]
533
+ # @yieldparam operation [::Gapic::Rest::TransportOperation]
534
+ #
535
+ # @return [::Google::Cloud::ConfidentialComputing::V1::VerifyConfidentialGkeResponse]
536
+ #
537
+ # @raise [::Google::Cloud::Error] if the REST call is aborted.
538
+ #
539
+ # @example Basic example
540
+ # require "google/cloud/confidential_computing/v1"
541
+ #
542
+ # # Create a client object. The client can be reused for multiple calls.
543
+ # client = Google::Cloud::ConfidentialComputing::V1::ConfidentialComputing::Rest::Client.new
544
+ #
545
+ # # Create a request. To set request fields, pass in keyword arguments.
546
+ # request = Google::Cloud::ConfidentialComputing::V1::VerifyConfidentialGkeRequest.new
547
+ #
548
+ # # Call the verify_confidential_gke method.
549
+ # result = client.verify_confidential_gke request
550
+ #
551
+ # # The returned object is of type Google::Cloud::ConfidentialComputing::V1::VerifyConfidentialGkeResponse.
552
+ # p result
553
+ #
554
+ def verify_confidential_gke request, options = nil
555
+ raise ::ArgumentError, "request must be provided" if request.nil?
556
+
557
+ request = ::Gapic::Protobuf.coerce request, to: ::Google::Cloud::ConfidentialComputing::V1::VerifyConfidentialGkeRequest
558
+
559
+ # Converts hash and nil to an options object
560
+ options = ::Gapic::CallOptions.new(**options.to_h) if options.respond_to? :to_h
561
+
562
+ # Customize the options with defaults
563
+ call_metadata = @config.rpcs.verify_confidential_gke.metadata.to_h
564
+
565
+ # Set x-goog-api-client, x-goog-user-project and x-goog-api-version headers
566
+ call_metadata[:"x-goog-api-client"] ||= ::Gapic::Headers.x_goog_api_client \
567
+ lib_name: @config.lib_name, lib_version: @config.lib_version,
568
+ gapic_version: ::Google::Cloud::ConfidentialComputing::V1::VERSION,
569
+ transports_version_send: [:rest]
570
+
571
+ call_metadata[:"x-goog-api-version"] = API_VERSION unless API_VERSION.empty?
572
+ call_metadata[:"x-goog-user-project"] = @quota_project_id if @quota_project_id
573
+
574
+ options.apply_defaults timeout: @config.rpcs.verify_confidential_gke.timeout,
575
+ metadata: call_metadata,
576
+ retry_policy: @config.rpcs.verify_confidential_gke.retry_policy
577
+
578
+ options.apply_defaults timeout: @config.timeout,
579
+ metadata: @config.metadata,
580
+ retry_policy: @config.retry_policy
581
+
582
+ @confidential_computing_stub.verify_confidential_gke request, options do |result, operation|
583
+ yield result, operation if block_given?
584
+ end
585
+ rescue ::Gapic::Rest::Error => e
586
+ raise ::Google::Cloud::Error.from_error(e)
587
+ end
588
+
392
589
  ##
393
590
  # Configuration class for the ConfidentialComputing REST API.
394
591
  #
@@ -552,6 +749,16 @@ module Google
552
749
  # @return [::Gapic::Config::Method]
553
750
  #
554
751
  attr_reader :verify_attestation
752
+ ##
753
+ # RPC-specific configuration for `verify_confidential_space`
754
+ # @return [::Gapic::Config::Method]
755
+ #
756
+ attr_reader :verify_confidential_space
757
+ ##
758
+ # RPC-specific configuration for `verify_confidential_gke`
759
+ # @return [::Gapic::Config::Method]
760
+ #
761
+ attr_reader :verify_confidential_gke
555
762
 
556
763
  # @private
557
764
  def initialize parent_rpcs = nil
@@ -559,6 +766,10 @@ module Google
559
766
  @create_challenge = ::Gapic::Config::Method.new create_challenge_config
560
767
  verify_attestation_config = parent_rpcs.verify_attestation if parent_rpcs.respond_to? :verify_attestation
561
768
  @verify_attestation = ::Gapic::Config::Method.new verify_attestation_config
769
+ verify_confidential_space_config = parent_rpcs.verify_confidential_space if parent_rpcs.respond_to? :verify_confidential_space
770
+ @verify_confidential_space = ::Gapic::Config::Method.new verify_confidential_space_config
771
+ verify_confidential_gke_config = parent_rpcs.verify_confidential_gke if parent_rpcs.respond_to? :verify_confidential_gke
772
+ @verify_confidential_gke = ::Gapic::Config::Method.new verify_confidential_gke_config
562
773
 
563
774
  yield self if block_given?
564
775
  end
@@ -153,6 +153,86 @@ module Google
153
153
  end
154
154
  end
155
155
 
156
+ ##
157
+ # Baseline implementation for the verify_confidential_space REST call
158
+ #
159
+ # @param request_pb [::Google::Cloud::ConfidentialComputing::V1::VerifyConfidentialSpaceRequest]
160
+ # A request object representing the call parameters. Required.
161
+ # @param options [::Gapic::CallOptions]
162
+ # Overrides the default settings for this call, e.g, timeout, retries etc. Optional.
163
+ #
164
+ # @yield [result, operation] Access the result along with the TransportOperation object
165
+ # @yieldparam result [::Google::Cloud::ConfidentialComputing::V1::VerifyConfidentialSpaceResponse]
166
+ # @yieldparam operation [::Gapic::Rest::TransportOperation]
167
+ #
168
+ # @return [::Google::Cloud::ConfidentialComputing::V1::VerifyConfidentialSpaceResponse]
169
+ # A result object deserialized from the server's reply
170
+ def verify_confidential_space request_pb, options = nil
171
+ raise ::ArgumentError, "request must be provided" if request_pb.nil?
172
+
173
+ verb, uri, query_string_params, body = ServiceStub.transcode_verify_confidential_space_request request_pb
174
+ query_string_params = if query_string_params.any?
175
+ query_string_params.to_h { |p| p.split "=", 2 }
176
+ else
177
+ {}
178
+ end
179
+
180
+ response = @client_stub.make_http_request(
181
+ verb,
182
+ uri: uri,
183
+ body: body || "",
184
+ params: query_string_params,
185
+ method_name: "verify_confidential_space",
186
+ options: options
187
+ )
188
+ operation = ::Gapic::Rest::TransportOperation.new response
189
+ result = ::Google::Cloud::ConfidentialComputing::V1::VerifyConfidentialSpaceResponse.decode_json response.body, ignore_unknown_fields: true
190
+ catch :response do
191
+ yield result, operation if block_given?
192
+ result
193
+ end
194
+ end
195
+
196
+ ##
197
+ # Baseline implementation for the verify_confidential_gke REST call
198
+ #
199
+ # @param request_pb [::Google::Cloud::ConfidentialComputing::V1::VerifyConfidentialGkeRequest]
200
+ # A request object representing the call parameters. Required.
201
+ # @param options [::Gapic::CallOptions]
202
+ # Overrides the default settings for this call, e.g, timeout, retries etc. Optional.
203
+ #
204
+ # @yield [result, operation] Access the result along with the TransportOperation object
205
+ # @yieldparam result [::Google::Cloud::ConfidentialComputing::V1::VerifyConfidentialGkeResponse]
206
+ # @yieldparam operation [::Gapic::Rest::TransportOperation]
207
+ #
208
+ # @return [::Google::Cloud::ConfidentialComputing::V1::VerifyConfidentialGkeResponse]
209
+ # A result object deserialized from the server's reply
210
+ def verify_confidential_gke request_pb, options = nil
211
+ raise ::ArgumentError, "request must be provided" if request_pb.nil?
212
+
213
+ verb, uri, query_string_params, body = ServiceStub.transcode_verify_confidential_gke_request request_pb
214
+ query_string_params = if query_string_params.any?
215
+ query_string_params.to_h { |p| p.split "=", 2 }
216
+ else
217
+ {}
218
+ end
219
+
220
+ response = @client_stub.make_http_request(
221
+ verb,
222
+ uri: uri,
223
+ body: body || "",
224
+ params: query_string_params,
225
+ method_name: "verify_confidential_gke",
226
+ options: options
227
+ )
228
+ operation = ::Gapic::Rest::TransportOperation.new response
229
+ result = ::Google::Cloud::ConfidentialComputing::V1::VerifyConfidentialGkeResponse.decode_json response.body, ignore_unknown_fields: true
230
+ catch :response do
231
+ yield result, operation if block_given?
232
+ result
233
+ end
234
+ end
235
+
156
236
  ##
157
237
  # @private
158
238
  #
@@ -196,6 +276,50 @@ module Google
196
276
  )
197
277
  transcoder.transcode request_pb
198
278
  end
279
+
280
+ ##
281
+ # @private
282
+ #
283
+ # GRPC transcoding helper method for the verify_confidential_space REST call
284
+ #
285
+ # @param request_pb [::Google::Cloud::ConfidentialComputing::V1::VerifyConfidentialSpaceRequest]
286
+ # A request object representing the call parameters. Required.
287
+ # @return [Array(String, [String, nil], Hash{String => String})]
288
+ # Uri, Body, Query string parameters
289
+ def self.transcode_verify_confidential_space_request request_pb
290
+ transcoder = Gapic::Rest::GrpcTranscoder.new
291
+ .with_bindings(
292
+ uri_method: :post,
293
+ uri_template: "/v1/{challenge}:verifyConfidentialSpace",
294
+ body: "*",
295
+ matches: [
296
+ ["challenge", %r{^projects/[^/]+/locations/[^/]+/challenges/[^/]+/?$}, false]
297
+ ]
298
+ )
299
+ transcoder.transcode request_pb
300
+ end
301
+
302
+ ##
303
+ # @private
304
+ #
305
+ # GRPC transcoding helper method for the verify_confidential_gke REST call
306
+ #
307
+ # @param request_pb [::Google::Cloud::ConfidentialComputing::V1::VerifyConfidentialGkeRequest]
308
+ # A request object representing the call parameters. Required.
309
+ # @return [Array(String, [String, nil], Hash{String => String})]
310
+ # Uri, Body, Query string parameters
311
+ def self.transcode_verify_confidential_gke_request request_pb
312
+ transcoder = Gapic::Rest::GrpcTranscoder.new
313
+ .with_bindings(
314
+ uri_method: :post,
315
+ uri_template: "/v1/{challenge}:verifyConfidentialGke",
316
+ body: "*",
317
+ matches: [
318
+ ["challenge", %r{^projects/[^/]+/locations/[^/]+/challenges/[^/]+/?$}, false]
319
+ ]
320
+ )
321
+ transcoder.transcode request_pb
322
+ end
199
323
  end
200
324
  end
201
325
  end
@@ -21,7 +21,7 @@ module Google
21
21
  module Cloud
22
22
  module ConfidentialComputing
23
23
  module V1
24
- VERSION = "1.6.1"
24
+ VERSION = "2.0.0"
25
25
  end
26
26
  end
27
27
  end
@@ -12,7 +12,7 @@ require 'google/protobuf/timestamp_pb'
12
12
  require 'google/rpc/status_pb'
13
13
 
14
14
 
15
- descriptor_data = "\n3google/cloud/confidentialcomputing/v1/service.proto\x12%google.cloud.confidentialcomputing.v1\x1a\x1cgoogle/api/annotations.proto\x1a\x17google/api/client.proto\x1a\x1fgoogle/api/field_behavior.proto\x1a\x19google/api/resource.proto\x1a\x1fgoogle/protobuf/timestamp.proto\x1a\x17google/rpc/status.proto\"\xa5\x02\n\tChallenge\x12\x11\n\x04name\x18\x01 \x01(\tB\x03\xe0\x41\x03\x12\x34\n\x0b\x63reate_time\x18\x02 \x01(\x0b\x32\x1a.google.protobuf.TimestampB\x03\xe0\x41\x03\x12\x34\n\x0b\x65xpire_time\x18\x03 \x01(\x0b\x32\x1a.google.protobuf.TimestampB\x03\xe0\x41\x03\x12\x11\n\x04used\x18\x04 \x01(\x08\x42\x03\xe0\x41\x03\x12\x16\n\ttpm_nonce\x18\x06 \x01(\tB\x03\xe0\x41\x03:n\xea\x41k\n.confidentialcomputing.googleapis.com/Challenge\x12\x39projects/{project}/locations/{location}/challenges/{uuid}\"\x9d\x01\n\x16\x43reateChallengeRequest\x12\x39\n\x06parent\x18\x01 \x01(\tB)\xe0\x41\x02\xfa\x41#\n!locations.googleapis.com/Location\x12H\n\tchallenge\x18\x02 \x01(\x0b\x32\x30.google.cloud.confidentialcomputing.v1.ChallengeB\x03\xe0\x41\x02\"\x9f\x05\n\x18VerifyAttestationRequest\x12Q\n\x07td_ccel\x18\x06 \x01(\x0b\x32\x39.google.cloud.confidentialcomputing.v1.TdxCcelAttestationB\x03\xe0\x41\x01H\x00\x12\\\n\x13sev_snp_attestation\x18\x07 \x01(\x0b\x32\x38.google.cloud.confidentialcomputing.v1.SevSnpAttestationB\x03\xe0\x41\x01H\x00\x12I\n\tchallenge\x18\x01 \x01(\tB6\xe0\x41\x02\xfa\x41\x30\n.confidentialcomputing.googleapis.com/Challenge\x12S\n\x0fgcp_credentials\x18\x02 \x01(\x0b\x32\x35.google.cloud.confidentialcomputing.v1.GcpCredentialsB\x03\xe0\x41\x01\x12S\n\x0ftpm_attestation\x18\x03 \x01(\x0b\x32\x35.google.cloud.confidentialcomputing.v1.TpmAttestationB\x03\xe0\x41\x02\x12\x62\n\x17\x63onfidential_space_info\x18\x04 \x01(\x0b\x32<.google.cloud.confidentialcomputing.v1.ConfidentialSpaceInfoB\x03\xe0\x41\x01\x12O\n\rtoken_options\x18\x05 \x01(\x0b\x32\x33.google.cloud.confidentialcomputing.v1.TokenOptionsB\x03\xe0\x41\x01\x12\x15\n\x08\x61ttester\x18\x08 \x01(\tB\x03\xe0\x41\x01\x42\x11\n\x0ftee_attestation\"\x83\x01\n\x12TdxCcelAttestation\x12\x1c\n\x0f\x63\x63\x65l_acpi_table\x18\x01 \x01(\x0c\x42\x03\xe0\x41\x01\x12\x16\n\tccel_data\x18\x02 \x01(\x0c\x42\x03\xe0\x41\x01\x12 \n\x13\x63\x61nonical_event_log\x18\x03 \x01(\x0c\x42\x03\xe0\x41\x01\x12\x15\n\x08td_quote\x18\x04 \x01(\x0c\x42\x03\xe0\x41\x01\"?\n\x11SevSnpAttestation\x12\x13\n\x06report\x18\x01 \x01(\x0c\x42\x03\xe0\x41\x01\x12\x15\n\x08\x61ux_blob\x18\x02 \x01(\x0c\x42\x03\xe0\x41\x01\"l\n\x19VerifyAttestationResponse\x12\x1e\n\x11oidc_claims_token\x18\x02 \x01(\tB\x03\xe0\x41\x03\x12/\n\x0epartial_errors\x18\x03 \x03(\x0b\x32\x12.google.rpc.StatusB\x03\xe0\x41\x03\"3\n\x0eGcpCredentials\x12!\n\x19service_account_id_tokens\x18\x02 \x03(\t\"\xa6\x05\n\x0cTokenOptions\x12v\n\x1a\x61ws_principal_tags_options\x18\x04 \x01(\x0b\x32K.google.cloud.confidentialcomputing.v1.TokenOptions.AwsPrincipalTagsOptionsB\x03\xe0\x41\x01H\x00\x12\x15\n\x08\x61udience\x18\x01 \x01(\tB\x03\xe0\x41\x01\x12\x12\n\x05nonce\x18\x02 \x03(\tB\x03\xe0\x41\x01\x12I\n\ntoken_type\x18\x03 \x01(\x0e\x32\x30.google.cloud.confidentialcomputing.v1.TokenTypeB\x03\xe0\x41\x01\x1a\x91\x03\n\x17\x41wsPrincipalTagsOptions\x12\x85\x01\n\x16\x61llowed_principal_tags\x18\x01 \x01(\x0b\x32`.google.cloud.confidentialcomputing.v1.TokenOptions.AwsPrincipalTagsOptions.AllowedPrincipalTagsB\x03\xe0\x41\x01\x1a\xed\x01\n\x14\x41llowedPrincipalTags\x12\xa2\x01\n\x1a\x63ontainer_image_signatures\x18\x01 \x01(\x0b\x32y.google.cloud.confidentialcomputing.v1.TokenOptions.AwsPrincipalTagsOptions.AllowedPrincipalTags.ContainerImageSignaturesB\x03\xe0\x41\x01\x1a\x30\n\x18\x43ontainerImageSignatures\x12\x14\n\x07key_ids\x18\x01 \x03(\tB\x03\xe0\x41\x01\x42\x14\n\x12token_type_options\"\x8f\x03\n\x0eTpmAttestation\x12K\n\x06quotes\x18\x01 \x03(\x0b\x32;.google.cloud.confidentialcomputing.v1.TpmAttestation.Quote\x12\x15\n\rtcg_event_log\x18\x02 \x01(\x0c\x12\x1b\n\x13\x63\x61nonical_event_log\x18\x03 \x01(\x0c\x12\x0f\n\x07\x61k_cert\x18\x04 \x01(\x0c\x12\x12\n\ncert_chain\x18\x05 \x03(\x0c\x1a\xd6\x01\n\x05Quote\x12\x11\n\thash_algo\x18\x01 \x01(\x05\x12^\n\npcr_values\x18\x02 \x03(\x0b\x32J.google.cloud.confidentialcomputing.v1.TpmAttestation.Quote.PcrValuesEntry\x12\x11\n\traw_quote\x18\x03 \x01(\x0c\x12\x15\n\rraw_signature\x18\x04 \x01(\x0c\x1a\x30\n\x0ePcrValuesEntry\x12\x0b\n\x03key\x18\x01 \x01(\x05\x12\r\n\x05value\x18\x02 \x01(\x0c:\x02\x38\x01\"j\n\x15\x43onfidentialSpaceInfo\x12Q\n\x0fsigned_entities\x18\x01 \x03(\x0b\x32\x33.google.cloud.confidentialcomputing.v1.SignedEntityB\x03\xe0\x41\x01\"w\n\x0cSignedEntity\x12g\n\x1a\x63ontainer_image_signatures\x18\x01 \x03(\x0b\x32>.google.cloud.confidentialcomputing.v1.ContainerImageSignatureB\x03\xe0\x41\x01\"\xaf\x01\n\x17\x43ontainerImageSignature\x12\x14\n\x07payload\x18\x01 \x01(\x0c\x42\x03\xe0\x41\x01\x12\x16\n\tsignature\x18\x02 \x01(\x0c\x42\x03\xe0\x41\x01\x12\x17\n\npublic_key\x18\x03 \x01(\x0c\x42\x03\xe0\x41\x01\x12M\n\x07sig_alg\x18\x04 \x01(\x0e\x32\x37.google.cloud.confidentialcomputing.v1.SigningAlgorithmB\x03\xe0\x41\x01*\x7f\n\x10SigningAlgorithm\x12!\n\x1dSIGNING_ALGORITHM_UNSPECIFIED\x10\x00\x12\x15\n\x11RSASSA_PSS_SHA256\x10\x01\x12\x1a\n\x16RSASSA_PKCS1V15_SHA256\x10\x02\x12\x15\n\x11\x45\x43\x44SA_P256_SHA256\x10\x03*\x8e\x01\n\tTokenType\x12\x1a\n\x16TOKEN_TYPE_UNSPECIFIED\x10\x00\x12\x13\n\x0fTOKEN_TYPE_OIDC\x10\x01\x12\x12\n\x0eTOKEN_TYPE_PKI\x10\x02\x12\x1a\n\x16TOKEN_TYPE_LIMITED_AWS\x10\x03\x12 \n\x1cTOKEN_TYPE_AWS_PRINCIPALTAGS\x10\x04\x32\xb7\x04\n\x15\x43onfidentialComputing\x12\xd8\x01\n\x0f\x43reateChallenge\x12=.google.cloud.confidentialcomputing.v1.CreateChallengeRequest\x1a\x30.google.cloud.confidentialcomputing.v1.Challenge\"T\xda\x41\x10parent,challenge\x82\xd3\xe4\x93\x02;\"./v1/{parent=projects/*/locations/*}/challenges:\tchallenge\x12\xe8\x01\n\x11VerifyAttestation\x12?.google.cloud.confidentialcomputing.v1.VerifyAttestationRequest\x1a@.google.cloud.confidentialcomputing.v1.VerifyAttestationResponse\"P\x82\xd3\xe4\x93\x02J\"E/v1/{challenge=projects/*/locations/*/challenges/*}:verifyAttestation:\x01*\x1aX\xca\x41$confidentialcomputing.googleapis.com\xd2\x41.https://www.googleapis.com/auth/cloud-platformB\x97\x02\n)com.google.cloud.confidentialcomputing.v1B\x0cServiceProtoP\x01Z_cloud.google.com/go/confidentialcomputing/apiv1/confidentialcomputingpb;confidentialcomputingpb\xaa\x02%Google.Cloud.ConfidentialComputing.V1\xca\x02%Google\\Cloud\\ConfidentialComputing\\V1\xea\x02(Google::Cloud::ConfidentialComputing::V1b\x06proto3"
15
+ descriptor_data = "\n3google/cloud/confidentialcomputing/v1/service.proto\x12%google.cloud.confidentialcomputing.v1\x1a\x1cgoogle/api/annotations.proto\x1a\x17google/api/client.proto\x1a\x1fgoogle/api/field_behavior.proto\x1a\x19google/api/resource.proto\x1a\x1fgoogle/protobuf/timestamp.proto\x1a\x17google/rpc/status.proto\"\xa5\x02\n\tChallenge\x12\x11\n\x04name\x18\x01 \x01(\tB\x03\xe0\x41\x03\x12\x34\n\x0b\x63reate_time\x18\x02 \x01(\x0b\x32\x1a.google.protobuf.TimestampB\x03\xe0\x41\x03\x12\x34\n\x0b\x65xpire_time\x18\x03 \x01(\x0b\x32\x1a.google.protobuf.TimestampB\x03\xe0\x41\x03\x12\x11\n\x04used\x18\x04 \x01(\x08\x42\x03\xe0\x41\x03\x12\x16\n\ttpm_nonce\x18\x06 \x01(\tB\x03\xe0\x41\x03:n\xea\x41k\n.confidentialcomputing.googleapis.com/Challenge\x12\x39projects/{project}/locations/{location}/challenges/{uuid}\"\x9d\x01\n\x16\x43reateChallengeRequest\x12\x39\n\x06parent\x18\x01 \x01(\tB)\xe0\x41\x02\xfa\x41#\n!locations.googleapis.com/Location\x12H\n\tchallenge\x18\x02 \x01(\x0b\x32\x30.google.cloud.confidentialcomputing.v1.ChallengeB\x03\xe0\x41\x02\"\x9f\x05\n\x18VerifyAttestationRequest\x12Q\n\x07td_ccel\x18\x06 \x01(\x0b\x32\x39.google.cloud.confidentialcomputing.v1.TdxCcelAttestationB\x03\xe0\x41\x01H\x00\x12\\\n\x13sev_snp_attestation\x18\x07 \x01(\x0b\x32\x38.google.cloud.confidentialcomputing.v1.SevSnpAttestationB\x03\xe0\x41\x01H\x00\x12I\n\tchallenge\x18\x01 \x01(\tB6\xe0\x41\x02\xfa\x41\x30\n.confidentialcomputing.googleapis.com/Challenge\x12S\n\x0fgcp_credentials\x18\x02 \x01(\x0b\x32\x35.google.cloud.confidentialcomputing.v1.GcpCredentialsB\x03\xe0\x41\x01\x12S\n\x0ftpm_attestation\x18\x03 \x01(\x0b\x32\x35.google.cloud.confidentialcomputing.v1.TpmAttestationB\x03\xe0\x41\x02\x12\x62\n\x17\x63onfidential_space_info\x18\x04 \x01(\x0b\x32<.google.cloud.confidentialcomputing.v1.ConfidentialSpaceInfoB\x03\xe0\x41\x01\x12O\n\rtoken_options\x18\x05 \x01(\x0b\x32\x33.google.cloud.confidentialcomputing.v1.TokenOptionsB\x03\xe0\x41\x01\x12\x15\n\x08\x61ttester\x18\x08 \x01(\tB\x03\xe0\x41\x01\x42\x11\n\x0ftee_attestation\"\x83\x01\n\x12TdxCcelAttestation\x12\x1c\n\x0f\x63\x63\x65l_acpi_table\x18\x01 \x01(\x0c\x42\x03\xe0\x41\x01\x12\x16\n\tccel_data\x18\x02 \x01(\x0c\x42\x03\xe0\x41\x01\x12 \n\x13\x63\x61nonical_event_log\x18\x03 \x01(\x0c\x42\x03\xe0\x41\x01\x12\x15\n\x08td_quote\x18\x04 \x01(\x0c\x42\x03\xe0\x41\x01\"?\n\x11SevSnpAttestation\x12\x13\n\x06report\x18\x01 \x01(\x0c\x42\x03\xe0\x41\x01\x12\x15\n\x08\x61ux_blob\x18\x02 \x01(\x0c\x42\x03\xe0\x41\x01\"l\n\x19VerifyAttestationResponse\x12\x1e\n\x11oidc_claims_token\x18\x02 \x01(\tB\x03\xe0\x41\x03\x12/\n\x0epartial_errors\x18\x03 \x03(\x0b\x32\x12.google.rpc.StatusB\x03\xe0\x41\x03\"3\n\x0eGcpCredentials\x12!\n\x19service_account_id_tokens\x18\x02 \x03(\t\"\x85\x02\n\x0cTokenOptions\x12i\n\x1a\x61ws_principal_tags_options\x18\x04 \x01(\x0b\x32>.google.cloud.confidentialcomputing.v1.AwsPrincipalTagsOptionsB\x03\xe0\x41\x01H\x00\x12\x15\n\x08\x61udience\x18\x01 \x01(\tB\x03\xe0\x41\x01\x12\x12\n\x05nonce\x18\x02 \x03(\tB\x03\xe0\x41\x01\x12I\n\ntoken_type\x18\x03 \x01(\x0e\x32\x30.google.cloud.confidentialcomputing.v1.TokenTypeB\x03\xe0\x41\x01\x42\x14\n\x12token_type_options\"\xf6\x02\n\x17\x41wsPrincipalTagsOptions\x12x\n\x16\x61llowed_principal_tags\x18\x01 \x01(\x0b\x32S.google.cloud.confidentialcomputing.v1.AwsPrincipalTagsOptions.AllowedPrincipalTagsB\x03\xe0\x41\x01\x1a\xe0\x01\n\x14\x41llowedPrincipalTags\x12\x95\x01\n\x1a\x63ontainer_image_signatures\x18\x01 \x01(\x0b\x32l.google.cloud.confidentialcomputing.v1.AwsPrincipalTagsOptions.AllowedPrincipalTags.ContainerImageSignaturesB\x03\xe0\x41\x01\x1a\x30\n\x18\x43ontainerImageSignatures\x12\x14\n\x07key_ids\x18\x01 \x03(\tB\x03\xe0\x41\x01\"\x8f\x03\n\x0eTpmAttestation\x12K\n\x06quotes\x18\x01 \x03(\x0b\x32;.google.cloud.confidentialcomputing.v1.TpmAttestation.Quote\x12\x15\n\rtcg_event_log\x18\x02 \x01(\x0c\x12\x1b\n\x13\x63\x61nonical_event_log\x18\x03 \x01(\x0c\x12\x0f\n\x07\x61k_cert\x18\x04 \x01(\x0c\x12\x12\n\ncert_chain\x18\x05 \x03(\x0c\x1a\xd6\x01\n\x05Quote\x12\x11\n\thash_algo\x18\x01 \x01(\x05\x12^\n\npcr_values\x18\x02 \x03(\x0b\x32J.google.cloud.confidentialcomputing.v1.TpmAttestation.Quote.PcrValuesEntry\x12\x11\n\traw_quote\x18\x03 \x01(\x0c\x12\x15\n\rraw_signature\x18\x04 \x01(\x0c\x1a\x30\n\x0ePcrValuesEntry\x12\x0b\n\x03key\x18\x01 \x01(\x05\x12\r\n\x05value\x18\x02 \x01(\x0c:\x02\x38\x01\"j\n\x15\x43onfidentialSpaceInfo\x12Q\n\x0fsigned_entities\x18\x01 \x03(\x0b\x32\x33.google.cloud.confidentialcomputing.v1.SignedEntityB\x03\xe0\x41\x01\"w\n\x0cSignedEntity\x12g\n\x1a\x63ontainer_image_signatures\x18\x01 \x03(\x0b\x32>.google.cloud.confidentialcomputing.v1.ContainerImageSignatureB\x03\xe0\x41\x01\"\xaf\x01\n\x17\x43ontainerImageSignature\x12\x14\n\x07payload\x18\x01 \x01(\x0c\x42\x03\xe0\x41\x01\x12\x16\n\tsignature\x18\x02 \x01(\x0c\x42\x03\xe0\x41\x01\x12\x17\n\npublic_key\x18\x03 \x01(\x0c\x42\x03\xe0\x41\x01\x12M\n\x07sig_alg\x18\x04 \x01(\x0e\x32\x37.google.cloud.confidentialcomputing.v1.SigningAlgorithmB\x03\xe0\x41\x01\"\x96\x08\n\x1eVerifyConfidentialSpaceRequest\x12Q\n\x07td_ccel\x18\x03 \x01(\x0b\x32\x39.google.cloud.confidentialcomputing.v1.TdxCcelAttestationB\x03\xe0\x41\x04H\x00\x12U\n\x0ftpm_attestation\x18\x04 \x01(\x0b\x32\x35.google.cloud.confidentialcomputing.v1.TpmAttestationB\x03\xe0\x41\x04H\x00\x12I\n\tchallenge\x18\x01 \x01(\tB6\xe0\x41\x02\xfa\x41\x30\n.confidentialcomputing.googleapis.com/Challenge\x12S\n\x0fgcp_credentials\x18\x02 \x01(\x0b\x32\x35.google.cloud.confidentialcomputing.v1.GcpCredentialsB\x03\xe0\x41\x01\x12Q\n\x0fsigned_entities\x18\x05 \x03(\x0b\x32\x33.google.cloud.confidentialcomputing.v1.SignedEntityB\x03\xe0\x41\x01\x12^\n\x15gce_shielded_identity\x18\x06 \x01(\x0b\x32:.google.cloud.confidentialcomputing.v1.GceShieldedIdentityB\x03\xe0\x41\x01\x12t\n\x07options\x18\x07 \x01(\x0b\x32^.google.cloud.confidentialcomputing.v1.VerifyConfidentialSpaceRequest.ConfidentialSpaceOptionsB\x03\xe0\x41\x01\x1a\xed\x02\n\x18\x43onfidentialSpaceOptions\x12i\n\x1a\x61ws_principal_tags_options\x18\x05 \x01(\x0b\x32>.google.cloud.confidentialcomputing.v1.AwsPrincipalTagsOptionsB\x03\xe0\x41\x01H\x00\x12\x15\n\x08\x61udience\x18\x01 \x01(\tB\x03\xe0\x41\x01\x12O\n\rtoken_profile\x18\x02 \x01(\x0e\x32\x33.google.cloud.confidentialcomputing.v1.TokenProfileB\x03\xe0\x41\x01\x12\x12\n\x05nonce\x18\x03 \x03(\tB\x03\xe0\x41\x01\x12Q\n\x0esignature_type\x18\x04 \x01(\x0e\x32\x34.google.cloud.confidentialcomputing.v1.SignatureTypeB\x03\xe0\x41\x01\x42\x17\n\x15token_profile_optionsB\x11\n\x0ftee_attestation\"G\n\x13GceShieldedIdentity\x12\x14\n\x07\x61k_cert\x18\x01 \x01(\x0c\x42\x03\xe0\x41\x01\x12\x1a\n\rak_cert_chain\x18\x02 \x03(\x0c\x42\x03\xe0\x41\x01\"r\n\x1fVerifyConfidentialSpaceResponse\x12\x1e\n\x11\x61ttestation_token\x18\x01 \x01(\tB\x03\xe0\x41\x03\x12/\n\x0epartial_errors\x18\x02 \x03(\x0b\x32\x12.google.rpc.StatusB\x03\xe0\x41\x03\"\xce\x01\n\x1cVerifyConfidentialGkeRequest\x12P\n\x0ftpm_attestation\x18\x02 \x01(\x0b\x32\x35.google.cloud.confidentialcomputing.v1.TpmAttestationH\x00\x12I\n\tchallenge\x18\x01 \x01(\tB6\xe0\x41\x02\xfa\x41\x30\n.confidentialcomputing.googleapis.com/ChallengeB\x11\n\x0ftee_attestation\"?\n\x1dVerifyConfidentialGkeResponse\x12\x1e\n\x11\x61ttestation_token\x18\x01 \x01(\tB\x03\xe0\x41\x03*\x7f\n\x10SigningAlgorithm\x12!\n\x1dSIGNING_ALGORITHM_UNSPECIFIED\x10\x00\x12\x15\n\x11RSASSA_PSS_SHA256\x10\x01\x12\x1a\n\x16RSASSA_PKCS1V15_SHA256\x10\x02\x12\x15\n\x11\x45\x43\x44SA_P256_SHA256\x10\x03*\x8e\x01\n\tTokenType\x12\x1a\n\x16TOKEN_TYPE_UNSPECIFIED\x10\x00\x12\x13\n\x0fTOKEN_TYPE_OIDC\x10\x01\x12\x12\n\x0eTOKEN_TYPE_PKI\x10\x02\x12\x1a\n\x16TOKEN_TYPE_LIMITED_AWS\x10\x03\x12 \n\x1cTOKEN_TYPE_AWS_PRINCIPALTAGS\x10\x04*`\n\rSignatureType\x12\x1e\n\x1aSIGNATURE_TYPE_UNSPECIFIED\x10\x00\x12\x17\n\x13SIGNATURE_TYPE_OIDC\x10\x01\x12\x16\n\x12SIGNATURE_TYPE_PKI\x10\x02*c\n\x0cTokenProfile\x12\x1d\n\x19TOKEN_PROFILE_UNSPECIFIED\x10\x00\x12\x1d\n\x19TOKEN_PROFILE_DEFAULT_EAT\x10\x01\x12\x15\n\x11TOKEN_PROFILE_AWS\x10\x02\x32\xb5\x08\n\x15\x43onfidentialComputing\x12\xd8\x01\n\x0f\x43reateChallenge\x12=.google.cloud.confidentialcomputing.v1.CreateChallengeRequest\x1a\x30.google.cloud.confidentialcomputing.v1.Challenge\"T\xda\x41\x10parent,challenge\x82\xd3\xe4\x93\x02;\"./v1/{parent=projects/*/locations/*}/challenges:\tchallenge\x12\xe8\x01\n\x11VerifyAttestation\x12?.google.cloud.confidentialcomputing.v1.VerifyAttestationRequest\x1a@.google.cloud.confidentialcomputing.v1.VerifyAttestationResponse\"P\x82\xd3\xe4\x93\x02J\"E/v1/{challenge=projects/*/locations/*/challenges/*}:verifyAttestation:\x01*\x12\x80\x02\n\x17VerifyConfidentialSpace\x12\x45.google.cloud.confidentialcomputing.v1.VerifyConfidentialSpaceRequest\x1a\x46.google.cloud.confidentialcomputing.v1.VerifyConfidentialSpaceResponse\"V\x82\xd3\xe4\x93\x02P\"K/v1/{challenge=projects/*/locations/*/challenges/*}:verifyConfidentialSpace:\x01*\x12\xf8\x01\n\x15VerifyConfidentialGke\x12\x43.google.cloud.confidentialcomputing.v1.VerifyConfidentialGkeRequest\x1a\x44.google.cloud.confidentialcomputing.v1.VerifyConfidentialGkeResponse\"T\x82\xd3\xe4\x93\x02N\"I/v1/{challenge=projects/*/locations/*/challenges/*}:verifyConfidentialGke:\x01*\x1aX\xca\x41$confidentialcomputing.googleapis.com\xd2\x41.https://www.googleapis.com/auth/cloud-platformB\x97\x02\n)com.google.cloud.confidentialcomputing.v1B\x0cServiceProtoP\x01Z_cloud.google.com/go/confidentialcomputing/apiv1/confidentialcomputingpb;confidentialcomputingpb\xaa\x02%Google.Cloud.ConfidentialComputing.V1\xca\x02%Google\\Cloud\\ConfidentialComputing\\V1\xea\x02(Google::Cloud::ConfidentialComputing::V1b\x06proto3"
16
16
 
17
17
  pool = Google::Protobuf::DescriptorPool.generated_pool
18
18
 
@@ -52,16 +52,24 @@ module Google
52
52
  VerifyAttestationResponse = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.confidentialcomputing.v1.VerifyAttestationResponse").msgclass
53
53
  GcpCredentials = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.confidentialcomputing.v1.GcpCredentials").msgclass
54
54
  TokenOptions = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.confidentialcomputing.v1.TokenOptions").msgclass
55
- TokenOptions::AwsPrincipalTagsOptions = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.confidentialcomputing.v1.TokenOptions.AwsPrincipalTagsOptions").msgclass
56
- TokenOptions::AwsPrincipalTagsOptions::AllowedPrincipalTags = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.confidentialcomputing.v1.TokenOptions.AwsPrincipalTagsOptions.AllowedPrincipalTags").msgclass
57
- TokenOptions::AwsPrincipalTagsOptions::AllowedPrincipalTags::ContainerImageSignatures = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.confidentialcomputing.v1.TokenOptions.AwsPrincipalTagsOptions.AllowedPrincipalTags.ContainerImageSignatures").msgclass
55
+ AwsPrincipalTagsOptions = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.confidentialcomputing.v1.AwsPrincipalTagsOptions").msgclass
56
+ AwsPrincipalTagsOptions::AllowedPrincipalTags = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.confidentialcomputing.v1.AwsPrincipalTagsOptions.AllowedPrincipalTags").msgclass
57
+ AwsPrincipalTagsOptions::AllowedPrincipalTags::ContainerImageSignatures = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.confidentialcomputing.v1.AwsPrincipalTagsOptions.AllowedPrincipalTags.ContainerImageSignatures").msgclass
58
58
  TpmAttestation = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.confidentialcomputing.v1.TpmAttestation").msgclass
59
59
  TpmAttestation::Quote = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.confidentialcomputing.v1.TpmAttestation.Quote").msgclass
60
60
  ConfidentialSpaceInfo = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.confidentialcomputing.v1.ConfidentialSpaceInfo").msgclass
61
61
  SignedEntity = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.confidentialcomputing.v1.SignedEntity").msgclass
62
62
  ContainerImageSignature = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.confidentialcomputing.v1.ContainerImageSignature").msgclass
63
+ VerifyConfidentialSpaceRequest = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.confidentialcomputing.v1.VerifyConfidentialSpaceRequest").msgclass
64
+ VerifyConfidentialSpaceRequest::ConfidentialSpaceOptions = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.confidentialcomputing.v1.VerifyConfidentialSpaceRequest.ConfidentialSpaceOptions").msgclass
65
+ GceShieldedIdentity = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.confidentialcomputing.v1.GceShieldedIdentity").msgclass
66
+ VerifyConfidentialSpaceResponse = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.confidentialcomputing.v1.VerifyConfidentialSpaceResponse").msgclass
67
+ VerifyConfidentialGkeRequest = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.confidentialcomputing.v1.VerifyConfidentialGkeRequest").msgclass
68
+ VerifyConfidentialGkeResponse = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.confidentialcomputing.v1.VerifyConfidentialGkeResponse").msgclass
63
69
  SigningAlgorithm = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.confidentialcomputing.v1.SigningAlgorithm").enummodule
64
70
  TokenType = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.confidentialcomputing.v1.TokenType").enummodule
71
+ SignatureType = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.confidentialcomputing.v1.SignatureType").enummodule
72
+ TokenProfile = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.confidentialcomputing.v1.TokenProfile").enummodule
65
73
  end
66
74
  end
67
75
  end
@@ -35,8 +35,15 @@ module Google
35
35
 
36
36
  # Creates a new Challenge in a given project and location.
37
37
  rpc :CreateChallenge, ::Google::Cloud::ConfidentialComputing::V1::CreateChallengeRequest, ::Google::Cloud::ConfidentialComputing::V1::Challenge
38
- # Verifies the provided attestation info, returning a signed OIDC token.
38
+ # Verifies the provided attestation info, returning a signed attestation
39
+ # token.
39
40
  rpc :VerifyAttestation, ::Google::Cloud::ConfidentialComputing::V1::VerifyAttestationRequest, ::Google::Cloud::ConfidentialComputing::V1::VerifyAttestationResponse
41
+ # Verifies whether the provided attestation info is valid, returning a signed
42
+ # attestation token if so.
43
+ rpc :VerifyConfidentialSpace, ::Google::Cloud::ConfidentialComputing::V1::VerifyConfidentialSpaceRequest, ::Google::Cloud::ConfidentialComputing::V1::VerifyConfidentialSpaceResponse
44
+ # Verifies the provided Confidential GKE attestation info, returning a signed
45
+ # OIDC token.
46
+ rpc :VerifyConfidentialGke, ::Google::Cloud::ConfidentialComputing::V1::VerifyConfidentialGkeRequest, ::Google::Cloud::ConfidentialComputing::V1::VerifyConfidentialGkeResponse
40
47
  end
41
48
 
42
49
  Stub = Service.rpc_stub_class
@@ -58,8 +58,8 @@ module Google
58
58
  extend ::Google::Protobuf::MessageExts::ClassMethods
59
59
  end
60
60
 
61
- # A request for an OIDC token, providing all the necessary information needed
62
- # for this service to verify the platform state of the requestor.
61
+ # A request for an attestation token, providing all the necessary information
62
+ # needed for this service to verify the platform state of the requestor.
63
63
  # @!attribute [rw] td_ccel
64
64
  # @return [::Google::Cloud::ConfidentialComputing::V1::TdxCcelAttestation]
65
65
  # Optional. A TDX with CCEL and RTMR Attestation Quote.
@@ -141,7 +141,7 @@ module Google
141
141
  end
142
142
 
143
143
  # A response once an attestation has been successfully verified, containing a
144
- # signed OIDC token.
144
+ # signed attestation token.
145
145
  # @!attribute [r] oidc_claims_token
146
146
  # @return [::String]
147
147
  # Output only. Same as claims_token, but as a string.
@@ -166,8 +166,8 @@ module Google
166
166
 
167
167
  # Options to modify claims in the token to generate custom-purpose tokens.
168
168
  # @!attribute [rw] aws_principal_tags_options
169
- # @return [::Google::Cloud::ConfidentialComputing::V1::TokenOptions::AwsPrincipalTagsOptions]
170
- # Optional. Options for the Limited AWS token type.
169
+ # @return [::Google::Cloud::ConfidentialComputing::V1::AwsPrincipalTagsOptions]
170
+ # Optional. Options for AWS token type.
171
171
  # @!attribute [rw] audience
172
172
  # @return [::String]
173
173
  # Optional. Optional string to issue the token with a custom audience claim.
@@ -183,35 +183,35 @@ module Google
183
183
  class TokenOptions
184
184
  include ::Google::Protobuf::MessageExts
185
185
  extend ::Google::Protobuf::MessageExts::ClassMethods
186
+ end
186
187
 
187
- # Token options that only apply to the AWS Principal Tags token type.
188
- # @!attribute [rw] allowed_principal_tags
189
- # @return [::Google::Cloud::ConfidentialComputing::V1::TokenOptions::AwsPrincipalTagsOptions::AllowedPrincipalTags]
190
- # Optional. Principal tags to allow in the token.
191
- class AwsPrincipalTagsOptions
188
+ # Token options that only apply to the AWS Principal Tags token type.
189
+ # @!attribute [rw] allowed_principal_tags
190
+ # @return [::Google::Cloud::ConfidentialComputing::V1::AwsPrincipalTagsOptions::AllowedPrincipalTags]
191
+ # Optional. Principal tags to allow in the token.
192
+ class AwsPrincipalTagsOptions
193
+ include ::Google::Protobuf::MessageExts
194
+ extend ::Google::Protobuf::MessageExts::ClassMethods
195
+
196
+ # Allowed principal tags is used to define what principal tags will be
197
+ # placed in the token.
198
+ # @!attribute [rw] container_image_signatures
199
+ # @return [::Google::Cloud::ConfidentialComputing::V1::AwsPrincipalTagsOptions::AllowedPrincipalTags::ContainerImageSignatures]
200
+ # Optional. Container image signatures allowed in the token.
201
+ class AllowedPrincipalTags
192
202
  include ::Google::Protobuf::MessageExts
193
203
  extend ::Google::Protobuf::MessageExts::ClassMethods
194
204
 
195
- # Allowed principal tags is used to define what principal tags will be
196
- # placed in the token.
197
- # @!attribute [rw] container_image_signatures
198
- # @return [::Google::Cloud::ConfidentialComputing::V1::TokenOptions::AwsPrincipalTagsOptions::AllowedPrincipalTags::ContainerImageSignatures]
199
- # Optional. Container image signatures allowed in the token.
200
- class AllowedPrincipalTags
205
+ # Allowed Container Image Signatures. Key IDs are required to allow
206
+ # this claim to fit within the narrow AWS IAM restrictions.
207
+ # @!attribute [rw] key_ids
208
+ # @return [::Array<::String>]
209
+ # Optional. List of key ids to filter into the Principal tags. Only keys
210
+ # that have been validated and added to the token will be filtered into
211
+ # principal tags. Unrecognized key ids will be ignored.
212
+ class ContainerImageSignatures
201
213
  include ::Google::Protobuf::MessageExts
202
214
  extend ::Google::Protobuf::MessageExts::ClassMethods
203
-
204
- # Allowed Container Image Signatures. Key IDs are required to allow this
205
- # claim to fit within the narrow AWS IAM restrictions.
206
- # @!attribute [rw] key_ids
207
- # @return [::Array<::String>]
208
- # Optional. List of key ids to filter into the Principal tags. Only
209
- # keys that have been validated and added to the token will be filtered
210
- # into principal tags. Unrecognized key ids will be ignored.
211
- class ContainerImageSignatures
212
- include ::Google::Protobuf::MessageExts
213
- extend ::Google::Protobuf::MessageExts::ClassMethods
214
- end
215
215
  end
216
216
  end
217
217
  end
@@ -321,6 +321,133 @@ module Google
321
321
  extend ::Google::Protobuf::MessageExts::ClassMethods
322
322
  end
323
323
 
324
+ # A request for an attestation token, providing all the necessary information
325
+ # needed for this service to verify the platform state of the requestor.
326
+ # @!attribute [rw] td_ccel
327
+ # @return [::Google::Cloud::ConfidentialComputing::V1::TdxCcelAttestation]
328
+ # Input only. A TDX with CCEL and RTMR Attestation Quote.
329
+ #
330
+ # Note: The following fields are mutually exclusive: `td_ccel`, `tpm_attestation`. If a field in that set is populated, all other fields in the set will automatically be cleared.
331
+ # @!attribute [rw] tpm_attestation
332
+ # @return [::Google::Cloud::ConfidentialComputing::V1::TpmAttestation]
333
+ # Input only. The TPM-specific data provided by the attesting platform,
334
+ # used to populate any of the claims regarding platform state.
335
+ #
336
+ # Note: The following fields are mutually exclusive: `tpm_attestation`, `td_ccel`. If a field in that set is populated, all other fields in the set will automatically be cleared.
337
+ # @!attribute [rw] challenge
338
+ # @return [::String]
339
+ # Required. The name of the Challenge whose nonce was used to generate the
340
+ # attestation, in the format `projects/*/locations/*/challenges/*`. The
341
+ # provided Challenge will be consumed, and cannot be used again.
342
+ # @!attribute [rw] gcp_credentials
343
+ # @return [::Google::Cloud::ConfidentialComputing::V1::GcpCredentials]
344
+ # Optional. Credentials used to populate the "emails" claim in the
345
+ # claims_token. If not present, token will not contain the "emails" claim.
346
+ # @!attribute [rw] signed_entities
347
+ # @return [::Array<::Google::Cloud::ConfidentialComputing::V1::SignedEntity>]
348
+ # Optional. A list of signed entities containing container image signatures
349
+ # that can be used for server-side signature verification.
350
+ # @!attribute [rw] gce_shielded_identity
351
+ # @return [::Google::Cloud::ConfidentialComputing::V1::GceShieldedIdentity]
352
+ # Optional. Information about the associated Compute Engine instance.
353
+ # Required for td_ccel requests only - tpm_attestation requests will provide
354
+ # this information in the attestation.
355
+ # @!attribute [rw] options
356
+ # @return [::Google::Cloud::ConfidentialComputing::V1::VerifyConfidentialSpaceRequest::ConfidentialSpaceOptions]
357
+ # Optional. A collection of fields that modify the token output.
358
+ class VerifyConfidentialSpaceRequest
359
+ include ::Google::Protobuf::MessageExts
360
+ extend ::Google::Protobuf::MessageExts::ClassMethods
361
+
362
+ # Token options for Confidential Space attestation.
363
+ # @!attribute [rw] aws_principal_tags_options
364
+ # @return [::Google::Cloud::ConfidentialComputing::V1::AwsPrincipalTagsOptions]
365
+ # Optional. Options for the AWS token type.
366
+ # @!attribute [rw] audience
367
+ # @return [::String]
368
+ # Optional. Optional string to issue the token with a custom audience
369
+ # claim. Required if custom nonces are specified.
370
+ # @!attribute [rw] token_profile
371
+ # @return [::Google::Cloud::ConfidentialComputing::V1::TokenProfile]
372
+ # Optional. Optional specification for token claims profile.
373
+ # @!attribute [rw] nonce
374
+ # @return [::Array<::String>]
375
+ # Optional. Optional parameter to place one or more nonces in the eat_nonce
376
+ # claim in the output token. The minimum size for JSON-encoded EATs is 10
377
+ # bytes and the maximum size is 74 bytes.
378
+ # @!attribute [rw] signature_type
379
+ # @return [::Google::Cloud::ConfidentialComputing::V1::SignatureType]
380
+ # Optional. Optional specification for how to sign the attestation token.
381
+ # Defaults to SIGNATURE_TYPE_OIDC if unspecified.
382
+ class ConfidentialSpaceOptions
383
+ include ::Google::Protobuf::MessageExts
384
+ extend ::Google::Protobuf::MessageExts::ClassMethods
385
+ end
386
+ end
387
+
388
+ # GceShieldedIdentity contains information about a Compute Engine instance.
389
+ # @!attribute [rw] ak_cert
390
+ # @return [::String]
391
+ # Optional. DER-encoded X.509 certificate of the Attestation Key (otherwise
392
+ # known as an AK or a TPM restricted signing key) used to generate the
393
+ # quotes.
394
+ # @!attribute [rw] ak_cert_chain
395
+ # @return [::Array<::String>]
396
+ # Optional. List of DER-encoded X.509 certificates which, together with the
397
+ # ak_cert, chain back to a trusted Root Certificate.
398
+ class GceShieldedIdentity
399
+ include ::Google::Protobuf::MessageExts
400
+ extend ::Google::Protobuf::MessageExts::ClassMethods
401
+ end
402
+
403
+ # VerifyConfidentialSpaceResponse is returned once a Confidential Space
404
+ # attestation has been successfully verified, containing a signed token.
405
+ # @!attribute [r] attestation_token
406
+ # @return [::String]
407
+ # Output only. The attestation token issued by this service. It contains
408
+ # specific platform claims based on the contents of the provided attestation.
409
+ # @!attribute [r] partial_errors
410
+ # @return [::Array<::Google::Rpc::Status>]
411
+ # Output only. A list of messages that carry the partial error details
412
+ # related to VerifyConfidentialSpace. This field is populated by errors
413
+ # during container image signature verification, which may reflect problems
414
+ # in the provided image signatures. This does not block the issuing of an
415
+ # attestation token, but the token will not contain claims for the failed
416
+ # image signatures.
417
+ class VerifyConfidentialSpaceResponse
418
+ include ::Google::Protobuf::MessageExts
419
+ extend ::Google::Protobuf::MessageExts::ClassMethods
420
+ end
421
+
422
+ # A request for an attestation token, providing all the necessary information
423
+ # needed for this service to verify Confidential GKE platform state of the
424
+ # requestor.
425
+ # @!attribute [rw] tpm_attestation
426
+ # @return [::Google::Cloud::ConfidentialComputing::V1::TpmAttestation]
427
+ # The TPM-specific data provided by the attesting platform, used to
428
+ # populate any of the claims regarding platform state.
429
+ # @!attribute [rw] challenge
430
+ # @return [::String]
431
+ # Required. The name of the Challenge whose nonce was used to generate the
432
+ # attestation, in the format projects/*/locations/*/challenges/*. The
433
+ # provided Challenge will be consumed, and cannot be used again.
434
+ class VerifyConfidentialGkeRequest
435
+ include ::Google::Protobuf::MessageExts
436
+ extend ::Google::Protobuf::MessageExts::ClassMethods
437
+ end
438
+
439
+ # VerifyConfidentialGkeResponse response is returened once a Confidential GKE
440
+ # attestation has been successfully verified, containing a signed OIDC token.
441
+ # @!attribute [r] attestation_token
442
+ # @return [::String]
443
+ # Output only. The attestation token issued by this service for Confidential
444
+ # GKE. It contains specific platform claims based on the contents of the
445
+ # provided attestation.
446
+ class VerifyConfidentialGkeResponse
447
+ include ::Google::Protobuf::MessageExts
448
+ extend ::Google::Protobuf::MessageExts::ClassMethods
449
+ end
450
+
324
451
  # SigningAlgorithm enumerates all the supported signing algorithms.
325
452
  module SigningAlgorithm
326
453
  # Unspecified signing algorithm.
@@ -354,6 +481,30 @@ module Google
354
481
  # Principal-tag-based token for AWS integration
355
482
  TOKEN_TYPE_AWS_PRINCIPALTAGS = 4
356
483
  end
484
+
485
+ # SignatureType enumerates supported signature types for attestation tokens.
486
+ module SignatureType
487
+ # Unspecified signature type.
488
+ SIGNATURE_TYPE_UNSPECIFIED = 0
489
+
490
+ # Google OIDC signature.
491
+ SIGNATURE_TYPE_OIDC = 1
492
+
493
+ # Public Key Infrastructure (PKI) signature.
494
+ SIGNATURE_TYPE_PKI = 2
495
+ end
496
+
497
+ # TokenProfile enumerates the supported token claims profiles.
498
+ module TokenProfile
499
+ # Unspecified token profile.
500
+ TOKEN_PROFILE_UNSPECIFIED = 0
501
+
502
+ # EAT claims.
503
+ TOKEN_PROFILE_DEFAULT_EAT = 1
504
+
505
+ # AWS Principal Tags claims.
506
+ TOKEN_PROFILE_AWS = 2
507
+ end
357
508
  end
358
509
  end
359
510
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: google-cloud-confidential_computing-v1
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.6.1
4
+ version: 2.0.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Google LLC
@@ -15,14 +15,14 @@ dependencies:
15
15
  requirements:
16
16
  - - "~>"
17
17
  - !ruby/object:Gem::Version
18
- version: '1.0'
18
+ version: '1.2'
19
19
  type: :runtime
20
20
  prerelease: false
21
21
  version_requirements: !ruby/object:Gem::Requirement
22
22
  requirements:
23
23
  - - "~>"
24
24
  - !ruby/object:Gem::Version
25
- version: '1.0'
25
+ version: '1.2'
26
26
  - !ruby/object:Gem::Dependency
27
27
  name: google-cloud-errors
28
28
  requirement: !ruby/object:Gem::Requirement