google-cloud-iap-v1 0.2.0 → 0.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: f50fdb004bb7ea5e1b2806c53a60957c408ac75fafcf5e1ed97ea8b12bff5a6e
4
- data.tar.gz: 4f56167db7bc16ffbee189b05e6ca928290a2ed8578f656a8c82320a1b9059b3
3
+ metadata.gz: 4d0e2c3423feead8e29e5b6528c55edbbdf659c4c10919f6aafb0797ed31484a
4
+ data.tar.gz: 3499c5349aa082a92568e12607764fb8ffd8de52db2060233c14f8be8e295a6c
5
5
  SHA512:
6
- metadata.gz: 8f2f9bd3a4a0cb71377139a88c17ddcb9d5ae09b543ac1051109f3734868611e65163bfa52990c4f937cd160840fdc2720c13c3515b37f3936158796e7aa3b58
7
- data.tar.gz: 9ebb229221d9c8e4b26381003b06517fd16cfdad6fdbb8b0641223f2c4a23cc7dae8b1367f6db35493ffeef1849edc33f52b365b326545f90996dee77b14f68f
6
+ metadata.gz: 9c9e63413d86964952f6ca3d0119d06b8f0c0f8863394366a518b5b4b91e25ca94f26fc1deb459b3f8c2398e68758a6975174fa5d86359a4fb6640c87c660960
7
+ data.tar.gz: 8746f1f52c6beca3e631ad05f5bad0d0ae261c1b94d4cdb11e20ee4a200b6bb026748845ccf28995fd9d760885691e6e97d3dc96bea7561d7ac07327a57e278e
data/README.md CHANGED
@@ -69,6 +69,11 @@ module GRPC
69
69
  end
