google-cloud-iap-v1 1.2.0 → 1.3.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: 202a2cf86212bbdddb24d2e0279778a9862e19cefafb4724bad6dc8c47e38e3c
4
- data.tar.gz: b0d412145b4949dfffd42cb7796e98aefea6d5afa0b5a7ed39db2176855506bc
3
+ metadata.gz: 7d72bb6036f410910ccbed4239ec28f48167f0e378ac1f824edb53b54af209c6
4
+ data.tar.gz: 13f7430319b863296efef6a1752df4e43f9a5ddf308ca3175026dcbbce90a1c7
5
5
  SHA512:
6
- metadata.gz: 1dec44cedae346b77d270dcf706aba8839295e95c7a85b00cdc48d322aabd245907b55a44cb102910cf275ac1f75cc9e4e4a88d6b58eac572bbea3d830066b50
7
- data.tar.gz: f1deb1fc05cd0157c81d4d0704a94ba38caac1adbebef7deb843ba6bb890c161600b183487a1282035f3ad56d7a5d0676bf6733aecef5eb6eb56dfbfb5a7dbcb
6
+ metadata.gz: 052ffd2d2d33641d2113b346e59123105a448b35e0b414370117903a3e91ed33d1e5a09a3a7fccaf2c305869af7c3b4641135460136dcd446e2439a0021a9719
7
+ data.tar.gz: 6963dff4a65f0fadf1ee9c05ec71d7eda514cc19c9681eef0b4202df5d00f02723f7c92540cc8bda089f8b3bd6f9a88224f6cba7d4746c3d23a5bc40a35fceea
@@ -653,6 +653,95 @@ module Google
653
653
  raise ::Google::Cloud::Error.from_error(e)
654
654
  end
655
655
 
656
+ ##
657
+ # Validates that a given CEL expression conforms to IAP restrictions.
658
+ #
659
+ # @overload validate_iap_attribute_expression(request, options = nil)
660
+ # Pass arguments to `validate_iap_attribute_expression` via a request object, either of type
661
+ # {::Google::Cloud::Iap::V1::ValidateIapAttributeExpressionRequest} or an equivalent Hash.
662
+ #
663
+ # @param request [::Google::Cloud::Iap::V1::ValidateIapAttributeExpressionRequest, ::Hash]
664
+ # A request object representing the call parameters. Required. To specify no
665
+ # parameters, or to keep all the default parameter values, pass an empty Hash.
666
+ # @param options [::Gapic::CallOptions, ::Hash]
667
+ # Overrides the default settings for this call, e.g, timeout, retries, etc. Optional.
668
+ #
669
+ # @overload validate_iap_attribute_expression(name: nil, expression: nil)
670
+ # Pass arguments to `validate_iap_attribute_expression` via keyword arguments. Note that at
671
+ # least one keyword argument is required. To specify no parameters, or to keep all
672
+ # the default parameter values, pass an empty Hash as a request object (see above).
673
+ #
674
+ # @param name [::String]
675
+ # Required. The resource name of the IAP protected resource.
676
+ # @param expression [::String]
677
+ # Required. User input string expression. Should be of the form
678
+ # `attributes.saml_attributes.filter(attribute, attribute.name in
679
+ # ['\\{attribute_name}', '\\{attribute_name}'])`
680
+ #
681
+ # @yield [response, operation] Access the result along with the RPC operation
682
+ # @yieldparam response [::Google::Cloud::Iap::V1::ValidateIapAttributeExpressionResponse]
683
+ # @yieldparam operation [::GRPC::ActiveCall::Operation]
684
+ #
685
+ # @return [::Google::Cloud::Iap::V1::ValidateIapAttributeExpressionResponse]
686
+ #
687
+ # @raise [::Google::Cloud::Error] if the RPC is aborted.
688
+ #
689
+ # @example Basic example
690
+ # require "google/cloud/iap/v1"
691
+ #
692
+ # # Create a client object. The client can be reused for multiple calls.
693
+ # client = Google::Cloud::Iap::V1::IdentityAwareProxyAdminService::Client.new
694
+ #
695
+ # # Create a request. To set request fields, pass in keyword arguments.
696
+ # request = Google::Cloud::Iap::V1::ValidateIapAttributeExpressionRequest.new
697
+ #
698
+ # # Call the validate_iap_attribute_expression method.
699
+ # result = client.validate_iap_attribute_expression request
700
+ #
701
+ # # The returned object is of type Google::Cloud::Iap::V1::ValidateIapAttributeExpressionResponse.
702
+ # p result
703
+ #
704
+ def validate_iap_attribute_expression request, options = nil
705
+ raise ::ArgumentError, "request must be provided" if request.nil?
706
+
707
+ request = ::Gapic::Protobuf.coerce request, to: ::Google::Cloud::Iap::V1::ValidateIapAttributeExpressionRequest
708
+
709
+ # Converts hash and nil to an options object
710
+ options = ::Gapic::CallOptions.new(**options.to_h) if options.respond_to? :to_h
711
+
712
+ # Customize the options with defaults
713
+ metadata = @config.rpcs.validate_iap_attribute_expression.metadata.to_h
714
+
715
+ # Set x-goog-api-client, x-goog-user-project and x-goog-api-version headers
716
+ metadata[:"x-goog-api-client"] ||= ::Gapic::Headers.x_goog_api_client \
717
+ lib_name: @config.lib_name, lib_version: @config.lib_version,
718
+ gapic_version: ::Google::Cloud::Iap::V1::VERSION
719
+ metadata[:"x-goog-api-version"] = API_VERSION unless API_VERSION.empty?
720
+ metadata[:"x-goog-user-project"] = @quota_project_id if @quota_project_id
721
+
722
+ header_params = {}
723
+ if request.name
724
+ header_params["name"] = request.name
725
+ end
726
+
727
+ request_params_header = header_params.map { |k, v| "#{k}=#{v}" }.join("&")
728
+ metadata[:"x-goog-request-params"] ||= request_params_header
729
+
730
+ options.apply_defaults timeout: @config.rpcs.validate_iap_attribute_expression.timeout,
731
+ metadata: metadata,
732
+ retry_policy: @config.rpcs.validate_iap_attribute_expression.retry_policy
733
+
734
+ options.apply_defaults timeout: @config.timeout,
735
+ metadata: @config.metadata,
736
+ retry_policy: @config.retry_policy
737
+
738
+ @identity_aware_proxy_admin_service_stub.call_rpc :validate_iap_attribute_expression, request, options: options do |response, operation|
739
+ yield response, operation if block_given?
740
+ end
741
+ rescue ::GRPC::BadStatus => e
742
+ raise ::Google::Cloud::Error.from_error(e)
743
+ end
744
+
656
745
  ##
657
746
  # Lists the existing TunnelDestGroups. To group across all locations, use a
658
747
  # `-` as the location ID. For example:
@@ -1311,6 +1400,11 @@ module Google
1311
1400
  #
1312
1401
  attr_reader :update_iap_settings
1313
1402
  ##
1403
+ # RPC-specific configuration for `validate_iap_attribute_expression`
1404
+ # @return [::Gapic::Config::Method]
1405
+ #
1406
+ attr_reader :validate_iap_attribute_expression
1407
+ ##
1314
1408
  # RPC-specific configuration for `list_tunnel_dest_groups`
1315
1409
  # @return [::Gapic::Config::Method]
1316
1410
  #
@@ -1348,6 +1442,8 @@ module Google
1348
1442
  @get_iap_settings = ::Gapic::Config::Method.new get_iap_settings_config
1349
1443
  update_iap_settings_config = parent_rpcs.update_iap_settings if parent_rpcs.respond_to? :update_iap_settings
1350
1444
  @update_iap_settings = ::Gapic::Config::Method.new update_iap_settings_config
1445
+ validate_iap_attribute_expression_config = parent_rpcs.validate_iap_attribute_expression if parent_rpcs.respond_to? :validate_iap_attribute_expression
1446
+ @validate_iap_attribute_expression = ::Gapic::Config::Method.new validate_iap_attribute_expression_config
1351
1447
  list_tunnel_dest_groups_config = parent_rpcs.list_tunnel_dest_groups if parent_rpcs.respond_to? :list_tunnel_dest_groups
1352
1448
  @list_tunnel_dest_groups = ::Gapic::Config::Method.new list_tunnel_dest_groups_config
1353
1449
  create_tunnel_dest_group_config = parent_rpcs.create_tunnel_dest_group if parent_rpcs.respond_to? :create_tunnel_dest_group
@@ -611,6 +611,88 @@ module Google
611
611
  raise ::Google::Cloud::Error.from_error(e)
612
612
  end
613
613
 
