google-cloud-asset-v1 0.5.3 → 0.6.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/lib/google/cloud/asset/v1/asset_service/client.rb +317 -98
- data/lib/google/cloud/asset/v1/asset_service_pb.rb +118 -0
- data/lib/google/cloud/asset/v1/asset_service_services_pb.rb +26 -14
- data/lib/google/cloud/asset/v1/assets_pb.rb +47 -2
- data/lib/google/cloud/asset/v1/version.rb +1 -1
- data/proto_docs/google/cloud/asset/v1/asset_service.rb +570 -90
- data/proto_docs/google/cloud/asset/v1/assets.rb +211 -25
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 47903709aadc0bfaa500654626a56c96aae048c5b901a5b0c60d79e6186ae997
|
4
|
+
data.tar.gz: 720eb8288342eb67e1d314ac048500bea99c7f8c6a71d1edd941048ecfac1134
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 9eaef8da1ab7e67c1efa41f4f31c88587508eb2350e2d703833967a1cb66d10a2e44e30d6af121d290a5e6f97671b8cef4c1d020965674bcdef919edc31faa6a
|
7
|
+
data.tar.gz: 5aa1b26f56d54da1627fefc83a3d6bc2bd74ae9b058ec943aa162183f1624ba0b922b0c79a60869640545a43b67cec442d8e1d77048209e3f60f60150ff1520f
|
@@ -119,6 +119,16 @@ module Google
|
|
119
119
|
retry_codes: [4, 14]
|
120
120
|
}
|
121
121
|
|
122
|
+
default_config.rpcs.analyze_iam_policy.timeout = 300.0
|
123
|
+
default_config.rpcs.analyze_iam_policy.retry_policy = {
|
124
|
+
initial_delay: 0.1,
|
125
|
+
max_delay: 60.0,
|
126
|
+
multiplier: 1.3,
|
127
|
+
retry_codes: [14]
|
128
|
+
}
|
129
|
+
|
130
|
+
default_config.rpcs.export_iam_policy_analysis.timeout = 60.0
|
131
|
+
|
122
132
|
default_config
|
123
133
|
end
|
124
134
|
yield @configure if block_given?
|
@@ -214,14 +224,13 @@ module Google
|
|
214
224
|
# Exports assets with time and resource types to a given Cloud Storage
|
215
225
|
# location/BigQuery table. For Cloud Storage location destinations, the
|
216
226
|
# output format is newline-delimited JSON. Each line represents a
|
217
|
-
# {::Google::Cloud::Asset::V1::Asset google.cloud.asset.v1.Asset} in the JSON
|
218
|
-
#
|
219
|
-
#
|
220
|
-
#
|
221
|
-
#
|
222
|
-
#
|
223
|
-
#
|
224
|
-
# 5 minutes.
|
227
|
+
# {::Google::Cloud::Asset::V1::Asset google.cloud.asset.v1.Asset} in the JSON format; for BigQuery table
|
228
|
+
# destinations, the output table stores the fields in asset proto as columns.
|
229
|
+
# This API implements the {::Google::Longrunning::Operation google.longrunning.Operation} API
|
230
|
+
# , which allows you to keep track of the export. We recommend intervals of
|
231
|
+
# at least 2 seconds with exponential retry to poll the export operation
|
232
|
+
# result. For regular-size resource parent, the export operation usually
|
233
|
+
# finishes within 5 minutes.
|
225
234
|
#
|
226
235
|
# @overload export_assets(request, options = nil)
|
227
236
|
# Pass arguments to `export_assets` via a request object, either of type
|
@@ -250,17 +259,29 @@ module Google
|
|
250
259
|
# data collection and indexing, there is a volatile window during which
|
251
260
|
# running the same query may get different results.
|
252
261
|
# @param asset_types [::Array<::String>]
|
253
|
-
# A list of asset types
|
254
|
-
# "compute.googleapis.com/Disk".
|
255
|
-
#
|
262
|
+
# A list of asset types to take a snapshot for. For example:
|
263
|
+
# "compute.googleapis.com/Disk".
|
264
|
+
#
|
265
|
+
# Regular expressions are also supported. For example:
|
266
|
+
#
|
267
|
+
# * "compute.googleapis.com.*" snapshots resources whose asset type starts
|
268
|
+
# with "compute.googleapis.com".
|
269
|
+
# * ".*Instance" snapshots resources whose asset type ends with "Instance".
|
270
|
+
# * ".*Instance.*" snapshots resources whose asset type contains "Instance".
|
271
|
+
#
|
272
|
+
# See [RE2](https://github.com/google/re2/wiki/Syntax) for all supported
|
273
|
+
# regular expression syntax. If the regular expression does not match any
|
274
|
+
# supported asset type, an INVALID_ARGUMENT error will be returned.
|
275
|
+
#
|
276
|
+
# If specified, only matching assets will be returned, otherwise, it will
|
277
|
+
# snapshot all asset types. See [Introduction to Cloud Asset
|
256
278
|
# Inventory](https://cloud.google.com/asset-inventory/docs/overview)
|
257
279
|
# for all supported asset types.
|
258
280
|
# @param content_type [::Google::Cloud::Asset::V1::ContentType]
|
259
281
|
# Asset content type. If not specified, no content but the asset name will be
|
260
282
|
# returned.
|
261
283
|
# @param output_config [::Google::Cloud::Asset::V1::OutputConfig, ::Hash]
|
262
|
-
# Required. Output configuration indicating where the results will be output
|
263
|
-
# to.
|
284
|
+
# Required. Output configuration indicating where the results will be output to.
|
264
285
|
#
|
265
286
|
# @yield [response, operation] Access the result along with the RPC operation
|
266
287
|
# @yieldparam response [::Gapic::Operation]
|
@@ -429,8 +450,9 @@ module Google
|
|
429
450
|
# Required. This is the client-assigned asset feed identifier and it needs to
|
430
451
|
# be unique under a specific parent project/folder/organization.
|
431
452
|
# @param feed [::Google::Cloud::Asset::V1::Feed, ::Hash]
|
432
|
-
# Required. The feed details. The field `name` must be empty and it will be
|
433
|
-
#
|
453
|
+
# Required. The feed details. The field `name` must be empty and it will be generated
|
454
|
+
# in the format of:
|
455
|
+
# projects/project_number/feeds/feed_id
|
434
456
|
# folders/folder_number/feeds/feed_id
|
435
457
|
# organizations/organization_number/feeds/feed_id
|
436
458
|
#
|
@@ -635,8 +657,8 @@ module Google
|
|
635
657
|
# the default parameter values, pass an empty Hash as a request object (see above).
|
636
658
|
#
|
637
659
|
# @param feed [::Google::Cloud::Asset::V1::Feed, ::Hash]
|
638
|
-
# Required. The new values of feed details. It must match an existing feed
|
639
|
-
#
|
660
|
+
# Required. The new values of feed details. It must match an existing feed and the
|
661
|
+
# field `name` must be in the format of:
|
640
662
|
# projects/project_number/feeds/feed_id or
|
641
663
|
# folders/folder_number/feeds/feed_id or
|
642
664
|
# organizations/organization_number/feeds/feed_id.
|
@@ -760,9 +782,9 @@ module Google
|
|
760
782
|
end
|
761
783
|
|
762
784
|
##
|
763
|
-
# Searches all
|
764
|
-
#
|
765
|
-
#
|
785
|
+
# Searches all Cloud resources within the specified scope, such as a project,
|
786
|
+
# folder, or organization. The caller must be granted the
|
787
|
+
# `cloudasset.assets.searchAllResources` permission on the desired scope,
|
766
788
|
# otherwise the request will be rejected.
|
767
789
|
#
|
768
790
|
# @overload search_all_resources(request, options = nil)
|
@@ -781,70 +803,76 @@ module Google
|
|
781
803
|
# the default parameter values, pass an empty Hash as a request object (see above).
|
782
804
|
#
|
783
805
|
# @param scope [::String]
|
784
|
-
# Required. A scope can be a project, a folder or an organization. The search
|
785
|
-
#
|
806
|
+
# Required. A scope can be a project, a folder, or an organization. The search is
|
807
|
+
# limited to the resources within the `scope`. The caller must be granted the
|
808
|
+
# [`cloudasset.assets.searchAllResources`](http://cloud.google.com/asset-inventory/docs/access-control#required_permissions)
|
809
|
+
# permission on the desired scope.
|
786
810
|
#
|
787
811
|
# The allowed values are:
|
788
812
|
#
|
789
|
-
# * projects/\\{PROJECT_ID}
|
790
|
-
# * projects/\\{PROJECT_NUMBER}
|
791
|
-
# * folders/\\{FOLDER_NUMBER}
|
792
|
-
# * organizations/\\{ORGANIZATION_NUMBER}
|
813
|
+
# * projects/\\{PROJECT_ID} (e.g., "projects/foo-bar")
|
814
|
+
# * projects/\\{PROJECT_NUMBER} (e.g., "projects/12345678")
|
815
|
+
# * folders/\\{FOLDER_NUMBER} (e.g., "folders/1234567")
|
816
|
+
# * organizations/\\{ORGANIZATION_NUMBER} (e.g., "organizations/123456")
|
793
817
|
# @param query [::String]
|
794
|
-
# Optional. The query statement.
|
795
|
-
#
|
818
|
+
# Optional. The query statement. See [how to construct a
|
819
|
+
# query](http://cloud.google.com/asset-inventory/docs/searching-resources#how_to_construct_a_query)
|
820
|
+
# for more information. If not specified or empty, it will search all the
|
821
|
+
# resources within the specified `scope`. Note that the query string is
|
822
|
+
# compared against each Cloud IAM policy binding, including its members,
|
823
|
+
# roles, and Cloud IAM conditions. The returned Cloud IAM policies will only
|
824
|
+
# contain the bindings that match your query. To learn more about the IAM
|
825
|
+
# policy structure, see [IAM policy
|
826
|
+
# doc](https://cloud.google.com/iam/docs/policies#structure).
|
796
827
|
#
|
797
828
|
# Examples:
|
798
829
|
#
|
799
|
-
# * `name
|
830
|
+
# * `name:Important` to find Cloud resources whose name contains
|
800
831
|
# "Important" as a word.
|
801
|
-
# * `displayName
|
802
|
-
# contains "Impor" as a
|
803
|
-
# * `description
|
832
|
+
# * `displayName:Impor*` to find Cloud resources whose display name
|
833
|
+
# contains "Impor" as a prefix.
|
834
|
+
# * `description:*por*` to find Cloud resources whose description
|
804
835
|
# contains "por" as a substring.
|
805
|
-
# * `location
|
836
|
+
# * `location:us-west*` to find Cloud resources whose location is
|
806
837
|
# prefixed with "us-west".
|
807
|
-
# * `labels
|
838
|
+
# * `labels:prod` to find Cloud resources whose labels contain "prod" as
|
808
839
|
# a key or value.
|
809
|
-
# * `labels.env
|
840
|
+
# * `labels.env:prod` to find Cloud resources that have a label "env"
|
810
841
|
# and its value is "prod".
|
811
|
-
# * `labels.env
|
812
|
-
# * `
|
842
|
+
# * `labels.env:*` to find Cloud resources that have a label "env".
|
843
|
+
# * `Important` to find Cloud resources that contain "Important" as a word
|
813
844
|
# in any of the searchable fields.
|
814
|
-
# * `
|
845
|
+
# * `Impor*` to find Cloud resources that contain "Impor" as a prefix
|
815
846
|
# in any of the searchable fields.
|
816
|
-
# *
|
847
|
+
# * `*por*` to find Cloud resources that contain "por" as a substring in
|
817
848
|
# any of the searchable fields.
|
818
|
-
# * `
|
819
|
-
# resources
|
849
|
+
# * `Important location:(us-west1 OR global)` to find Cloud
|
850
|
+
# resources that contain "Important" as a word in any of the searchable
|
820
851
|
# fields and are also located in the "us-west1" region or the "global"
|
821
852
|
# location.
|
822
|
-
#
|
823
|
-
# See [how to construct a
|
824
|
-
# query](https://cloud.google.com/asset-inventory/docs/searching-resources#how_to_construct_a_query)
|
825
|
-
# for more details.
|
826
853
|
# @param asset_types [::Array<::String>]
|
827
|
-
# Optional. A list of asset types that this request searches for. If empty,
|
828
|
-
#
|
854
|
+
# Optional. A list of asset types that this request searches for. If empty, it will
|
855
|
+
# search all the [searchable asset
|
829
856
|
# types](https://cloud.google.com/asset-inventory/docs/supported-asset-types#searchable_asset_types).
|
830
857
|
# @param page_size [::Integer]
|
831
|
-
# Optional. The page size for search result pagination. Page size is capped
|
832
|
-
#
|
833
|
-
#
|
834
|
-
#
|
835
|
-
# returned.
|
858
|
+
# Optional. The page size for search result pagination. Page size is capped at 500 even
|
859
|
+
# if a larger value is given. If set to zero, server will pick an appropriate
|
860
|
+
# default. Returned results may be fewer than requested. When this happens,
|
861
|
+
# there could be more results as long as `next_page_token` is returned.
|
836
862
|
# @param page_token [::String]
|
837
|
-
# Optional. If present, then retrieve the next batch of results from the
|
838
|
-
#
|
839
|
-
#
|
840
|
-
#
|
863
|
+
# Optional. If present, then retrieve the next batch of results from the preceding call
|
864
|
+
# to this method. `page_token` must be the value of `next_page_token` from
|
865
|
+
# the previous response. The values of all other method parameters, must be
|
866
|
+
# identical to those in the previous call.
|
841
867
|
# @param order_by [::String]
|
842
|
-
# Optional. A comma separated list of fields specifying the sorting order of
|
843
|
-
#
|
844
|
-
#
|
845
|
-
# Example: "location DESC, name".
|
846
|
-
#
|
847
|
-
#
|
868
|
+
# Optional. A comma separated list of fields specifying the sorting order of the
|
869
|
+
# results. The default order is ascending. Add " DESC" after the field name
|
870
|
+
# to indicate descending order. Redundant space characters are ignored.
|
871
|
+
# Example: "location DESC, name". Only string fields in the response are
|
872
|
+
# sortable, including `name`, `displayName`, `description`, `location`. All
|
873
|
+
# the other fields such as repeated fields (e.g., `networkTags`), map
|
874
|
+
# fields (e.g., `labels`) and struct fields (e.g., `additionalAttributes`)
|
875
|
+
# are not supported.
|
848
876
|
#
|
849
877
|
# @yield [response, operation] Access the result along with the RPC operation
|
850
878
|
# @yieldparam response [::Gapic::PagedEnumerable<::Google::Cloud::Asset::V1::ResourceSearchResult>]
|
@@ -893,9 +921,9 @@ module Google
|
|
893
921
|
end
|
894
922
|
|
895
923
|
##
|
896
|
-
# Searches all
|
897
|
-
#
|
898
|
-
#
|
924
|
+
# Searches all IAM policies within the specified scope, such as a project,
|
925
|
+
# folder, or organization. The caller must be granted the
|
926
|
+
# `cloudasset.assets.searchAllIamPolicies` permission on the desired scope,
|
899
927
|
# otherwise the request will be rejected.
|
900
928
|
#
|
901
929
|
# @overload search_all_iam_policies(request, options = nil)
|
@@ -914,48 +942,55 @@ module Google
|
|
914
942
|
# the default parameter values, pass an empty Hash as a request object (see above).
|
915
943
|
#
|
916
944
|
# @param scope [::String]
|
917
|
-
# Required. A scope can be a project, a folder or an organization. The search
|
918
|
-
#
|
945
|
+
# Required. A scope can be a project, a folder, or an organization. The search is
|
946
|
+
# limited to the IAM policies within the `scope`. The caller must be granted
|
947
|
+
# the
|
948
|
+
# [`cloudasset.assets.searchAllIamPolicies`](http://cloud.google.com/asset-inventory/docs/access-control#required_permissions)
|
949
|
+
# permission on the desired scope.
|
919
950
|
#
|
920
951
|
# The allowed values are:
|
921
952
|
#
|
922
|
-
# * projects/\\{PROJECT_ID}
|
923
|
-
# * projects/\\{PROJECT_NUMBER}
|
924
|
-
# * folders/\\{FOLDER_NUMBER}
|
925
|
-
# * organizations/\\{ORGANIZATION_NUMBER}
|
953
|
+
# * projects/\\{PROJECT_ID} (e.g., "projects/foo-bar")
|
954
|
+
# * projects/\\{PROJECT_NUMBER} (e.g., "projects/12345678")
|
955
|
+
# * folders/\\{FOLDER_NUMBER} (e.g., "folders/1234567")
|
956
|
+
# * organizations/\\{ORGANIZATION_NUMBER} (e.g., "organizations/123456")
|
926
957
|
# @param query [::String]
|
927
|
-
# Optional. The query statement.
|
928
|
-
#
|
958
|
+
# Optional. The query statement. See [how to construct a
|
959
|
+
# query](https://cloud.google.com/asset-inventory/docs/searching-iam-policies#how_to_construct_a_query)
|
960
|
+
# for more information. If not specified or empty, it will search all the
|
961
|
+
# IAM policies within the specified `scope`.
|
929
962
|
#
|
930
963
|
# Examples:
|
931
964
|
#
|
932
|
-
# * `policy
|
933
|
-
#
|
934
|
-
# * `policy
|
935
|
-
#
|
936
|
-
# * `policy.role.permissions
|
937
|
-
#
|
938
|
-
# permission.
|
939
|
-
#
|
940
|
-
#
|
941
|
-
# * `
|
942
|
-
#
|
943
|
-
#
|
944
|
-
#
|
945
|
-
#
|
946
|
-
#
|
947
|
-
#
|
965
|
+
# * `policy:amy@gmail.com` to find IAM policy bindings that specify user
|
966
|
+
# "amy@gmail.com".
|
967
|
+
# * `policy:roles/compute.admin` to find IAM policy bindings that specify
|
968
|
+
# the Compute Admin role.
|
969
|
+
# * `policy.role.permissions:storage.buckets.update` to find IAM policy
|
970
|
+
# bindings that specify a role containing "storage.buckets.update"
|
971
|
+
# permission. Note that if callers don't have `iam.roles.get` access to a
|
972
|
+
# role's included permissions, policy bindings that specify this role will
|
973
|
+
# be dropped from the search results.
|
974
|
+
# * `resource:organizations/123456` to find IAM policy bindings
|
975
|
+
# that are set on "organizations/123456".
|
976
|
+
# * `Important` to find IAM policy bindings that contain "Important" as a
|
977
|
+
# word in any of the searchable fields (except for the included
|
978
|
+
# permissions).
|
979
|
+
# * `*por*` to find IAM policy bindings that contain "por" as a substring
|
980
|
+
# in any of the searchable fields (except for the included permissions).
|
981
|
+
# * `resource:(instance1 OR instance2) policy:amy` to find
|
982
|
+
# IAM policy bindings that are set on resources "instance1" or
|
983
|
+
# "instance2" and also specify user "amy".
|
948
984
|
# @param page_size [::Integer]
|
949
|
-
# Optional. The page size for search result pagination. Page size is capped
|
950
|
-
#
|
951
|
-
#
|
952
|
-
#
|
953
|
-
# returned.
|
985
|
+
# Optional. The page size for search result pagination. Page size is capped at 500 even
|
986
|
+
# if a larger value is given. If set to zero, server will pick an appropriate
|
987
|
+
# default. Returned results may be fewer than requested. When this happens,
|
988
|
+
# there could be more results as long as `next_page_token` is returned.
|
954
989
|
# @param page_token [::String]
|
955
|
-
# Optional. If present, retrieve the next batch of results from the preceding
|
956
|
-
#
|
957
|
-
#
|
958
|
-
#
|
990
|
+
# Optional. If present, retrieve the next batch of results from the preceding call to
|
991
|
+
# this method. `page_token` must be the value of `next_page_token` from the
|
992
|
+
# previous response. The values of all other method parameters must be
|
993
|
+
# identical to those in the previous call.
|
959
994
|
#
|
960
995
|
# @yield [response, operation] Access the result along with the RPC operation
|
961
996
|
# @yieldparam response [::Gapic::PagedEnumerable<::Google::Cloud::Asset::V1::IamPolicySearchResult>]
|
@@ -1003,6 +1038,176 @@ module Google
|
|
1003
1038
|
raise ::Google::Cloud::Error.from_error(e)
|
1004
1039
|
end
|
1005
1040
|
|
1041
|
+
##
|
1042
|
+
# Analyzes IAM policies to answer which identities have what accesses on
|
1043
|
+
# which resources.
|
1044
|
+
#
|
1045
|
+
# @overload analyze_iam_policy(request, options = nil)
|
1046
|
+
# Pass arguments to `analyze_iam_policy` via a request object, either of type
|
1047
|
+
# {::Google::Cloud::Asset::V1::AnalyzeIamPolicyRequest} or an equivalent Hash.
|
1048
|
+
#
|
1049
|
+
# @param request [::Google::Cloud::Asset::V1::AnalyzeIamPolicyRequest, ::Hash]
|
1050
|
+
# A request object representing the call parameters. Required. To specify no
|
1051
|
+
# parameters, or to keep all the default parameter values, pass an empty Hash.
|
1052
|
+
# @param options [::Gapic::CallOptions, ::Hash]
|
1053
|
+
# Overrides the default settings for this call, e.g, timeout, retries, etc. Optional.
|
1054
|
+
#
|
1055
|
+
# @overload analyze_iam_policy(analysis_query: nil, execution_timeout: nil)
|
1056
|
+
# Pass arguments to `analyze_iam_policy` via keyword arguments. Note that at
|
1057
|
+
# least one keyword argument is required. To specify no parameters, or to keep all
|
1058
|
+
# the default parameter values, pass an empty Hash as a request object (see above).
|
1059
|
+
#
|
1060
|
+
# @param analysis_query [::Google::Cloud::Asset::V1::IamPolicyAnalysisQuery, ::Hash]
|
1061
|
+
# The request query.
|
1062
|
+
# @param execution_timeout [::Google::Protobuf::Duration, ::Hash]
|
1063
|
+
# Amount of time executable has to complete. See JSON representation of
|
1064
|
+
# [Duration](https://developers.google.com/protocol-buffers/docs/proto3#json).
|
1065
|
+
#
|
1066
|
+
# If this field is set with a value less than the RPC deadline, and the
|
1067
|
+
# execution of your query hasn't finished in the specified
|
1068
|
+
# execution timeout, you will get a response with partial result.
|
1069
|
+
# Otherwise, your query's execution will continue until the RPC deadline.
|
1070
|
+
# If it's not finished until then, you will get a DEADLINE_EXCEEDED error.
|
1071
|
+
#
|
1072
|
+
# Default is empty.
|
1073
|
+
#
|
1074
|
+
# (-- We had discussion of whether we should have this field in the --)
|
1075
|
+
# (-- request or use the RPC deadline instead. We finally choose this --)
|
1076
|
+
# (-- approach for the following reasons (detailed in --)
|
1077
|
+
# (-- go/analyze-iam-policy-deadlines): --)
|
1078
|
+
# (-- * HTTP clients have very limited support of the RPC deadline. --)
|
1079
|
+
# (-- There is an X-Server-Timeout header introduced in 2019/09, but --)
|
1080
|
+
# (-- only implemented in the C++ HTTP server library. --)
|
1081
|
+
# (-- * The purpose of the RPC deadline is for RPC clients to --)
|
1082
|
+
# (-- communicate its max waiting time to the server. This deadline --)
|
1083
|
+
# (-- could be further propagated to the downstream servers. It is --)
|
1084
|
+
# (-- mainly used for servers to cancel the request processing --)
|
1085
|
+
# (-- to avoid resource wasting. Overloading the RPC deadline for --)
|
1086
|
+
# (-- other purposes could make our backend system harder to reason --)
|
1087
|
+
# (-- about. --)
|
1088
|
+
#
|
1089
|
+
# @yield [response, operation] Access the result along with the RPC operation
|
1090
|
+
# @yieldparam response [::Google::Cloud::Asset::V1::AnalyzeIamPolicyResponse]
|
1091
|
+
# @yieldparam operation [::GRPC::ActiveCall::Operation]
|
1092
|
+
#
|
1093
|
+
# @return [::Google::Cloud::Asset::V1::AnalyzeIamPolicyResponse]
|
1094
|
+
#
|
1095
|
+
# @raise [::Google::Cloud::Error] if the RPC is aborted.
|
1096
|
+
#
|
1097
|
+
def analyze_iam_policy request, options = nil
|
1098
|
+
raise ::ArgumentError, "request must be provided" if request.nil?
|
1099
|
+
|
1100
|
+
request = ::Gapic::Protobuf.coerce request, to: ::Google::Cloud::Asset::V1::AnalyzeIamPolicyRequest
|
1101
|
+
|
1102
|
+
# Converts hash and nil to an options object
|
1103
|
+
options = ::Gapic::CallOptions.new(**options.to_h) if options.respond_to? :to_h
|
1104
|
+
|
1105
|
+
# Customize the options with defaults
|
1106
|
+
metadata = @config.rpcs.analyze_iam_policy.metadata.to_h
|
1107
|
+
|
1108
|
+
# Set x-goog-api-client and x-goog-user-project headers
|
1109
|
+
metadata[:"x-goog-api-client"] ||= ::Gapic::Headers.x_goog_api_client \
|
1110
|
+
lib_name: @config.lib_name, lib_version: @config.lib_version,
|
1111
|
+
gapic_version: ::Google::Cloud::Asset::V1::VERSION
|
1112
|
+
metadata[:"x-goog-user-project"] = @quota_project_id if @quota_project_id
|
1113
|
+
|
1114
|
+
header_params = {
|
1115
|
+
"analysis_query.scope" => request.analysis_query.scope
|
1116
|
+
}
|
1117
|
+
request_params_header = header_params.map { |k, v| "#{k}=#{v}" }.join("&")
|
1118
|
+
metadata[:"x-goog-request-params"] ||= request_params_header
|
1119
|
+
|
1120
|
+
options.apply_defaults timeout: @config.rpcs.analyze_iam_policy.timeout,
|
1121
|
+
metadata: metadata,
|
1122
|
+
retry_policy: @config.rpcs.analyze_iam_policy.retry_policy
|
1123
|
+
options.apply_defaults metadata: @config.metadata,
|
1124
|
+
retry_policy: @config.retry_policy
|
1125
|
+
|
1126
|
+
@asset_service_stub.call_rpc :analyze_iam_policy, request, options: options do |response, operation|
|
1127
|
+
yield response, operation if block_given?
|
1128
|
+
return response
|
1129
|
+
end
|
1130
|
+
rescue ::GRPC::BadStatus => e
|
1131
|
+
raise ::Google::Cloud::Error.from_error(e)
|
1132
|
+
end
|
1133
|
+
|
1134
|
+
##
|
1135
|
+
# Exports the answers of which identities have what accesses on which
|
1136
|
+
# resources to a Google Cloud Storage or a BigQuery destination. For Cloud
|
1137
|
+
# Storage destination, the output format is the JSON format that represents a
|
1138
|
+
# {::Google::Cloud::Asset::V1::AnalyzeIamPolicyResponse google.cloud.asset.v1.AnalyzeIamPolicyResponse}.
|
1139
|
+
# This method implements the
|
1140
|
+
# {::Google::Longrunning::Operation google.longrunning.Operation}, which allows
|
1141
|
+
# you to track the export status. We recommend intervals of at least 2
|
1142
|
+
# seconds with exponential retry to poll the export operation result. The
|
1143
|
+
# metadata contains the request to help callers to map responses to requests.
|
1144
|
+
#
|
1145
|
+
# @overload export_iam_policy_analysis(request, options = nil)
|
1146
|
+
# Pass arguments to `export_iam_policy_analysis` via a request object, either of type
|
1147
|
+
# {::Google::Cloud::Asset::V1::ExportIamPolicyAnalysisRequest} or an equivalent Hash.
|
1148
|
+
#
|
1149
|
+
# @param request [::Google::Cloud::Asset::V1::ExportIamPolicyAnalysisRequest, ::Hash]
|
1150
|
+
# A request object representing the call parameters. Required. To specify no
|
1151
|
+
# parameters, or to keep all the default parameter values, pass an empty Hash.
|
1152
|
+
# @param options [::Gapic::CallOptions, ::Hash]
|
1153
|
+
# Overrides the default settings for this call, e.g, timeout, retries, etc. Optional.
|
1154
|
+
#
|
1155
|
+
# @overload export_iam_policy_analysis(analysis_query: nil, output_config: nil)
|
1156
|
+
# Pass arguments to `export_iam_policy_analysis` via keyword arguments. Note that at
|
1157
|
+
# least one keyword argument is required. To specify no parameters, or to keep all
|
1158
|
+
# the default parameter values, pass an empty Hash as a request object (see above).
|
1159
|
+
#
|
1160
|
+
# @param analysis_query [::Google::Cloud::Asset::V1::IamPolicyAnalysisQuery, ::Hash]
|
1161
|
+
# The request query.
|
1162
|
+
# @param output_config [::Google::Cloud::Asset::V1::IamPolicyAnalysisOutputConfig, ::Hash]
|
1163
|
+
# Output configuration indicating where the results will be output to.
|
1164
|
+
#
|
1165
|
+
# @yield [response, operation] Access the result along with the RPC operation
|
1166
|
+
# @yieldparam response [::Gapic::Operation]
|
1167
|
+
# @yieldparam operation [::GRPC::ActiveCall::Operation]
|
1168
|
+
#
|
1169
|
+
# @return [::Gapic::Operation]
|
1170
|
+
#
|
1171
|
+
# @raise [::Google::Cloud::Error] if the RPC is aborted.
|
1172
|
+
#
|
1173
|
+
def export_iam_policy_analysis request, options = nil
|
1174
|
+
raise ::ArgumentError, "request must be provided" if request.nil?
|
1175
|
+
|
1176
|
+
request = ::Gapic::Protobuf.coerce request, to: ::Google::Cloud::Asset::V1::ExportIamPolicyAnalysisRequest
|
1177
|
+
|
1178
|
+
# Converts hash and nil to an options object
|
1179
|
+
options = ::Gapic::CallOptions.new(**options.to_h) if options.respond_to? :to_h
|
1180
|
+
|
1181
|
+
# Customize the options with defaults
|
1182
|
+
metadata = @config.rpcs.export_iam_policy_analysis.metadata.to_h
|
1183
|
+
|
1184
|
+
# Set x-goog-api-client and x-goog-user-project headers
|
1185
|
+
metadata[:"x-goog-api-client"] ||= ::Gapic::Headers.x_goog_api_client \
|
1186
|
+
lib_name: @config.lib_name, lib_version: @config.lib_version,
|
1187
|
+
gapic_version: ::Google::Cloud::Asset::V1::VERSION
|
1188
|
+
metadata[:"x-goog-user-project"] = @quota_project_id if @quota_project_id
|
1189
|
+
|
1190
|
+
header_params = {
|
1191
|
+
"analysis_query.scope" => request.analysis_query.scope
|
1192
|
+
}
|
1193
|
+
request_params_header = header_params.map { |k, v| "#{k}=#{v}" }.join("&")
|
1194
|
+
metadata[:"x-goog-request-params"] ||= request_params_header
|
1195
|
+
|
1196
|
+
options.apply_defaults timeout: @config.rpcs.export_iam_policy_analysis.timeout,
|
1197
|
+
metadata: metadata,
|
1198
|
+
retry_policy: @config.rpcs.export_iam_policy_analysis.retry_policy
|
1199
|
+
options.apply_defaults metadata: @config.metadata,
|
1200
|
+
retry_policy: @config.retry_policy
|
1201
|
+
|
1202
|
+
@asset_service_stub.call_rpc :export_iam_policy_analysis, request, options: options do |response, operation|
|
1203
|
+
response = ::Gapic::Operation.new response, @operations_client, options: options
|
1204
|
+
yield response, operation if block_given?
|
1205
|
+
return response
|
1206
|
+
end
|
1207
|
+
rescue ::GRPC::BadStatus => e
|
1208
|
+
raise ::Google::Cloud::Error.from_error(e)
|
1209
|
+
end
|
1210
|
+
|
1006
1211
|
##
|
1007
1212
|
# Configuration class for the AssetService API.
|
1008
1213
|
#
|
@@ -1184,6 +1389,16 @@ module Google
|
|
1184
1389
|
# @return [::Gapic::Config::Method]
|
1185
1390
|
#
|
1186
1391
|
attr_reader :search_all_iam_policies
|
1392
|
+
##
|
1393
|
+
# RPC-specific configuration for `analyze_iam_policy`
|
1394
|
+
# @return [::Gapic::Config::Method]
|
1395
|
+
#
|
1396
|
+
attr_reader :analyze_iam_policy
|
1397
|
+
##
|
1398
|
+
# RPC-specific configuration for `export_iam_policy_analysis`
|
1399
|
+
# @return [::Gapic::Config::Method]
|
1400
|
+
#
|
1401
|
+
attr_reader :export_iam_policy_analysis
|
1187
1402
|
|
1188
1403
|
# @private
|
1189
1404
|
def initialize parent_rpcs = nil
|
@@ -1205,6 +1420,10 @@ module Google
|
|
1205
1420
|
@search_all_resources = ::Gapic::Config::Method.new search_all_resources_config
|
1206
1421
|
search_all_iam_policies_config = parent_rpcs&.search_all_iam_policies if parent_rpcs&.respond_to? :search_all_iam_policies
|
1207
1422
|
@search_all_iam_policies = ::Gapic::Config::Method.new search_all_iam_policies_config
|
1423
|
+
analyze_iam_policy_config = parent_rpcs&.analyze_iam_policy if parent_rpcs&.respond_to? :analyze_iam_policy
|
1424
|
+
@analyze_iam_policy = ::Gapic::Config::Method.new analyze_iam_policy_config
|
1425
|
+
export_iam_policy_analysis_config = parent_rpcs&.export_iam_policy_analysis if parent_rpcs&.respond_to? :export_iam_policy_analysis
|
1426
|
+
@export_iam_policy_analysis = ::Gapic::Config::Method.new export_iam_policy_analysis_config
|
1208
1427
|
|
1209
1428
|
yield self if block_given?
|
1210
1429
|
end
|