organization_settings.proto 3.4 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586
  1. // Copyright 2021 Google LLC
  2. //
  3. // Licensed under the Apache License, Version 2.0 (the "License");
  4. // you may not use this file except in compliance with the License.
  5. // You may obtain a copy of the License at
  6. //
  7. // http://www.apache.org/licenses/LICENSE-2.0
  8. //
  9. // Unless required by applicable law or agreed to in writing, software
  10. // distributed under the License is distributed on an "AS IS" BASIS,
  11. // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  12. // See the License for the specific language governing permissions and
  13. // limitations under the License.
  14. syntax = "proto3";
  15. package google.cloud.securitycenter.v1;
  16. import "google/api/resource.proto";
  17. import "google/api/annotations.proto";
  18. option csharp_namespace = "Google.Cloud.SecurityCenter.V1";
  19. option go_package = "google.golang.org/genproto/googleapis/cloud/securitycenter/v1;securitycenter";
  20. option java_multiple_files = true;
  21. option java_package = "com.google.cloud.securitycenter.v1";
  22. option php_namespace = "Google\\Cloud\\SecurityCenter\\V1";
  23. option ruby_package = "Google::Cloud::SecurityCenter::V1";
  24. // User specified settings that are attached to the Security Command
  25. // Center organization.
  26. message OrganizationSettings {
  27. option (google.api.resource) = {
  28. type: "securitycenter.googleapis.com/OrganizationSettings"
  29. pattern: "organizations/{organization}/organizationSettings"
  30. };
  31. // The configuration used for Asset Discovery runs.
  32. message AssetDiscoveryConfig {
  33. // The mode of inclusion when running Asset Discovery.
  34. // Asset discovery can be limited by explicitly identifying projects to be
  35. // included or excluded. If INCLUDE_ONLY is set, then only those projects
  36. // within the organization and their children are discovered during asset
  37. // discovery. If EXCLUDE is set, then projects that don't match those
  38. // projects are discovered during asset discovery. If neither are set, then
  39. // all projects within the organization are discovered during asset
  40. // discovery.
  41. enum InclusionMode {
  42. // Unspecified. Setting the mode with this value will disable
  43. // inclusion/exclusion filtering for Asset Discovery.
  44. INCLUSION_MODE_UNSPECIFIED = 0;
  45. // Asset Discovery will capture only the resources within the projects
  46. // specified. All other resources will be ignored.
  47. INCLUDE_ONLY = 1;
  48. // Asset Discovery will ignore all resources under the projects specified.
  49. // All other resources will be retrieved.
  50. EXCLUDE = 2;
  51. }
  52. // The project ids to use for filtering asset discovery.
  53. repeated string project_ids = 1;
  54. // The mode to use for filtering asset discovery.
  55. InclusionMode inclusion_mode = 2;
  56. // The folder ids to use for filtering asset discovery.
  57. // It consists of only digits, e.g., 756619654966.
  58. repeated string folder_ids = 3;
  59. }
  60. // The relative resource name of the settings. See:
  61. // https://cloud.google.com/apis/design/resource_names#relative_resource_name
  62. // Example:
  63. // "organizations/{organization_id}/organizationSettings".
  64. string name = 1;
  65. // A flag that indicates if Asset Discovery should be enabled. If the flag is
  66. // set to `true`, then discovery of assets will occur. If it is set to `false,
  67. // all historical assets will remain, but discovery of future assets will not
  68. // occur.
  69. bool enable_asset_discovery = 2;
  70. // The configuration used for Asset Discovery runs.
  71. AssetDiscoveryConfig asset_discovery_config = 3;
  72. }