614
+ ##
615
+ # Validates that a given CEL expression conforms to IAP restrictions.
616
+ #
617
+ # @overload validate_iap_attribute_expression(request, options = nil)
618
+ # Pass arguments to `validate_iap_attribute_expression` via a request object, either of type
619
+ # {::Google::Cloud::Iap::V1::ValidateIapAttributeExpressionRequest} or an equivalent Hash.
620
+ #
621
+ # @param request [::Google::Cloud::Iap::V1::ValidateIapAttributeExpressionRequest, ::Hash]
622
+ # A request object representing the call parameters. Required. To specify no
623
+ # parameters, or to keep all the default parameter values, pass an empty Hash.
624
+ # @param options [::Gapic::CallOptions, ::Hash]
625
+ # Overrides the default settings for this call, e.g, timeout, retries etc. Optional.
626
+ #
627
+ # @overload validate_iap_attribute_expression(name: nil, expression: nil)
628
+ # Pass arguments to `validate_iap_attribute_expression` via keyword arguments. Note that at
629
+ # least one keyword argument is required. To specify no parameters, or to keep all
630
+ # the default parameter values, pass an empty Hash as a request object (see above).
631
+ #
632
+ # @param name [::String]
633
+ # Required. The resource name of the IAP protected resource.
634
+ # @param expression [::String]
635
+ # Required. User input string expression. Should be of the form
636
+ # `attributes.saml_attributes.filter(attribute, attribute.name in
637
+ # ['\\{attribute_name}', '\\{attribute_name}'])`
638
+ # @yield [result, operation] Access the result along with the TransportOperation object
639
+ # @yieldparam result [::Google::Cloud::Iap::V1::ValidateIapAttributeExpressionResponse]
640
+ # @yieldparam operation [::Gapic::Rest::TransportOperation]
641
+ #
642
+ # @return [::Google::Cloud::Iap::V1::ValidateIapAttributeExpressionResponse]
643
+ #
644
+ # @raise [::Google::Cloud::Error] if the REST call is aborted.
645
+ #
646
+ # @example Basic example
647
+ # require "google/cloud/iap/v1"
648
+ #
649
+ # # Create a client object. The client can be reused for multiple calls.
650
+ # client = Google::Cloud::Iap::V1::IdentityAwareProxyAdminService::Rest::Client.new
651
+ #
652
+ # # Create a request. To set request fields, pass in keyword arguments.
653
+ # request = Google::Cloud::Iap::V1::ValidateIapAttributeExpressionRequest.new
654
+ #
655
+ # # Call the validate_iap_attribute_expression method.
656
+ # result = client.validate_iap_attribute_expression request
657
+ #
658
+ # # The returned object is of type Google::Cloud::Iap::V1::ValidateIapAttributeExpressionResponse.
659
+ # p result
660
+ #
661
+ def validate_iap_attribute_expression request, options = nil
662
+ raise ::ArgumentError, "request must be provided" if request.nil?
663
+
664
+ request = ::Gapic::Protobuf.coerce request, to: ::Google::Cloud::Iap::V1::ValidateIapAttributeExpressionRequest
665
+
666
+ # Converts hash and nil to an options object
667
+ options = ::Gapic::CallOptions.new(**options.to_h) if options.respond_to? :to_h
668
+
669
+ # Customize the options with defaults
670
+ call_metadata = @config.rpcs.validate_iap_attribute_expression.metadata.to_h
671
+
672
+ # Set x-goog-api-client, x-goog-user-project and x-goog-api-version headers
673
+ call_metadata[:"x-goog-api-client"] ||= ::Gapic::Headers.x_goog_api_client \
674
+ lib_name: @config.lib_name, lib_version: @config.lib_version,
675
+ gapic_version: ::Google::Cloud::Iap::V1::VERSION,
676
+ transports_version_send: [:rest]
677
+
678
+ call_metadata[:"x-goog-api-version"] = API_VERSION unless API_VERSION.empty?
679
+ call_metadata[:"x-goog-user-project"] = @quota_project_id if @quota_project_id
680
+
681
+ options.apply_defaults timeout: @config.rpcs.validate_iap_attribute_expression.timeout,
682
+ metadata: call_metadata,
683
+ retry_policy: @config.rpcs.validate_iap_attribute_expression.retry_policy
684
+
685
+ options.apply_defaults timeout: @config.timeout,
686
+ metadata: @config.metadata,
687
+ retry_policy: @config.retry_policy
688
+
689
+ @identity_aware_proxy_admin_service_stub.validate_iap_attribute_expression request, options do |result, operation|
690
+ yield result, operation if block_given?
691
+ end
692
+ rescue ::Gapic::Rest::Error => e
693
+ raise ::Google::Cloud::Error.from_error(e)
694
+ end
695
+
614
696
  ##
615
697
  # Lists the existing TunnelDestGroups. To group across all locations, use a
616
698
  # `-` as the location ID. For example:
@@ -1214,6 +1296,11 @@ module Google
1214
1296
  #
1215
1297
  attr_reader :update_iap_settings
1216
1298
  ##
1299
+ # RPC-specific configuration for `validate_iap_attribute_expression`
1300
+ # @return [::Gapic::Config::Method]
1301
+ #
1302
+ attr_reader :validate_iap_attribute_expression
1303
+ ##
1217
1304
  # RPC-specific configuration for `list_tunnel_dest_groups`
1218
1305
  # @return [::Gapic::Config::Method]
1219
1306
  #
@@ -1251,6 +1338,8 @@ module Google
1251
1338
  @get_iap_settings = ::Gapic::Config::Method.new get_iap_settings_config
1252
1339
  update_iap_settings_config = parent_rpcs.update_iap_settings if parent_rpcs.respond_to? :update_iap_settings
1253
1340
  @update_iap_settings = ::Gapic::Config::Method.new update_iap_settings_config
1341
+ validate_iap_attribute_expression_config = parent_rpcs.validate_iap_attribute_expression if parent_rpcs.respond_to? :validate_iap_attribute_expression
1342
+ @validate_iap_attribute_expression = ::Gapic::Config::Method.new validate_iap_attribute_expression_config
1254
1343
  list_tunnel_dest_groups_config = parent_rpcs.list_tunnel_dest_groups if parent_rpcs.respond_to? :list_tunnel_dest_groups
1255
1344
  @list_tunnel_dest_groups = ::Gapic::Config::Method.new list_tunnel_dest_groups_config
1256
1345
  create_tunnel_dest_group_config = parent_rpcs.create_tunnel_dest_group if parent_rpcs.respond_to? :create_tunnel_dest_group
@@ -273,6 +273,46 @@ module Google
273
273
  end
274
274
  end
275
275
 
276
+ ##
277
+ # Baseline implementation for the validate_iap_attribute_expression REST call
278
+ #
279
+ # @param request_pb [::Google::Cloud::Iap::V1::ValidateIapAttributeExpressionRequest]
280
+ # A request object representing the call parameters. Required.
281
+ # @param options [::Gapic::CallOptions]
282
+ # Overrides the default settings for this call, e.g, timeout, retries etc. Optional.
283
+ #
284
+ # @yield [result, operation] Access the result along with the TransportOperation object
285
+ # @yieldparam result [::Google::Cloud::Iap::V1::ValidateIapAttributeExpressionResponse]
286
+ # @yieldparam operation [::Gapic::Rest::TransportOperation]
287
+ #
288
+ # @return [::Google::Cloud::Iap::V1::ValidateIapAttributeExpressionResponse]
289
+ # A result object deserialized from the server's reply
290
+ def validate_iap_attribute_expression request_pb, options = nil
291
+ raise ::ArgumentError, "request must be provided" if request_pb.nil?
292
+
293
+ verb, uri, query_string_params, body = ServiceStub.transcode_validate_iap_attribute_expression_request request_pb
294
+ query_string_params = if query_string_params.any?
295
+ query_string_params.to_h { |p| p.split "=", 2 }
296
+ else
297
+ {}
298
+ end
299
+
300
+ response = @client_stub.make_http_request(
301
+ verb,
302
+ uri: uri,
303
+ body: body || "",
304
+ params: query_string_params,
305
+ method_name: "validate_iap_attribute_expression",
306
+ options: options
307
+ )
308
+ operation = ::Gapic::Rest::TransportOperation.new response
309
+ result = ::Google::Cloud::Iap::V1::ValidateIapAttributeExpressionResponse.decode_json response.body, ignore_unknown_fields: true
310
+ catch :response do
311
+ yield result, operation if block_given?
312
+ result
313
+ end
314
+ end
315
+
276
316
  ##
277
317
  # Baseline implementation for the list_tunnel_dest_groups REST call
278
318
  #
@@ -582,6 +622,27 @@ module Google
582
622
  transcoder.transcode request_pb
583
623
  end
584
624
 
625
+ ##
626
+ # @private
627
+ #
628
+ # GRPC transcoding helper method for the validate_iap_attribute_expression REST call
629
+ #
630
+ # @param request_pb [::Google::Cloud::Iap::V1::ValidateIapAttributeExpressionRequest]
631
+ # A request object representing the call parameters. Required.
632
+ # @return [Array(String, [String, nil], Hash{String => String})]
633
+ # Uri, Body, Query string parameters
634
+ def self.transcode_validate_iap_attribute_expression_request request_pb
635
+ transcoder = Gapic::Rest::GrpcTranscoder.new
636
+ .with_bindings(
637
+ uri_method: :post,
638
+ uri_template: "/v1/{name}:validateAttributeExpression",
639
+ matches: [
640
+ ["name", %r{^.*$}, true]
641
+ ]
642
+ )
643
+ transcoder.transcode request_pb
644
+ end
645
+
585
646
  ##
586
647
  # @private
587
648
  #
@@ -16,7 +16,7 @@ require 'google/protobuf/field_mask_pb'
16
16
  require 'google/protobuf/wrappers_pb'
17
17
 
18
18
 
