google-cloud-policy_troubleshooter-iam-v3 0.a → 0.2.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (34) hide show
  1. checksums.yaml +4 -4
  2. data/.yardopts +12 -0
  3. data/AUTHENTICATION.md +149 -0
  4. data/README.md +144 -8
  5. data/lib/google/cloud/policy_troubleshooter/iam/v3/policy_troubleshooter/client.rb +400 -0
  6. data/lib/google/cloud/policy_troubleshooter/iam/v3/policy_troubleshooter/credentials.rb +49 -0
  7. data/lib/google/cloud/policy_troubleshooter/iam/v3/policy_troubleshooter/rest/client.rb +372 -0
  8. data/lib/google/cloud/policy_troubleshooter/iam/v3/policy_troubleshooter/rest/service_stub.rb +108 -0
  9. data/lib/google/cloud/policy_troubleshooter/iam/v3/policy_troubleshooter/rest.rb +55 -0
  10. data/lib/google/cloud/policy_troubleshooter/iam/v3/policy_troubleshooter.rb +58 -0
  11. data/lib/google/cloud/policy_troubleshooter/iam/v3/rest.rb +39 -0
  12. data/lib/google/cloud/policy_troubleshooter/iam/v3/version.rb +7 -2
  13. data/lib/google/cloud/policy_troubleshooter/iam/v3.rb +47 -0
  14. data/lib/google/cloud/policytroubleshooter/iam/v3/troubleshooter_pb.rb +86 -0
  15. data/lib/google/cloud/policytroubleshooter/iam/v3/troubleshooter_services_pb.rb +51 -0
  16. data/lib/google-cloud-policy_troubleshooter-iam-v3.rb +21 -0
  17. data/proto_docs/README.md +4 -0
  18. data/proto_docs/google/api/client.rb +381 -0
  19. data/proto_docs/google/api/field_behavior.rb +85 -0
  20. data/proto_docs/google/api/launch_stage.rb +71 -0
  21. data/proto_docs/google/api/resource.rb +222 -0
  22. data/proto_docs/google/cloud/policytroubleshooter/iam/v3/troubleshooter.rb +826 -0
  23. data/proto_docs/google/iam/v1/policy.rb +426 -0
  24. data/proto_docs/google/iam/v2/deny.rb +110 -0
  25. data/proto_docs/google/iam/v2/policy.rb +241 -0
  26. data/proto_docs/google/longrunning/operations.rb +164 -0
  27. data/proto_docs/google/protobuf/any.rb +144 -0
  28. data/proto_docs/google/protobuf/duration.rb +98 -0
  29. data/proto_docs/google/protobuf/empty.rb +34 -0
  30. data/proto_docs/google/protobuf/struct.rb +96 -0
  31. data/proto_docs/google/protobuf/timestamp.rb +127 -0
  32. data/proto_docs/google/rpc/status.rb +48 -0
  33. data/proto_docs/google/type/expr.rb +75 -0
  34. metadata +229 -13
