organization_settings.proto 3.4 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485
  1. // Copyright 2022 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. option csharp_namespace = "Google.Cloud.SecurityCenter.V1";
  18. option go_package = "google.golang.org/genproto/googleapis/cloud/securitycenter/v1;securitycenter";
  19. option java_multiple_files = true;
  20. option java_package = "com.google.cloud.securitycenter.v1";
  21. option php_namespace = "Google\\Cloud\\SecurityCenter\\V1";
  22. option ruby_package = "Google::Cloud::SecurityCenter::V1";
  23. // User specified settings that are attached to the Security Command
  24. // Center organization.
  25. message OrganizationSettings {
  26. option (google.api.resource) = {
  27. type: "securitycenter.googleapis.com/OrganizationSettings"
  28. pattern: "organizations/{organization}/organizationSettings"
  29. };
  30. // The configuration used for Asset Discovery runs.
  31. message AssetDiscoveryConfig {
  32. // The mode of inclusion when running Asset Discovery.
  33. // Asset discovery can be limited by explicitly identifying projects to be
  34. // included or excluded. If INCLUDE_ONLY is set, then only those projects
  35. // within the organization and their children are discovered during asset
  36. // discovery. If EXCLUDE is set, then projects that don't match those
  37. // projects are discovered during asset discovery. If neither are set, then
  38. // all projects within the organization are discovered during asset
  39. // discovery.
  40. enum InclusionMode {
  41. // Unspecified. Setting the mode with this value will disable
  42. // inclusion/exclusion filtering for Asset Discovery.
  43. INCLUSION_MODE_UNSPECIFIED = 0;
  44. // Asset Discovery will capture only the resources within the projects
  45. // specified. All other resources will be ignored.
  46. INCLUDE_ONLY = 1;
  47. // Asset Discovery will ignore all resources under the projects specified.
  48. // All other resources will be retrieved.
  49. EXCLUDE = 2;
  50. }
  51. // The project ids to use for filtering asset discovery.
  52. repeated string project_ids = 1;
  53. // The mode to use for filtering asset discovery.
  54. InclusionMode inclusion_mode = 2;
  55. // The folder ids to use for filtering asset discovery.
  56. // It consists of only digits, e.g., 756619654966.
  57. repeated string folder_ids = 3;
  58. }
  59. // The relative resource name of the settings. See:
  60. // https://cloud.google.com/apis/design/resource_names#relative_resource_name
  61. // Example:
  62. // "organizations/{organization_id}/organizationSettings".
  63. string name = 1;
  64. // A flag that indicates if Asset Discovery should be enabled. If the flag is
  65. // set to `true`, then discovery of assets will occur. If it is set to `false,
  66. // all historical assets will remain, but discovery of future assets will not
  67. // occur.
  68. bool enable_asset_discovery = 2;
  69. // The configuration used for Asset Discovery runs.
  70. AssetDiscoveryConfig asset_discovery_config = 3;
  71. }