19
- descriptor_data = "\n!google/cloud/iap/v1/service.proto\x12\x13google.cloud.iap.v1\x1a\x1cgoogle/api/annotations.proto\x1a\x17google/api/client.proto\x1a\x1fgoogle/api/field_behavior.proto\x1a\x19google/api/resource.proto\x1a\x1egoogle/iam/v1/iam_policy.proto\x1a\x1agoogle/iam/v1/policy.proto\x1a\x1egoogle/protobuf/duration.proto\x1a\x1bgoogle/protobuf/empty.proto\x1a google/protobuf/field_mask.proto\x1a\x1egoogle/protobuf/wrappers.proto\"\x7f\n\x1bListTunnelDestGroupsRequest\x12\x39\n\x06parent\x18\x01 \x01(\tB)\xe0\x41\x02\xfa\x41#\n!iap.googleapis.com/TunnelLocation\x12\x11\n\tpage_size\x18\x02 \x01(\x05\x12\x12\n\npage_token\x18\x03 \x01(\t\"y\n\x1cListTunnelDestGroupsResponse\x12@\n\x12tunnel_dest_groups\x18\x01 \x03(\x0b\x32$.google.cloud.iap.v1.TunnelDestGroup\x12\x17\n\x0fnext_page_token\x18\x02 \x01(\t\"\xc3\x01\n\x1c\x43reateTunnelDestGroupRequest\x12:\n\x06parent\x18\x01 \x01(\tB*\xe0\x41\x02\xfa\x41$\x12\"iap.googleapis.com/TunnelDestGroup\x12\x44\n\x11tunnel_dest_group\x18\x02 \x01(\x0b\x32$.google.cloud.iap.v1.TunnelDestGroupB\x03\xe0\x41\x02\x12!\n\x14tunnel_dest_group_id\x18\x03 \x01(\tB\x03\xe0\x41\x02\"U\n\x19GetTunnelDestGroupRequest\x12\x38\n\x04name\x18\x01 \x01(\tB*\xe0\x41\x02\xfa\x41$\n\"iap.googleapis.com/TunnelDestGroup\"X\n\x1c\x44\x65leteTunnelDestGroupRequest\x12\x38\n\x04name\x18\x01 \x01(\tB*\xe0\x41\x02\xfa\x41$\n\"iap.googleapis.com/TunnelDestGroup\"\x95\x01\n\x1cUpdateTunnelDestGroupRequest\x12\x44\n\x11tunnel_dest_group\x18\x01 \x01(\x0b\x32$.google.cloud.iap.v1.TunnelDestGroupB\x03\xe0\x41\x02\x12/\n\x0bupdate_mask\x18\x02 \x01(\x0b\x32\x1a.google.protobuf.FieldMask\"\xc4\x01\n\x0fTunnelDestGroup\x12\x14\n\x04name\x18\x01 \x01(\tB\x06\xe0\x41\x02\xe0\x41\x05\x12\x12\n\x05\x63idrs\x18\x02 \x03(\tB\x03\xe0\x41\x06\x12\x12\n\x05\x66qdns\x18\x03 \x03(\tB\x03\xe0\x41\x06:s\xea\x41p\n\"iap.googleapis.com/TunnelDestGroup\x12Jprojects/{project}/iap_tunnel/locations/{location}/destGroups/{dest_group}\"*\n\x15GetIapSettingsRequest\x12\x11\n\x04name\x18\x01 \x01(\tB\x03\xe0\x41\x02\"\x88\x01\n\x18UpdateIapSettingsRequest\x12;\n\x0ciap_settings\x18\x01 \x01(\x0b\x32 .google.cloud.iap.v1.IapSettingsB\x03\xe0\x41\x02\x12/\n\x0bupdate_mask\x18\x02 \x01(\x0b\x32\x1a.google.protobuf.FieldMask\"\xa6\x01\n\x0bIapSettings\x12\x11\n\x04name\x18\x01 \x01(\tB\x03\xe0\x41\x02\x12<\n\x0f\x61\x63\x63\x65ss_settings\x18\x05 \x01(\x0b\x32#.google.cloud.iap.v1.AccessSettings\x12\x46\n\x14\x61pplication_settings\x18\x06 \x01(\x0b\x32(.google.cloud.iap.v1.ApplicationSettings\"\xcd\x02\n\x0e\x41\x63\x63\x65ssSettings\x12\x38\n\rgcip_settings\x18\x01 \x01(\x0b\x32!.google.cloud.iap.v1.GcipSettings\x12\x38\n\rcors_settings\x18\x02 \x01(\x0b\x32!.google.cloud.iap.v1.CorsSettings\x12:\n\x0eoauth_settings\x18\x03 \x01(\x0b\x32\".google.cloud.iap.v1.OAuthSettings\x12<\n\x0freauth_settings\x18\x06 \x01(\x0b\x32#.google.cloud.iap.v1.ReauthSettings\x12M\n\x18\x61llowed_domains_settings\x18\x07 \x01(\x0b\x32+.google.cloud.iap.v1.AllowedDomainsSettings\"X\n\x0cGcipSettings\x12\x12\n\ntenant_ids\x18\x01 \x03(\t\x12\x34\n\x0elogin_page_uri\x18\x02 \x01(\x0b\x32\x1c.google.protobuf.StringValue\"F\n\x0c\x43orsSettings\x12\x36\n\x12\x61llow_http_options\x18\x01 \x01(\x0b\x32\x1a.google.protobuf.BoolValue\"_\n\rOAuthSettings\x12\x30\n\nlogin_hint\x18\x02 \x01(\x0b\x32\x1c.google.protobuf.StringValue\x12\x1c\n\x14programmatic_clients\x18\x05 \x03(\t\"\xee\x02\n\x0eReauthSettings\x12:\n\x06method\x18\x01 \x01(\x0e\x32*.google.cloud.iap.v1.ReauthSettings.Method\x12*\n\x07max_age\x18\x02 \x01(\x0b\x32\x19.google.protobuf.Duration\x12\x43\n\x0bpolicy_type\x18\x03 \x01(\x0e\x32..google.cloud.iap.v1.ReauthSettings.PolicyType\"j\n\x06Method\x12\x16\n\x12METHOD_UNSPECIFIED\x10\x00\x12\t\n\x05LOGIN\x10\x01\x12\x10\n\x08PASSWORD\x10\x02\x1a\x02\x08\x01\x12\x0e\n\nSECURE_KEY\x10\x03\x12\x1b\n\x17\x45NROLLED_SECOND_FACTORS\x10\x04\"C\n\nPolicyType\x12\x1b\n\x17POLICY_TYPE_UNSPECIFIED\x10\x00\x12\x0b\n\x07MINIMUM\x10\x01\x12\x0b\n\x07\x44\x45\x46\x41ULT\x10\x02\"I\n\x16\x41llowedDomainsSettings\x12\x13\n\x06\x65nable\x18\x01 \x01(\x08H\x00\x88\x01\x01\x12\x0f\n\x07\x64omains\x18\x02 \x03(\tB\t\n\x07_enable\"\xb1\x02\n\x13\x41pplicationSettings\x12\x36\n\x0c\x63sm_settings\x18\x01 \x01(\x0b\x32 .google.cloud.iap.v1.CsmSettings\x12R\n\x1b\x61\x63\x63\x65ss_denied_page_settings\x18\x02 \x01(\x0b\x32-.google.cloud.iap.v1.AccessDeniedPageSettings\x12\x33\n\rcookie_domain\x18\x03 \x01(\x0b\x32\x1c.google.protobuf.StringValue\x12Y\n\x1e\x61ttribute_propagation_settings\x18\x04 \x01(\x0b\x32\x31.google.cloud.iap.v1.AttributePropagationSettings\"@\n\x0b\x43smSettings\x12\x31\n\x0brctoken_aud\x18\x01 \x01(\x0b\x32\x1c.google.protobuf.StringValue\"\x92\x02\n\x18\x41\x63\x63\x65ssDeniedPageSettings\x12<\n\x16\x61\x63\x63\x65ss_denied_page_uri\x18\x01 \x01(\x0b\x32\x1c.google.protobuf.StringValue\x12@\n\x1cgenerate_troubleshooting_uri\x18\x02 \x01(\x0b\x32\x1a.google.protobuf.BoolValue\x12M\n$remediation_token_generation_enabled\x18\x03 \x01(\x0b\x32\x1a.google.protobuf.BoolValueH\x00\x88\x01\x01\x42\'\n%_remediation_token_generation_enabled\"\xa2\x02\n\x1c\x41ttributePropagationSettings\x12\x17\n\nexpression\x18\x01 \x01(\tH\x00\x88\x01\x01\x12_\n\x12output_credentials\x18\x02 \x03(\x0e\x32\x43.google.cloud.iap.v1.AttributePropagationSettings.OutputCredentials\x12\x13\n\x06\x65nable\x18\x03 \x01(\x08H\x01\x88\x01\x01\"Y\n\x11OutputCredentials\x12\"\n\x1eOUTPUT_CREDENTIALS_UNSPECIFIED\x10\x00\x12\n\n\x06HEADER\x10\x01\x12\x07\n\x03JWT\x10\x02\x12\x0b\n\x07RCTOKEN\x10\x03\x42\r\n\x0b_expressionB\t\n\x07_enable\"(\n\x11ListBrandsRequest\x12\x13\n\x06parent\x18\x01 \x01(\tB\x03\xe0\x41\x02\"@\n\x12ListBrandsResponse\x12*\n\x06\x62rands\x18\x01 \x03(\x0b\x32\x1a.google.cloud.iap.v1.Brand\"Y\n\x12\x43reateBrandRequest\x12\x13\n\x06parent\x18\x01 \x01(\tB\x03\xe0\x41\x02\x12.\n\x05\x62rand\x18\x02 \x01(\x0b\x32\x1a.google.cloud.iap.v1.BrandB\x03\xe0\x41\x02\"$\n\x0fGetBrandRequest\x12\x11\n\x04name\x18\x01 \x01(\tB\x03\xe0\x41\x02\"b\n$ListIdentityAwareProxyClientsRequest\x12\x13\n\x06parent\x18\x01 \x01(\tB\x03\xe0\x41\x02\x12\x11\n\tpage_size\x18\x02 \x01(\x05\x12\x12\n\npage_token\x18\x03 \x01(\t\"\x95\x01\n%ListIdentityAwareProxyClientsResponse\x12S\n\x1cidentity_aware_proxy_clients\x18\x01 \x03(\x0b\x32-.google.cloud.iap.v1.IdentityAwareProxyClient\x12\x17\n\x0fnext_page_token\x18\x02 \x01(\t\"\x95\x01\n%CreateIdentityAwareProxyClientRequest\x12\x13\n\x06parent\x18\x01 \x01(\tB\x03\xe0\x41\x02\x12W\n\x1bidentity_aware_proxy_client\x18\x02 \x01(\x0b\x32-.google.cloud.iap.v1.IdentityAwareProxyClientB\x03\xe0\x41\x02\"7\n\"GetIdentityAwareProxyClientRequest\x12\x11\n\x04name\x18\x01 \x01(\tB\x03\xe0\x41\x02\"?\n*ResetIdentityAwareProxyClientSecretRequest\x12\x11\n\x04name\x18\x01 \x01(\tB\x03\xe0\x41\x02\":\n%DeleteIdentityAwareProxyClientRequest\x12\x11\n\x04name\x18\x01 \x01(\tB\x03\xe0\x41\x02\"l\n\x05\x42rand\x12\x11\n\x04name\x18\x01 \x01(\tB\x03\xe0\x41\x03\x12\x15\n\rsupport_email\x18\x02 \x01(\t\x12\x19\n\x11\x61pplication_title\x18\x03 \x01(\t\x12\x1e\n\x11org_internal_only\x18\x04 \x01(\x08\x42\x03\xe0\x41\x03\"X\n\x18IdentityAwareProxyClient\x12\x11\n\x04name\x18\x01 \x01(\tB\x03\xe0\x41\x03\x12\x13\n\x06secret\x18\x02 \x01(\tB\x03\xe0\x41\x03\x12\x14\n\x0c\x64isplay_name\x18\x03 \x01(\t2\xc0\x0e\n\x1eIdentityAwareProxyAdminService\x12t\n\x0cSetIamPolicy\x12\".google.iam.v1.SetIamPolicyRequest\x1a\x15.google.iam.v1.Policy\")\x82\xd3\xe4\x93\x02#\"\x1e/v1/{resource=**}:setIamPolicy:\x01*\x12t\n\x0cGetIamPolicy\x12\".google.iam.v1.GetIamPolicyRequest\x1a\x15.google.iam.v1.Policy\")\x82\xd3\xe4\x93\x02#\"\x1e/v1/{resource=**}:getIamPolicy:\x01*\x12\x9a\x01\n\x12TestIamPermissions\x12(.google.iam.v1.TestIamPermissionsRequest\x1a).google.iam.v1.TestIamPermissionsResponse\"/\x82\xd3\xe4\x93\x02)\"$/v1/{resource=**}:testIamPermissions:\x01*\x12\x81\x01\n\x0eGetIapSettings\x12*.google.cloud.iap.v1.GetIapSettingsRequest\x1a .google.cloud.iap.v1.IapSettings\"!\x82\xd3\xe4\x93\x02\x1b\x12\x19/v1/{name=**}:iapSettings\x12\xa2\x01\n\x11UpdateIapSettings\x12-.google.cloud.iap.v1.UpdateIapSettingsRequest\x1a .google.cloud.iap.v1.IapSettings\"<\x82\xd3\xe4\x93\x02\x36\x32&/v1/{iap_settings.name=**}:iapSettings:\x0ciap_settings\x12\xc7\x01\n\x14ListTunnelDestGroups\x12\x30.google.cloud.iap.v1.ListTunnelDestGroupsRequest\x1a\x31.google.cloud.iap.v1.ListTunnelDestGroupsResponse\"J\xda\x41\x06parent\x82\xd3\xe4\x93\x02;\x12\x39/v1/{parent=projects/*/iap_tunnel/locations/*}/destGroups\x12\xf7\x01\n\x15\x43reateTunnelDestGroup\x12\x31.google.cloud.iap.v1.CreateTunnelDestGroupRequest\x1a$.google.cloud.iap.v1.TunnelDestGroup\"\x84\x01\xda\x41-parent,tunnel_dest_group,tunnel_dest_group_id\x82\xd3\xe4\x93\x02N\"9/v1/{parent=projects/*/iap_tunnel/locations/*}/destGroups:\x11tunnel_dest_group\x12\xb4\x01\n\x12GetTunnelDestGroup\x12..google.cloud.iap.v1.GetTunnelDestGroupRequest\x1a$.google.cloud.iap.v1.TunnelDestGroup\"H\xda\x41\x04name\x82\xd3\xe4\x93\x02;\x12\x39/v1/{name=projects/*/iap_tunnel/locations/*/destGroups/*}\x12\xac\x01\n\x15\x44\x65leteTunnelDestGroup\x12\x31.google.cloud.iap.v1.DeleteTunnelDestGroupRequest\x1a\x16.google.protobuf.Empty\"H\xda\x41\x04name\x82\xd3\xe4\x93\x02;*9/v1/{name=projects/*/iap_tunnel/locations/*/destGroups/*}\x12\xf9\x01\n\x15UpdateTunnelDestGroup\x12\x31.google.cloud.iap.v1.UpdateTunnelDestGroupRequest\x1a$.google.cloud.iap.v1.TunnelDestGroup\"\x86\x01\xda\x41\x1dtunnel_dest_group,update_mask\x82\xd3\xe4\x93\x02`2K/v1/{tunnel_dest_group.name=projects/*/iap_tunnel/locations/*/destGroups/*}:\x11tunnel_dest_group\x1a\x46\xca\x41\x12iap.googleapis.com\xd2\x41.https://www.googleapis.com/auth/cloud-platform2\xa8\x0c\n\x1eIdentityAwareProxyOAuthService\x12\x85\x01\n\nListBrands\x12&.google.cloud.iap.v1.ListBrandsRequest\x1a\'.google.cloud.iap.v1.ListBrandsResponse\"&\x82\xd3\xe4\x93\x02 \x12\x1e/v1/{parent=projects/*}/brands\x12\x81\x01\n\x0b\x43reateBrand\x12\'.google.cloud.iap.v1.CreateBrandRequest\x1a\x1a.google.cloud.iap.v1.Brand\"-\x82\xd3\xe4\x93\x02\'\"\x1e/v1/{parent=projects/*}/brands:\x05\x62rand\x12t\n\x08GetBrand\x12$.google.cloud.iap.v1.GetBrandRequest\x1a\x1a.google.cloud.iap.v1.Brand\"&\x82\xd3\xe4\x93\x02 \x12\x1e/v1/{name=projects/*/brands/*}\x12\xec\x01\n\x1e\x43reateIdentityAwareProxyClient\x12:.google.cloud.iap.v1.CreateIdentityAwareProxyClientRequest\x1a-.google.cloud.iap.v1.IdentityAwareProxyClient\"_\x82\xd3\xe4\x93\x02Y\":/v1/{parent=projects/*/brands/*}/identityAwareProxyClients:\x1bidentity_aware_proxy_client\x12\xda\x01\n\x1dListIdentityAwareProxyClients\x12\x39.google.cloud.iap.v1.ListIdentityAwareProxyClientsRequest\x1a:.google.cloud.iap.v1.ListIdentityAwareProxyClientsResponse\"B\x82\xd3\xe4\x93\x02<\x12:/v1/{parent=projects/*/brands/*}/identityAwareProxyClients\x12\xc9\x01\n\x1bGetIdentityAwareProxyClient\x12\x37.google.cloud.iap.v1.GetIdentityAwareProxyClientRequest\x1a-.google.cloud.iap.v1.IdentityAwareProxyClient\"B\x82\xd3\xe4\x93\x02<\x12:/v1/{name=projects/*/brands/*/identityAwareProxyClients/*}\x12\xe8\x01\n#ResetIdentityAwareProxyClientSecret\x12?.google.cloud.iap.v1.ResetIdentityAwareProxyClientSecretRequest\x1a-.google.cloud.iap.v1.IdentityAwareProxyClient\"Q\x82\xd3\xe4\x93\x02K\"F/v1/{name=projects/*/brands/*/identityAwareProxyClients/*}:resetSecret:\x01*\x12\xb8\x01\n\x1e\x44\x65leteIdentityAwareProxyClient\x12:.google.cloud.iap.v1.DeleteIdentityAwareProxyClientRequest\x1a\x16.google.protobuf.Empty\"B\x82\xd3\xe4\x93\x02<*:/v1/{name=projects/*/brands/*/identityAwareProxyClients/*}\x1a\x46\xca\x41\x12iap.googleapis.com\xd2\x41.https://www.googleapis.com/auth/cloud-platformB\xe5\x01\n\x17\x63om.google.cloud.iap.v1P\x01Z)cloud.google.com/go/iap/apiv1/iappb;iappb\xaa\x02\x13Google.Cloud.Iap.V1\xca\x02\x13Google\\Cloud\\Iap\\V1\xea\x02\x16Google::Cloud::Iap::V1\xea\x41W\n!iap.googleapis.com/TunnelLocation\x12\x32projects/{project}/iap_tunnel/locations/{location}b\x06proto3"
19
+ descriptor_data = "\n!google/cloud/iap/v1/service.proto\x12\x13google.cloud.iap.v1\x1a\x1cgoogle/api/annotations.proto\x1a\x17google/api/client.proto\x1a\x1fgoogle/api/field_behavior.proto\x1a\x19google/api/resource.proto\x1a\x1egoogle/iam/v1/iam_policy.proto\x1a\x1agoogle/iam/v1/policy.proto\x1a\x1egoogle/protobuf/duration.proto\x1a\x1bgoogle/protobuf/empty.proto\x1a google/protobuf/field_mask.proto\x1a\x1egoogle/protobuf/wrappers.proto\"\x7f\n\x1bListTunnelDestGroupsRequest\x12\x39\n\x06parent\x18\x01 \x01(\tB)\xe0\x41\x02\xfa\x41#\n!iap.googleapis.com/TunnelLocation\x12\x11\n\tpage_size\x18\x02 \x01(\x05\x12\x12\n\npage_token\x18\x03 \x01(\t\"y\n\x1cListTunnelDestGroupsResponse\x12@\n\x12tunnel_dest_groups\x18\x01 \x03(\x0b\x32$.google.cloud.iap.v1.TunnelDestGroup\x12\x17\n\x0fnext_page_token\x18\x02 \x01(\t\"\xc3\x01\n\x1c\x43reateTunnelDestGroupRequest\x12:\n\x06parent\x18\x01 \x01(\tB*\xe0\x41\x02\xfa\x41$\x12\"iap.googleapis.com/TunnelDestGroup\x12\x44\n\x11tunnel_dest_group\x18\x02 \x01(\x0b\x32$.google.cloud.iap.v1.TunnelDestGroupB\x03\xe0\x41\x02\x12!\n\x14tunnel_dest_group_id\x18\x03 \x01(\tB\x03\xe0\x41\x02\"U\n\x19GetTunnelDestGroupRequest\x12\x38\n\x04name\x18\x01 \x01(\tB*\xe0\x41\x02\xfa\x41$\n\"iap.googleapis.com/TunnelDestGroup\"X\n\x1c\x44\x65leteTunnelDestGroupRequest\x12\x38\n\x04name\x18\x01 \x01(\tB*\xe0\x41\x02\xfa\x41$\n\"iap.googleapis.com/TunnelDestGroup\"\x95\x01\n\x1cUpdateTunnelDestGroupRequest\x12\x44\n\x11tunnel_dest_group\x18\x01 \x01(\x0b\x32$.google.cloud.iap.v1.TunnelDestGroupB\x03\xe0\x41\x02\x12/\n\x0bupdate_mask\x18\x02 \x01(\x0b\x32\x1a.google.protobuf.FieldMask\"\xc7\x01\n\x0fTunnelDestGroup\x12\x11\n\x04name\x18\x01 \x01(\tB\x03\xe0\x41\x08\x12\x15\n\x05\x63idrs\x18\x02 \x03(\tB\x06\xe0\x41\x06\xe0\x41\x01\x12\x15\n\x05\x66qdns\x18\x03 \x03(\tB\x06\xe0\x41\x06\xe0\x41\x01:s\xea\x41p\n\"iap.googleapis.com/TunnelDestGroup\x12Jprojects/{project}/iap_tunnel/locations/{location}/destGroups/{dest_group}\"*\n\x15GetIapSettingsRequest\x12\x11\n\x04name\x18\x01 \x01(\tB\x03\xe0\x41\x02\"\x88\x01\n\x18UpdateIapSettingsRequest\x12;\n\x0ciap_settings\x18\x01 \x01(\x0b\x32 .google.cloud.iap.v1.IapSettingsB\x03\xe0\x41\x02\x12/\n\x0bupdate_mask\x18\x02 \x01(\x0b\x32\x1a.google.protobuf.FieldMask\"\xb0\x01\n\x0bIapSettings\x12\x11\n\x04name\x18\x01 \x01(\tB\x03\xe0\x41\x02\x12\x41\n\x0f\x61\x63\x63\x65ss_settings\x18\x05 \x01(\x0b\x32#.google.cloud.iap.v1.AccessSettingsB\x03\xe0\x41\x01\x12K\n\x14\x61pplication_settings\x18\x06 \x01(\x0b\x32(.google.cloud.iap.v1.ApplicationSettingsB\x03\xe0\x41\x01\"\xe9\x04\n\x0e\x41\x63\x63\x65ssSettings\x12=\n\rgcip_settings\x18\x01 \x01(\x0b\x32!.google.cloud.iap.v1.GcipSettingsB\x03\xe0\x41\x01\x12=\n\rcors_settings\x18\x02 \x01(\x0b\x32!.google.cloud.iap.v1.CorsSettingsB\x03\xe0\x41\x01\x12?\n\x0eoauth_settings\x18\x03 \x01(\x0b\x32\".google.cloud.iap.v1.OAuthSettingsB\x03\xe0\x41\x01\x12\x41\n\x0freauth_settings\x18\x06 \x01(\x0b\x32#.google.cloud.iap.v1.ReauthSettingsB\x03\xe0\x41\x01\x12R\n\x18\x61llowed_domains_settings\x18\x07 \x01(\x0b\x32+.google.cloud.iap.v1.AllowedDomainsSettingsB\x03\xe0\x41\x01\x12X\n\x1bworkforce_identity_settings\x18\t \x01(\x0b\x32..google.cloud.iap.v1.WorkforceIdentitySettingsB\x03\xe0\x41\x01\x12Q\n\x10identity_sources\x18\n \x03(\x0e\x32\x32.google.cloud.iap.v1.AccessSettings.IdentitySourceB\x03\xe0\x41\x01\"T\n\x0eIdentitySource\x12\x1f\n\x1bIDENTITY_SOURCE_UNSPECIFIED\x10\x00\x12!\n\x1dWORKFORCE_IDENTITY_FEDERATION\x10\x03\"]\n\x0cGcipSettings\x12\x17\n\ntenant_ids\x18\x01 \x03(\tB\x03\xe0\x41\x01\x12\x34\n\x0elogin_page_uri\x18\x02 \x01(\x0b\x32\x1c.google.protobuf.StringValue\"F\n\x0c\x43orsSettings\x12\x36\n\x12\x61llow_http_options\x18\x01 \x01(\x0b\x32\x1a.google.protobuf.BoolValue\"d\n\rOAuthSettings\x12\x30\n\nlogin_hint\x18\x02 \x01(\x0b\x32\x1c.google.protobuf.StringValue\x12!\n\x14programmatic_clients\x18\x05 \x03(\tB\x03\xe0\x41\x01\"a\n\x19WorkforceIdentitySettings\x12\x17\n\x0fworkforce_pools\x18\x01 \x03(\t\x12+\n\x06oauth2\x18\x02 \x01(\x0b\x32\x1b.google.cloud.iap.v1.OAuth2\"Z\n\x06OAuth2\x12\x11\n\tclient_id\x18\x01 \x01(\t\x12\x1a\n\rclient_secret\x18\x02 \x01(\tB\x03\xe0\x41\x04\x12!\n\x14\x63lient_secret_sha256\x18\x03 \x01(\tB\x03\xe0\x41\x03\"\xfd\x02\n\x0eReauthSettings\x12?\n\x06method\x18\x01 \x01(\x0e\x32*.google.cloud.iap.v1.ReauthSettings.MethodB\x03\xe0\x41\x01\x12/\n\x07max_age\x18\x02 \x01(\x0b\x32\x19.google.protobuf.DurationB\x03\xe0\x41\x01\x12H\n\x0bpolicy_type\x18\x03 \x01(\x0e\x32..google.cloud.iap.v1.ReauthSettings.PolicyTypeB\x03\xe0\x41\x01\"j\n\x06Method\x12\x16\n\x12METHOD_UNSPECIFIED\x10\x00\x12\t\n\x05LOGIN\x10\x01\x12\x10\n\x08PASSWORD\x10\x02\x1a\x02\x08\x01\x12\x0e\n\nSECURE_KEY\x10\x03\x12\x1b\n\x17\x45NROLLED_SECOND_FACTORS\x10\x04\"C\n\nPolicyType\x12\x1b\n\x17POLICY_TYPE_UNSPECIFIED\x10\x00\x12\x0b\n\x07MINIMUM\x10\x01\x12\x0b\n\x07\x44\x45\x46\x41ULT\x10\x02\"S\n\x16\x41llowedDomainsSettings\x12\x18\n\x06\x65nable\x18\x01 \x01(\x08\x42\x03\xe0\x41\x01H\x00\x88\x01\x01\x12\x14\n\x07\x64omains\x18\x02 \x03(\tB\x03\xe0\x41\x01\x42\t\n\x07_enable\"\xc0\x02\n\x13\x41pplicationSettings\x12;\n\x0c\x63sm_settings\x18\x01 \x01(\x0b\x32 .google.cloud.iap.v1.CsmSettingsB\x03\xe0\x41\x01\x12W\n\x1b\x61\x63\x63\x65ss_denied_page_settings\x18\x02 \x01(\x0b\x32-.google.cloud.iap.v1.AccessDeniedPageSettingsB\x03\xe0\x41\x01\x12\x33\n\rcookie_domain\x18\x03 \x01(\x0b\x32\x1c.google.protobuf.StringValue\x12^\n\x1e\x61ttribute_propagation_settings\x18\x04 \x01(\x0b\x32\x31.google.cloud.iap.v1.AttributePropagationSettingsB\x03\xe0\x41\x01\"@\n\x0b\x43smSettings\x12\x31\n\x0brctoken_aud\x18\x01 \x01(\x0b\x32\x1c.google.protobuf.StringValue\"\x92\x02\n\x18\x41\x63\x63\x65ssDeniedPageSettings\x12<\n\x16\x61\x63\x63\x65ss_denied_page_uri\x18\x01 \x01(\x0b\x32\x1c.google.protobuf.StringValue\x12@\n\x1cgenerate_troubleshooting_uri\x18\x02 \x01(\x0b\x32\x1a.google.protobuf.BoolValue\x12M\n$remediation_token_generation_enabled\x18\x03 \x01(\x0b\x32\x1a.google.protobuf.BoolValueH\x00\x88\x01\x01\x42\'\n%_remediation_token_generation_enabled\"\xb1\x02\n\x1c\x41ttributePropagationSettings\x12\x1c\n\nexpression\x18\x01 \x01(\tB\x03\xe0\x41\x01H\x00\x88\x01\x01\x12\x64\n\x12output_credentials\x18\x02 \x03(\x0e\x32\x43.google.cloud.iap.v1.AttributePropagationSettings.OutputCredentialsB\x03\xe0\x41\x01\x12\x18\n\x06\x65nable\x18\x03 \x01(\x08\x42\x03\xe0\x41\x01H\x01\x88\x01\x01\"Y\n\x11OutputCredentials\x12\"\n\x1eOUTPUT_CREDENTIALS_UNSPECIFIED\x10\x00\x12\n\n\x06HEADER\x10\x01\x12\x07\n\x03JWT\x10\x02\x12\x0b\n\x07RCTOKEN\x10\x03\x42\r\n\x0b_expressionB\t\n\x07_enable\"S\n%ValidateIapAttributeExpressionRequest\x12\x11\n\x04name\x18\x01 \x01(\tB\x03\xe0\x41\x02\x12\x17\n\nexpression\x18\x02 \x01(\tB\x03\xe0\x41\x02\"(\n&ValidateIapAttributeExpressionResponse\"(\n\x11ListBrandsRequest\x12\x13\n\x06parent\x18\x01 \x01(\tB\x03\xe0\x41\x02\"@\n\x12ListBrandsResponse\x12*\n\x06\x62rands\x18\x01 \x03(\x0b\x32\x1a.google.cloud.iap.v1.Brand\"Y\n\x12\x43reateBrandRequest\x12\x13\n\x06parent\x18\x01 \x01(\tB\x03\xe0\x41\x02\x12.\n\x05\x62rand\x18\x02 \x01(\x0b\x32\x1a.google.cloud.iap.v1.BrandB\x03\xe0\x41\x02\"$\n\x0fGetBrandRequest\x12\x11\n\x04name\x18\x01 \x01(\tB\x03\xe0\x41\x02\"b\n$ListIdentityAwareProxyClientsRequest\x12\x13\n\x06parent\x18\x01 \x01(\tB\x03\xe0\x41\x02\x12\x11\n\tpage_size\x18\x02 \x01(\x05\x12\x12\n\npage_token\x18\x03 \x01(\t\"\x95\x01\n%ListIdentityAwareProxyClientsResponse\x12S\n\x1cidentity_aware_proxy_clients\x18\x01 \x03(\x0b\x32-.google.cloud.iap.v1.IdentityAwareProxyClient\x12\x17\n\x0fnext_page_token\x18\x02 \x01(\t\"\x95\x01\n%CreateIdentityAwareProxyClientRequest\x12\x13\n\x06parent\x18\x01 \x01(\tB\x03\xe0\x41\x02\x12W\n\x1bidentity_aware_proxy_client\x18\x02 \x01(\x0b\x32-.google.cloud.iap.v1.IdentityAwareProxyClientB\x03\xe0\x41\x02\"7\n\"GetIdentityAwareProxyClientRequest\x12\x11\n\x04name\x18\x01 \x01(\tB\x03\xe0\x41\x02\"?\n*ResetIdentityAwareProxyClientSecretRequest\x12\x11\n\x04name\x18\x01 \x01(\tB\x03\xe0\x41\x02\":\n%DeleteIdentityAwareProxyClientRequest\x12\x11\n\x04name\x18\x01 \x01(\tB\x03\xe0\x41\x02\"l\n\x05\x42rand\x12\x11\n\x04name\x18\x01 \x01(\tB\x03\xe0\x41\x03\x12\x15\n\rsupport_email\x18\x02 \x01(\t\x12\x19\n\x11\x61pplication_title\x18\x03 \x01(\t\x12\x1e\n\x11org_internal_only\x18\x04 \x01(\x08\x42\x03\xe0\x41\x03\"X\n\x18IdentityAwareProxyClient\x12\x11\n\x04name\x18\x01 \x01(\tB\x03\xe0\x41\x03\x12\x13\n\x06secret\x18\x02 \x01(\tB\x03\xe0\x41\x03\x12\x14\n\x0c\x64isplay_name\x18\x03 \x01(\t2\x8f\x10\n\x1eIdentityAwareProxyAdminService\x12t\n\x0cSetIamPolicy\x12\".google.iam.v1.SetIamPolicyRequest\x1a\x15.google.iam.v1.Policy\")\x82\xd3\xe4\x93\x02#\"\x1e/v1/{resource=**}:setIamPolicy:\x01*\x12t\n\x0cGetIamPolicy\x12\".google.iam.v1.GetIamPolicyRequest\x1a\x15.google.iam.v1.Policy\")\x82\xd3\xe4\x93\x02#\"\x1e/v1/{resource=**}:getIamPolicy:\x01*\x12\x9a\x01\n\x12TestIamPermissions\x12(.google.iam.v1.TestIamPermissionsRequest\x1a).google.iam.v1.TestIamPermissionsResponse\"/\x82\xd3\xe4\x93\x02)\"$/v1/{resource=**}:testIamPermissions:\x01*\x12\x81\x01\n\x0eGetIapSettings\x12*.google.cloud.iap.v1.GetIapSettingsRequest\x1a .google.cloud.iap.v1.IapSettings\"!\x82\xd3\xe4\x93\x02\x1b\x12\x19/v1/{name=**}:iapSettings\x12\xa2\x01\n\x11UpdateIapSettings\x12-.google.cloud.iap.v1.UpdateIapSettingsRequest\x1a .google.cloud.iap.v1.IapSettings\"<\x82\xd3\xe4\x93\x02\x36\x32&/v1/{iap_settings.name=**}:iapSettings:\x0ciap_settings\x12\xcc\x01\n\x1eValidateIapAttributeExpression\x12:.google.cloud.iap.v1.ValidateIapAttributeExpressionRequest\x1a;.google.cloud.iap.v1.ValidateIapAttributeExpressionResponse\"1\x82\xd3\xe4\x93\x02+\")/v1/{name=**}:validateAttributeExpression\x12\xc7\x01\n\x14ListTunnelDestGroups\x12\x30.google.cloud.iap.v1.ListTunnelDestGroupsRequest\x1a\x31.google.cloud.iap.v1.ListTunnelDestGroupsResponse\"J\xda\x41\x06parent\x82\xd3\xe4\x93\x02;\x12\x39/v1/{parent=projects/*/iap_tunnel/locations/*}/destGroups\x12\xf7\x01\n\x15\x43reateTunnelDestGroup\x12\x31.google.cloud.iap.v1.CreateTunnelDestGroupRequest\x1a$.google.cloud.iap.v1.TunnelDestGroup\"\x84\x01\xda\x41-parent,tunnel_dest_group,tunnel_dest_group_id\x82\xd3\xe4\x93\x02N\"9/v1/{parent=projects/*/iap_tunnel/locations/*}/destGroups:\x11tunnel_dest_group\x12\xb4\x01\n\x12GetTunnelDestGroup\x12..google.cloud.iap.v1.GetTunnelDestGroupRequest\x1a$.google.cloud.iap.v1.TunnelDestGroup\"H\xda\x41\x04name\x82\xd3\xe4\x93\x02;\x12\x39/v1/{name=projects/*/iap_tunnel/locations/*/destGroups/*}\x12\xac\x01\n\x15\x44\x65leteTunnelDestGroup\x12\x31.google.cloud.iap.v1.DeleteTunnelDestGroupRequest\x1a\x16.google.protobuf.Empty\"H\xda\x41\x04name\x82\xd3\xe4\x93\x02;*9/v1/{name=projects/*/iap_tunnel/locations/*/destGroups/*}\x12\xf9\x01\n\x15UpdateTunnelDestGroup\x12\x31.google.cloud.iap.v1.UpdateTunnelDestGroupRequest\x1a$.google.cloud.iap.v1.TunnelDestGroup\"\x86\x01\xda\x41\x1dtunnel_dest_group,update_mask\x82\xd3\xe4\x93\x02`2K/v1/{tunnel_dest_group.name=projects/*/iap_tunnel/locations/*/destGroups/*}:\x11tunnel_dest_group\x1a\x46\xca\x41\x12iap.googleapis.com\xd2\x41.https://www.googleapis.com/auth/cloud-platform2\xa8\x0c\n\x1eIdentityAwareProxyOAuthService\x12\x85\x01\n\nListBrands\x12&.google.cloud.iap.v1.ListBrandsRequest\x1a\'.google.cloud.iap.v1.ListBrandsResponse\"&\x82\xd3\xe4\x93\x02 \x12\x1e/v1/{parent=projects/*}/brands\x12\x81\x01\n\x0b\x43reateBrand\x12\'.google.cloud.iap.v1.CreateBrandRequest\x1a\x1a.google.cloud.iap.v1.Brand\"-\x82\xd3\xe4\x93\x02\'\"\x1e/v1/{parent=projects/*}/brands:\x05\x62rand\x12t\n\x08GetBrand\x12$.google.cloud.iap.v1.GetBrandRequest\x1a\x1a.google.cloud.iap.v1.Brand\"&\x82\xd3\xe4\x93\x02 \x12\x1e/v1/{name=projects/*/brands/*}\x12\xec\x01\n\x1e\x43reateIdentityAwareProxyClient\x12:.google.cloud.iap.v1.CreateIdentityAwareProxyClientRequest\x1a-.google.cloud.iap.v1.IdentityAwareProxyClient\"_\x82\xd3\xe4\x93\x02Y\":/v1/{parent=projects/*/brands/*}/identityAwareProxyClients:\x1bidentity_aware_proxy_client\x12\xda\x01\n\x1dListIdentityAwareProxyClients\x12\x39.google.cloud.iap.v1.ListIdentityAwareProxyClientsRequest\x1a:.google.cloud.iap.v1.ListIdentityAwareProxyClientsResponse\"B\x82\xd3\xe4\x93\x02<\x12:/v1/{parent=projects/*/brands/*}/identityAwareProxyClients\x12\xc9\x01\n\x1bGetIdentityAwareProxyClient\x12\x37.google.cloud.iap.v1.GetIdentityAwareProxyClientRequest\x1a-.google.cloud.iap.v1.IdentityAwareProxyClient\"B\x82\xd3\xe4\x93\x02<\x12:/v1/{name=projects/*/brands/*/identityAwareProxyClients/*}\x12\xe8\x01\n#ResetIdentityAwareProxyClientSecret\x12?.google.cloud.iap.v1.ResetIdentityAwareProxyClientSecretRequest\x1a-.google.cloud.iap.v1.IdentityAwareProxyClient\"Q\x82\xd3\xe4\x93\x02K\"F/v1/{name=projects/*/brands/*/identityAwareProxyClients/*}:resetSecret:\x01*\x12\xb8\x01\n\x1e\x44\x65leteIdentityAwareProxyClient\x12:.google.cloud.iap.v1.DeleteIdentityAwareProxyClientRequest\x1a\x16.google.protobuf.Empty\"B\x82\xd3\xe4\x93\x02<*:/v1/{name=projects/*/brands/*/identityAwareProxyClients/*}\x1a\x46\xca\x41\x12iap.googleapis.com\xd2\x41.https://www.googleapis.com/auth/cloud-platformB\xe5\x01\n\x17\x63om.google.cloud.iap.v1P\x01Z)cloud.google.com/go/iap/apiv1/iappb;iappb\xaa\x02\x13Google.Cloud.Iap.V1\xca\x02\x13Google\\Cloud\\Iap\\V1\xea\x02\x16Google::Cloud::Iap::V1\xea\x41W\n!iap.googleapis.com/TunnelLocation\x12\x32projects/{project}/iap_tunnel/locations/{location}b\x06proto3"
20
20
 