@@ -0,0 +1,47 @@
1
+ # frozen_string_literal: true
2
+
3
+ # Copyright 2023 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
+ require "google/cloud/policy_troubleshooter/iam/v3/policy_troubleshooter"
20
+ require "google/cloud/policy_troubleshooter/iam/v3/version"
21
+
22
+ module Google
23
+ module Cloud
24
+ module PolicyTroubleshooter
25
+ module Iam
26
+ ##
27
+ # API client module.
28
+ #
29
+ # @example Load this package, including all its services, and instantiate a gRPC client
30
+ #
31
+ # require "google/cloud/policy_troubleshooter/iam/v3"
32
+ # client = ::Google::Cloud::PolicyTroubleshooter::Iam::V3::PolicyTroubleshooter::Client.new
33
+ #
34
+ # @example Load this package, including all its services, and instantiate a REST client
35
+ #
36
+ # require "google/cloud/policy_troubleshooter/iam/v3"
37
+ # client = ::Google::Cloud::PolicyTroubleshooter::Iam::V3::PolicyTroubleshooter::Rest::Client.new
38
+ #
39
+ module V3
40
+ end
41
+ end
42
+ end
43
+ end
44
+ end
45
+
46
+ helper_path = ::File.join __dir__, "v3", "_helpers.rb"
47
+ require "google/cloud/policy_troubleshooter/iam/v3/_helpers" if ::File.file? helper_path
@@ -0,0 +1,86 @@
1
+ # frozen_string_literal: true
2
+ # Generated by the protocol buffer compiler. DO NOT EDIT!
3
+ # source: google/cloud/policytroubleshooter/iam/v3/troubleshooter.proto
4
+
5
+ require 'google/protobuf'
6
+
7
+ require 'google/api/annotations_pb'
8
+ require 'google/api/client_pb'
9
+ require 'google/api/field_behavior_pb'
10
+ require 'google/iam/v1/policy_pb'
11
+ require 'google/iam/v2/policy_pb'
12
+ require 'google/protobuf/struct_pb'
13
+ require 'google/protobuf/timestamp_pb'
14
+ require 'google/rpc/status_pb'
15
+ require 'google/type/expr_pb'
16
+
17
+
18
+ descriptor_data = "\n=google/cloud/policytroubleshooter/iam/v3/troubleshooter.proto\x12(google.cloud.policytroubleshooter.iam.v3\x1a\x1cgoogle/api/annotations.proto\x1a\x17google/api/client.proto\x1a\x1fgoogle/api/field_behavior.proto\x1a\x1agoogle/iam/v1/policy.proto\x1a\x1agoogle/iam/v2/policy.proto\x1a\x1cgoogle/protobuf/struct.proto\x1a\x1fgoogle/protobuf/timestamp.proto\x1a\x17google/rpc/status.proto\x1a\x16google/type/expr.proto\"k\n\x1cTroubleshootIamPolicyRequest\x12K\n\x0c\x61\x63\x63\x65ss_tuple\x18\x01 \x01(\x0b\x32\x35.google.cloud.policytroubleshooter.iam.v3.AccessTuple\"\xb7\x04\n\x1dTroubleshootIamPolicyResponse\x12x\n\x14overall_access_state\x18\x01 \x01(\x0e\x32Z.google.cloud.policytroubleshooter.iam.v3.TroubleshootIamPolicyResponse.OverallAccessState\x12K\n\x0c\x61\x63\x63\x65ss_tuple\x18\x02 \x01(\x0b\x32\x35.google.cloud.policytroubleshooter.iam.v3.AccessTuple\x12\x62\n\x18\x61llow_policy_explanation\x18\x03 \x01(\x0b\x32@.google.cloud.policytroubleshooter.iam.v3.AllowPolicyExplanation\x12`\n\x17\x64\x65ny_policy_explanation\x18\x04 \x01(\x0b\x32?.google.cloud.policytroubleshooter.iam.v3.DenyPolicyExplanation\"\x88\x01\n\x12OverallAccessState\x12$\n OVERALL_ACCESS_STATE_UNSPECIFIED\x10\x00\x12\x0e\n\nCAN_ACCESS\x10\x01\x12\x11\n\rCANNOT_ACCESS\x10\x02\x12\x10\n\x0cUNKNOWN_INFO\x10\x03\x12\x17\n\x13UNKNOWN_CONDITIONAL\x10\x04\"\xd9\x01\n\x0b\x41\x63\x63\x65ssTuple\x12\x16\n\tprincipal\x18\x01 \x01(\tB\x03\xe0\x41\x02\x12\x1f\n\x12\x66ull_resource_name\x18\x02 \x01(\tB\x03\xe0\x41\x02\x12\x17\n\npermission\x18\x03 \x01(\tB\x03\xe0\x41\x02\x12\x1c\n\x0fpermission_fqdn\x18\x04 \x01(\tB\x03\xe0\x41\x03\x12Z\n\x11\x63ondition_context\x18\x05 \x01(\x0b\x32:.google.cloud.policytroubleshooter.iam.v3.ConditionContextB\x03\xe0\x41\x01\"\xcf\x05\n\x10\x43onditionContext\x12U\n\x08resource\x18\x01 \x01(\x0b\x32\x43.google.cloud.policytroubleshooter.iam.v3.ConditionContext.Resource\x12T\n\x0b\x64\x65stination\x18\x02 \x01(\x0b\x32?.google.cloud.policytroubleshooter.iam.v3.ConditionContext.Peer\x12S\n\x07request\x18\x03 \x01(\x0b\x32\x42.google.cloud.policytroubleshooter.iam.v3.ConditionContext.Request\x12\x64\n\x0e\x65\x66\x66\x65\x63tive_tags\x18\x04 \x03(\x0b\x32G.google.cloud.policytroubleshooter.iam.v3.ConditionContext.EffectiveTagB\x03\xe0\x41\x03\x1a\x37\n\x08Resource\x12\x0f\n\x07service\x18\x01 \x01(\t\x12\x0c\n\x04name\x18\x02 \x01(\t\x12\x0c\n\x04type\x18\x03 \x01(\t\x1a \n\x04Peer\x12\n\n\x02ip\x18\x01 \x01(\t\x12\x0c\n\x04port\x18\x02 \x01(\x03\x1a@\n\x07Request\x12\x35\n\x0creceive_time\x18\x01 \x01(\x0b\x32\x1a.google.protobuf.TimestampB\x03\xe0\x41\x01\x1a\xb5\x01\n\x0c\x45\x66\x66\x65\x63tiveTag\x12\x16\n\ttag_value\x18\x01 \x01(\tB\x03\xe0\x41\x03\x12!\n\x14namespaced_tag_value\x18\x02 \x01(\tB\x03\xe0\x41\x03\x12\x14\n\x07tag_key\x18\x03 \x01(\tB\x03\xe0\x41\x03\x12\x1f\n\x12namespaced_tag_key\x18\x04 \x01(\tB\x03\xe0\x41\x03\x12\x1b\n\x13tag_key_parent_name\x18\x06 \x01(\t\x12\x16\n\tinherited\x18\x05 \x01(\x08\x42\x03\xe0\x41\x03\"\x9d\x02\n\x16\x41llowPolicyExplanation\x12V\n\x12\x61llow_access_state\x18\x01 \x01(\x0e\x32:.google.cloud.policytroubleshooter.iam.v3.AllowAccessState\x12Z\n\x12\x65xplained_policies\x18\x02 \x03(\x0b\x32>.google.cloud.policytroubleshooter.iam.v3.ExplainedAllowPolicy\x12O\n\trelevance\x18\x03 \x01(\x0e\x32<.google.cloud.policytroubleshooter.iam.v3.HeuristicRelevance\"\xe8\x02\n\x14\x45xplainedAllowPolicy\x12[\n\x12\x61llow_access_state\x18\x01 \x01(\x0e\x32:.google.cloud.policytroubleshooter.iam.v3.AllowAccessStateB\x03\xe0\x41\x02\x12\x1a\n\x12\x66ull_resource_name\x18\x02 \x01(\t\x12_\n\x14\x62inding_explanations\x18\x03 \x03(\x0b\x32\x41.google.cloud.policytroubleshooter.iam.v3.AllowBindingExplanation\x12O\n\trelevance\x18\x04 \x01(\x0e\x32<.google.cloud.policytroubleshooter.iam.v3.HeuristicRelevance\x12%\n\x06policy\x18\x05 \x01(\x0b\x32\x15.google.iam.v1.Policy\"\xd4\x08\n\x17\x41llowBindingExplanation\x12[\n\x12\x61llow_access_state\x18\x01 \x01(\x0e\x32:.google.cloud.policytroubleshooter.iam.v3.AllowAccessStateB\x03\xe0\x41\x02\x12\x0c\n\x04role\x18\x02 \x01(\t\x12_\n\x0frole_permission\x18\x03 \x01(\x0e\x32\x46.google.cloud.policytroubleshooter.iam.v3.RolePermissionInclusionState\x12_\n\x19role_permission_relevance\x18\x04 \x01(\x0e\x32<.google.cloud.policytroubleshooter.iam.v3.HeuristicRelevance\x12w\n\x13\x63ombined_membership\x18\x05 \x01(\x0b\x32Z.google.cloud.policytroubleshooter.iam.v3.AllowBindingExplanation.AnnotatedAllowMembership\x12g\n\x0bmemberships\x18\x06 \x03(\x0b\x32R.google.cloud.policytroubleshooter.iam.v3.AllowBindingExplanation.MembershipsEntry\x12O\n\trelevance\x18\x07 \x01(\x0e\x32<.google.cloud.policytroubleshooter.iam.v3.HeuristicRelevance\x12$\n\tcondition\x18\x08 \x01(\x0b\x32\x11.google.type.Expr\x12]\n\x15\x63ondition_explanation\x18\t \x01(\x0b\x32>.google.cloud.policytroubleshooter.iam.v3.ConditionExplanation\x1a\xc2\x01\n\x18\x41nnotatedAllowMembership\x12U\n\nmembership\x18\x01 \x01(\x0e\x32\x41.google.cloud.policytroubleshooter.iam.v3.MembershipMatchingState\x12O\n\trelevance\x18\x02 \x01(\x0e\x32<.google.cloud.policytroubleshooter.iam.v3.HeuristicRelevance\x1a\x8e\x01\n\x10MembershipsEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12i\n\x05value\x18\x02 \x01(\x0b\x32Z.google.cloud.policytroubleshooter.iam.v3.AllowBindingExplanation.AnnotatedAllowMembership:\x02\x38\x01\"\xb9\x02\n\x15\x44\x65nyPolicyExplanation\x12T\n\x11\x64\x65ny_access_state\x18\x01 \x01(\x0e\x32\x39.google.cloud.policytroubleshooter.iam.v3.DenyAccessState\x12\\\n\x13\x65xplained_resources\x18\x02 \x03(\x0b\x32?.google.cloud.policytroubleshooter.iam.v3.ExplainedDenyResource\x12O\n\trelevance\x18\x03 \x01(\x0e\x32<.google.cloud.policytroubleshooter.iam.v3.HeuristicRelevance\x12\x1b\n\x13permission_deniable\x18\x04 \x01(\x08\"\xba\x02\n\x15\x45xplainedDenyResource\x12Y\n\x11\x64\x65ny_access_state\x18\x01 \x01(\x0e\x32\x39.google.cloud.policytroubleshooter.iam.v3.DenyAccessStateB\x03\xe0\x41\x02\x12\x1a\n\x12\x66ull_resource_name\x18\x02 \x01(\t\x12Y\n\x12\x65xplained_policies\x18\x03 \x03(\x0b\x32=.google.cloud.policytroubleshooter.iam.v3.ExplainedDenyPolicy\x12O\n\trelevance\x18\x04 \x01(\x0e\x32<.google.cloud.policytroubleshooter.iam.v3.HeuristicRelevance\"\xc2\x02\n\x13\x45xplainedDenyPolicy\x12Y\n\x11\x64\x65ny_access_state\x18\x01 \x01(\x0e\x32\x39.google.cloud.policytroubleshooter.iam.v3.DenyAccessStateB\x03\xe0\x41\x02\x12%\n\x06policy\x18\x02 \x01(\x0b\x32\x15.google.iam.v2.Policy\x12X\n\x11rule_explanations\x18\x03 \x03(\x0b\x32=.google.cloud.policytroubleshooter.iam.v3.DenyRuleExplanation\x12O\n\trelevance\x18\x04 \x01(\x0e\x32<.google.cloud.policytroubleshooter.iam.v3.HeuristicRelevance\"\xa9\x12\n\x13\x44\x65nyRuleExplanation\x12Y\n\x11\x64\x65ny_access_state\x18\x01 \x01(\x0e\x32\x39.google.cloud.policytroubleshooter.iam.v3.DenyAccessStateB\x03\xe0\x41\x02\x12}\n\x1a\x63ombined_denied_permission\x18\x02 \x01(\x0b\x32Y.google.cloud.policytroubleshooter.iam.v3.DenyRuleExplanation.AnnotatedPermissionMatching\x12p\n\x12\x64\x65nied_permissions\x18\x03 \x03(\x0b\x32T.google.cloud.policytroubleshooter.iam.v3.DenyRuleExplanation.DeniedPermissionsEntry\x12\x80\x01\n\x1d\x63ombined_exception_permission\x18\x04 \x01(\x0b\x32Y.google.cloud.policytroubleshooter.iam.v3.DenyRuleExplanation.AnnotatedPermissionMatching\x12v\n\x15\x65xception_permissions\x18\x05 \x03(\x0b\x32W.google.cloud.policytroubleshooter.iam.v3.DenyRuleExplanation.ExceptionPermissionsEntry\x12\x7f\n\x19\x63ombined_denied_principal\x18\x06 \x01(\x0b\x32\\.google.cloud.policytroubleshooter.iam.v3.DenyRuleExplanation.AnnotatedDenyPrincipalMatching\x12n\n\x11\x64\x65nied_principals\x18\x07 \x03(\x0b\x32S.google.cloud.policytroubleshooter.iam.v3.DenyRuleExplanation.DeniedPrincipalsEntry\x12\x82\x01\n\x1c\x63ombined_exception_principal\x18\x08 \x01(\x0b\x32\\.google.cloud.policytroubleshooter.iam.v3.DenyRuleExplanation.AnnotatedDenyPrincipalMatching\x12t\n\x14\x65xception_principals\x18\t \x03(\x0b\x32V.google.cloud.policytroubleshooter.iam.v3.DenyRuleExplanation.ExceptionPrincipalsEntry\x12O\n\trelevance\x18\n \x01(\x0e\x32<.google.cloud.policytroubleshooter.iam.v3.HeuristicRelevance\x12$\n\tcondition\x18\x0b \x01(\x0b\x32\x11.google.type.Expr\x12]\n\x15\x63ondition_explanation\x18\x0c \x01(\x0b\x32>.google.cloud.policytroubleshooter.iam.v3.ConditionExplanation\x1a\xdb\x01\n\x1b\x41nnotatedPermissionMatching\x12k\n\x19permission_matching_state\x18\x01 \x01(\x0e\x32H.google.cloud.policytroubleshooter.iam.v3.PermissionPatternMatchingState\x12O\n\trelevance\x18\x02 \x01(\x0e\x32<.google.cloud.policytroubleshooter.iam.v3.HeuristicRelevance\x1a\xc8\x01\n\x1e\x41nnotatedDenyPrincipalMatching\x12U\n\nmembership\x18\x01 \x01(\x0e\x32\x41.google.cloud.policytroubleshooter.iam.v3.MembershipMatchingState\x12O\n\trelevance\x18\x02 \x01(\x0e\x32<.google.cloud.policytroubleshooter.iam.v3.HeuristicRelevance\x1a\x93\x01\n\x16\x44\x65niedPermissionsEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12h\n\x05value\x18\x02 \x01(\x0b\x32Y.google.cloud.policytroubleshooter.iam.v3.DenyRuleExplanation.AnnotatedPermissionMatching:\x02\x38\x01\x1a\x96\x01\n\x19\x45xceptionPermissionsEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12h\n\x05value\x18\x02 \x01(\x0b\x32Y.google.cloud.policytroubleshooter.iam.v3.DenyRuleExplanation.AnnotatedPermissionMatching:\x02\x38\x01\x1a\x95\x01\n\x15\x44\x65niedPrincipalsEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12k\n\x05value\x18\x02 \x01(\x0b\x32\\.google.cloud.policytroubleshooter.iam.v3.DenyRuleExplanation.AnnotatedDenyPrincipalMatching:\x02\x38\x01\x1a\x98\x01\n\x18\x45xceptionPrincipalsEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12k\n\x05value\x18\x02 \x01(\x0b\x32\\.google.cloud.policytroubleshooter.iam.v3.DenyRuleExplanation.AnnotatedDenyPrincipalMatching:\x02\x38\x01\"\xc6\x02\n\x14\x43onditionExplanation\x12%\n\x05value\x18\x01 \x01(\x0b\x32\x16.google.protobuf.Value\x12\"\n\x06\x65rrors\x18\x03 \x03(\x0b\x32\x12.google.rpc.Status\x12i\n\x11\x65valuation_states\x18\x02 \x03(\x0b\x32N.google.cloud.policytroubleshooter.iam.v3.ConditionExplanation.EvaluationState\x1ax\n\x0f\x45valuationState\x12\r\n\x05start\x18\x01 \x01(\x05\x12\x0b\n\x03\x65nd\x18\x02 \x01(\x05\x12%\n\x05value\x18\x03 \x01(\x0b\x32\x16.google.protobuf.Value\x12\"\n\x06\x65rrors\x18\x04 \x03(\x0b\x32\x12.google.rpc.Status*\xcb\x01\n\x10\x41llowAccessState\x12\"\n\x1e\x41LLOW_ACCESS_STATE_UNSPECIFIED\x10\x00\x12\x1e\n\x1a\x41LLOW_ACCESS_STATE_GRANTED\x10\x01\x12\"\n\x1e\x41LLOW_ACCESS_STATE_NOT_GRANTED\x10\x02\x12*\n&ALLOW_ACCESS_STATE_UNKNOWN_CONDITIONAL\x10\x03\x12#\n\x1f\x41LLOW_ACCESS_STATE_UNKNOWN_INFO\x10\x04*\xc3\x01\n\x0f\x44\x65nyAccessState\x12!\n\x1d\x44\x45NY_ACCESS_STATE_UNSPECIFIED\x10\x00\x12\x1c\n\x18\x44\x45NY_ACCESS_STATE_DENIED\x10\x01\x12 \n\x1c\x44\x45NY_ACCESS_STATE_NOT_DENIED\x10\x02\x12)\n%DENY_ACCESS_STATE_UNKNOWN_CONDITIONAL\x10\x03\x12\"\n\x1e\x44\x45NY_ACCESS_STATE_UNKNOWN_INFO\x10\x04*\xb1\x01\n\x1cRolePermissionInclusionState\x12/\n+ROLE_PERMISSION_INCLUSION_STATE_UNSPECIFIED\x10\x00\x12\x1c\n\x18ROLE_PERMISSION_INCLUDED\x10\x01\x12 \n\x1cROLE_PERMISSION_NOT_INCLUDED\x10\x02\x12 \n\x1cROLE_PERMISSION_UNKNOWN_INFO\x10\x03*\x97\x01\n\x1ePermissionPatternMatchingState\x12\x31\n-PERMISSION_PATTERN_MATCHING_STATE_UNSPECIFIED\x10\x00\x12\x1e\n\x1aPERMISSION_PATTERN_MATCHED\x10\x01\x12\"\n\x1ePERMISSION_PATTERN_NOT_MATCHED\x10\x02*\xb9\x01\n\x17MembershipMatchingState\x12)\n%MEMBERSHIP_MATCHING_STATE_UNSPECIFIED\x10\x00\x12\x16\n\x12MEMBERSHIP_MATCHED\x10\x01\x12\x1a\n\x16MEMBERSHIP_NOT_MATCHED\x10\x02\x12\x1b\n\x17MEMBERSHIP_UNKNOWN_INFO\x10\x03\x12\"\n\x1eMEMBERSHIP_UNKNOWN_UNSUPPORTED\x10\x04*w\n\x12HeuristicRelevance\x12#\n\x1fHEURISTIC_RELEVANCE_UNSPECIFIED\x10\x00\x12\x1e\n\x1aHEURISTIC_RELEVANCE_NORMAL\x10\x01\x12\x1c\n\x18HEURISTIC_RELEVANCE_HIGH\x10\x02\x32\xbb\x02\n\x14PolicyTroubleshooter\x12\xc9\x01\n\x15TroubleshootIamPolicy\x12\x46.google.cloud.policytroubleshooter.iam.v3.TroubleshootIamPolicyRequest\x1aG.google.cloud.policytroubleshooter.iam.v3.TroubleshootIamPolicyResponse\"\x1f\x82\xd3\xe4\x93\x02\x19\"\x14/v3/iam:troubleshoot:\x01*\x1aW\xca\x41#policytroubleshooter.googleapis.com\xd2\x41.https://www.googleapis.com/auth/cloud-platformB\x8d\x02\n,com.google.cloud.policytroubleshooter.iam.v3B\x13TroubleshooterProtoP\x01Z>cloud.google.com/go/policytroubleshooter/iam/apiv3/iampb;iampb\xf8\x01\x01\xaa\x02(Google.Cloud.PolicyTroubleshooter.Iam.V3\xca\x02(Google\\Cloud\\PolicyTroubleshooter\\Iam\\V3\xea\x02,Google::Cloud::PolicyTroubleshooter::Iam::V3b\x06proto3"
19
+
20
+ pool = Google::Protobuf::DescriptorPool.generated_pool
21
+
22
+ begin
23
+ pool.add_serialized_file(descriptor_data)
24
+ rescue TypeError => e
25
+ # Compatibility code: will be removed in the next major version.
26
+ require 'google/protobuf/descriptor_pb'
27
+ parsed = Google::Protobuf::FileDescriptorProto.decode(descriptor_data)
28
+ parsed.clear_dependency
29
+ serialized = parsed.class.encode(parsed)
30
+ file = pool.add_serialized_file(serialized)
31
+ warn "Warning: Protobuf detected an import path issue while loading generated file #{__FILE__}"
32
+ imports = [
33
+ ["google.protobuf.Timestamp", "google/protobuf/timestamp.proto"],
34
+ ["google.iam.v1.Policy", "google/iam/v1/policy.proto"],
35
+ ["google.type.Expr", "google/type/expr.proto"],
36
+ ["google.iam.v2.Policy", "google/iam/v2/policy.proto"],
37
+ ["google.protobuf.Value", "google/protobuf/struct.proto"],
38
+ ["google.rpc.Status", "google/rpc/status.proto"],
39
+ ]
40
+ imports.each do |type_name, expected_filename|
41
+ import_file = pool.lookup(type_name).file_descriptor
42
+ if import_file.name != expected_filename
43
+ warn "- #{file.name} imports #{expected_filename}, but that import was loaded as #{import_file.name}"
44
+ end
45
+ end
46
+ warn "Each proto file must use a consistent fully-qualified name."
47
+ warn "This will become an error in the next major version."
48
+ end
49
+
50
+ module Google
51
+ module Cloud
52
+ module PolicyTroubleshooter
53
+ module Iam
54
+ module V3
55
+ TroubleshootIamPolicyRequest = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.policytroubleshooter.iam.v3.TroubleshootIamPolicyRequest").msgclass
56
+ TroubleshootIamPolicyResponse = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.policytroubleshooter.iam.v3.TroubleshootIamPolicyResponse").msgclass
57
+ TroubleshootIamPolicyResponse::OverallAccessState = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.policytroubleshooter.iam.v3.TroubleshootIamPolicyResponse.OverallAccessState").enummodule
58
+ AccessTuple = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.policytroubleshooter.iam.v3.AccessTuple").msgclass
59
+ ConditionContext = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.policytroubleshooter.iam.v3.ConditionContext").msgclass
60
+ ConditionContext::Resource = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.policytroubleshooter.iam.v3.ConditionContext.Resource").msgclass
61
+ ConditionContext::Peer = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.policytroubleshooter.iam.v3.ConditionContext.Peer").msgclass
62
+ ConditionContext::Request = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.policytroubleshooter.iam.v3.ConditionContext.Request").msgclass
63
+ ConditionContext::EffectiveTag = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.policytroubleshooter.iam.v3.ConditionContext.EffectiveTag").msgclass
64
+ AllowPolicyExplanation = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.policytroubleshooter.iam.v3.AllowPolicyExplanation").msgclass
65
+ ExplainedAllowPolicy = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.policytroubleshooter.iam.v3.ExplainedAllowPolicy").msgclass
66
+ AllowBindingExplanation = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.policytroubleshooter.iam.v3.AllowBindingExplanation").msgclass
67
+ AllowBindingExplanation::AnnotatedAllowMembership = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.policytroubleshooter.iam.v3.AllowBindingExplanation.AnnotatedAllowMembership").msgclass
68
+ DenyPolicyExplanation = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.policytroubleshooter.iam.v3.DenyPolicyExplanation").msgclass
69
+ ExplainedDenyResource = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.policytroubleshooter.iam.v3.ExplainedDenyResource").msgclass
70
+ ExplainedDenyPolicy = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.policytroubleshooter.iam.v3.ExplainedDenyPolicy").msgclass
71
+ DenyRuleExplanation = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.policytroubleshooter.iam.v3.DenyRuleExplanation").msgclass
72
+ DenyRuleExplanation::AnnotatedPermissionMatching = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.policytroubleshooter.iam.v3.DenyRuleExplanation.AnnotatedPermissionMatching").msgclass
73
+ DenyRuleExplanation::AnnotatedDenyPrincipalMatching = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.policytroubleshooter.iam.v3.DenyRuleExplanation.AnnotatedDenyPrincipalMatching").msgclass
74
+ ConditionExplanation = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.policytroubleshooter.iam.v3.ConditionExplanation").msgclass
75
+ ConditionExplanation::EvaluationState = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.policytroubleshooter.iam.v3.ConditionExplanation.EvaluationState").msgclass
76
+ AllowAccessState = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.policytroubleshooter.iam.v3.AllowAccessState").enummodule
77
+ DenyAccessState = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.policytroubleshooter.iam.v3.DenyAccessState").enummodule
78
+ RolePermissionInclusionState = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.policytroubleshooter.iam.v3.RolePermissionInclusionState").enummodule
79
+ PermissionPatternMatchingState = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.policytroubleshooter.iam.v3.PermissionPatternMatchingState").enummodule
80
+ MembershipMatchingState = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.policytroubleshooter.iam.v3.MembershipMatchingState").enummodule
81
+ HeuristicRelevance = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.policytroubleshooter.iam.v3.HeuristicRelevance").enummodule
82
+ end
83
+ end
84
+ end
85
+ end
86
+ end
@@ -0,0 +1,51 @@
1
+ # Generated by the protocol buffer compiler. DO NOT EDIT!
2
+ # Source: google/cloud/policytroubleshooter/iam/v3/troubleshooter.proto for package 'Google.Cloud.PolicyTroubleshooter.Iam.V3'
3
+ # Original file comments:
4
+ # Copyright 2023 Google LLC
5
+ #
6
+ # Licensed under the Apache License, Version 2.0 (the "License");
7
+ # you may not use this file except in compliance with the License.
8
+ # You may obtain a copy of the License at
9
+ #
10
+ # http://www.apache.org/licenses/LICENSE-2.0
11
+ #
12
+ # Unless required by applicable law or agreed to in writing, software
13
+ # distributed under the License is distributed on an "AS IS" BASIS,
14
+ # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
15
+ # See the License for the specific language governing permissions and
16
+ # limitations under the License.
17
+ #
18
+
19
+ require 'grpc'
20
+ require 'google/cloud/policytroubleshooter/iam/v3/troubleshooter_pb'
21
+
22
+ module Google
23
+ module Cloud
24
+ module PolicyTroubleshooter
25
+ module Iam
26
+ module V3
27
+ module PolicyTroubleshooter
28
+ # IAM Policy Troubleshooter service.
29
+ #
30
+ # This service helps you troubleshoot access issues for Google Cloud resources.
31
+ class Service
32
+
33
+ include ::GRPC::GenericService
34
+
35
+ self.marshal_class_method = :encode
36
+ self.unmarshal_class_method = :decode
37
+ self.service_name = 'google.cloud.policytroubleshooter.iam.v3.PolicyTroubleshooter'
38
+
39
+ # Checks whether a principal has a specific permission for a specific
40
+ # resource, and explains why the principal does or doesn't have that
41
+ # permission.
42
+ rpc :TroubleshootIamPolicy, ::Google::Cloud::PolicyTroubleshooter::Iam::V3::TroubleshootIamPolicyRequest, ::Google::Cloud::PolicyTroubleshooter::Iam::V3::TroubleshootIamPolicyResponse
43
+ end
44
+
45
+ Stub = Service.rpc_stub_class
46
+ end
47
+ end
48
+ end
49
+ end
50
+ end
51
+ end
@@ -0,0 +1,21 @@
1
+ # frozen_string_literal: true
2
+
3
+ # Copyright 2023 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
+ # This gem does not autoload during Bundler.require. To load this gem,
20
+ # issue explicit require statements for the packages desired, e.g.:
21
+ # require "google/cloud/policy_troubleshooter/iam/v3"
@@ -0,0 +1,4 @@
1
+ # Policy Troubleshooter V3 Protocol Buffer Documentation
2
+
3
+ These files are for the YARD documentation of the generated protobuf files.
4
+ They are not intended to be required or loaded at runtime.
@@ -0,0 +1,381 @@
1
+ # frozen_string_literal: true
2
+
3
+ # Copyright 2023 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 Api
22
+ # Required information for every language.
23
+ # @!attribute [rw] reference_docs_uri
24
+ # @return [::String]
25
+ # Link to automatically generated reference documentation. Example:
26
+ # https://cloud.google.com/nodejs/docs/reference/asset/latest
27
+ # @!attribute [rw] destinations
28
+ # @return [::Array<::Google::Api::ClientLibraryDestination>]
29
+ # The destination where API teams want this client library to be published.
30
+ class CommonLanguageSettings
31
+ include ::Google::Protobuf::MessageExts
32
+ extend ::Google::Protobuf::MessageExts::ClassMethods
33
+ end
34
+
35
+ # Details about how and where to publish client libraries.
36
+ # @!attribute [rw] version
37
+ # @return [::String]
38
+ # Version of the API to apply these settings to. This is the full protobuf
39
+ # package for the API, ending in the version element.
40
+ # Examples: "google.cloud.speech.v1" and "google.spanner.admin.database.v1".
41
+ # @!attribute [rw] launch_stage
42
+ # @return [::Google::Api::LaunchStage]
43
+ # Launch stage of this version of the API.
44
+ # @!attribute [rw] rest_numeric_enums
45
+ # @return [::Boolean]
46
+ # When using transport=rest, the client request will encode enums as
47
+ # numbers rather than strings.
48
+ # @!attribute [rw] java_settings
49
+ # @return [::Google::Api::JavaSettings]
50
+ # Settings for legacy Java features, supported in the Service YAML.
51
+ # @!attribute [rw] cpp_settings
52
+ # @return [::Google::Api::CppSettings]
53
+ # Settings for C++ client libraries.
54
+ # @!attribute [rw] php_settings
55
+ # @return [::Google::Api::PhpSettings]
56
+ # Settings for PHP client libraries.
57
+ # @!attribute [rw] python_settings
58
+ # @return [::Google::Api::PythonSettings]
59
+ # Settings for Python client libraries.
60
+ # @!attribute [rw] node_settings
61
+ # @return [::Google::Api::NodeSettings]
62
+ # Settings for Node client libraries.
63
+ # @!attribute [rw] dotnet_settings
64
+ # @return [::Google::Api::DotnetSettings]
65
+ # Settings for .NET client libraries.
66
+ # @!attribute [rw] ruby_settings
67
+ # @return [::Google::Api::RubySettings]
68
+ # Settings for Ruby client libraries.
69
+ # @!attribute [rw] go_settings
70
+ # @return [::Google::Api::GoSettings]
71
+ # Settings for Go client libraries.
72
+ class ClientLibrarySettings
73
+ include ::Google::Protobuf::MessageExts
74
+ extend ::Google::Protobuf::MessageExts::ClassMethods
75
+ end
76
+
77
+ # This message configures the settings for publishing [Google Cloud Client
78
+ # libraries](https://cloud.google.com/apis/docs/cloud-client-libraries)
79
+ # generated from the service config.
80
+ # @!attribute [rw] method_settings
81
+ # @return [::Array<::Google::Api::MethodSettings>]
82
+ # A list of API method settings, e.g. the behavior for methods that use the
83
+ # long-running operation pattern.
84
+ # @!attribute [rw] new_issue_uri
85
+ # @return [::String]
86
+ # Link to a *public* URI where users can report issues. Example:
87
+ # https://issuetracker.google.com/issues/new?component=190865&template=1161103
88
+ # @!attribute [rw] documentation_uri
89
+ # @return [::String]
90
+ # Link to product home page. Example:
91
+ # https://cloud.google.com/asset-inventory/docs/overview
92
+ # @!attribute [rw] api_short_name
93
+ # @return [::String]
94
+ # Used as a tracking tag when collecting data about the APIs developer
95
+ # relations artifacts like docs, packages delivered to package managers,
96
+ # etc. Example: "speech".
97
+ # @!attribute [rw] github_label
98
+ # @return [::String]
99
+ # GitHub label to apply to issues and pull requests opened for this API.
100
+ # @!attribute [rw] codeowner_github_teams
101
+ # @return [::Array<::String>]
102
+ # GitHub teams to be added to CODEOWNERS in the directory in GitHub
103
+ # containing source code for the client libraries for this API.
104
+ # @!attribute [rw] doc_tag_prefix
105
+ # @return [::String]
106
+ # A prefix used in sample code when demarking regions to be included in
107
+ # documentation.
108
+ # @!attribute [rw] organization
109
+ # @return [::Google::Api::ClientLibraryOrganization]
110
+ # For whom the client library is being published.
111
+ # @!attribute [rw] library_settings
112
+ # @return [::Array<::Google::Api::ClientLibrarySettings>]
113
+ # Client library settings. If the same version string appears multiple
114
+ # times in this list, then the last one wins. Settings from earlier
115
+ # settings with the same version string are discarded.
116
+ # @!attribute [rw] proto_reference_documentation_uri
117
+ # @return [::String]
118
+ # Optional link to proto reference documentation. Example:
119
+ # https://cloud.google.com/pubsub/lite/docs/reference/rpc
120
+ class Publishing
121
+ include ::Google::Protobuf::MessageExts
122
+ extend ::Google::Protobuf::MessageExts::ClassMethods
123
+ end
124
+
125
+ # Settings for Java client libraries.
126
+ # @!attribute [rw] library_package
127
+ # @return [::String]
128
+ # The package name to use in Java. Clobbers the java_package option
129
+ # set in the protobuf. This should be used **only** by APIs
130
+ # who have already set the language_settings.java.package_name" field
131
+ # in gapic.yaml. API teams should use the protobuf java_package option
132
+ # where possible.
133
+ #
134
+ # Example of a YAML configuration::
135
+ #
136
+ # publishing:
137
+ # java_settings:
138
+ # library_package: com.google.cloud.pubsub.v1
139
+ # @!attribute [rw] service_class_names
140
+ # @return [::Google::Protobuf::Map{::String => ::String}]
141
+ # Configure the Java class name to use instead of the service's for its
142
+ # corresponding generated GAPIC client. Keys are fully-qualified
143
+ # service names as they appear in the protobuf (including the full
144
+ # the language_settings.java.interface_names" field in gapic.yaml. API
145
+ # teams should otherwise use the service name as it appears in the
146
+ # protobuf.
147
+ #
148
+ # Example of a YAML configuration::
149
+ #
150
+ # publishing:
151
+ # java_settings:
152
+ # service_class_names:
153
+ # - google.pubsub.v1.Publisher: TopicAdmin
154
+ # - google.pubsub.v1.Subscriber: SubscriptionAdmin
155
+ # @!attribute [rw] common
156
+ # @return [::Google::Api::CommonLanguageSettings]
157
+ # Some settings.
158
+ class JavaSettings
159
+ include ::Google::Protobuf::MessageExts
160
+ extend ::Google::Protobuf::MessageExts::ClassMethods
161
+
162
+ # @!attribute [rw] key
163
+ # @return [::String]
164
+ # @!attribute [rw] value
165
+ # @return [::String]
166
+ class ServiceClassNamesEntry
167
+ include ::Google::Protobuf::MessageExts
168
+ extend ::Google::Protobuf::MessageExts::ClassMethods
169
+ end
170
+ end
171
+
172
+ # Settings for C++ client libraries.
173
+ # @!attribute [rw] common
174
+ # @return [::Google::Api::CommonLanguageSettings]
175
+ # Some settings.
176
+ class CppSettings
177
+ include ::Google::Protobuf::MessageExts
178
+ extend ::Google::Protobuf::MessageExts::ClassMethods
179
+ end
180
+
181
+ # Settings for Php client libraries.
182
+ # @!attribute [rw] common
183
+ # @return [::Google::Api::CommonLanguageSettings]
184
+ # Some settings.
185
+ class PhpSettings
186
+ include ::Google::Protobuf::MessageExts
187
+ extend ::Google::Protobuf::MessageExts::ClassMethods
188
+ end
189
+
190
+ # Settings for Python client libraries.
191
+ # @!attribute [rw] common
192
+ # @return [::Google::Api::CommonLanguageSettings]
193
+ # Some settings.
194
+ class PythonSettings
195
+ include ::Google::Protobuf::MessageExts
196
+ extend ::Google::Protobuf::MessageExts::ClassMethods
197
+ end
198
+
199
+ # Settings for Node client libraries.
200
+ # @!attribute [rw] common
201
+ # @return [::Google::Api::CommonLanguageSettings]
202
+ # Some settings.
203
+ class NodeSettings
204
+ include ::Google::Protobuf::MessageExts
205
+ extend ::Google::Protobuf::MessageExts::ClassMethods
206
+ end
207
+
208
+ # Settings for Dotnet client libraries.
209
+ # @!attribute [rw] common
210
+ # @return [::Google::Api::CommonLanguageSettings]
211
+ # Some settings.
212
+ # @!attribute [rw] renamed_services
213
+ # @return [::Google::Protobuf::Map{::String => ::String}]
214
+ # Map from original service names to renamed versions.
215
+ # This is used when the default generated types
216
+ # would cause a naming conflict. (Neither name is
217
+ # fully-qualified.)
218
+ # Example: Subscriber to SubscriberServiceApi.
219
+ # @!attribute [rw] renamed_resources
220
+ # @return [::Google::Protobuf::Map{::String => ::String}]
221
+ # Map from full resource types to the effective short name
222
+ # for the resource. This is used when otherwise resource
223
+ # named from different services would cause naming collisions.
224
+ # Example entry:
225
+ # "datalabeling.googleapis.com/Dataset": "DataLabelingDataset"
226
+ # @!attribute [rw] ignored_resources
227
+ # @return [::Array<::String>]
228
+ # List of full resource types to ignore during generation.
229
+ # This is typically used for API-specific Location resources,
230
+ # which should be handled by the generator as if they were actually
231
+ # the common Location resources.
232
+ # Example entry: "documentai.googleapis.com/Location"
233
+ # @!attribute [rw] forced_namespace_aliases
234
+ # @return [::Array<::String>]
235
+ # Namespaces which must be aliased in snippets due to
236
+ # a known (but non-generator-predictable) naming collision
237
+ # @!attribute [rw] handwritten_signatures
238
+ # @return [::Array<::String>]
239
+ # Method signatures (in the form "service.method(signature)")
240
+ # which are provided separately, so shouldn't be generated.
241
+ # Snippets *calling* these methods are still generated, however.
242
+ class DotnetSettings
243
+ include ::Google::Protobuf::MessageExts
244
+ extend ::Google::Protobuf::MessageExts::ClassMethods
245
+
246
+ # @!attribute [rw] key
247
+ # @return [::String]
248
+ # @!attribute [rw] value
249
+ # @return [::String]
250
+ class RenamedServicesEntry
251
+ include ::Google::Protobuf::MessageExts
252
+ extend ::Google::Protobuf::MessageExts::ClassMethods
253
+ end
254
+
255
+ # @!attribute [rw] key
256
+ # @return [::String]
257
+ # @!attribute [rw] value
258
+ # @return [::String]
259
+ class RenamedResourcesEntry
260
+ include ::Google::Protobuf::MessageExts
261
+ extend ::Google::Protobuf::MessageExts::ClassMethods
262
+ end
263
+ end
264
+
265
+ # Settings for Ruby client libraries.
266
+ # @!attribute [rw] common
267
+ # @return [::Google::Api::CommonLanguageSettings]
268
+ # Some settings.
269
+ class RubySettings
270
+ include ::Google::Protobuf::MessageExts
271
+ extend ::Google::Protobuf::MessageExts::ClassMethods
272
+ end
273
+
274
+ # Settings for Go client libraries.
275
+ # @!attribute [rw] common
276
+ # @return [::Google::Api::CommonLanguageSettings]
277
+ # Some settings.
278
+ class GoSettings
279
+ include ::Google::Protobuf::MessageExts
280
+ extend ::Google::Protobuf::MessageExts::ClassMethods
281
+ end
282
+
283
+ # Describes the generator configuration for a method.
284
+ # @!attribute [rw] selector
285
+ # @return [::String]
286
+ # The fully qualified name of the method, for which the options below apply.
287
+ # This is used to find the method to apply the options.
288
+ # @!attribute [rw] long_running
289
+ # @return [::Google::Api::MethodSettings::LongRunning]
290
+ # Describes settings to use for long-running operations when generating
291
+ # API methods for RPCs. Complements RPCs that use the annotations in
292
+ # google/longrunning/operations.proto.
293
+ #
294
+ # Example of a YAML configuration::
295
+ #
296
+ # publishing:
297
+ # method_settings:
298
+ # - selector: google.cloud.speech.v2.Speech.BatchRecognize
299
+ # long_running:
300
+ # initial_poll_delay:
301
+ # seconds: 60 # 1 minute
302
+ # poll_delay_multiplier: 1.5
303
+ # max_poll_delay:
304
+ # seconds: 360 # 6 minutes
305
+ # total_poll_timeout:
306
+ # seconds: 54000 # 90 minutes
307
+ class MethodSettings
308
+ include ::Google::Protobuf::MessageExts
309
+ extend ::Google::Protobuf::MessageExts::ClassMethods
310
+
311
+ # Describes settings to use when generating API methods that use the
312
+ # long-running operation pattern.
313
+ # All default values below are from those used in the client library
314
+ # generators (e.g.
315
+ # [Java](https://github.com/googleapis/gapic-generator-java/blob/04c2faa191a9b5a10b92392fe8482279c4404803/src/main/java/com/google/api/generator/gapic/composer/common/RetrySettingsComposer.java)).
316
+ # @!attribute [rw] initial_poll_delay
317
+ # @return [::Google::Protobuf::Duration]
318
+ # Initial delay after which the first poll request will be made.
319
+ # Default value: 5 seconds.
320
+ # @!attribute [rw] poll_delay_multiplier
321
+ # @return [::Float]
322
+ # Multiplier to gradually increase delay between subsequent polls until it
323
+ # reaches max_poll_delay.
324
+ # Default value: 1.5.
325
+ # @!attribute [rw] max_poll_delay
326
+ # @return [::Google::Protobuf::Duration]
327
+ # Maximum time between two subsequent poll requests.
328
+ # Default value: 45 seconds.
329
+ # @!attribute [rw] total_poll_timeout
330
+ # @return [::Google::Protobuf::Duration]
331
+ # Total polling timeout.
332
+ # Default value: 5 minutes.
333
+ class LongRunning
334
+ include ::Google::Protobuf::MessageExts
335
+ extend ::Google::Protobuf::MessageExts::ClassMethods
336
+ end
337
+ end
338
+
339
+ # The organization for which the client libraries are being published.
340
+ # Affects the url where generated docs are published, etc.
341
+ module ClientLibraryOrganization
342
+ # Not useful.
343
+ CLIENT_LIBRARY_ORGANIZATION_UNSPECIFIED = 0
344
+
345
+ # Google Cloud Platform Org.
346
+ CLOUD = 1
347
+
348
+ # Ads (Advertising) Org.
349
+ ADS = 2
350
+
351
+ # Photos Org.
352
+ PHOTOS = 3
353
+
354
+ # Street View Org.
355
+ STREET_VIEW = 4
356
+
357
+ # Shopping Org.
358
+ SHOPPING = 5
359
+
360
+ # Geo Org.
361
+ GEO = 6
362
+
363
+ # Generative AI - https://developers.generativeai.google
364
+ GENERATIVE_AI = 7
365
+ end
366
+
367
+ # To where should client libraries be published?
368
+ module ClientLibraryDestination
369
+ # Client libraries will neither be generated nor published to package
370
+ # managers.
371
+ CLIENT_LIBRARY_DESTINATION_UNSPECIFIED = 0
372
+
373
+ # Generate the client library in a repo under github.com/googleapis,
374
+ # but don't publish it to package managers.
375
+ GITHUB = 10
376
+
377
+ # Publish the library to package managers like nuget.org and npmjs.com.
378
+ PACKAGE_MANAGER = 20
379
+ end
380
+ end
381
+ end