google-cloud-iap-v1 0.2.0 → 0.3.0

Sign up to get free protection for your applications and to get access to all the features.
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