21
21
  pool = Google::Protobuf::DescriptorPool.generated_pool
22
22
 
@@ -60,9 +60,12 @@ module Google
60
60
  UpdateIapSettingsRequest = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.iap.v1.UpdateIapSettingsRequest").msgclass
61
61
  IapSettings = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.iap.v1.IapSettings").msgclass
62
62
  AccessSettings = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.iap.v1.AccessSettings").msgclass
63
+ AccessSettings::IdentitySource = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.iap.v1.AccessSettings.IdentitySource").enummodule
63
64
  GcipSettings = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.iap.v1.GcipSettings").msgclass
64
65
  CorsSettings = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.iap.v1.CorsSettings").msgclass
65
66
  OAuthSettings = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.iap.v1.OAuthSettings").msgclass
67
+ WorkforceIdentitySettings = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.iap.v1.WorkforceIdentitySettings").msgclass
68
+ OAuth2 = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.iap.v1.OAuth2").msgclass
66
69
  ReauthSettings = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.iap.v1.ReauthSettings").msgclass
67
70
  ReauthSettings::Method = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.iap.v1.ReauthSettings.Method").enummodule
68
71
  ReauthSettings::PolicyType = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.iap.v1.ReauthSettings.PolicyType").enummodule
@@ -72,6 +75,8 @@ module Google
72
75
  AccessDeniedPageSettings = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.iap.v1.AccessDeniedPageSettings").msgclass
