google-cloud-security_center-v1p1beta1 0.4.2 → 0.7.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/AUTHENTICATION.md +8 -8
- data/LICENSE.md +188 -190
- data/README.md +67 -3
- data/lib/google/cloud/security_center/v1p1beta1/security_center/client.rb +66 -82
- data/lib/google/cloud/security_center/v1p1beta1/security_center/operations.rb +95 -10
- data/lib/google/cloud/security_center/v1p1beta1/security_center/paths.rb +175 -17
- data/lib/google/cloud/security_center/v1p1beta1/version.rb +1 -1
- data/lib/google/cloud/securitycenter/v1p1beta1/asset_pb.rb +4 -1
- data/lib/google/cloud/securitycenter/v1p1beta1/finding_pb.rb +2 -1
- data/lib/google/cloud/securitycenter/v1p1beta1/folder_pb.rb +24 -0
- data/lib/google/cloud/securitycenter/v1p1beta1/notification_config_pb.rb +1 -1
- data/lib/google/cloud/securitycenter/v1p1beta1/notification_message_pb.rb +1 -2
- data/lib/google/cloud/securitycenter/v1p1beta1/organization_settings_pb.rb +2 -1
- data/lib/google/cloud/securitycenter/v1p1beta1/resource_pb.rb +3 -0
- data/lib/google/cloud/securitycenter/v1p1beta1/run_asset_discovery_response_pb.rb +1 -1
- data/lib/google/cloud/securitycenter/v1p1beta1/security_marks_pb.rb +2 -1
- data/lib/google/cloud/securitycenter/v1p1beta1/securitycenter_service_pb.rb +2 -0
- data/lib/google/cloud/securitycenter/v1p1beta1/securitycenter_service_services_pb.rb +3 -1
- data/lib/google/cloud/securitycenter/v1p1beta1/source_pb.rb +2 -1
- data/proto_docs/google/api/field_behavior.rb +12 -0
- data/proto_docs/google/cloud/securitycenter/v1p1beta1/asset.rb +13 -2
- data/proto_docs/google/cloud/securitycenter/v1p1beta1/finding.rb +10 -1
- data/proto_docs/google/cloud/securitycenter/v1p1beta1/folder.rb +40 -0
- data/proto_docs/google/cloud/securitycenter/v1p1beta1/organization_settings.rb +4 -0
- data/proto_docs/google/cloud/securitycenter/v1p1beta1/resource.rb +5 -0
- data/proto_docs/google/cloud/securitycenter/v1p1beta1/security_marks.rb +10 -0
- data/proto_docs/google/cloud/securitycenter/v1p1beta1/securitycenter_service.rb +23 -9
- data/proto_docs/google/cloud/securitycenter/v1p1beta1/source.rb +8 -0
- data/proto_docs/google/longrunning/operations.rb +17 -3
- data/proto_docs/google/protobuf/any.rb +5 -2
- data/proto_docs/google/protobuf/timestamp.rb +10 -1
- data/proto_docs/google/type/expr.rb +35 -12
- metadata +24 -13
|
@@ -60,7 +60,7 @@ module Google
|
|
|
60
60
|
parent_config = while namespace.any?
|
|
61
61
|
parent_name = namespace.join "::"
|
|
62
62
|
parent_const = const_get parent_name
|
|
63
|
-
break parent_const.configure if parent_const
|
|
63
|
+
break parent_const.configure if parent_const.respond_to? :configure
|
|
64
64
|
namespace.pop
|
|
65
65
|
end
|
|
66
66
|
default_config = Client::Configuration.new parent_config
|
|
@@ -75,82 +75,52 @@ module Google
|
|
|
75
75
|
|
|
76
76
|
default_config.rpcs.get_iam_policy.timeout = 60.0
|
|
77
77
|
default_config.rpcs.get_iam_policy.retry_policy = {
|
|
78
|
-
initial_delay: 0.1,
|
|
79
|
-
max_delay: 60.0,
|
|
80
|
-
multiplier: 1.3,
|
|
81
|
-
retry_codes: [4, 14]
|
|
78
|
+
initial_delay: 0.1, max_delay: 60.0, multiplier: 1.3, retry_codes: [4, 14]
|
|
82
79
|
}
|
|
83
80
|
|
|
84
81
|
default_config.rpcs.get_notification_config.timeout = 60.0
|
|
85
82
|
default_config.rpcs.get_notification_config.retry_policy = {
|
|
86
|
-
initial_delay: 0.1,
|
|
87
|
-
max_delay: 60.0,
|
|
88
|
-
multiplier: 1.3,
|
|
89
|
-
retry_codes: [4, 14]
|
|
83
|
+
initial_delay: 0.1, max_delay: 60.0, multiplier: 1.3, retry_codes: [4, 14]
|
|
90
84
|
}
|
|
91
85
|
|
|
92
86
|
default_config.rpcs.get_organization_settings.timeout = 60.0
|
|
93
87
|
default_config.rpcs.get_organization_settings.retry_policy = {
|
|
94
|
-
initial_delay: 0.1,
|
|
95
|
-
max_delay: 60.0,
|
|
96
|
-
multiplier: 1.3,
|
|
97
|
-
retry_codes: [4, 14]
|
|
88
|
+
initial_delay: 0.1, max_delay: 60.0, multiplier: 1.3, retry_codes: [4, 14]
|
|
98
89
|
}
|
|
99
90
|
|
|
100
91
|
default_config.rpcs.get_source.timeout = 60.0
|
|
101
92
|
default_config.rpcs.get_source.retry_policy = {
|
|
102
|
-
initial_delay: 0.1,
|
|
103
|
-
max_delay: 60.0,
|
|
104
|
-
multiplier: 1.3,
|
|
105
|
-
retry_codes: [4, 14]
|
|
93
|
+
initial_delay: 0.1, max_delay: 60.0, multiplier: 1.3, retry_codes: [4, 14]
|
|
106
94
|
}
|
|
107
95
|
|
|
108
96
|
default_config.rpcs.group_assets.timeout = 480.0
|
|
109
97
|
default_config.rpcs.group_assets.retry_policy = {
|
|
110
|
-
initial_delay: 0.1,
|
|
111
|
-
max_delay: 60.0,
|
|
112
|
-
multiplier: 1.3,
|
|
113
|
-
retry_codes: [4, 14]
|
|
98
|
+
initial_delay: 0.1, max_delay: 60.0, multiplier: 1.3, retry_codes: [4, 14]
|
|
114
99
|
}
|
|
115
100
|
|
|
116
101
|
default_config.rpcs.group_findings.timeout = 480.0
|
|
117
102
|
default_config.rpcs.group_findings.retry_policy = {
|
|
118
|
-
initial_delay: 0.1,
|
|
119
|
-
max_delay: 60.0,
|
|
120
|
-
multiplier: 1.3,
|
|
121
|
-
retry_codes: [4, 14]
|
|
103
|
+
initial_delay: 0.1, max_delay: 60.0, multiplier: 1.3, retry_codes: [4, 14]
|
|
122
104
|
}
|
|
123
105
|
|
|
124
106
|
default_config.rpcs.list_assets.timeout = 480.0
|
|
125
107
|
default_config.rpcs.list_assets.retry_policy = {
|
|
126
|
-
initial_delay: 0.1,
|
|
127
|
-
max_delay: 60.0,
|
|
128
|
-
multiplier: 1.3,
|
|
129
|
-
retry_codes: [4, 14]
|
|
108
|
+
initial_delay: 0.1, max_delay: 60.0, multiplier: 1.3, retry_codes: [4, 14]
|
|
130
109
|
}
|
|
131
110
|
|
|
132
111
|
default_config.rpcs.list_findings.timeout = 480.0
|
|
133
112
|
default_config.rpcs.list_findings.retry_policy = {
|
|
134
|
-
initial_delay: 0.1,
|
|
135
|
-
max_delay: 60.0,
|
|
136
|
-
multiplier: 1.3,
|
|
137
|
-
retry_codes: [4, 14]
|
|
113
|
+
initial_delay: 0.1, max_delay: 60.0, multiplier: 1.3, retry_codes: [4, 14]
|
|
138
114
|
}
|
|
139
115
|
|
|
140
116
|
default_config.rpcs.list_notification_configs.timeout = 60.0
|
|
141
117
|
default_config.rpcs.list_notification_configs.retry_policy = {
|
|
142
|
-
initial_delay: 0.1,
|
|
143
|
-
max_delay: 60.0,
|
|
144
|
-
multiplier: 1.3,
|
|
145
|
-
retry_codes: [4, 14]
|
|
118
|
+
initial_delay: 0.1, max_delay: 60.0, multiplier: 1.3, retry_codes: [4, 14]
|
|
146
119
|
}
|
|
147
120
|
|
|
148
121
|
default_config.rpcs.list_sources.timeout = 60.0
|
|
149
122
|
default_config.rpcs.list_sources.retry_policy = {
|
|
150
|
-
initial_delay: 0.1,
|
|
151
|
-
max_delay: 60.0,
|
|
152
|
-
multiplier: 1.3,
|
|
153
|
-
retry_codes: [4, 14]
|
|
123
|
+
initial_delay: 0.1, max_delay: 60.0, multiplier: 1.3, retry_codes: [4, 14]
|
|
154
124
|
}
|
|
155
125
|
|
|
156
126
|
default_config.rpcs.run_asset_discovery.timeout = 60.0
|
|
@@ -161,10 +131,7 @@ module Google
|
|
|
161
131
|
|
|
162
132
|
default_config.rpcs.test_iam_permissions.timeout = 60.0
|
|
163
133
|
default_config.rpcs.test_iam_permissions.retry_policy = {
|
|
164
|
-
initial_delay: 0.1,
|
|
165
|
-
max_delay: 60.0,
|
|
166
|
-
multiplier: 1.3,
|
|
167
|
-
retry_codes: [4, 14]
|
|
134
|
+
initial_delay: 0.1, max_delay: 60.0, multiplier: 1.3, retry_codes: [4, 14]
|
|
168
135
|
}
|
|
169
136
|
|
|
170
137
|
default_config.rpcs.update_finding.timeout = 60.0
|
|
@@ -238,8 +205,14 @@ module Google
|
|
|
238
205
|
|
|
239
206
|
# Create credentials
|
|
240
207
|
credentials = @config.credentials
|
|
241
|
-
|
|
242
|
-
if
|
|
208
|
+
# Use self-signed JWT if the scope and endpoint are unchanged from default,
|
|
209
|
+
# but only if the default endpoint does not have a region prefix.
|
|
210
|
+
enable_self_signed_jwt = @config.scope == Client.configure.scope &&
|
|
211
|
+
@config.endpoint == Client.configure.endpoint &&
|
|
212
|
+
!@config.endpoint.split(".").first.include?("-")
|
|
213
|
+
credentials ||= Credentials.default scope: @config.scope,
|
|
214
|
+
enable_self_signed_jwt: enable_self_signed_jwt
|
|
215
|
+
if credentials.is_a?(::String) || credentials.is_a?(::Hash)
|
|
243
216
|
credentials = Credentials.new credentials, scope: @config.scope
|
|
244
217
|
end
|
|
245
218
|
@quota_project_id = @config.quota_project
|
|
@@ -844,7 +817,8 @@ module Google
|
|
|
844
817
|
#
|
|
845
818
|
# @param parent [::String]
|
|
846
819
|
# Required. Name of the organization to groupBy. Its format is
|
|
847
|
-
# "organizations/[organization_id]
|
|
820
|
+
# "organizations/[organization_id], folders/[folder_id], or
|
|
821
|
+
# projects/[project_id]".
|
|
848
822
|
# @param filter [::String]
|
|
849
823
|
# Expression that defines the filter to apply across assets.
|
|
850
824
|
# The expression is a list of zero or more restrictions combined via logical
|
|
@@ -1019,7 +993,9 @@ module Google
|
|
|
1019
993
|
# specified properties.
|
|
1020
994
|
#
|
|
1021
995
|
# To group across all sources provide a `-` as the source id.
|
|
1022
|
-
# Example: /
|
|
996
|
+
# Example: /v1/organizations/\\{organization_id}/sources/-/findings,
|
|
997
|
+
# /v1/folders/\\{folder_id}/sources/-/findings,
|
|
998
|
+
# /v1/projects/\\{project_id}/sources/-/findings
|
|
1023
999
|
#
|
|
1024
1000
|
# @overload group_findings(request, options = nil)
|
|
1025
1001
|
# Pass arguments to `group_findings` via a request object, either of type
|
|
@@ -1038,9 +1014,12 @@ module Google
|
|
|
1038
1014
|
#
|
|
1039
1015
|
# @param parent [::String]
|
|
1040
1016
|
# Required. Name of the source to groupBy. Its format is
|
|
1041
|
-
# "organizations/[organization_id]/sources/[source_id]"
|
|
1042
|
-
#
|
|
1043
|
-
#
|
|
1017
|
+
# "organizations/[organization_id]/sources/[source_id]",
|
|
1018
|
+
# folders/[folder_id]/sources/[source_id], or
|
|
1019
|
+
# projects/[project_id]/sources/[source_id]. To groupBy across all sources
|
|
1020
|
+
# provide a source_id of `-`. For example:
|
|
1021
|
+
# organizations/\\{organization_id}/sources/-, folders/\\{folder_id}/sources/-,
|
|
1022
|
+
# or projects/\\{project_id}/sources/-
|
|
1044
1023
|
# @param filter [::String]
|
|
1045
1024
|
# Expression that defines the filter to apply across findings.
|
|
1046
1025
|
# The expression is a list of one or more restrictions combined via logical
|
|
@@ -1220,7 +1199,8 @@ module Google
|
|
|
1220
1199
|
#
|
|
1221
1200
|
# @param parent [::String]
|
|
1222
1201
|
# Required. Name of the organization assets should belong to. Its format is
|
|
1223
|
-
# "organizations/[organization_id]
|
|
1202
|
+
# "organizations/[organization_id], folders/[folder_id], or
|
|
1203
|
+
# projects/[project_id]".
|
|
1224
1204
|
# @param filter [::String]
|
|
1225
1205
|
# Expression that defines the filter to apply across assets.
|
|
1226
1206
|
# The expression is a list of zero or more restrictions combined via logical
|
|
@@ -1417,9 +1397,12 @@ module Google
|
|
|
1417
1397
|
#
|
|
1418
1398
|
# @param parent [::String]
|
|
1419
1399
|
# Required. Name of the source the findings belong to. Its format is
|
|
1420
|
-
# "organizations/[organization_id]/sources/[source_id]
|
|
1421
|
-
# sources
|
|
1422
|
-
#
|
|
1400
|
+
# "organizations/[organization_id]/sources/[source_id],
|
|
1401
|
+
# folders/[folder_id]/sources/[source_id], or
|
|
1402
|
+
# projects/[project_id]/sources/[source_id]". To list across all sources
|
|
1403
|
+
# provide a source_id of `-`. For example:
|
|
1404
|
+
# organizations/\\{organization_id}/sources/-, folders/\\{folder_id}/sources/- or
|
|
1405
|
+
# projects/\\{projects_id}/sources/-
|
|
1423
1406
|
# @param filter [::String]
|
|
1424
1407
|
# Expression that defines the filter to apply across findings.
|
|
1425
1408
|
# The expression is a list of one or more restrictions combined via logical
|
|
@@ -1678,7 +1661,8 @@ module Google
|
|
|
1678
1661
|
#
|
|
1679
1662
|
# @param parent [::String]
|
|
1680
1663
|
# Required. Resource name of the parent of sources to list. Its format should be
|
|
1681
|
-
# "organizations/[organization_id]
|
|
1664
|
+
# "organizations/[organization_id], folders/[folder_id], or
|
|
1665
|
+
# projects/[project_id]".
|
|
1682
1666
|
# @param page_token [::String]
|
|
1683
1667
|
# The value returned by the last `ListSourcesResponse`; indicates
|
|
1684
1668
|
# that this is a continuation of a prior `ListSources` call, and
|
|
@@ -2482,7 +2466,7 @@ module Google
|
|
|
2482
2466
|
config_attr :scope, nil, ::String, ::Array, nil
|
|
2483
2467
|
config_attr :lib_name, nil, ::String, nil
|
|
2484
2468
|
config_attr :lib_version, nil, ::String, nil
|
|
2485
|
-
config_attr(:channel_args, { "grpc.service_config_disable_resolution"=>1 }, ::Hash, nil)
|
|
2469
|
+
config_attr(:channel_args, { "grpc.service_config_disable_resolution" => 1 }, ::Hash, nil)
|
|
2486
2470
|
config_attr :interceptors, nil, ::Array, nil
|
|
2487
2471
|
config_attr :timeout, nil, ::Numeric, nil
|
|
2488
2472
|
config_attr :metadata, nil, ::Hash, nil
|
|
@@ -2503,7 +2487,7 @@ module Google
|
|
|
2503
2487
|
def rpcs
|
|
2504
2488
|
@rpcs ||= begin
|
|
2505
2489
|
parent_rpcs = nil
|
|
2506
|
-
parent_rpcs = @parent_config.rpcs if defined?(@parent_config) && @parent_config
|
|
2490
|
+
parent_rpcs = @parent_config.rpcs if defined?(@parent_config) && @parent_config.respond_to?(:rpcs)
|
|
2507
2491
|
Rpcs.new parent_rpcs
|
|
2508
2492
|
end
|
|
2509
2493
|
end
|
|
@@ -2644,51 +2628,51 @@ module Google
|
|
|
2644
2628
|
|
|
2645
2629
|
# @private
|
|
2646
2630
|
def initialize parent_rpcs = nil
|
|
2647
|
-
create_source_config = parent_rpcs
|
|
2631
|
+
create_source_config = parent_rpcs.create_source if parent_rpcs.respond_to? :create_source
|
|
2648
2632
|
@create_source = ::Gapic::Config::Method.new create_source_config
|
|
2649
|
-
create_finding_config = parent_rpcs
|
|
2633
|
+
create_finding_config = parent_rpcs.create_finding if parent_rpcs.respond_to? :create_finding
|
|
2650
2634
|
@create_finding = ::Gapic::Config::Method.new create_finding_config
|
|
2651
|
-
create_notification_config_config = parent_rpcs
|
|
2635
|
+
create_notification_config_config = parent_rpcs.create_notification_config if parent_rpcs.respond_to? :create_notification_config
|
|
2652
2636
|
@create_notification_config = ::Gapic::Config::Method.new create_notification_config_config
|
|
2653
|
-
delete_notification_config_config = parent_rpcs
|
|
2637
|
+
delete_notification_config_config = parent_rpcs.delete_notification_config if parent_rpcs.respond_to? :delete_notification_config
|
|
2654
2638
|
@delete_notification_config = ::Gapic::Config::Method.new delete_notification_config_config
|
|
2655
|
-
get_iam_policy_config = parent_rpcs
|
|
2639
|
+
get_iam_policy_config = parent_rpcs.get_iam_policy if parent_rpcs.respond_to? :get_iam_policy
|
|
2656
2640
|
@get_iam_policy = ::Gapic::Config::Method.new get_iam_policy_config
|
|
2657
|
-
get_notification_config_config = parent_rpcs
|
|
2641
|
+
get_notification_config_config = parent_rpcs.get_notification_config if parent_rpcs.respond_to? :get_notification_config
|
|
2658
2642
|
@get_notification_config = ::Gapic::Config::Method.new get_notification_config_config
|
|
2659
|
-
get_organization_settings_config = parent_rpcs
|
|
2643
|
+
get_organization_settings_config = parent_rpcs.get_organization_settings if parent_rpcs.respond_to? :get_organization_settings
|
|
2660
2644
|
@get_organization_settings = ::Gapic::Config::Method.new get_organization_settings_config
|
|
2661
|
-
get_source_config = parent_rpcs
|
|
2645
|
+
get_source_config = parent_rpcs.get_source if parent_rpcs.respond_to? :get_source
|
|
2662
2646
|
@get_source = ::Gapic::Config::Method.new get_source_config
|
|
2663
|
-
group_assets_config = parent_rpcs
|
|
2647
|
+
group_assets_config = parent_rpcs.group_assets if parent_rpcs.respond_to? :group_assets
|
|
2664
2648
|
@group_assets = ::Gapic::Config::Method.new group_assets_config
|
|
2665
|
-
group_findings_config = parent_rpcs
|
|
2649
|
+
group_findings_config = parent_rpcs.group_findings if parent_rpcs.respond_to? :group_findings
|
|
2666
2650
|
@group_findings = ::Gapic::Config::Method.new group_findings_config
|
|
2667
|
-
list_assets_config = parent_rpcs
|
|
2651
|
+
list_assets_config = parent_rpcs.list_assets if parent_rpcs.respond_to? :list_assets
|
|
2668
2652
|
@list_assets = ::Gapic::Config::Method.new list_assets_config
|
|
2669
|
-
list_findings_config = parent_rpcs
|
|
2653
|
+
list_findings_config = parent_rpcs.list_findings if parent_rpcs.respond_to? :list_findings
|
|
2670
2654
|
@list_findings = ::Gapic::Config::Method.new list_findings_config
|
|
2671
|
-
list_notification_configs_config = parent_rpcs
|
|
2655
|
+
list_notification_configs_config = parent_rpcs.list_notification_configs if parent_rpcs.respond_to? :list_notification_configs
|
|
2672
2656
|
@list_notification_configs = ::Gapic::Config::Method.new list_notification_configs_config
|
|
2673
|
-
list_sources_config = parent_rpcs
|
|
2657
|
+
list_sources_config = parent_rpcs.list_sources if parent_rpcs.respond_to? :list_sources
|
|
2674
2658
|
@list_sources = ::Gapic::Config::Method.new list_sources_config
|
|
2675
|
-
run_asset_discovery_config = parent_rpcs
|
|
2659
|
+
run_asset_discovery_config = parent_rpcs.run_asset_discovery if parent_rpcs.respond_to? :run_asset_discovery
|
|
2676
2660
|
@run_asset_discovery = ::Gapic::Config::Method.new run_asset_discovery_config
|
|
2677
|
-
set_finding_state_config = parent_rpcs
|
|
2661
|
+
set_finding_state_config = parent_rpcs.set_finding_state if parent_rpcs.respond_to? :set_finding_state
|
|
2678
2662
|
@set_finding_state = ::Gapic::Config::Method.new set_finding_state_config
|
|
2679
|
-
set_iam_policy_config = parent_rpcs
|
|
2663
|
+
set_iam_policy_config = parent_rpcs.set_iam_policy if parent_rpcs.respond_to? :set_iam_policy
|
|
2680
2664
|
@set_iam_policy = ::Gapic::Config::Method.new set_iam_policy_config
|
|
2681
|
-
test_iam_permissions_config = parent_rpcs
|
|
2665
|
+
test_iam_permissions_config = parent_rpcs.test_iam_permissions if parent_rpcs.respond_to? :test_iam_permissions
|
|
2682
2666
|
@test_iam_permissions = ::Gapic::Config::Method.new test_iam_permissions_config
|
|
2683
|
-
update_finding_config = parent_rpcs
|
|
2667
|
+
update_finding_config = parent_rpcs.update_finding if parent_rpcs.respond_to? :update_finding
|
|
2684
2668
|
@update_finding = ::Gapic::Config::Method.new update_finding_config
|
|
2685
|
-
update_notification_config_config = parent_rpcs
|
|
2669
|
+
update_notification_config_config = parent_rpcs.update_notification_config if parent_rpcs.respond_to? :update_notification_config
|
|
2686
2670
|
@update_notification_config = ::Gapic::Config::Method.new update_notification_config_config
|
|
2687
|
-
update_organization_settings_config = parent_rpcs
|
|
2671
|
+
update_organization_settings_config = parent_rpcs.update_organization_settings if parent_rpcs.respond_to? :update_organization_settings
|
|
2688
2672
|
@update_organization_settings = ::Gapic::Config::Method.new update_organization_settings_config
|
|
2689
|
-
update_source_config = parent_rpcs
|
|
2673
|
+
update_source_config = parent_rpcs.update_source if parent_rpcs.respond_to? :update_source
|
|
2690
2674
|
@update_source = ::Gapic::Config::Method.new update_source_config
|
|
2691
|
-
update_security_marks_config = parent_rpcs
|
|
2675
|
+
update_security_marks_config = parent_rpcs.update_security_marks if parent_rpcs.respond_to? :update_security_marks
|
|
2692
2676
|
@update_security_marks = ::Gapic::Config::Method.new update_security_marks_config
|
|
2693
2677
|
|
|
2694
2678
|
yield self if block_given?
|
|
@@ -82,7 +82,7 @@ module Google
|
|
|
82
82
|
# Create credentials
|
|
83
83
|
credentials = @config.credentials
|
|
84
84
|
credentials ||= Credentials.default scope: @config.scope
|
|
85
|
-
if credentials.is_a?(String) || credentials.is_a?(Hash)
|
|
85
|
+
if credentials.is_a?(::String) || credentials.is_a?(::Hash)
|
|
86
86
|
credentials = Credentials.new credentials, scope: @config.scope
|
|
87
87
|
end
|
|
88
88
|
@quota_project_id = @config.quota_project
|
|
@@ -103,8 +103,13 @@ module Google
|
|
|
103
103
|
# Lists operations that match the specified filter in the request. If the
|
|
104
104
|
# server doesn't support this method, it returns `UNIMPLEMENTED`.
|
|
105
105
|
#
|
|
106
|
-
# NOTE: the `name` binding
|
|
107
|
-
# to use different resource name schemes, such as `users/*/operations`.
|
|
106
|
+
# NOTE: the `name` binding allows API services to override the binding
|
|
107
|
+
# to use different resource name schemes, such as `users/*/operations`. To
|
|
108
|
+
# override the binding, API services can add a binding such as
|
|
109
|
+
# `"/v1/{name=users/*}/operations"` to their service configuration.
|
|
110
|
+
# For backwards compatibility, the default name includes the operations
|
|
111
|
+
# collection id, however overriding users must ensure the name binding
|
|
112
|
+
# is the parent resource, without the operations collection id.
|
|
108
113
|
#
|
|
109
114
|
# @overload list_operations(request, options = nil)
|
|
110
115
|
# Pass arguments to `list_operations` via a request object, either of type
|
|
@@ -122,7 +127,7 @@ module Google
|
|
|
122
127
|
# the default parameter values, pass an empty Hash as a request object (see above).
|
|
123
128
|
#
|
|
124
129
|
# @param name [::String]
|
|
125
|
-
# The name of the operation
|
|
130
|
+
# The name of the operation's parent resource.
|
|
126
131
|
# @param filter [::String]
|
|
127
132
|
# The standard list filter.
|
|
128
133
|
# @param page_size [::Integer]
|
|
@@ -390,6 +395,79 @@ module Google
|
|
|
390
395
|
raise ::Google::Cloud::Error.from_error(e)
|
|
391
396
|
end
|
|
392
397
|
|
|
398
|
+
##
|
|
399
|
+
# Waits until the specified long-running operation is done or reaches at most
|
|
400
|
+
# a specified timeout, returning the latest state. If the operation is
|
|
401
|
+
# already done, the latest state is immediately returned. If the timeout
|
|
402
|
+
# specified is greater than the default HTTP/RPC timeout, the HTTP/RPC
|
|
403
|
+
# timeout is used. If the server does not support this method, it returns
|
|
404
|
+
# `google.rpc.Code.UNIMPLEMENTED`.
|
|
405
|
+
# Note that this method is on a best-effort basis. It may return the latest
|
|
406
|
+
# state before the specified timeout (including immediately), meaning even an
|
|
407
|
+
# immediate response is no guarantee that the operation is done.
|
|
408
|
+
#
|
|
409
|
+
# @overload wait_operation(request, options = nil)
|
|
410
|
+
# Pass arguments to `wait_operation` via a request object, either of type
|
|
411
|
+
# {::Google::Longrunning::WaitOperationRequest} or an equivalent Hash.
|
|
412
|
+
#
|
|
413
|
+
# @param request [::Google::Longrunning::WaitOperationRequest, ::Hash]
|
|
414
|
+
# A request object representing the call parameters. Required. To specify no
|
|
415
|
+
# parameters, or to keep all the default parameter values, pass an empty Hash.
|
|
416
|
+
# @param options [::Gapic::CallOptions, ::Hash]
|
|
417
|
+
# Overrides the default settings for this call, e.g, timeout, retries, etc. Optional.
|
|
418
|
+
#
|
|
419
|
+
# @overload wait_operation(name: nil, timeout: nil)
|
|
420
|
+
# Pass arguments to `wait_operation` via keyword arguments. Note that at
|
|
421
|
+
# least one keyword argument is required. To specify no parameters, or to keep all
|
|
422
|
+
# the default parameter values, pass an empty Hash as a request object (see above).
|
|
423
|
+
#
|
|
424
|
+
# @param name [::String]
|
|
425
|
+
# The name of the operation resource to wait on.
|
|
426
|
+
# @param timeout [::Google::Protobuf::Duration, ::Hash]
|
|
427
|
+
# The maximum duration to wait before timing out. If left blank, the wait
|
|
428
|
+
# will be at most the time permitted by the underlying HTTP/RPC protocol.
|
|
429
|
+
# If RPC context deadline is also specified, the shorter one will be used.
|
|
430
|
+
#
|
|
431
|
+
# @yield [response, operation] Access the result along with the RPC operation
|
|
432
|
+
# @yieldparam response [::Gapic::Operation]
|
|
433
|
+
# @yieldparam operation [::GRPC::ActiveCall::Operation]
|
|
434
|
+
#
|
|
435
|
+
# @return [::Gapic::Operation]
|
|
436
|
+
#
|
|
437
|
+
# @raise [::Google::Cloud::Error] if the RPC is aborted.
|
|
438
|
+
#
|
|
439
|
+
def wait_operation request, options = nil
|
|
440
|
+
raise ::ArgumentError, "request must be provided" if request.nil?
|
|
441
|
+
|
|
442
|
+
request = ::Gapic::Protobuf.coerce request, to: ::Google::Longrunning::WaitOperationRequest
|
|
443
|
+
|
|
444
|
+
# Converts hash and nil to an options object
|
|
445
|
+
options = ::Gapic::CallOptions.new(**options.to_h) if options.respond_to? :to_h
|
|
446
|
+
|
|
447
|
+
# Customize the options with defaults
|
|
448
|
+
metadata = @config.rpcs.wait_operation.metadata.to_h
|
|
449
|
+
|
|
450
|
+
# Set x-goog-api-client and x-goog-user-project headers
|
|
451
|
+
metadata[:"x-goog-api-client"] ||= ::Gapic::Headers.x_goog_api_client \
|
|
452
|
+
lib_name: @config.lib_name, lib_version: @config.lib_version,
|
|
453
|
+
gapic_version: ::Google::Cloud::SecurityCenter::V1p1beta1::VERSION
|
|
454
|
+
metadata[:"x-goog-user-project"] = @quota_project_id if @quota_project_id
|
|
455
|
+
|
|
456
|
+
options.apply_defaults timeout: @config.rpcs.wait_operation.timeout,
|
|
457
|
+
metadata: metadata,
|
|
458
|
+
retry_policy: @config.rpcs.wait_operation.retry_policy
|
|
459
|
+
options.apply_defaults metadata: @config.metadata,
|
|
460
|
+
retry_policy: @config.retry_policy
|
|
461
|
+
|
|
462
|
+
@operations_stub.call_rpc :wait_operation, request, options: options do |response, operation|
|
|
463
|
+
response = ::Gapic::Operation.new response, @operations_client, options: options
|
|
464
|
+
yield response, operation if block_given?
|
|
465
|
+
return response
|
|
466
|
+
end
|
|
467
|
+
rescue ::GRPC::BadStatus => e
|
|
468
|
+
raise ::Google::Cloud::Error.from_error(e)
|
|
469
|
+
end
|
|
470
|
+
|
|
393
471
|
##
|
|
394
472
|
# Configuration class for the Operations API.
|
|
395
473
|
#
|
|
@@ -482,7 +560,7 @@ module Google
|
|
|
482
560
|
config_attr :scope, nil, ::String, ::Array, nil
|
|
483
561
|
config_attr :lib_name, nil, ::String, nil
|
|
484
562
|
config_attr :lib_version, nil, ::String, nil
|
|
485
|
-
config_attr(:channel_args, { "grpc.service_config_disable_resolution"=>1 }, ::Hash, nil)
|
|
563
|
+
config_attr(:channel_args, { "grpc.service_config_disable_resolution" => 1 }, ::Hash, nil)
|
|
486
564
|
config_attr :interceptors, nil, ::Array, nil
|
|
487
565
|
config_attr :timeout, nil, ::Numeric, nil
|
|
488
566
|
config_attr :metadata, nil, ::Hash, nil
|
|
@@ -503,7 +581,7 @@ module Google
|
|
|
503
581
|
def rpcs
|
|
504
582
|
@rpcs ||= begin
|
|
505
583
|
parent_rpcs = nil
|
|
506
|
-
parent_rpcs = @parent_config.rpcs if defined?(@parent_config) && @parent_config
|
|
584
|
+
parent_rpcs = @parent_config.rpcs if defined?(@parent_config) && @parent_config.respond_to?(:rpcs)
|
|
507
585
|
Rpcs.new parent_rpcs
|
|
508
586
|
end
|
|
509
587
|
end
|
|
@@ -546,17 +624,24 @@ module Google
|
|
|
546
624
|
# @return [::Gapic::Config::Method]
|
|
547
625
|
#
|
|
548
626
|
attr_reader :cancel_operation
|
|
627
|
+
##
|
|
628
|
+
# RPC-specific configuration for `wait_operation`
|
|
629
|
+
# @return [::Gapic::Config::Method]
|
|
630
|
+
#
|
|
631
|
+
attr_reader :wait_operation
|
|
549
632
|
|
|
550
633
|
# @private
|
|
551
634
|
def initialize parent_rpcs = nil
|
|
552
|
-
list_operations_config = parent_rpcs
|
|
635
|
+
list_operations_config = parent_rpcs.list_operations if parent_rpcs.respond_to? :list_operations
|
|
553
636
|
@list_operations = ::Gapic::Config::Method.new list_operations_config
|
|
554
|
-
get_operation_config = parent_rpcs
|
|
637
|
+
get_operation_config = parent_rpcs.get_operation if parent_rpcs.respond_to? :get_operation
|
|
555
638
|
@get_operation = ::Gapic::Config::Method.new get_operation_config
|
|
556
|
-
delete_operation_config = parent_rpcs
|
|
639
|
+
delete_operation_config = parent_rpcs.delete_operation if parent_rpcs.respond_to? :delete_operation
|
|
557
640
|
@delete_operation = ::Gapic::Config::Method.new delete_operation_config
|
|
558
|
-
cancel_operation_config = parent_rpcs
|
|
641
|
+
cancel_operation_config = parent_rpcs.cancel_operation if parent_rpcs.respond_to? :cancel_operation
|
|
559
642
|
@cancel_operation = ::Gapic::Config::Method.new cancel_operation_config
|
|
643
|
+
wait_operation_config = parent_rpcs.wait_operation if parent_rpcs.respond_to? :wait_operation
|
|
644
|
+
@wait_operation = ::Gapic::Config::Method.new wait_operation_config
|
|
560
645
|
|
|
561
646
|
yield self if block_given?
|
|
562
647
|
end
|
|
@@ -27,20 +27,73 @@ module Google
|
|
|
27
27
|
##
|
|
28
28
|
# Create a fully-qualified Finding resource string.
|
|
29
29
|
#
|
|
30
|
-
#
|
|
30
|
+
# @overload finding_path(organization:, source:, finding:)
|
|
31
|
+
# The resource will be in the following format:
|
|
31
32
|
#
|
|
32
|
-
#
|
|
33
|
+
# `organizations/{organization}/sources/{source}/findings/{finding}`
|
|
33
34
|
#
|
|
34
|
-
#
|
|
35
|
-
#
|
|
36
|
-
#
|
|
35
|
+
# @param organization [String]
|
|
36
|
+
# @param source [String]
|
|
37
|
+
# @param finding [String]
|
|
38
|
+
#
|
|
39
|
+
# @overload finding_path(folder:, source:, finding:)
|
|
40
|
+
# The resource will be in the following format:
|
|
41
|
+
#
|
|
42
|
+
# `folders/{folder}/sources/{source}/findings/{finding}`
|
|
43
|
+
#
|
|
44
|
+
# @param folder [String]
|
|
45
|
+
# @param source [String]
|
|
46
|
+
# @param finding [String]
|
|
47
|
+
#
|
|
48
|
+
# @overload finding_path(project:, source:, finding:)
|
|
49
|
+
# The resource will be in the following format:
|
|
50
|
+
#
|
|
51
|
+
# `projects/{project}/sources/{source}/findings/{finding}`
|
|
52
|
+
#
|
|
53
|
+
# @param project [String]
|
|
54
|
+
# @param source [String]
|
|
55
|
+
# @param finding [String]
|
|
37
56
|
#
|
|
38
57
|
# @return [::String]
|
|
39
|
-
def finding_path
|
|
40
|
-
|
|
41
|
-
|
|
58
|
+
def finding_path **args
|
|
59
|
+
resources = {
|
|
60
|
+
"finding:organization:source" => (proc do |organization:, source:, finding:|
|
|
61
|
+
raise ::ArgumentError, "organization cannot contain /" if organization.to_s.include? "/"
|
|
62
|
+
raise ::ArgumentError, "source cannot contain /" if source.to_s.include? "/"
|
|
63
|
+
|
|
64
|
+
"organizations/#{organization}/sources/#{source}/findings/#{finding}"
|
|
65
|
+
end),
|
|
66
|
+
"finding:folder:source" => (proc do |folder:, source:, finding:|
|
|
67
|
+
raise ::ArgumentError, "folder cannot contain /" if folder.to_s.include? "/"
|
|
68
|
+
raise ::ArgumentError, "source cannot contain /" if source.to_s.include? "/"
|
|
69
|
+
|
|
70
|
+
"folders/#{folder}/sources/#{source}/findings/#{finding}"
|
|
71
|
+
end),
|
|
72
|
+
"finding:project:source" => (proc do |project:, source:, finding:|
|
|
73
|
+
raise ::ArgumentError, "project cannot contain /" if project.to_s.include? "/"
|
|
74
|
+
raise ::ArgumentError, "source cannot contain /" if source.to_s.include? "/"
|
|
42
75
|
|
|
43
|
-
|
|
76
|
+
"projects/#{project}/sources/#{source}/findings/#{finding}"
|
|
77
|
+
end)
|
|
78
|
+
}
|
|
79
|
+
|
|
80
|
+
resource = resources[args.keys.sort.join(":")]
|
|
81
|
+
raise ::ArgumentError, "no resource found for values #{args.keys}" if resource.nil?
|
|
82
|
+
resource.call(**args)
|
|
83
|
+
end
|
|
84
|
+
|
|
85
|
+
##
|
|
86
|
+
# Create a fully-qualified Folder resource string.
|
|
87
|
+
#
|
|
88
|
+
# The resource will be in the following format:
|
|
89
|
+
#
|
|
90
|
+
# `folders/{folder}`
|
|
91
|
+
#
|
|
92
|
+
# @param folder [String]
|
|
93
|
+
#
|
|
94
|
+
# @return [::String]
|
|
95
|
+
def folder_path folder:
|
|
96
|
+
"folders/#{folder}"
|
|
44
97
|
end
|
|
45
98
|
|
|
46
99
|
##
|
|
@@ -88,6 +141,20 @@ module Google
|
|
|
88
141
|
"organizations/#{organization}/organizationSettings"
|
|
89
142
|
end
|
|
90
143
|
|
|
144
|
+
##
|
|
145
|
+
# Create a fully-qualified Project resource string.
|
|
146
|
+
#
|
|
147
|
+
# The resource will be in the following format:
|
|
148
|
+
#
|
|
149
|
+
# `projects/{project}`
|
|
150
|
+
#
|
|
151
|
+
# @param project [String]
|
|
152
|
+
#
|
|
153
|
+
# @return [::String]
|
|
154
|
+
def project_path project:
|
|
155
|
+
"projects/#{project}"
|
|
156
|
+
end
|
|
157
|
+
|
|
91
158
|
##
|
|
92
159
|
# Create a fully-qualified SecurityMarks resource string.
|
|
93
160
|
#
|
|
@@ -108,10 +175,44 @@ module Google
|
|
|
108
175
|
# @param source [String]
|
|
109
176
|
# @param finding [String]
|
|
110
177
|
#
|
|
178
|
+
# @overload security_marks_path(folder:, asset:)
|
|
179
|
+
# The resource will be in the following format:
|
|
180
|
+
#
|
|
181
|
+
# `folders/{folder}/assets/{asset}/securityMarks`
|
|
182
|
+
#
|
|
183
|
+
# @param folder [String]
|
|
184
|
+
# @param asset [String]
|
|
185
|
+
#
|
|
186
|
+
# @overload security_marks_path(project:, asset:)
|
|
187
|
+
# The resource will be in the following format:
|
|
188
|
+
#
|
|
189
|
+
# `projects/{project}/assets/{asset}/securityMarks`
|
|
190
|
+
#
|
|
191
|
+
# @param project [String]
|
|
192
|
+
# @param asset [String]
|
|
193
|
+
#
|
|
194
|
+
# @overload security_marks_path(folder:, source:, finding:)
|
|
195
|
+
# The resource will be in the following format:
|
|
196
|
+
#
|
|
197
|
+
# `folders/{folder}/sources/{source}/findings/{finding}/securityMarks`
|
|
198
|
+
#
|
|
199
|
+
# @param folder [String]
|
|
200
|
+
# @param source [String]
|
|
201
|
+
# @param finding [String]
|
|
202
|
+
#
|
|
203
|
+
# @overload security_marks_path(project:, source:, finding:)
|
|
204
|
+
# The resource will be in the following format:
|
|
205
|
+
#
|
|
206
|
+
# `projects/{project}/sources/{source}/findings/{finding}/securityMarks`
|
|
207
|
+
#
|
|
208
|
+
# @param project [String]
|
|
209
|
+
# @param source [String]
|
|
210
|
+
# @param finding [String]
|
|
211
|
+
#
|
|
111
212
|
# @return [::String]
|
|
112
213
|
def security_marks_path **args
|
|
113
214
|
resources = {
|
|
114
|
-
"asset:organization"
|
|
215
|
+
"asset:organization" => (proc do |organization:, asset:|
|
|
115
216
|
raise ::ArgumentError, "organization cannot contain /" if organization.to_s.include? "/"
|
|
116
217
|
|
|
117
218
|
"organizations/#{organization}/assets/#{asset}/securityMarks"
|
|
@@ -121,6 +222,28 @@ module Google
|
|
|
121
222
|
raise ::ArgumentError, "source cannot contain /" if source.to_s.include? "/"
|
|
122
223
|
|
|
123
224
|
"organizations/#{organization}/sources/#{source}/findings/#{finding}/securityMarks"
|
|
225
|
+
end),
|
|
226
|
+
"asset:folder" => (proc do |folder:, asset:|
|
|
227
|
+
raise ::ArgumentError, "folder cannot contain /" if folder.to_s.include? "/"
|
|
228
|
+
|
|
229
|
+
"folders/#{folder}/assets/#{asset}/securityMarks"
|
|
230
|
+
end),
|
|
231
|
+
"asset:project" => (proc do |project:, asset:|
|
|
232
|
+
raise ::ArgumentError, "project cannot contain /" if project.to_s.include? "/"
|
|
233
|
+
|
|
234
|
+
"projects/#{project}/assets/#{asset}/securityMarks"
|
|
235
|
+
end),
|
|
236
|
+
"finding:folder:source" => (proc do |folder:, source:, finding:|
|
|
237
|
+
raise ::ArgumentError, "folder cannot contain /" if folder.to_s.include? "/"
|
|
238
|
+
raise ::ArgumentError, "source cannot contain /" if source.to_s.include? "/"
|
|
239
|
+
|
|
240
|
+
"folders/#{folder}/sources/#{source}/findings/#{finding}/securityMarks"
|
|
241
|
+
end),
|
|
242
|
+
"finding:project:source" => (proc do |project:, source:, finding:|
|
|
243
|
+
raise ::ArgumentError, "project cannot contain /" if project.to_s.include? "/"
|
|
244
|
+
raise ::ArgumentError, "source cannot contain /" if source.to_s.include? "/"
|
|
245
|
+
|
|
246
|
+
"projects/#{project}/sources/#{source}/findings/#{finding}/securityMarks"
|
|
124
247
|
end)
|
|
125
248
|
}
|
|
126
249
|
|
|
@@ -132,18 +255,53 @@ module Google
|
|
|
132
255
|
##
|
|
133
256
|
# Create a fully-qualified Source resource string.
|
|
134
257
|
#
|
|
135
|
-
#
|
|
258
|
+
# @overload source_path(organization:, source:)
|
|
259
|
+
# The resource will be in the following format:
|
|
136
260
|
#
|
|
137
|
-
#
|
|
261
|
+
# `organizations/{organization}/sources/{source}`
|
|
138
262
|
#
|
|
139
|
-
#
|
|
140
|
-
#
|
|
263
|
+
# @param organization [String]
|
|
264
|
+
# @param source [String]
|
|
265
|
+
#
|
|
266
|
+
# @overload source_path(folder:, source:)
|
|
267
|
+
# The resource will be in the following format:
|
|
268
|
+
#
|
|
269
|
+
# `folders/{folder}/sources/{source}`
|
|
270
|
+
#
|
|
271
|
+
# @param folder [String]
|
|
272
|
+
# @param source [String]
|
|
273
|
+
#
|
|
274
|
+
# @overload source_path(project:, source:)
|
|
275
|
+
# The resource will be in the following format:
|
|
276
|
+
#
|
|
277
|
+
# `projects/{project}/sources/{source}`
|
|
278
|
+
#
|
|
279
|
+
# @param project [String]
|
|
280
|
+
# @param source [String]
|
|
141
281
|
#
|
|
142
282
|
# @return [::String]
|
|
143
|
-
def source_path
|
|
144
|
-
|
|
283
|
+
def source_path **args
|
|
284
|
+
resources = {
|
|
285
|
+
"organization:source" => (proc do |organization:, source:|
|
|
286
|
+
raise ::ArgumentError, "organization cannot contain /" if organization.to_s.include? "/"
|
|
287
|
+
|
|
288
|
+
"organizations/#{organization}/sources/#{source}"
|
|
289
|
+
end),
|
|
290
|
+
"folder:source" => (proc do |folder:, source:|
|
|
291
|
+
raise ::ArgumentError, "folder cannot contain /" if folder.to_s.include? "/"
|
|
292
|
+
|
|
293
|
+
"folders/#{folder}/sources/#{source}"
|
|
294
|
+
end),
|
|
295
|
+
"project:source" => (proc do |project:, source:|
|
|
296
|
+
raise ::ArgumentError, "project cannot contain /" if project.to_s.include? "/"
|
|
297
|
+
|
|
298
|
+
"projects/#{project}/sources/#{source}"
|
|
299
|
+
end)
|
|
300
|
+
}
|
|
145
301
|
|
|
146
|
-
"
|
|
302
|
+
resource = resources[args.keys.sort.join(":")]
|
|
303
|
+
raise ::ArgumentError, "no resource found for values #{args.keys}" if resource.nil?
|
|
304
|
+
resource.call(**args)
|
|
147
305
|
end
|
|
148
306
|
|
|
149
307
|
##
|