google-cloud-security_center-v1p1beta1 0.1.1 → 0.3.1

Sign up to get free protection for your applications and to get access to all the features.
@@ -85,6 +85,8 @@ module Google
85
85
  if credentials.is_a?(String) || credentials.is_a?(Hash)
86
86
  credentials = Credentials.new credentials, scope: @config.scope
87
87
  end
88
+ @quota_project_id = @config.quota_project
89
+ @quota_project_id ||= credentials.quota_project_id if credentials.respond_to? :quota_project_id
88
90
 
89
91
  @operations_stub = ::Gapic::ServiceStub.new(
90
92
  ::Google::Longrunning::Operations::Stub,
@@ -464,24 +466,28 @@ module Google
464
466
  # * `:retry_codes` (*type:* `Array<String>`) - The error codes that should
465
467
  # trigger a retry.
466
468
  # @return [::Hash]
469
+ # @!attribute [rw] quota_project
470
+ # A separate project against which to charge quota.
471
+ # @return [::String]
467
472
  #
468
473
  class Configuration
469
474
  extend ::Gapic::Config
470
475
 
471
- config_attr :endpoint, "securitycenter.googleapis.com", String
472
- config_attr :credentials, nil do |value|
476
+ config_attr :endpoint, "securitycenter.googleapis.com", ::String
477
+ config_attr :credentials, nil do |value|
473
478
  allowed = [::String, ::Hash, ::Proc, ::Google::Auth::Credentials, ::Signet::OAuth2::Client, nil]
474
479
  allowed += [::GRPC::Core::Channel, ::GRPC::Core::ChannelCredentials] if defined? ::GRPC
475
480
  allowed.any? { |klass| klass === value }
476
481
  end
477
- config_attr :scope, nil, ::String, ::Array, nil
478
- config_attr :lib_name, nil, ::String, nil
479
- config_attr :lib_version, nil, ::String, nil
480
- config_attr(:channel_args, { "grpc.service_config_disable_resolution"=>1 }, ::Hash, nil)
481
- config_attr :interceptors, nil, ::Array, nil
482
- config_attr :timeout, nil, ::Numeric, nil
483
- config_attr :metadata, nil, ::Hash, nil
484
- config_attr :retry_policy, nil, ::Hash, Proc, nil
482
+ config_attr :scope, nil, ::String, ::Array, nil
483
+ config_attr :lib_name, nil, ::String, nil
484
+ config_attr :lib_version, nil, ::String, nil
485
+ config_attr(:channel_args, { "grpc.service_config_disable_resolution"=>1 }, ::Hash, nil)
486
+ config_attr :interceptors, nil, ::Array, nil
487
+ config_attr :timeout, nil, ::Numeric, nil
488
+ config_attr :metadata, nil, ::Hash, nil
489
+ config_attr :retry_policy, nil, ::Hash, ::Proc, nil
490
+ config_attr :quota_project, nil, ::String, nil
485
491
 
486
492
  # @private
487
493
  def initialize parent_config = nil
@@ -497,7 +503,7 @@ module Google
497
503
  def rpcs
498
504
  @rpcs ||= begin
499
505
  parent_rpcs = nil
500
- parent_rpcs = @parent_config.rpcs if @parent_config&.respond_to? :rpcs
506
+ parent_rpcs = @parent_config.rpcs if defined?(@parent_config) && @parent_config&.respond_to?(:rpcs)
501
507
  Rpcs.new parent_rpcs
502
508
  end
503
509
  end
@@ -21,7 +21,7 @@ module Google
21
21
  module Cloud
22
22
  module SecurityCenter
23
23
  module V1p1beta1
24
- VERSION = "0.1.1"
24
+ VERSION = "0.3.1"
25
25
  end
26
26
  end
27
27
  end
@@ -6,10 +6,12 @@ require 'google/protobuf'
6
6
  require 'google/api/annotations_pb'
7
7
  require 'google/cloud/securitycenter/v1p1beta1/asset_pb'
8
8
  require 'google/cloud/securitycenter/v1p1beta1/finding_pb'
9
+ require 'google/cloud/securitycenter/v1p1beta1/resource_pb'
9
10
  Google::Protobuf::DescriptorPool.generated_pool.build do
10
11
  add_file("google/cloud/securitycenter/v1p1beta1/notification_message.proto", :syntax => :proto3) do
11
12
  add_message "google.cloud.securitycenter.v1p1beta1.NotificationMessage" do
12
13
  optional :notification_config_name, :string, 1
14
+ optional :resource, :message, 3, "google.cloud.securitycenter.v1p1beta1.Resource"
13
15
  oneof :event do
14
16
  optional :finding, :message, 2, "google.cloud.securitycenter.v1p1beta1.Finding"
15
17
  end
@@ -0,0 +1,27 @@
1
+ # Generated by the protocol buffer compiler. DO NOT EDIT!
2
+ # source: google/cloud/securitycenter/v1p1beta1/resource.proto
3
+
4
+ require 'google/protobuf'
5
+
6
+ require 'google/api/annotations_pb'
7
+ Google::Protobuf::DescriptorPool.generated_pool.build do
8
+ add_file("google/cloud/securitycenter/v1p1beta1/resource.proto", :syntax => :proto3) do
9
+ add_message "google.cloud.securitycenter.v1p1beta1.Resource" do
10
+ optional :name, :string, 1
11
+ optional :project, :string, 2
12
+ optional :project_display_name, :string, 3
13
+ optional :parent, :string, 4
14
+ optional :parent_display_name, :string, 5
15
+ end
16
+ end
17
+ end
18
+
19
+ module Google
20
+ module Cloud
21
+ module SecurityCenter
22
+ module V1p1beta1
23
+ Resource = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.securitycenter.v1p1beta1.Resource").msgclass
24
+ end
25
+ end
26
+ end
27
+ end
@@ -56,7 +56,6 @@ Google::Protobuf::DescriptorPool.generated_pool.build do
56
56
  optional :group_by, :string, 3
57
57
  optional :compare_duration, :message, 4, "google.protobuf.Duration"
58
58
  optional :read_time, :message, 5, "google.protobuf.Timestamp"
59
- optional :having, :string, 6
60
59
  optional :page_token, :string, 7
61
60
  optional :page_size, :int32, 8
62
61
  end
@@ -72,7 +71,6 @@ Google::Protobuf::DescriptorPool.generated_pool.build do
72
71
  optional :group_by, :string, 3
73
72
  optional :read_time, :message, 4, "google.protobuf.Timestamp"
74
73
  optional :compare_duration, :message, 5, "google.protobuf.Duration"
75
- optional :having, :string, 6
76
74
  optional :page_token, :string, 7
77
75
  optional :page_size, :int32, 8
78
76
  end
@@ -110,7 +108,6 @@ Google::Protobuf::DescriptorPool.generated_pool.build do
110
108
  optional :order_by, :string, 3
111
109
  optional :read_time, :message, 4, "google.protobuf.Timestamp"
112
110
  optional :compare_duration, :message, 5, "google.protobuf.Duration"
113
- optional :having, :string, 6
114
111
  optional :field_mask, :message, 7, "google.protobuf.FieldMask"
115
112
  optional :page_token, :string, 8
116
113
  optional :page_size, :int32, 9
@@ -137,7 +134,6 @@ Google::Protobuf::DescriptorPool.generated_pool.build do
137
134
  optional :order_by, :string, 3
138
135
  optional :read_time, :message, 4, "google.protobuf.Timestamp"
139
136
  optional :compare_duration, :message, 5, "google.protobuf.Duration"
140
- optional :having, :string, 6
141
137
  optional :field_mask, :message, 7, "google.protobuf.FieldMask"
142
138
  optional :page_token, :string, 8
143
139
  optional :page_size, :int32, 9
@@ -1,7 +1,7 @@
1
1
  # Generated by the protocol buffer compiler. DO NOT EDIT!
2
2
  # Source: google/cloud/securitycenter/v1p1beta1/securitycenter_service.proto for package 'Google.Cloud.SecurityCenter.V1p1beta1'
3
3
  # Original file comments:
4
- # Copyright 2019 Google LLC.
4
+ # Copyright 2020 Google LLC
5
5
  #
6
6
  # Licensed under the Apache License, Version 2.0 (the "License");
7
7
  # you may not use this file except in compliance with the License.
@@ -15,7 +15,6 @@
15
15
  # See the License for the specific language governing permissions and
16
16
  # limitations under the License.
17
17
  #
18
- #
19
18
 
20
19
  require 'grpc'
21
20
  require 'google/cloud/securitycenter/v1p1beta1/securitycenter_service_pb'
@@ -86,11 +85,11 @@ module Google
86
85
  rpc :SetIamPolicy, Google::Iam::V1::SetIamPolicyRequest, Google::Iam::V1::Policy
87
86
  # Returns the permissions that a caller has on the specified source.
88
87
  rpc :TestIamPermissions, Google::Iam::V1::TestIamPermissionsRequest, Google::Iam::V1::TestIamPermissionsResponse
89
- #
90
88
  # Creates or updates a finding. The corresponding source must exist for a
91
89
  # finding creation to succeed.
92
90
  rpc :UpdateFinding, Google::Cloud::SecurityCenter::V1p1beta1::UpdateFindingRequest, Google::Cloud::SecurityCenter::V1p1beta1::Finding
93
- # Updates a notification config.
91
+ # Updates a notification config. The following update
92
+ # fields are allowed: description, pubsub_topic, streaming_config.filter
94
93
  rpc :UpdateNotificationConfig, Google::Cloud::SecurityCenter::V1p1beta1::UpdateNotificationConfigRequest, Google::Cloud::SecurityCenter::V1p1beta1::NotificationConfig
95
94
  # Updates an organization's settings.
96
95
  rpc :UpdateOrganizationSettings, Google::Cloud::SecurityCenter::V1p1beta1::UpdateOrganizationSettingsRequest, Google::Cloud::SecurityCenter::V1p1beta1::OrganizationSettings
@@ -21,12 +21,13 @@ module Google
21
21
  module Cloud
22
22
  module SecurityCenter
23
23
  module V1p1beta1
24
- # Cloud Security Command Center's (Cloud SCC) representation of a Google Cloud
25
- # Platform (GCP) resource.
24
+ # Security Command Center representation of a Google Cloud
25
+ # resource.
26
26
  #
27
- # The Asset is a Cloud SCC resource that captures information about a single
28
- # GCP resource. All modifications to an Asset are only within the context of
29
- # Cloud SCC and don't affect the referenced GCP resource.
27
+ # The Asset is a Security Command Center resource that captures information
28
+ # about a single Google Cloud resource. All modifications to an Asset are only
29
+ # within the context of Security Command Center and don't affect the referenced
30
+ # Google Cloud resource.
30
31
  # @!attribute [rw] name
31
32
  # @return [::String]
32
33
  # The relative resource name of this asset. See:
@@ -35,45 +36,46 @@ module Google
35
36
  # "organizations/\\{organization_id}/assets/\\{asset_id}".
36
37
  # @!attribute [rw] security_center_properties
37
38
  # @return [::Google::Cloud::SecurityCenter::V1p1beta1::Asset::SecurityCenterProperties]
38
- # Cloud SCC managed properties. These properties are managed by
39
- # Cloud SCC and cannot be modified by the user.
39
+ # Security Command Center managed properties. These properties are managed by
40
+ # Security Command Center and cannot be modified by the user.
40
41
  # @!attribute [rw] resource_properties
41
42
  # @return [::Google::Protobuf::Map{::String => ::Google::Protobuf::Value}]
42
43
  # Resource managed properties. These properties are managed and defined by
43
- # the GCP resource and cannot be modified by the user.
44
+ # the Google Cloud resource and cannot be modified by the user.
44
45
  # @!attribute [rw] security_marks
45
46
  # @return [::Google::Cloud::SecurityCenter::V1p1beta1::SecurityMarks]
46
47
  # User specified security marks. These marks are entirely managed by the user
47
48
  # and come from the SecurityMarks resource that belongs to the asset.
48
49
  # @!attribute [rw] create_time
49
50
  # @return [::Google::Protobuf::Timestamp]
50
- # The time at which the asset was created in Cloud SCC.
51
+ # The time at which the asset was created in Security Command Center.
51
52
  # @!attribute [rw] update_time
52
53
  # @return [::Google::Protobuf::Timestamp]
53
54
  # The time at which the asset was last updated, added, or deleted in Cloud
54
55
  # SCC.
55
56
  # @!attribute [rw] iam_policy
56
57
  # @return [::Google::Cloud::SecurityCenter::V1p1beta1::Asset::IamPolicy]
57
- # IAM Policy information associated with the GCP resource described by the
58
- # Cloud SCC asset. This information is managed and defined by the GCP
59
- # resource and cannot be modified by the user.
58
+ # Cloud IAM Policy information associated with the Google Cloud resource
59
+ # described by the Security Command Center asset. This information is managed
60
+ # and defined by the Google Cloud resource and cannot be modified by the
61
+ # user.
60
62
  class Asset
61
63
  include ::Google::Protobuf::MessageExts
62
64
  extend ::Google::Protobuf::MessageExts::ClassMethods
63
65
 
64
- # Cloud SCC managed properties. These properties are managed by Cloud SCC and
65
- # cannot be modified by the user.
66
+ # Security Command Center managed properties. These properties are managed by
67
+ # Security Command Center and cannot be modified by the user.
66
68
  # @!attribute [rw] resource_name
67
69
  # @return [::String]
68
- # The full resource name of the GCP resource this asset
70
+ # The full resource name of the Google Cloud resource this asset
69
71
  # represents. This field is immutable after create time. See:
70
72
  # https://cloud.google.com/apis/design/resource_names#full_resource_name
71
73
  # @!attribute [rw] resource_type
72
74
  # @return [::String]
73
- # The type of the GCP resource. Examples include: APPLICATION,
75
+ # The type of the Google Cloud resource. Examples include: APPLICATION,
74
76
  # PROJECT, and ORGANIZATION. This is a case insensitive field defined by
75
- # Cloud SCC and/or the producer of the resource and is immutable
76
- # after create time.
77
+ # Security Command Center and/or the producer of the resource and is
78
+ # immutable after create time.
77
79
  # @!attribute [rw] resource_parent
78
80
  # @return [::String]
79
81
  # The full resource name of the immediate parent of the resource. See:
@@ -99,13 +101,14 @@ module Google
99
101
  extend ::Google::Protobuf::MessageExts::ClassMethods
100
102
  end
101
103
 
102
- # IAM Policy information associated with the GCP resource described by the
103
- # Cloud SCC asset. This information is managed and defined by the GCP
104
- # resource and cannot be modified by the user.
104
+ # Cloud IAM Policy information associated with the Google Cloud resource
105
+ # described by the Security Command Center asset. This information is managed
106
+ # and defined by the Google Cloud resource and cannot be modified by the
107
+ # user.
105
108
  # @!attribute [rw] policy_blob
106
109
  # @return [::String]
107
110
  # The JSON representation of the Policy associated with the asset.
108
- # See https://cloud.google.com/iam/reference/rest/v1/Policy for
111
+ # See https://cloud.google.com/iam/docs/reference/rest/v1/Policy for
109
112
  # format details.
110
113
  class IamPolicy
111
114
  include ::Google::Protobuf::MessageExts
@@ -21,12 +21,12 @@ module Google
21
21
  module Cloud
22
22
  module SecurityCenter
23
23
  module V1p1beta1
24
- # Cloud Security Command Center (Cloud SCC) finding.
24
+ # Security Command Center finding.
25
25
  #
26
26
  # A finding is a record of assessment data (security, risk, health or privacy)
27
- # ingested into Cloud SCC for presentation, notification, analysis,
28
- # policy testing, and enforcement. For example, an XSS vulnerability in an
29
- # App Engine application is a finding.
27
+ # ingested into Security Command Center for presentation, notification,
28
+ # analysis, policy testing, and enforcement. For example, an XSS vulnerability
29
+ # in an App Engine application is a finding.
30
30
  # @!attribute [rw] name
31
31
  # @return [::String]
32
32
  # The relative resource name of this finding. See:
@@ -42,12 +42,12 @@ module Google
42
42
  # "organizations/\\{organization_id}/sources/\\{source_id}"
43
43
  # @!attribute [rw] resource_name
44
44
  # @return [::String]
45
- # For findings on Google Cloud Platform (GCP) resources, the full resource
46
- # name of the GCP resource this finding is for. See:
45
+ # For findings on Google Cloud resources, the full resource
46
+ # name of the Google Cloud resource this finding is for. See:
47
47
  # https://cloud.google.com/apis/design/resource_names#full_resource_name
48
- # When the finding is for a non-GCP resource, the resourceName can be a
49
- # customer or partner defined string.
50
- # This field is immutable after creation time.
48
+ # When the finding is for a non-Google Cloud resource, the resourceName can
49
+ # be a customer or partner defined string. This field is immutable after
50
+ # creation time.
51
51
  # @!attribute [rw] state
52
52
  # @return [::Google::Cloud::SecurityCenter::V1p1beta1::Finding::State]
53
53
  # The state of the finding.
@@ -58,9 +58,9 @@ module Google
58
58
  # Example: "XSS_FLASH_INJECTION"
59
59
  # @!attribute [rw] external_uri
60
60
  # @return [::String]
61
- # The URI that, if available, points to a web page outside of Cloud SCC
62
- # where additional information about the finding can be found. This field is
63
- # guaranteed to be either empty or a well formed URL.
61
+ # The URI that, if available, points to a web page outside of Security
62
+ # Command Center where additional information about the finding can be found.
63
+ # This field is guaranteed to be either empty or a well formed URL.
64
64
  # @!attribute [rw] source_properties
65
65
  # @return [::Google::Protobuf::Map{::String => ::Google::Protobuf::Value}]
66
66
  # Source specific properties. These properties are managed by the source
@@ -79,7 +79,7 @@ module Google
79
79
  # the firewall became open. The accuracy is determined by the detector.
80
80
  # @!attribute [rw] create_time
81
81
  # @return [::Google::Protobuf::Timestamp]
82
- # The time at which the finding was created in Cloud SCC.
82
+ # The time at which the finding was created in Security Command Center.
83
83
  class Finding
84
84
  include ::Google::Protobuf::MessageExts
85
85
  extend ::Google::Protobuf::MessageExts::ClassMethods
@@ -21,10 +21,11 @@ module Google
21
21
  module Cloud
22
22
  module SecurityCenter
23
23
  module V1p1beta1
24
- # Cloud Security Command Center (Cloud SCC) notification configs.
24
+ # Security Command Center notification configs.
25
25
  #
26
- # A notification config is a Cloud SCC resource that contains the configuration
27
- # to send notifications for create/update events of findings, assets and etc.
26
+ # A notification config is a Security Command Center resource that contains the
27
+ # configuration to send notifications for create/update events of findings,
28
+ # assets and etc.
28
29
  # @!attribute [rw] name
29
30
  # @return [::String]
30
31
  # The relative resource name of this notification config. See:
@@ -39,12 +40,12 @@ module Google
39
40
  # The type of events the config is for, e.g. FINDING.
40
41
  # @!attribute [rw] pubsub_topic
41
42
  # @return [::String]
42
- # The PubSub topic to send notifications to. Its format is
43
+ # The Pub/Sub topic to send notifications to. Its format is
43
44
  # "projects/[project_id]/topics/[topic]".
44
45
  # @!attribute [r] service_account
45
46
  # @return [::String]
46
47
  # Output only. The service account that needs "pubsub.topics.publish"
47
- # permission to publish to the PubSub topic.
48
+ # permission to publish to the Pub/Sub topic.
48
49
  # @!attribute [rw] streaming_config
49
50
  # @return [::Google::Cloud::SecurityCenter::V1p1beta1::NotificationConfig::StreamingConfig]
50
51
  # The config for triggering streaming-based notifications.
@@ -21,7 +21,7 @@ module Google
21
21
  module Cloud
22
22
  module SecurityCenter
23
23
  module V1p1beta1
24
- # Cloud SCC's Notification
24
+ # Security Command Center's Notification
25
25
  # @!attribute [rw] notification_config_name
26
26
  # @return [::String]
27
27
  # Name of the notification config that generated current notification.
@@ -29,6 +29,9 @@ module Google
29
29
  # @return [::Google::Cloud::SecurityCenter::V1p1beta1::Finding]
30
30
  # If it's a Finding based notification config, this field will be
31
31
  # populated.
32
+ # @!attribute [rw] resource
33
+ # @return [::Google::Cloud::SecurityCenter::V1p1beta1::Resource]
34
+ # The Cloud resource tied to the notification.
32
35
  class NotificationMessage
33
36
  include ::Google::Protobuf::MessageExts
34
37
  extend ::Google::Protobuf::MessageExts::ClassMethods
@@ -21,8 +21,8 @@ module Google
21
21
  module Cloud
22
22
  module SecurityCenter
23
23
  module V1p1beta1
24
- # User specified settings that are attached to the Cloud Security Command
25
- # Center (Cloud SCC) organization.
24
+ # User specified settings that are attached to the Security Command
25
+ # Center organization.
26
26
  # @!attribute [rw] name
27
27
  # @return [::String]
28
28
  # The relative resource name of the settings. See:
@@ -0,0 +1,48 @@
1
+ # frozen_string_literal: true
2
+
3
+ # Copyright 2020 Google LLC
4
+ #
5
+ # Licensed under the Apache License, Version 2.0 (the "License");
6
+ # you may not use this file except in compliance with the License.
7
+ # You may obtain a copy of the License at
8
+ #
9
+ # https://www.apache.org/licenses/LICENSE-2.0
10
+ #
11
+ # Unless required by applicable law or agreed to in writing, software
12
+ # distributed under the License is distributed on an "AS IS" BASIS,
13
+ # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14
+ # See the License for the specific language governing permissions and
15
+ # limitations under the License.
16
+
17
+ # Auto-generated by gapic-generator-ruby. DO NOT EDIT!
18
+
19
+
20
+ module Google
21
+ module Cloud
22
+ module SecurityCenter
23
+ module V1p1beta1
24
+ # Information related to the Google Cloud resource.
25
+ # @!attribute [rw] name
26
+ # @return [::String]
27
+ # The full resource name of the resource. See:
28
+ # https://cloud.google.com/apis/design/resource_names#full_resource_name
29
+ # @!attribute [rw] project
30
+ # @return [::String]
31
+ # The full resource name of project that the resource belongs to.
32
+ # @!attribute [rw] project_display_name
33
+ # @return [::String]
34
+ # The human readable name of project that the resource belongs to.
35
+ # @!attribute [rw] parent
36
+ # @return [::String]
37
+ # The full resource name of resource's parent.
38
+ # @!attribute [rw] parent_display_name
39
+ # @return [::String]
40
+ # The human readable name of resource's parent.
41
+ class Resource
42
+ include ::Google::Protobuf::MessageExts
43
+ extend ::Google::Protobuf::MessageExts::ClassMethods
44
+ end
45
+ end
46
+ end
47
+ end
48
+ end
@@ -21,9 +21,9 @@ module Google
21
21
  module Cloud
22
22
  module SecurityCenter
23
23
  module V1p1beta1
24
- # User specified security marks that are attached to the parent Cloud Security
25
- # Command Center (Cloud SCC) resource. Security marks are scoped within a Cloud
26
- # SCC organization -- they can be modified and viewed by all users who have
24
+ # User specified security marks that are attached to the parent Security
25
+ # Command Center resource. Security marks are scoped within a Security Command
26
+ # Center organization -- they can be modified and viewed by all users who have
27
27
  # proper permissions on the organization.
28
28
  # @!attribute [rw] name
29
29
  # @return [::String]