73
76
  AttributePropagationSettings = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.iap.v1.AttributePropagationSettings").msgclass
74
77
  AttributePropagationSettings::OutputCredentials = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.iap.v1.AttributePropagationSettings.OutputCredentials").enummodule
78
+ ValidateIapAttributeExpressionRequest = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.iap.v1.ValidateIapAttributeExpressionRequest").msgclass
79
+ ValidateIapAttributeExpressionResponse = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.iap.v1.ValidateIapAttributeExpressionResponse").msgclass
75
80
  ListBrandsRequest = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.iap.v1.ListBrandsRequest").msgclass
76
81
  ListBrandsResponse = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.iap.v1.ListBrandsResponse").msgclass
77
82
  CreateBrandRequest = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.iap.v1.CreateBrandRequest").msgclass
@@ -55,6 +55,8 @@ module Google
55
55
  # Updates the IAP settings on a particular IAP protected resource. It
56
56
  # replaces all fields unless the `update_mask` is set.
57
57
  rpc :UpdateIapSettings, ::Google::Cloud::Iap::V1::UpdateIapSettingsRequest, ::Google::Cloud::Iap::V1::IapSettings
58
+ # Validates that a given CEL expression conforms to IAP restrictions.
59
+ rpc :ValidateIapAttributeExpression, ::Google::Cloud::Iap::V1::ValidateIapAttributeExpressionRequest, ::Google::Cloud::Iap::V1::ValidateIapAttributeExpressionResponse
58
60
  # Lists the existing TunnelDestGroups. To group across all locations, use a