70
70
  ```
71
71
 
72
+
73
+ ## Google Cloud Samples
74
+
75
+ To browse ready to use code samples check [Google Cloud Samples](https://cloud.google.com/docs/samples).
76
+
72
77
  ## Supported Ruby Versions
73
78
 
74
79
  This library is supported on Ruby 2.5+.
@@ -30,6 +30,8 @@ module Google
30
30
  # APIs for Identity-Aware Proxy Admin configurations.
31
31
  #
32
32
  class Client
33
+ include Paths
34
+
33
35
  # @private
34
36
  attr_reader :identity_aware_proxy_admin_service_stub
35
37
 
@@ -609,6 +611,473 @@ module Google
609
611
  raise ::Google::Cloud::Error.from_error(e)
610
612
  end
611
613
 
614
+ ##
615
+ # Lists the existing TunnelDestGroups. To group across all locations, use a
616
+ # `-` as the location ID. For example:
617
+ # `/v1/projects/123/iap_tunnel/locations/-/destGroups`
618
+ #
619
+ # @overload list_tunnel_dest_groups(request, options = nil)
620
+ # Pass arguments to `list_tunnel_dest_groups` via a request object, either of type
621
+ # {::Google::Cloud::Iap::V1::ListTunnelDestGroupsRequest} or an equivalent Hash.
622
+ #
623
+ # @param request [::Google::Cloud::Iap::V1::ListTunnelDestGroupsRequest, ::Hash]
624
+ # A request object representing the call parameters. Required. To specify no
625
+ # parameters, or to keep all the default parameter values, pass an empty Hash.
626
+ # @param options [::Gapic::CallOptions, ::Hash]
627
+ # Overrides the default settings for this call, e.g, timeout, retries, etc. Optional.
628
+ #
629
+ # @overload list_tunnel_dest_groups(parent: nil, page_size: nil, page_token: nil)
630
+ # Pass arguments to `list_tunnel_dest_groups` via keyword arguments. Note that at
631
+ # least one keyword argument is required. To specify no parameters, or to keep all
632
+ # the default parameter values, pass an empty Hash as a request object (see above).
633
+ #
634
+ # @param parent [::String]
635
+ # Required. Google Cloud Project ID and location.
636
+ # In the following format:
637
+ # `projects/{project_number/id}/iap_tunnel/locations/{location}`.
638
+ # A `-` can be used for the location to group across all locations.
639
+ # @param page_size [::Integer]
640
+ # The maximum number of groups to return. The service might return fewer than
641
+ # this value.
642
+ # If unspecified, at most 100 groups are returned.
643
+ # The maximum value is 1000; values above 1000 are coerced to 1000.
644
+ # @param page_token [::String]
645
+ # A page token, received from a previous `ListTunnelDestGroups`
646
+ # call. Provide this to retrieve the subsequent page.
647
+ #
648
+ # When paginating, all other parameters provided to
649
+ # `ListTunnelDestGroups` must match the call that provided the page
650
+ # token.
651
+ #
652
+ # @yield [response, operation] Access the result along with the RPC operation
653
+ # @yieldparam response [::Gapic::PagedEnumerable<::Google::Cloud::Iap::V1::TunnelDestGroup>]
654
+ # @yieldparam operation [::GRPC::ActiveCall::Operation]
655
+ #
656
+ # @return [::Gapic::PagedEnumerable<::Google::Cloud::Iap::V1::TunnelDestGroup>]
657
+ #
658
+ # @raise [::Google::Cloud::Error] if the RPC is aborted.
659
+ #
660
+ # @example Basic example
661
+ # require "google/cloud/iap/v1"
662
+ #
663
+ # # Create a client object. The client can be reused for multiple calls.
664
+ # client = Google::Cloud::Iap::V1::IdentityAwareProxyAdminService::Client.new
665
+ #
666
+ # # Create a request. To set request fields, pass in keyword arguments.
667
+ # request = Google::Cloud::Iap::V1::ListTunnelDestGroupsRequest.new
668
+ #
669
+ # # Call the list_tunnel_dest_groups method.
670
+ # result = client.list_tunnel_dest_groups request
671
+ #
672
+ # # The returned object is of type Gapic::PagedEnumerable. You can
673
+ # # iterate over all elements by calling #each, and the enumerable
674
+ # # will lazily make API calls to fetch subsequent pages. Other
675
+ # # methods are also available for managing paging directly.
676
+ # result.each do |response|
677
+ # # Each element is of type ::Google::Cloud::Iap::V1::TunnelDestGroup.
678
+ # p response
679
+ # end
680
+ #
681
+ def list_tunnel_dest_groups request, options = nil
682
+ raise ::ArgumentError, "request must be provided" if request.nil?
683
+
684
+ request = ::Gapic::Protobuf.coerce request, to: ::Google::Cloud::Iap::V1::ListTunnelDestGroupsRequest
685
+
686
+ # Converts hash and nil to an options object
687
+ options = ::Gapic::CallOptions.new(**options.to_h) if options.respond_to? :to_h
688
+
689
+ # Customize the options with defaults
690
+ metadata = @config.rpcs.list_tunnel_dest_groups.metadata.to_h
691
+
692
+ # Set x-goog-api-client and x-goog-user-project headers
693
+ metadata[:"x-goog-api-client"] ||= ::Gapic::Headers.x_goog_api_client \
694
+ lib_name: @config.lib_name, lib_version: @config.lib_version,
695
+ gapic_version: ::Google::Cloud::Iap::V1::VERSION
696
+ metadata[:"x-goog-user-project"] = @quota_project_id if @quota_project_id
697
+
698
+ header_params = {}
699
+ if request.parent
700
+ header_params["parent"] = request.parent
701
+ end
702
+
703
+ request_params_header = header_params.map { |k, v| "#{k}=#{v}" }.join("&")
704
+ metadata[:"x-goog-request-params"] ||= request_params_header
705
+
706
+ options.apply_defaults timeout: @config.rpcs.list_tunnel_dest_groups.timeout,
707
+ metadata: metadata,
708
+ retry_policy: @config.rpcs.list_tunnel_dest_groups.retry_policy
709
+
710
+ options.apply_defaults timeout: @config.timeout,
711
+ metadata: @config.metadata,
712
+ retry_policy: @config.retry_policy
713
+
714
+ @identity_aware_proxy_admin_service_stub.call_rpc :list_tunnel_dest_groups, request, options: options do |response, operation|
715
+ response = ::Gapic::PagedEnumerable.new @identity_aware_proxy_admin_service_stub, :list_tunnel_dest_groups, request, response, operation, options
716
+ yield response, operation if block_given?
717
+ return response
718
+ end
719
+ rescue ::GRPC::BadStatus => e
720
+ raise ::Google::Cloud::Error.from_error(e)
721
+ end
722
+
723
+ ##
724
+ # Creates a new TunnelDestGroup.
725
+ #
726
+ # @overload create_tunnel_dest_group(request, options = nil)
727
+ # Pass arguments to `create_tunnel_dest_group` via a request object, either of type
728
+ # {::Google::Cloud::Iap::V1::CreateTunnelDestGroupRequest} or an equivalent Hash.
729
+ #
730
+ # @param request [::Google::Cloud::Iap::V1::CreateTunnelDestGroupRequest, ::Hash]
731
+ # A request object representing the call parameters. Required. To specify no
732
+ # parameters, or to keep all the default parameter values, pass an empty Hash.
733
+ # @param options [::Gapic::CallOptions, ::Hash]
734
+ # Overrides the default settings for this call, e.g, timeout, retries, etc. Optional.
735
+ #
736
+ # @overload create_tunnel_dest_group(parent: nil, tunnel_dest_group: nil, tunnel_dest_group_id: nil)
737
+ # Pass arguments to `create_tunnel_dest_group` via keyword arguments. Note that at
738
+ # least one keyword argument is required. To specify no parameters, or to keep all
739
+ # the default parameter values, pass an empty Hash as a request object (see above).
740
+ #
741
+ # @param parent [::String]
742
+ # Required. Google Cloud Project ID and location.
743
+ # In the following format:
744
+ # `projects/{project_number/id}/iap_tunnel/locations/{location}`.
745
+ # @param tunnel_dest_group [::Google::Cloud::Iap::V1::TunnelDestGroup, ::Hash]
746
+ # Required. The TunnelDestGroup to create.
747
+ # @param tunnel_dest_group_id [::String]
748
+ # Required. The ID to use for the TunnelDestGroup, which becomes the final component of
749
+ # the resource name.
750
+ #
751
+ # This value must be 4-63 characters, and valid characters
752
+ # are `[a-z][0-9]-`.
753
+ #
754
+ # @yield [response, operation] Access the result along with the RPC operation
755
+ # @yieldparam response [::Google::Cloud::Iap::V1::TunnelDestGroup]
756
+ # @yieldparam operation [::GRPC::ActiveCall::Operation]
757
+ #
758
+ # @return [::Google::Cloud::Iap::V1::TunnelDestGroup]
759
+ #
760
+ # @raise [::Google::Cloud::Error] if the RPC is aborted.
761
+ #
762
+ # @example Basic example
763
+ # require "google/cloud/iap/v1"
764
+ #
765
+ # # Create a client object. The client can be reused for multiple calls.
766
+ # client = Google::Cloud::Iap::V1::IdentityAwareProxyAdminService::Client.new
767
+ #
768
+ # # Create a request. To set request fields, pass in keyword arguments.
769
+ # request = Google::Cloud::Iap::V1::CreateTunnelDestGroupRequest.new
770
+ #
771
+ # # Call the create_tunnel_dest_group method.
772
+ # result = client.create_tunnel_dest_group request
773
+ #
774
+ # # The returned object is of type Google::Cloud::Iap::V1::TunnelDestGroup.
775
+ # p result
776
+ #
777
+ def create_tunnel_dest_group request, options = nil
778
+ raise ::ArgumentError, "request must be provided" if request.nil?
779
+
780
+ request = ::Gapic::Protobuf.coerce request, to: ::Google::Cloud::Iap::V1::CreateTunnelDestGroupRequest
781
+
782
+ # Converts hash and nil to an options object
783
+ options = ::Gapic::CallOptions.new(**options.to_h) if options.respond_to? :to_h
784
+
785
+ # Customize the options with defaults
786
+ metadata = @config.rpcs.create_tunnel_dest_group.metadata.to_h
787
+
788
+ # Set x-goog-api-client and x-goog-user-project headers
789
+ metadata[:"x-goog-api-client"] ||= ::Gapic::Headers.x_goog_api_client \
790
+ lib_name: @config.lib_name, lib_version: @config.lib_version,
791
+ gapic_version: ::Google::Cloud::Iap::V1::VERSION
792
+ metadata[:"x-goog-user-project"] = @quota_project_id if @quota_project_id
793
+
794
+ header_params = {}
795
+ if request.parent
796
+ header_params["parent"] = request.parent
797
+ end
798
+
799
+ request_params_header = header_params.map { |k, v| "#{k}=#{v}" }.join("&")
800
+ metadata[:"x-goog-request-params"] ||= request_params_header
801
+
802
+ options.apply_defaults timeout: @config.rpcs.create_tunnel_dest_group.timeout,
803
+ metadata: metadata,
804
+ retry_policy: @config.rpcs.create_tunnel_dest_group.retry_policy
805
+
806
+ options.apply_defaults timeout: @config.timeout,
807
+ metadata: @config.metadata,
808
+ retry_policy: @config.retry_policy
809
+
810
+ @identity_aware_proxy_admin_service_stub.call_rpc :create_tunnel_dest_group, request, options: options do |response, operation|
811
+ yield response, operation if block_given?
812
+ return response
813
+ end
814
+ rescue ::GRPC::BadStatus => e
815
+ raise ::Google::Cloud::Error.from_error(e)
816
+ end
817
+
818
+ ##
819
+ # Retrieves an existing TunnelDestGroup.
820
+ #
821
+ # @overload get_tunnel_dest_group(request, options = nil)
822
+ # Pass arguments to `get_tunnel_dest_group` via a request object, either of type
823
+ # {::Google::Cloud::Iap::V1::GetTunnelDestGroupRequest} or an equivalent Hash.
824
+ #
825
+ # @param request [::Google::Cloud::Iap::V1::GetTunnelDestGroupRequest, ::Hash]
826
+ # A request object representing the call parameters. Required. To specify no
827
+ # parameters, or to keep all the default parameter values, pass an empty Hash.
828
+ # @param options [::Gapic::CallOptions, ::Hash]
829
+ # Overrides the default settings for this call, e.g, timeout, retries, etc. Optional.
830
+ #
831
+ # @overload get_tunnel_dest_group(name: nil)
832
+ # Pass arguments to `get_tunnel_dest_group` via keyword arguments. Note that at
833
+ # least one keyword argument is required. To specify no parameters, or to keep all
834
+ # the default parameter values, pass an empty Hash as a request object (see above).
835
+ #
836
+ # @param name [::String]
837
+ # Required. Name of the TunnelDestGroup to be fetched.
838
+ # In the following format:
839
+ # `projects/{project_number/id}/iap_tunnel/locations/{location}/destGroups/{dest_group}`.
840
+ #
841
+ # @yield [response, operation] Access the result along with the RPC operation
842
+ # @yieldparam response [::Google::Cloud::Iap::V1::TunnelDestGroup]
843
+ # @yieldparam operation [::GRPC::ActiveCall::Operation]
844
+ #
845
+ # @return [::Google::Cloud::Iap::V1::TunnelDestGroup]
846
+ #
847
+ # @raise [::Google::Cloud::Error] if the RPC is aborted.
848
+ #
849
+ # @example Basic example
850
+ # require "google/cloud/iap/v1"
851
+ #
852
+ # # Create a client object. The client can be reused for multiple calls.
853
+ # client = Google::Cloud::Iap::V1::IdentityAwareProxyAdminService::Client.new
854
+ #
855
+ # # Create a request. To set request fields, pass in keyword arguments.
856
+ # request = Google::Cloud::Iap::V1::GetTunnelDestGroupRequest.new
857
+ #
858
+ # # Call the get_tunnel_dest_group method.
859
+ # result = client.get_tunnel_dest_group request
860
+ #
861
+ # # The returned object is of type Google::Cloud::Iap::V1::TunnelDestGroup.
862
+ # p result
863
+ #
864
+ def get_tunnel_dest_group request, options = nil
865
+ raise ::ArgumentError, "request must be provided" if request.nil?
866
+
867
+ request = ::Gapic::Protobuf.coerce request, to: ::Google::Cloud::Iap::V1::GetTunnelDestGroupRequest
868
+
869
+ # Converts hash and nil to an options object
870
+ options = ::Gapic::CallOptions.new(**options.to_h) if options.respond_to? :to_h
871
+
872
+ # Customize the options with defaults
873
+ metadata = @config.rpcs.get_tunnel_dest_group.metadata.to_h
874
+
875
+ # Set x-goog-api-client and x-goog-user-project headers
876
+ metadata[:"x-goog-api-client"] ||= ::Gapic::Headers.x_goog_api_client \
877
+ lib_name: @config.lib_name, lib_version: @config.lib_version,
878
+ gapic_version: ::Google::Cloud::Iap::V1::VERSION
879
+ metadata[:"x-goog-user-project"] = @quota_project_id if @quota_project_id
880
+
881
+ header_params = {}
882
+ if request.name
883
+ header_params["name"] = request.name
884
+ end
885
+
886
+ request_params_header = header_params.map { |k, v| "#{k}=#{v}" }.join("&")
887
+ metadata[:"x-goog-request-params"] ||= request_params_header
888
+
889
+ options.apply_defaults timeout: @config.rpcs.get_tunnel_dest_group.timeout,
890
+ metadata: metadata,
891
+ retry_policy: @config.rpcs.get_tunnel_dest_group.retry_policy
892
+
893
+ options.apply_defaults timeout: @config.timeout,
894
+ metadata: @config.metadata,
895
+ retry_policy: @config.retry_policy
896
+
897
+ @identity_aware_proxy_admin_service_stub.call_rpc :get_tunnel_dest_group, request, options: options do |response, operation|
898
+ yield response, operation if block_given?
899
+ return response
900
+ end
901
+ rescue ::GRPC::BadStatus => e
902
+ raise ::Google::Cloud::Error.from_error(e)
903
+ end
904
+
905
+ ##
906
+ # Deletes a TunnelDestGroup.
907
+ #
908
+ # @overload delete_tunnel_dest_group(request, options = nil)
909
+ # Pass arguments to `delete_tunnel_dest_group` via a request object, either of type
910
+ # {::Google::Cloud::Iap::V1::DeleteTunnelDestGroupRequest} or an equivalent Hash.
911
+ #
912
+ # @param request [::Google::Cloud::Iap::V1::DeleteTunnelDestGroupRequest, ::Hash]
913
+ # A request object representing the call parameters. Required. To specify no
914
+ # parameters, or to keep all the default parameter values, pass an empty Hash.
915
+ # @param options [::Gapic::CallOptions, ::Hash]
916
+ # Overrides the default settings for this call, e.g, timeout, retries, etc. Optional.
917
+ #
918
+ # @overload delete_tunnel_dest_group(name: nil)
919
+ # Pass arguments to `delete_tunnel_dest_group` via keyword arguments. Note that at
920
+ # least one keyword argument is required. To specify no parameters, or to keep all
921
+ # the default parameter values, pass an empty Hash as a request object (see above).
922
+ #
923
+ # @param name [::String]
924
+ # Required. Name of the TunnelDestGroup to delete.
925
+ # In the following format:
926
+ # `projects/{project_number/id}/iap_tunnel/locations/{location}/destGroups/{dest_group}`.
927
+ #
928
+ # @yield [response, operation] Access the result along with the RPC operation
929
+ # @yieldparam response [::Google::Protobuf::Empty]
930
+ # @yieldparam operation [::GRPC::ActiveCall::Operation]
931
+ #
932
+ # @return [::Google::Protobuf::Empty]
933
+ #
934
+ # @raise [::Google::Cloud::Error] if the RPC is aborted.
935
+ #
936
+ # @example Basic example
937
+ # require "google/cloud/iap/v1"
938
+ #
939
+ # # Create a client object. The client can be reused for multiple calls.
940
+ # client = Google::Cloud::Iap::V1::IdentityAwareProxyAdminService::Client.new
941
+ #
942
+ # # Create a request. To set request fields, pass in keyword arguments.
943
+ # request = Google::Cloud::Iap::V1::DeleteTunnelDestGroupRequest.new
944
+ #
945
+ # # Call the delete_tunnel_dest_group method.
946
+ # result = client.delete_tunnel_dest_group request
947
+ #
948
+ # # The returned object is of type Google::Protobuf::Empty.
949
+ # p result
950
+ #
951
+ def delete_tunnel_dest_group request, options = nil
952
+ raise ::ArgumentError, "request must be provided" if request.nil?
953
+
954
+ request = ::Gapic::Protobuf.coerce request, to: ::Google::Cloud::Iap::V1::DeleteTunnelDestGroupRequest
955
+
956
+ # Converts hash and nil to an options object
957
+ options = ::Gapic::CallOptions.new(**options.to_h) if options.respond_to? :to_h
958
+
959
+ # Customize the options with defaults
960
+ metadata = @config.rpcs.delete_tunnel_dest_group.metadata.to_h
961
+
962
+ # Set x-goog-api-client and x-goog-user-project headers
963
+ metadata[:"x-goog-api-client"] ||= ::Gapic::Headers.x_goog_api_client \
964
+ lib_name: @config.lib_name, lib_version: @config.lib_version,
965
+ gapic_version: ::Google::Cloud::Iap::V1::VERSION
966
+ metadata[:"x-goog-user-project"] = @quota_project_id if @quota_project_id
967
+
968
+ header_params = {}
969
+ if request.name
970
+ header_params["name"] = request.name
971
+ end
972
+
973
+ request_params_header = header_params.map { |k, v| "#{k}=#{v}" }.join("&")
974
+ metadata[:"x-goog-request-params"] ||= request_params_header
975
+
976
+ options.apply_defaults timeout: @config.rpcs.delete_tunnel_dest_group.timeout,
977
+ metadata: metadata,
978
+ retry_policy: @config.rpcs.delete_tunnel_dest_group.retry_policy
979
+
980
+ options.apply_defaults timeout: @config.timeout,
981
+ metadata: @config.metadata,
982
+ retry_policy: @config.retry_policy
983
+
984
+ @identity_aware_proxy_admin_service_stub.call_rpc :delete_tunnel_dest_group, request, options: options do |response, operation|
985
+ yield response, operation if block_given?
986
+ return response
987
+ end
988
+ rescue ::GRPC::BadStatus => e
989
+ raise ::Google::Cloud::Error.from_error(e)
990
+ end
991
+
992
+ ##
993
+ # Updates a TunnelDestGroup.
994
+ #
995
+ # @overload update_tunnel_dest_group(request, options = nil)
996
+ # Pass arguments to `update_tunnel_dest_group` via a request object, either of type
997
+ # {::Google::Cloud::Iap::V1::UpdateTunnelDestGroupRequest} or an equivalent Hash.
998
+ #
999
+ # @param request [::Google::Cloud::Iap::V1::UpdateTunnelDestGroupRequest, ::Hash]
1000
+ # A request object representing the call parameters. Required. To specify no
1001
+ # parameters, or to keep all the default parameter values, pass an empty Hash.
1002
+ # @param options [::Gapic::CallOptions, ::Hash]
1003
+ # Overrides the default settings for this call, e.g, timeout, retries, etc. Optional.
1004
+ #
1005
+ # @overload update_tunnel_dest_group(tunnel_dest_group: nil, update_mask: nil)
1006
+ # Pass arguments to `update_tunnel_dest_group` via keyword arguments. Note that at
1007
+ # least one keyword argument is required. To specify no parameters, or to keep all
1008
+ # the default parameter values, pass an empty Hash as a request object (see above).
1009
+ #
1010
+ # @param tunnel_dest_group [::Google::Cloud::Iap::V1::TunnelDestGroup, ::Hash]
1011
+ # Required. The new values for the TunnelDestGroup.
1012
+ # @param update_mask [::Google::Protobuf::FieldMask, ::Hash]
1013
+ # A field mask that specifies which IAP settings to update.
1014
+ # If omitted, then all of the settings are updated. See
1015
+ # https://developers.google.com/protocol-buffers/docs/reference/google.protobuf#fieldmask
1016
+ #
1017
+ # @yield [response, operation] Access the result along with the RPC operation
1018
+ # @yieldparam response [::Google::Cloud::Iap::V1::TunnelDestGroup]
1019
+ # @yieldparam operation [::GRPC::ActiveCall::Operation]
1020
+ #
1021
+ # @return [::Google::Cloud::Iap::V1::TunnelDestGroup]
1022
+ #
1023
+ # @raise [::Google::Cloud::Error] if the RPC is aborted.
1024
+ #
1025
+ # @example Basic example
1026
+ # require "google/cloud/iap/v1"
1027
+ #
1028
+ # # Create a client object. The client can be reused for multiple calls.
1029
+ # client = Google::Cloud::Iap::V1::IdentityAwareProxyAdminService::Client.new
1030
+ #
1031
+ # # Create a request. To set request fields, pass in keyword arguments.
1032
+ # request = Google::Cloud::Iap::V1::UpdateTunnelDestGroupRequest.new
1033
+ #
1034
+ # # Call the update_tunnel_dest_group method.
1035
+ # result = client.update_tunnel_dest_group request
1036
+ #
1037
+ # # The returned object is of type Google::Cloud::Iap::V1::TunnelDestGroup.
1038
+ # p result
1039
+ #
1040
+ def update_tunnel_dest_group request, options = nil
1041
+ raise ::ArgumentError, "request must be provided" if request.nil?
1042
+
1043
+ request = ::Gapic::Protobuf.coerce request, to: ::Google::Cloud::Iap::V1::UpdateTunnelDestGroupRequest
1044
+
1045
+ # Converts hash and nil to an options object
1046
+ options = ::Gapic::CallOptions.new(**options.to_h) if options.respond_to? :to_h
1047
+
1048
+ # Customize the options with defaults
1049
+ metadata = @config.rpcs.update_tunnel_dest_group.metadata.to_h
1050
+
1051
+ # Set x-goog-api-client and x-goog-user-project headers
1052
+ metadata[:"x-goog-api-client"] ||= ::Gapic::Headers.x_goog_api_client \
1053
+ lib_name: @config.lib_name, lib_version: @config.lib_version,
1054
+ gapic_version: ::Google::Cloud::Iap::V1::VERSION
1055
+ metadata[:"x-goog-user-project"] = @quota_project_id if @quota_project_id
1056
+
1057
+ header_params = {}
1058
+ if request.tunnel_dest_group&.name
1059
+ header_params["tunnel_dest_group.name"] = request.tunnel_dest_group.name
1060
+ end
1061
+
1062
+ request_params_header = header_params.map { |k, v| "#{k}=#{v}" }.join("&")
1063
+ metadata[:"x-goog-request-params"] ||= request_params_header
1064
+
1065
+ options.apply_defaults timeout: @config.rpcs.update_tunnel_dest_group.timeout,
1066
+ metadata: metadata,
1067
+ retry_policy: @config.rpcs.update_tunnel_dest_group.retry_policy
1068
+
1069
+ options.apply_defaults timeout: @config.timeout,
1070
+ metadata: @config.metadata,
1071
+ retry_policy: @config.retry_policy
1072
+
1073
+ @identity_aware_proxy_admin_service_stub.call_rpc :update_tunnel_dest_group, request, options: options do |response, operation|
1074
+ yield response, operation if block_given?
1075
+ return response
1076
+ end
1077
+ rescue ::GRPC::BadStatus => e
1078
+ raise ::Google::Cloud::Error.from_error(e)
1079
+ end
1080
+
612
1081
  ##
613
1082
  # Configuration class for the IdentityAwareProxyAdminService API.
614
1083
  #
@@ -769,6 +1238,31 @@ module Google
769
1238
  # @return [::Gapic::Config::Method]
770
1239
  #
771
1240
  attr_reader :update_iap_settings
1241
+ ##
1242
+ # RPC-specific configuration for `list_tunnel_dest_groups`
1243
+ # @return [::Gapic::Config::Method]
1244
+ #
1245
+ attr_reader :list_tunnel_dest_groups
1246
+ ##
1247
+ # RPC-specific configuration for `create_tunnel_dest_group`
1248
+ # @return [::Gapic::Config::Method]
1249
+ #
1250
+ attr_reader :create_tunnel_dest_group
1251
+ ##
1252
+ # RPC-specific configuration for `get_tunnel_dest_group`
1253
+ # @return [::Gapic::Config::Method]
1254
+ #
1255
+ attr_reader :get_tunnel_dest_group
1256
+ ##
1257
+ # RPC-specific configuration for `delete_tunnel_dest_group`
1258
+ # @return [::Gapic::Config::Method]
1259
+ #
1260
+ attr_reader :delete_tunnel_dest_group
1261
+ ##
1262
+ # RPC-specific configuration for `update_tunnel_dest_group`
1263
+ # @return [::Gapic::Config::Method]
1264
+ #
1265
+ attr_reader :update_tunnel_dest_group
772
1266
 
773
1267
  # @private
774
1268
  def initialize parent_rpcs = nil
@@ -782,6 +1276,16 @@ module Google
782
1276
  @get_iap_settings = ::Gapic::Config::Method.new get_iap_settings_config
783
1277
  update_iap_settings_config = parent_rpcs.update_iap_settings if parent_rpcs.respond_to? :update_iap_settings
784
1278
  @update_iap_settings = ::Gapic::Config::Method.new update_iap_settings_config
1279
+ list_tunnel_dest_groups_config = parent_rpcs.list_tunnel_dest_groups if parent_rpcs.respond_to? :list_tunnel_dest_groups
1280
+ @list_tunnel_dest_groups = ::Gapic::Config::Method.new list_tunnel_dest_groups_config
1281
+ create_tunnel_dest_group_config = parent_rpcs.create_tunnel_dest_group if parent_rpcs.respond_to? :create_tunnel_dest_group
1282
+ @create_tunnel_dest_group = ::Gapic::Config::Method.new create_tunnel_dest_group_config
1283
+ get_tunnel_dest_group_config = parent_rpcs.get_tunnel_dest_group if parent_rpcs.respond_to? :get_tunnel_dest_group
1284
+ @get_tunnel_dest_group = ::Gapic::Config::Method.new get_tunnel_dest_group_config
1285
+ delete_tunnel_dest_group_config = parent_rpcs.delete_tunnel_dest_group if parent_rpcs.respond_to? :delete_tunnel_dest_group
1286
+ @delete_tunnel_dest_group = ::Gapic::Config::Method.new delete_tunnel_dest_group_config
1287
+ update_tunnel_dest_group_config = parent_rpcs.update_tunnel_dest_group if parent_rpcs.respond_to? :update_tunnel_dest_group
1288
+ @update_tunnel_dest_group = ::Gapic::Config::Method.new update_tunnel_dest_group_config
785
1289
 
786
1290
  yield self if block_given?
787
1291
  end
@@ -0,0 +1,69 @@
1
+ # frozen_string_literal: true
2
+
3
+ # Copyright 2022 Google LLC
4
+ #
5
+ # Licensed under the Apache License, Version 2.0 (the "License");
6
+ # you may not use this file except in compliance with the License.
7
+ # You may obtain a copy of the License at
8
+ #
9
+ # https://www.apache.org/licenses/LICENSE-2.0
10
+ #
11
+ # Unless required by applicable law or agreed to in writing, software
12
+ # distributed under the License is distributed on an "AS IS" BASIS,
13
+ # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14
+ # See the License for the specific language governing permissions and
15
+ # limitations under the License.
16
+
17
+ # Auto-generated by gapic-generator-ruby. DO NOT EDIT!
18
+
19
+
20
+ module Google
21
+ module Cloud
22
+ module Iap
23
+ module V1
24
+ module IdentityAwareProxyAdminService
25
+ # Path helper methods for the IdentityAwareProxyAdminService API.
26
+ module Paths
27
+ ##
28
+ # Create a fully-qualified TunnelDestGroup resource string.
29
+ #
30
+ # The resource will be in the following format:
31
+ #
32
+ # `projects/{project}/iap_tunnel/locations/{location}/destGroups/{dest_group}`
33
+ #
34
+ # @param project [String]
35
+ # @param location [String]
36
+ # @param dest_group [String]
37
+ #
38
+ # @return [::String]
39
+ def tunnel_dest_group_path project:, location:, dest_group:
40
+ raise ::ArgumentError, "project cannot contain /" if project.to_s.include? "/"
41
+ raise ::ArgumentError, "location cannot contain /" if location.to_s.include? "/"
42
+
43
+ "projects/#{project}/iap_tunnel/locations/#{location}/destGroups/#{dest_group}"
44
+ end
45
+
46
+ ##
47
+ # Create a fully-qualified TunnelLocation resource string.
48
+ #
49
+ # The resource will be in the following format:
50
+ #
51
+ # `projects/{project}/iap_tunnel/locations/{location}`
52
+ #
53
+ # @param project [String]
54
+ # @param location [String]
55
+ #
56
+ # @return [::String]
57
+ def tunnel_location_path project:, location:
58
+ raise ::ArgumentError, "project cannot contain /" if project.to_s.include? "/"
59
+
60
+ "projects/#{project}/iap_tunnel/locations/#{location}"
61
+ end
62
+
63
+ extend self
64
+ end
65
+ end
66
+ end
67
+ end
68
+ end
69
+ end
@@ -23,6 +23,7 @@ require "gapic/config/method"
23
23
  require "google/cloud/iap/v1/version"
24
24
 
25
25
  require "google/cloud/iap/v1/identity_aware_proxy_admin_service/credentials"
26
+ require "google/cloud/iap/v1/identity_aware_proxy_admin_service/paths"
26
27
  require "google/cloud/iap/v1/identity_aware_proxy_admin_service/client"
27
28
 
28
29
  module Google
@@ -235,11 +235,12 @@ module Google
235
235
  ##
236
236
  # Constructs a new OAuth brand for the project if one does not exist.
237
237
  # The created brand is "internal only", meaning that OAuth clients created
238
- # under it only accept requests from users who belong to the same G Suite
239
- # organization as the project. The brand is created in an un-reviewed status.
240
- # NOTE: The "internal only" status can be manually changed in the Google
241
- # Cloud console. Requires that a brand does not already exist for the
242
- # project, and that the specified support email is owned by the caller.
238
+ # under it only accept requests from users who belong to the same Google
239
+ # Workspace organization as the project. The brand is created in an
240
+ # un-reviewed status. NOTE: The "internal only" status can be manually
241
+ # changed in the Google Cloud Console. Requires that a brand does not already
242
+ # exist for the project, and that the specified support email is owned by the
243
+ # caller.
243
244
  #
244
245
  # @overload create_brand(request, options = nil)
245
246
  # Pass arguments to `create_brand` via a request object, either of type
@@ -1,18 +1,50 @@
1
1
  # Generated by the protocol buffer compiler. DO NOT EDIT!
2
2
  # source: google/cloud/iap/v1/service.proto
3
3
 
4
+ require 'google/protobuf'
5
+
4
6
  require 'google/api/annotations_pb'
7
+ require 'google/api/client_pb'
5
8
  require 'google/api/field_behavior_pb'
9
+ require 'google/api/resource_pb'
6
10
  require 'google/iam/v1/iam_policy_pb'
7
11
  require 'google/iam/v1/policy_pb'
12
+ require 'google/protobuf/duration_pb'
8
13
  require 'google/protobuf/empty_pb'
9
14
  require 'google/protobuf/field_mask_pb'
10
15
  require 'google/protobuf/wrappers_pb'
11
- require 'google/api/client_pb'
12
- require 'google/protobuf'
13
16
 
14
17
  Google::Protobuf::DescriptorPool.generated_pool.build do
15
18
  add_file("google/cloud/iap/v1/service.proto", :syntax => :proto3) do
19
+ add_message "google.cloud.iap.v1.ListTunnelDestGroupsRequest" do
20
+ optional :parent, :string, 1
21
+ optional :page_size, :int32, 2
22
+ optional :page_token, :string, 3
23
+ end
24
+ add_message "google.cloud.iap.v1.ListTunnelDestGroupsResponse" do
25
+ repeated :tunnel_dest_groups, :message, 1, "google.cloud.iap.v1.TunnelDestGroup"
26
+ optional :next_page_token, :string, 2
27
+ end
28
+ add_message "google.cloud.iap.v1.CreateTunnelDestGroupRequest" do
29
+ optional :parent, :string, 1
30
+ optional :tunnel_dest_group, :message, 2, "google.cloud.iap.v1.TunnelDestGroup"
31
+ optional :tunnel_dest_group_id, :string, 3
32
+ end
33
+ add_message "google.cloud.iap.v1.GetTunnelDestGroupRequest" do
34
+ optional :name, :string, 1
35
+ end
36
+ add_message "google.cloud.iap.v1.DeleteTunnelDestGroupRequest" do
37
+ optional :name, :string, 1
38
+ end
39
+ add_message "google.cloud.iap.v1.UpdateTunnelDestGroupRequest" do
40
+ optional :tunnel_dest_group, :message, 1, "google.cloud.iap.v1.TunnelDestGroup"
41
+ optional :update_mask, :message, 2, "google.protobuf.FieldMask"
42
+ end
43
+ add_message "google.cloud.iap.v1.TunnelDestGroup" do
44
+ optional :name, :string, 1
45
+ repeated :cidrs, :string, 2
46
+ repeated :fqdns, :string, 3
47
+ end
16
48
  add_message "google.cloud.iap.v1.GetIapSettingsRequest" do
17
49
  optional :name, :string, 1
18
50
  end
@@ -29,6 +61,7 @@ Google::Protobuf::DescriptorPool.generated_pool.build do
29
61
  optional :gcip_settings, :message, 1, "google.cloud.iap.v1.GcipSettings"
30
62
  optional :cors_settings, :message, 2, "google.cloud.iap.v1.CorsSettings"
31
63
  optional :oauth_settings, :message, 3, "google.cloud.iap.v1.OAuthSettings"
64
+ optional :reauth_settings, :message, 6, "google.cloud.iap.v1.ReauthSettings"
32
65
  end
33
66
  add_message "google.cloud.iap.v1.GcipSettings" do
34
67
  repeated :tenant_ids, :string, 1
@@ -40,6 +73,22 @@ Google::Protobuf::DescriptorPool.generated_pool.build do
40
73
  add_message "google.cloud.iap.v1.OAuthSettings" do
41
74
  optional :login_hint, :message, 2, "google.protobuf.StringValue"
42
75
  end
76
+ add_message "google.cloud.iap.v1.ReauthSettings" do
77
+ optional :method, :enum, 1, "google.cloud.iap.v1.ReauthSettings.Method"
78
+ optional :max_age, :message, 2, "google.protobuf.Duration"
79
+ optional :policy_type, :enum, 3, "google.cloud.iap.v1.ReauthSettings.PolicyType"
80
+ end
81
+ add_enum "google.cloud.iap.v1.ReauthSettings.Method" do
82
+ value :METHOD_UNSPECIFIED, 0
83
+ value :LOGIN, 1
84
+ value :PASSWORD, 2
85
+ value :SECURE_KEY, 3
86
+ end
87
+ add_enum "google.cloud.iap.v1.ReauthSettings.PolicyType" do
88
+ value :POLICY_TYPE_UNSPECIFIED, 0
89
+ value :MINIMUM, 1
90
+ value :DEFAULT, 2
91
+ end
43
92
  add_message "google.cloud.iap.v1.ApplicationSettings" do
44
93
  optional :csm_settings, :message, 1, "google.cloud.iap.v1.CsmSettings"
45
94
  optional :access_denied_page_settings, :message, 2, "google.cloud.iap.v1.AccessDeniedPageSettings"
@@ -105,6 +154,13 @@ module Google
105
154
  module Cloud
106
155
  module Iap
107
156
  module V1
157
+ ListTunnelDestGroupsRequest = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.iap.v1.ListTunnelDestGroupsRequest").msgclass
158
+ ListTunnelDestGroupsResponse = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.iap.v1.ListTunnelDestGroupsResponse").msgclass
159
+ CreateTunnelDestGroupRequest = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.iap.v1.CreateTunnelDestGroupRequest").msgclass
160
+ GetTunnelDestGroupRequest = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.iap.v1.GetTunnelDestGroupRequest").msgclass
161
+ DeleteTunnelDestGroupRequest = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.iap.v1.DeleteTunnelDestGroupRequest").msgclass
162
+ UpdateTunnelDestGroupRequest = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.iap.v1.UpdateTunnelDestGroupRequest").msgclass
163
+ TunnelDestGroup = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.iap.v1.TunnelDestGroup").msgclass
108
164
  GetIapSettingsRequest = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.iap.v1.GetIapSettingsRequest").msgclass
109
165
  UpdateIapSettingsRequest = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.iap.v1.UpdateIapSettingsRequest").msgclass
110
166
  IapSettings = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.iap.v1.IapSettings").msgclass
@@ -112,6 +168,9 @@ module Google
112
168
  GcipSettings = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.iap.v1.GcipSettings").msgclass
113
169
  CorsSettings = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.iap.v1.CorsSettings").msgclass
114
170
  OAuthSettings = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.iap.v1.OAuthSettings").msgclass
171
+ ReauthSettings = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.iap.v1.ReauthSettings").msgclass
172
+ ReauthSettings::Method = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.iap.v1.ReauthSettings.Method").enummodule
173
+ ReauthSettings::PolicyType = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.iap.v1.ReauthSettings.PolicyType").enummodule
115
174
  ApplicationSettings = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.iap.v1.ApplicationSettings").msgclass
116
175
  CsmSettings = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.iap.v1.CsmSettings").msgclass
117
176
  AccessDeniedPageSettings = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.iap.v1.AccessDeniedPageSettings").msgclass
@@ -53,6 +53,18 @@ module Google
53
53
  # Updates the IAP settings on a particular IAP protected resource. It
54
54
  # replaces all fields unless the `update_mask` is set.
55
55
  rpc :UpdateIapSettings, ::Google::Cloud::Iap::V1::UpdateIapSettingsRequest, ::Google::Cloud::Iap::V1::IapSettings
56
+ # Lists the existing TunnelDestGroups. To group across all locations, use a
57
+ # `-` as the location ID. For example:
58
+ # `/v1/projects/123/iap_tunnel/locations/-/destGroups`
59
+ rpc :ListTunnelDestGroups, ::Google::Cloud::Iap::V1::ListTunnelDestGroupsRequest, ::Google::Cloud::Iap::V1::ListTunnelDestGroupsResponse
60
+ # Creates a new TunnelDestGroup.
61
+ rpc :CreateTunnelDestGroup, ::Google::Cloud::Iap::V1::CreateTunnelDestGroupRequest, ::Google::Cloud::Iap::V1::TunnelDestGroup
62
+ # Retrieves an existing TunnelDestGroup.
63
+ rpc :GetTunnelDestGroup, ::Google::Cloud::Iap::V1::GetTunnelDestGroupRequest, ::Google::Cloud::Iap::V1::TunnelDestGroup
64
+ # Deletes a TunnelDestGroup.
65
+ rpc :DeleteTunnelDestGroup, ::Google::Cloud::Iap::V1::DeleteTunnelDestGroupRequest, ::Google::Protobuf::Empty
66
+ # Updates a TunnelDestGroup.
67
+ rpc :UpdateTunnelDestGroup, ::Google::Cloud::Iap::V1::UpdateTunnelDestGroupRequest, ::Google::Cloud::Iap::V1::TunnelDestGroup
56
68
  end
57
69
 
58
70
  Stub = Service.rpc_stub_class
@@ -73,11 +85,12 @@ module Google
73
85
  rpc :ListBrands, ::Google::Cloud::Iap::V1::ListBrandsRequest, ::Google::Cloud::Iap::V1::ListBrandsResponse
74
86
  # Constructs a new OAuth brand for the project if one does not exist.
75
87
  # The created brand is "internal only", meaning that OAuth clients created
76
- # under it only accept requests from users who belong to the same G Suite
77
- # organization as the project. The brand is created in an un-reviewed status.
78
- # NOTE: The "internal only" status can be manually changed in the Google
79
- # Cloud console. Requires that a brand does not already exist for the
80
- # project, and that the specified support email is owned by the caller.
88
+ # under it only accept requests from users who belong to the same Google
89
+ # Workspace organization as the project. The brand is created in an
90
+ # un-reviewed status. NOTE: The "internal only" status can be manually
91
+ # changed in the Google Cloud Console. Requires that a brand does not already
92
+ # exist for the project, and that the specified support email is owned by the
93
+ # caller.
81
94
  rpc :CreateBrand, ::Google::Cloud::Iap::V1::CreateBrandRequest, ::Google::Cloud::Iap::V1::Brand
82
95
  # Retrieves the OAuth brand of the project.
83
96
  rpc :GetBrand, ::Google::Cloud::Iap::V1::GetBrandRequest, ::Google::Cloud::Iap::V1::Brand
@@ -21,7 +21,7 @@ module Google
21
21
  module Cloud
22
22
  module Iap
23
23
  module V1
24
- VERSION = "0.2.0"
24
+ VERSION = "0.3.0"
25
25
  end
26
26
  end
27
27
  end
@@ -21,6 +21,118 @@ module Google
21
21
  module Cloud
22
22
  module Iap
23
23
  module V1
24
+ # The request to ListTunnelDestGroups.
25
+ # @!attribute [rw] parent
26
+ # @return [::String]
27
+ # Required. Google Cloud Project ID and location.
28
+ # In the following format:
29
+ # `projects/{project_number/id}/iap_tunnel/locations/{location}`.
30
+ # A `-` can be used for the location to group across all locations.
31
+ # @!attribute [rw] page_size
32
+ # @return [::Integer]
33
+ # The maximum number of groups to return. The service might return fewer than
34
+ # this value.
35
+ # If unspecified, at most 100 groups are returned.
36
+ # The maximum value is 1000; values above 1000 are coerced to 1000.
37
+ # @!attribute [rw] page_token
38
+ # @return [::String]
39
+ # A page token, received from a previous `ListTunnelDestGroups`
40
+ # call. Provide this to retrieve the subsequent page.
41
+ #
42
+ # When paginating, all other parameters provided to
43
+ # `ListTunnelDestGroups` must match the call that provided the page
44
+ # token.
45
+ class ListTunnelDestGroupsRequest
46
+ include ::Google::Protobuf::MessageExts
47
+ extend ::Google::Protobuf::MessageExts::ClassMethods
48
+ end
49
+
50
+ # The response from ListTunnelDestGroups.
51
+ # @!attribute [rw] tunnel_dest_groups
52
+ # @return [::Array<::Google::Cloud::Iap::V1::TunnelDestGroup>]
53
+ # TunnelDestGroup existing in the project.
54
+ # @!attribute [rw] next_page_token
55
+ # @return [::String]
56
+ # A token that you can send as `page_token` to retrieve the next page.
57
+ # If this field is omitted, there are no subsequent pages.
58
+ class ListTunnelDestGroupsResponse
59
+ include ::Google::Protobuf::MessageExts
60
+ extend ::Google::Protobuf::MessageExts::ClassMethods
61
+ end
62
+
63
+ # The request to CreateTunnelDestGroup.
64
+ # @!attribute [rw] parent
65
+ # @return [::String]
66
+ # Required. Google Cloud Project ID and location.
67
+ # In the following format:
68
+ # `projects/{project_number/id}/iap_tunnel/locations/{location}`.
69
+ # @!attribute [rw] tunnel_dest_group
70
+ # @return [::Google::Cloud::Iap::V1::TunnelDestGroup]
71
+ # Required. The TunnelDestGroup to create.
72
+ # @!attribute [rw] tunnel_dest_group_id
73
+ # @return [::String]
74
+ # Required. The ID to use for the TunnelDestGroup, which becomes the final component of
75
+ # the resource name.
76
+ #
77
+ # This value must be 4-63 characters, and valid characters
78
+ # are `[a-z][0-9]-`.
79
+ class CreateTunnelDestGroupRequest
80
+ include ::Google::Protobuf::MessageExts
81
+ extend ::Google::Protobuf::MessageExts::ClassMethods
82
+ end
83
+
84
+ # The request to GetTunnelDestGroup.
85
+ # @!attribute [rw] name
86
+ # @return [::String]
87
+ # Required. Name of the TunnelDestGroup to be fetched.
88
+ # In the following format:
89
+ # `projects/{project_number/id}/iap_tunnel/locations/{location}/destGroups/{dest_group}`.
90
+ class GetTunnelDestGroupRequest
91
+ include ::Google::Protobuf::MessageExts
92
+ extend ::Google::Protobuf::MessageExts::ClassMethods
93
+ end
94
+
95
+ # The request to DeleteTunnelDestGroup.
96
+ # @!attribute [rw] name
97
+ # @return [::String]
98
+ # Required. Name of the TunnelDestGroup to delete.
99
+ # In the following format:
100
+ # `projects/{project_number/id}/iap_tunnel/locations/{location}/destGroups/{dest_group}`.
101
+ class DeleteTunnelDestGroupRequest
102
+ include ::Google::Protobuf::MessageExts
103
+ extend ::Google::Protobuf::MessageExts::ClassMethods
104
+ end
105
+
106
+ # The request to UpdateTunnelDestGroup.
107
+ # @!attribute [rw] tunnel_dest_group
108
+ # @return [::Google::Cloud::Iap::V1::TunnelDestGroup]
109
+ # Required. The new values for the TunnelDestGroup.
110
+ # @!attribute [rw] update_mask
111
+ # @return [::Google::Protobuf::FieldMask]
112
+ # A field mask that specifies which IAP settings to update.
113
+ # If omitted, then all of the settings are updated. See
114
+ # https://developers.google.com/protocol-buffers/docs/reference/google.protobuf#fieldmask
115
+ class UpdateTunnelDestGroupRequest
116
+ include ::Google::Protobuf::MessageExts
117
+ extend ::Google::Protobuf::MessageExts::ClassMethods
118
+ end
119
+
120
+ # A TunnelDestGroup.
121
+ # @!attribute [rw] name
122
+ # @return [::String]
123
+ # Required. Immutable. Identifier for the TunnelDestGroup. Must be unique within the
124
+ # project.
125
+ # @!attribute [rw] cidrs
126
+ # @return [::Array<::String>]
127
+ # null List of CIDRs that this group applies to.
128
+ # @!attribute [rw] fqdns
129
+ # @return [::Array<::String>]
130
+ # null List of FQDNs that this group applies to.
131
+ class TunnelDestGroup
132
+ include ::Google::Protobuf::MessageExts
133
+ extend ::Google::Protobuf::MessageExts::ClassMethods
134
+ end
135
+
24
136
  # The request sent to GetIapSettings.
25
137
  # @!attribute [rw] name
26
138
  # @return [::String]
@@ -73,6 +185,9 @@ module Google
73
185
  # @!attribute [rw] oauth_settings
74
186
  # @return [::Google::Cloud::Iap::V1::OAuthSettings]
75
187
  # Settings to configure IAP's OAuth behavior.
188
+ # @!attribute [rw] reauth_settings
189
+ # @return [::Google::Cloud::Iap::V1::ReauthSettings]
190
+ # Settings to configure reauthentication policies in IAP.
76
191
  class AccessSettings
77
192
  include ::Google::Protobuf::MessageExts
78
193
  extend ::Google::Protobuf::MessageExts::ClassMethods
@@ -122,6 +237,55 @@ module Google
122
237
  extend ::Google::Protobuf::MessageExts::ClassMethods
123
238
  end
124
239
 
240
+ # Configuration for IAP reauthentication policies.
241
+ # @!attribute [rw] method
242
+ # @return [::Google::Cloud::Iap::V1::ReauthSettings::Method]
243
+ # Reauth method required by the policy.
244
+ # @!attribute [rw] max_age
245
+ # @return [::Google::Protobuf::Duration]
246
+ # Reauth session lifetime, how long before a user has to reauthenticate
247
+ # again.
248
+ # @!attribute [rw] policy_type
249
+ # @return [::Google::Cloud::Iap::V1::ReauthSettings::PolicyType]
250
+ # How IAP determines the effective policy in cases of hierarchial policies.
251
+ # Policies are merged from higher in the hierarchy to lower in the hierarchy.
252
+ class ReauthSettings
253
+ include ::Google::Protobuf::MessageExts
254
+ extend ::Google::Protobuf::MessageExts::ClassMethods
255
+
256
+ # Types of reauthentication methods supported by IAP.
257
+ module Method
258
+ # Reauthentication disabled.
259
+ METHOD_UNSPECIFIED = 0
260
+
261
+ # Mimics the behavior as if the user had logged out and tried to log in
262
+ # again. Users with 2SV (2-step verification) enabled see their 2SV
263
+ # challenges if they did not opt to have their second factor responses
264
+ # saved. Apps Core (GSuites) admins can configure settings to disable 2SV
265
+ # cookies and require 2SV for all Apps Core users in their domains.
266
+ LOGIN = 1
267
+
268
+ # User must type their password.
269
+ PASSWORD = 2
270
+
271
+ # User must use their secure key 2nd factor device.
272
+ SECURE_KEY = 3
273
+ end
274
+
275
+ # Type of policy in the case of hierarchial policies.
276
+ module PolicyType
277
+ # Default value. This value is unused.
278
+ POLICY_TYPE_UNSPECIFIED = 0
279
+
280
+ # This policy acts as a minimum to other policies, lower in the hierarchy.
281
+ # Effective policy may only be the same or stricter.
282
+ MINIMUM = 1
283
+
284
+ # This policy acts as a default if no other reauth policy is set.
285
+ DEFAULT = 2
286
+ end
287
+ end
288
+
125
289
  # Wrapper over application specific settings for IAP.
126
290
  # @!attribute [rw] csm_settings
127
291
  # @return [::Google::Cloud::Iap::V1::CsmSettings]
@@ -0,0 +1,98 @@
1
+ # frozen_string_literal: true
2
+
3
+ # Copyright 2022 Google LLC
4
+ #
5
+ # Licensed under the Apache License, Version 2.0 (the "License");
6
+ # you may not use this file except in compliance with the License.
7
+ # You may obtain a copy of the License at
8
+ #
9
+ # https://www.apache.org/licenses/LICENSE-2.0
10
+ #
11
+ # Unless required by applicable law or agreed to in writing, software
12
+ # distributed under the License is distributed on an "AS IS" BASIS,
13
+ # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14
+ # See the License for the specific language governing permissions and
15
+ # limitations under the License.
16
+
17
+ # Auto-generated by gapic-generator-ruby. DO NOT EDIT!
18
+
19
+
20
+ module Google
21
+ module Protobuf
22
+ # A Duration represents a signed, fixed-length span of time represented
23
+ # as a count of seconds and fractions of seconds at nanosecond
24
+ # resolution. It is independent of any calendar and concepts like "day"
25
+ # or "month". It is related to Timestamp in that the difference between
26
+ # two Timestamp values is a Duration and it can be added or subtracted
27
+ # from a Timestamp. Range is approximately +-10,000 years.
28
+ #
29
+ # # Examples
30
+ #
31
+ # Example 1: Compute Duration from two Timestamps in pseudo code.
32
+ #
33
+ # Timestamp start = ...;
34
+ # Timestamp end = ...;
35
+ # Duration duration = ...;
36
+ #
37
+ # duration.seconds = end.seconds - start.seconds;
38
+ # duration.nanos = end.nanos - start.nanos;
39
+ #
40
+ # if (duration.seconds < 0 && duration.nanos > 0) {
41
+ # duration.seconds += 1;
42
+ # duration.nanos -= 1000000000;
43
+ # } else if (duration.seconds > 0 && duration.nanos < 0) {
44
+ # duration.seconds -= 1;
45
+ # duration.nanos += 1000000000;
46
+ # }
47
+ #
48
+ # Example 2: Compute Timestamp from Timestamp + Duration in pseudo code.
49
+ #
50
+ # Timestamp start = ...;
51
+ # Duration duration = ...;
52
+ # Timestamp end = ...;
53
+ #
54
+ # end.seconds = start.seconds + duration.seconds;
55
+ # end.nanos = start.nanos + duration.nanos;
56
+ #
57
+ # if (end.nanos < 0) {
58
+ # end.seconds -= 1;
59
+ # end.nanos += 1000000000;
60
+ # } else if (end.nanos >= 1000000000) {
61
+ # end.seconds += 1;
62
+ # end.nanos -= 1000000000;
63
+ # }
64
+ #
65
+ # Example 3: Compute Duration from datetime.timedelta in Python.
66
+ #
67
+ # td = datetime.timedelta(days=3, minutes=10)
68
+ # duration = Duration()
69
+ # duration.FromTimedelta(td)
70
+ #
71
+ # # JSON Mapping
72
+ #
73
+ # In JSON format, the Duration type is encoded as a string rather than an
74
+ # object, where the string ends in the suffix "s" (indicating seconds) and
75
+ # is preceded by the number of seconds, with nanoseconds expressed as
76
+ # fractional seconds. For example, 3 seconds with 0 nanoseconds should be
77
+ # encoded in JSON format as "3s", while 3 seconds and 1 nanosecond should
78
+ # be expressed in JSON format as "3.000000001s", and 3 seconds and 1
79
+ # microsecond should be expressed in JSON format as "3.000001s".
80
+ # @!attribute [rw] seconds
81
+ # @return [::Integer]
82
+ # Signed seconds of the span of time. Must be from -315,576,000,000
83
+ # to +315,576,000,000 inclusive. Note: these bounds are computed from:
84
+ # 60 sec/min * 60 min/hr * 24 hr/day * 365.25 days/year * 10000 years
85
+ # @!attribute [rw] nanos
86
+ # @return [::Integer]
87
+ # Signed fractions of a second at nanosecond resolution of the span
88
+ # of time. Durations less than one second are represented with a 0
89
+ # `seconds` field and a positive or negative `nanos` field. For durations
90
+ # of one second or more, a non-zero value for the `nanos` field must be
91
+ # of the same sign as the `seconds` field. Must be from -999,999,999
92
+ # to +999,999,999 inclusive.
93
+ class Duration
94
+ include ::Google::Protobuf::MessageExts
95
+ extend ::Google::Protobuf::MessageExts::ClassMethods
96
+ end
97
+ end
98
+ end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: google-cloud-iap-v1
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.2.0
4
+ version: 0.3.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Google LLC
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2022-04-20 00:00:00.000000000 Z
11
+ date: 2022-05-13 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: gapic-common
@@ -189,6 +189,7 @@ files:
189
189
  - lib/google/cloud/iap/v1/identity_aware_proxy_admin_service.rb
190
190
  - lib/google/cloud/iap/v1/identity_aware_proxy_admin_service/client.rb
191
191
  - lib/google/cloud/iap/v1/identity_aware_proxy_admin_service/credentials.rb
192
+ - lib/google/cloud/iap/v1/identity_aware_proxy_admin_service/paths.rb
192
193
  - lib/google/cloud/iap/v1/identity_aware_proxy_o_auth_service.rb
193
194
  - lib/google/cloud/iap/v1/identity_aware_proxy_o_auth_service/client.rb
194
195
  - lib/google/cloud/iap/v1/identity_aware_proxy_o_auth_service/credentials.rb
@@ -202,6 +203,7 @@ files:
202
203
  - proto_docs/google/iam/v1/iam_policy.rb
203
204
  - proto_docs/google/iam/v1/options.rb
204
205
  - proto_docs/google/iam/v1/policy.rb
206
+ - proto_docs/google/protobuf/duration.rb
205
207
  - proto_docs/google/protobuf/empty.rb
206
208
  - proto_docs/google/protobuf/field_mask.rb
207
209
  - proto_docs/google/protobuf/wrappers.rb