59
61
  # `-` as the location ID. For example:
60
62
  # `/v1/projects/123/iap_tunnel/locations/-/destGroups`
@@ -21,7 +21,7 @@ module Google
21
21
  module Cloud
22
22
  module Iap
23
23
  module V1
24
- VERSION = "1.2.0"
24
+ VERSION = "1.3.0"
25
25
  end
26
26
  end
27
27
  end
@@ -221,6 +221,12 @@ module Google
221
221
  # Pythonic which are included in `protobuf>=5.29.x`. This feature will be
222
222
  # enabled by default 1 month after launching the feature in preview
223
223
  # packages.
224
+ # @!attribute [rw] unversioned_package_disabled
225
+ # @return [::Boolean]
226
+ # Disables generation of an unversioned Python package for this client
227
+ # library. This means that the module names will need to be versioned in
228
+ # import statements. For example `import google.cloud.library_v2` instead
229
+ # of `import google.cloud.library`.
224
230
  class ExperimentalFeatures
225
231
  include ::Google::Protobuf::MessageExts
226
232
  extend ::Google::Protobuf::MessageExts::ClassMethods
@@ -409,6 +415,14 @@ module Google
409
415
  # @return [::Array<::String>]
410
416
  # An allowlist of the fully qualified names of RPCs that should be included
411
417
  # on public client surfaces.
418
+ # @!attribute [rw] generate_omitted_as_internal
419
+ # @return [::Boolean]
420
+ # Setting this to true indicates to the client generators that methods
421
+ # that would be excluded from the generation should instead be generated
422
+ # in a way that indicates these methods should not be consumed by
423
+ # end users. How this is expressed is up to individual language
424
+ # implementations to decide. Some examples may be: added annotations,
425
+ # obfuscated identifiers, or other language idiomatic patterns.
412
426
  class SelectiveGapicGeneration
413
427
  include ::Google::Protobuf::MessageExts
414
428
  extend ::Google::Protobuf::MessageExts::ClassMethods
@@ -120,15 +120,14 @@ module Google
120
120
  # A TunnelDestGroup.
121
121
  # @!attribute [rw] name
122
122
  # @return [::String]
123
- # Required. Immutable. Identifier for the TunnelDestGroup. Must be unique
124
- # within the project and contain only lower case letters (a-z) and dashes
125
- # (-).
123
+ # Identifier. Identifier for the TunnelDestGroup. Must be unique within the
124
+ # project and contain only lower case letters (a-z) and dashes (-).
126
125
  # @!attribute [rw] cidrs
127
126
  # @return [::Array<::String>]
128
- # Unordered list. List of CIDRs that this group applies to.
127
+ # Optional. Unordered list. List of CIDRs that this group applies to.
129
128
  # @!attribute [rw] fqdns
130
129
  # @return [::Array<::String>]
131
- # Unordered list. List of FQDNs that this group applies to.
130
+ # Optional. Unordered list. List of FQDNs that this group applies to.
132
131
  class TunnelDestGroup
133
132
  include ::Google::Protobuf::MessageExts
134
133
  extend ::Google::Protobuf::MessageExts::ClassMethods
@@ -170,10 +169,10 @@ module Google
170
169
  # Required. The resource name of the IAP protected resource.
171
170
  # @!attribute [rw] access_settings
172
171
  # @return [::Google::Cloud::Iap::V1::AccessSettings]
173
- # Top level wrapper for all access related setting in IAP
172
+ # Optional. Top level wrapper for all access related setting in IAP
174
173
  # @!attribute [rw] application_settings
175
174
  # @return [::Google::Cloud::Iap::V1::ApplicationSettings]
176
- # Top level wrapper for all application related settings in IAP
175
+ # Optional. Top level wrapper for all application related settings in IAP
177
176
  class IapSettings
178
177
  include ::Google::Protobuf::MessageExts
179
178
  extend ::Google::Protobuf::MessageExts::ClassMethods
@@ -182,28 +181,51 @@ module Google
182
181
  # Access related settings for IAP protected apps.
183
182
  # @!attribute [rw] gcip_settings
184
183
  # @return [::Google::Cloud::Iap::V1::GcipSettings]
185
- # GCIP claims and endpoint configurations for 3p identity providers.
184
+ # Optional. GCIP claims and endpoint configurations for 3p identity
185
+ # providers.
186
186
  # @!attribute [rw] cors_settings
187
187
  # @return [::Google::Cloud::Iap::V1::CorsSettings]
188
- # Configuration to allow cross-origin requests via IAP.
188
+ # Optional. Configuration to allow cross-origin requests via IAP.
189
189
  # @!attribute [rw] oauth_settings
190
190
  # @return [::Google::Cloud::Iap::V1::OAuthSettings]
191
- # Settings to configure IAP's OAuth behavior.
191
+ # Optional. Settings to configure IAP's OAuth behavior.
192
192
  # @!attribute [rw] reauth_settings
193
193
  # @return [::Google::Cloud::Iap::V1::ReauthSettings]
194
- # Settings to configure reauthentication policies in IAP.
194
+ # Optional. Settings to configure reauthentication policies in IAP.
195
195
  # @!attribute [rw] allowed_domains_settings
196
196
  # @return [::Google::Cloud::Iap::V1::AllowedDomainsSettings]
197
- # Settings to configure and enable allowed domains.
197
+ # Optional. Settings to configure and enable allowed domains.
198
+ # @!attribute [rw] workforce_identity_settings
199
+ # @return [::Google::Cloud::Iap::V1::WorkforceIdentitySettings]
200
+ # Optional. Settings to configure the workforce identity federation,
201
+ # including workforce pools and OAuth 2.0 settings.
202
+ # @!attribute [rw] identity_sources
203
+ # @return [::Array<::Google::Cloud::Iap::V1::AccessSettings::IdentitySource>]
204
+ # Optional. Identity sources that IAP can use to authenticate the end user.
205
+ # Only one identity source can be configured.
198
206
  class AccessSettings
199
207
  include ::Google::Protobuf::MessageExts
200
208
  extend ::Google::Protobuf::MessageExts::ClassMethods
209
+
210
+ # Types of identity source supported by IAP.
211
+ module IdentitySource
212
+ # IdentitySource Unspecified.
213
+ # When selected, IAP relies on which identity settings are fully configured
214
+ # to redirect the traffic to. The precedence order is
215
+ # WorkforceIdentitySettings > GcipSettings. If none is set, default to use
216
+ # Google identity.
217
+ IDENTITY_SOURCE_UNSPECIFIED = 0
218
+
219
+ # Use external identities set up on Google Cloud Workforce Identity
220
+ # Federation.
221
+ WORKFORCE_IDENTITY_FEDERATION = 3
222
+ end
201
223
  end
202
224
 
203
225
  # Allows customers to configure tenant_id for GCIP instance per-app.
204
226
  # @!attribute [rw] tenant_ids
205
227
  # @return [::Array<::String>]
206
- # GCIP tenant ids that are linked to the IAP resource.
228
+ # Optional. GCIP tenant ids that are linked to the IAP resource.
207
229
  # tenant_ids could be a string beginning with a number character to indicate
208
230
  # authenticating with GCIP tenant flow, or in the format of _<ProjectNumber>
209
231
  # to indicate authenticating with GCIP agent flow.
@@ -241,24 +263,58 @@ module Google
241
263
  # since access behavior is managed by IAM policies.
242
264
  # @!attribute [rw] programmatic_clients
243
265
  # @return [::Array<::String>]
244
- # List of OAuth client IDs allowed to programmatically authenticate with IAP.
266
+ # Optional. List of client ids allowed to use IAP programmatically.
245
267
  class OAuthSettings
246
268
  include ::Google::Protobuf::MessageExts
247
269
  extend ::Google::Protobuf::MessageExts::ClassMethods
248
270
  end
249
271
 
272
+ # WorkforceIdentitySettings allows customers to configure workforce pools and
273
+ # OAuth 2.0 settings to gate their applications using a third-party IdP with
274
+ # access control.
275
+ # @!attribute [rw] workforce_pools
276
+ # @return [::Array<::String>]
277
+ # The workforce pool resources. Only one workforce pool is accepted.
278
+ # @!attribute [rw] oauth2
279
+ # @return [::Google::Cloud::Iap::V1::OAuth2]
280
+ # OAuth 2.0 settings for IAP to perform OIDC flow with workforce identity
281
+ # federation services.
282
+ class WorkforceIdentitySettings
283
+ include ::Google::Protobuf::MessageExts
284
+ extend ::Google::Protobuf::MessageExts::ClassMethods
285
+ end
286
+
287
+ # The OAuth 2.0 Settings
288
+ # @!attribute [rw] client_id
289
+ # @return [::String]
290
+ # The OAuth 2.0 client ID registered in the workforce identity federation
291
+ # OAuth 2.0 Server.
292
+ # @!attribute [rw] client_secret
293
+ # @return [::String]
294
+ # Input only. The OAuth 2.0 client secret created while registering the
295
+ # client ID.
296
+ # @!attribute [r] client_secret_sha256
297
+ # @return [::String]
298
+ # Output only. SHA256 hash value for the client secret. This field is
299
+ # returned by IAP when the settings are retrieved.
300
+ class OAuth2
301
+ include ::Google::Protobuf::MessageExts
302
+ extend ::Google::Protobuf::MessageExts::ClassMethods
303
+ end
304
+
250
305
  # Configuration for IAP reauthentication policies.
251
306
  # @!attribute [rw] method
252
307
  # @return [::Google::Cloud::Iap::V1::ReauthSettings::Method]
253
- # Reauth method requested.
308
+ # Optional. Reauth method requested.
254
309
  # @!attribute [rw] max_age
255
310
  # @return [::Google::Protobuf::Duration]
256
- # Reauth session lifetime, how long before a user has to reauthenticate
257
- # again.
311
+ # Optional. Reauth session lifetime, how long before a user has to
312
+ # reauthenticate again.
258
313
  # @!attribute [rw] policy_type
259
314
  # @return [::Google::Cloud::Iap::V1::ReauthSettings::PolicyType]
260
- # How IAP determines the effective policy in cases of hierarchial policies.
261
- # Policies are merged from higher in the hierarchy to lower in the hierarchy.
315
+ # Optional. How IAP determines the effective policy in cases of hierarchical
316
+ # policies. Policies are merged from higher in the hierarchy to lower in the
317
+ # hierarchy.
262
318
  class ReauthSettings
263
319
  include ::Google::Protobuf::MessageExts
264
320
  extend ::Google::Protobuf::MessageExts::ClassMethods
@@ -280,7 +336,7 @@ module Google
280
336
  ENROLLED_SECOND_FACTORS = 4
281
337
  end
282
338
 
283
- # Type of policy in the case of hierarchial policies.
339
+ # Type of policy in the case of hierarchical policies.
284
340
  module PolicyType
285
341
  # Default value. This value is unused.
286
342
  POLICY_TYPE_UNSPECIFIED = 0
@@ -298,10 +354,10 @@ module Google
298
354
  # and allow access to only the domains that you list.
299
355
  # @!attribute [rw] enable
300
356
  # @return [::Boolean]
301
- # Configuration for customers to opt in for the feature.
357
+ # Optional. Configuration for customers to opt in for the feature.
302
358
  # @!attribute [rw] domains
303
359
  # @return [::Array<::String>]
304
- # List of trusted domains.
360
+ # Optional. List of trusted domains.
305
361
  class AllowedDomainsSettings
306
362
  include ::Google::Protobuf::MessageExts
307
363
  extend ::Google::Protobuf::MessageExts::ClassMethods
@@ -310,17 +366,17 @@ module Google
310
366
  # Wrapper over application specific settings for IAP.
311
367
  # @!attribute [rw] csm_settings
312
368
  # @return [::Google::Cloud::Iap::V1::CsmSettings]
313
- # Settings to configure IAP's behavior for a service mesh.
369
+ # Optional. Settings to configure IAP's behavior for a service mesh.
314
370
  # @!attribute [rw] access_denied_page_settings
315
371
  # @return [::Google::Cloud::Iap::V1::AccessDeniedPageSettings]
316
- # Customization for Access Denied page.
372
+ # Optional. Customization for Access Denied page.
317
373
  # @!attribute [rw] cookie_domain
318
374
  # @return [::Google::Protobuf::StringValue]
319
375
  # The Domain value to set for cookies generated by IAP. This value is not
320
376
  # validated by the API, but will be ignored at runtime if invalid.
321
377
  # @!attribute [rw] attribute_propagation_settings
322
378
  # @return [::Google::Cloud::Iap::V1::AttributePropagationSettings]
323
- # Settings to configure attribute propagation.
379
+ # Optional. Settings to configure attribute propagation.
324
380
  class ApplicationSettings
325
381
  include ::Google::Protobuf::MessageExts
326
382
  extend ::Google::Protobuf::MessageExts::ClassMethods
@@ -363,9 +419,9 @@ module Google
363
419
  # by IAP.
364
420
  # @!attribute [rw] expression
365
421
  # @return [::String]
366
- # Raw string CEL expression. Must return a list of attributes. A maximum of
367
- # 45 attributes can be selected. Expressions can select different attribute
368
- # types from `attributes`: `attributes.saml_attributes`,
422
+ # Optional. Raw string CEL expression. Must return a list of attributes. A
423
+ # maximum of 45 attributes can be selected. Expressions can select different
424
+ # attribute types from `attributes`: `attributes.saml_attributes`,
369
425
  # `attributes.iap_attributes`. The following functions are supported:
370
426
  #
371
427
  # - filter `<list>.filter(<iter_var>, <predicate>)`: Returns a subset of
@@ -393,14 +449,14 @@ module Google
393
449
  # ['test']).append(attributes.iap_attributes.selectByName('exact').emitAs('custom').strict())`
394
450
  # @!attribute [rw] output_credentials
395
451
  # @return [::Array<::Google::Cloud::Iap::V1::AttributePropagationSettings::OutputCredentials>]
396
- # Which output credentials attributes selected by the CEL expression should
397
- # be propagated in. All attributes will be fully duplicated in each selected
398
- # output credential.
452
+ # Optional. Which output credentials attributes selected by the CEL
453
+ # expression should be propagated in. All attributes will be fully duplicated
454
+ # in each selected output credential.
399
455
  # @!attribute [rw] enable
400
456
  # @return [::Boolean]
401
- # Whether the provided attribute propagation settings should be evaluated on
402
- # user requests. If set to true, attributes returned from the expression will
403
- # be propagated in the set output credentials.
457
+ # Optional. Whether the provided attribute propagation settings should be
458
+ # evaluated on user requests. If set to true, attributes returned from the
459
+ # expression will be propagated in the set output credentials.
404
460
  class AttributePropagationSettings
405
461
  include ::Google::Protobuf::MessageExts
406
462
  extend ::Google::Protobuf::MessageExts::ClassMethods
@@ -425,6 +481,26 @@ module Google
425
481
  end
426
482
  end
427
483
 
484
+ # Request sent to IAP Expression Linter endpoint.
485
+ # @!attribute [rw] name
486
+ # @return [::String]
487
+ # Required. The resource name of the IAP protected resource.
488
+ # @!attribute [rw] expression
489
+ # @return [::String]
490
+ # Required. User input string expression. Should be of the form
491
+ # `attributes.saml_attributes.filter(attribute, attribute.name in
492
+ # ['\\{attribute_name}', '\\{attribute_name}'])`
493
+ class ValidateIapAttributeExpressionRequest
494
+ include ::Google::Protobuf::MessageExts
495
+ extend ::Google::Protobuf::MessageExts::ClassMethods
496
+ end
497
+
498
+ # IAP Expression Linter endpoint returns empty response body.
499
+ class ValidateIapAttributeExpressionResponse
500
+ include ::Google::Protobuf::MessageExts
501
+ extend ::Google::Protobuf::MessageExts::ClassMethods
502
+ end
503
+
428
504
  # The request sent to ListBrands.
429
505
  # @!attribute [rw] parent
430
506
  # @return [::String]
metadata CHANGED
@@ -1,13 +1,13 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: google-cloud-iap-v1
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.2.0
4
+ version: 1.3.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Google LLC
8
8
  bindir: bin
9
9
  cert_chain: []
10
- date: 2025-01-29 00:00:00.000000000 Z
10
+ date: 2025-04-21 00:00:00.000000000 Z
11
11
  dependencies:
12
12
  - !ruby/object:Gem::Dependency
13
13
  name: gapic-common
@@ -122,7 +122,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
122
122
  - !ruby/object:Gem::Version
123
123
  version: '0'
124
124
  requirements: []
125
- rubygems_version: 3.6.2
125
+ rubygems_version: 3.6.5
126
126
  specification_version: 4
127
127
  summary: Controls access to cloud applications running on Google Cloud Platform.
128
128
  test_files: []