# frozen_string_literal: true
# Generated by the protocol buffer compiler.  DO NOT EDIT!
# source: google/cloud/cloudsecuritycompliance/v1/common.proto

require 'google/protobuf'

require 'google/api/field_behavior_pb'
require 'google/api/resource_pb'
require 'google/protobuf/timestamp_pb'


descriptor_data = "\n4google/cloud/cloudsecuritycompliance/v1/common.proto\x12\'google.cloud.cloudsecuritycompliance.v1\x1a\x1fgoogle/api/field_behavior.proto\x1a\x19google/api/resource.proto\x1a\x1fgoogle/protobuf/timestamp.proto\"\x94\x07\n\tFramework\x12\x14\n\x04name\x18\x01 \x01(\tB\x06\xe0\x41\x02\xe0\x41\x08\x12\x1e\n\x11major_revision_id\x18\x02 \x01(\x03\x42\x03\xe0\x41\x03\x12\x19\n\x0c\x64isplay_name\x18\x04 \x01(\tB\x03\xe0\x41\x01\x12\x18\n\x0b\x64\x65scription\x18\x05 \x01(\tB\x03\xe0\x41\x01\x12S\n\x04type\x18\x06 \x01(\x0e\x32@.google.cloud.cloudsecuritycompliance.v1.Framework.FrameworkTypeB\x03\xe0\x41\x03\x12`\n\x15\x63loud_control_details\x18\x08 \x03(\x0b\x32<.google.cloud.cloudsecuritycompliance.v1.CloudControlDetailsB\x03\xe0\x41\x01\x12Q\n\x08\x63\x61tegory\x18\t \x03(\x0e\x32:.google.cloud.cloudsecuritycompliance.v1.FrameworkCategoryB\x03\xe0\x41\x01\x12^\n\x19supported_cloud_providers\x18\n \x03(\x0e\x32\x36.google.cloud.cloudsecuritycompliance.v1.CloudProviderB\x03\xe0\x41\x03\x12i\n\x1fsupported_target_resource_types\x18\x0b \x03(\x0e\x32;.google.cloud.cloudsecuritycompliance.v1.TargetResourceTypeB\x03\xe0\x41\x03\x12\x62\n\x1bsupported_enforcement_modes\x18\r \x03(\x0e\x32\x38.google.cloud.cloudsecuritycompliance.v1.EnforcementModeB\x03\xe0\x41\x03\"I\n\rFrameworkType\x12\x1e\n\x1a\x46RAMEWORK_TYPE_UNSPECIFIED\x10\x00\x12\x0c\n\x08\x42UILT_IN\x10\x01\x12\n\n\x06\x43USTOM\x10\x02:\x97\x01\xea\x41\x93\x01\n0cloudsecuritycompliance.googleapis.com/Framework\x12Horganizations/{organization}/locations/{location}/frameworks/{framework}*\nframeworks2\tframework\"\x95\x01\n\x13\x43loudControlDetails\x12\x11\n\x04name\x18\x01 \x01(\tB\x03\xe0\x41\x02\x12\x1e\n\x11major_revision_id\x18\x02 \x01(\x03\x42\x03\xe0\x41\x02\x12K\n\nparameters\x18\x04 \x03(\x0b\x32\x32.google.cloud.cloudsecuritycompliance.v1.ParameterB\x03\xe0\x41\x01\"g\n\x12\x46rameworkReference\x12\x16\n\tframework\x18\x01 \x01(\tB\x03\xe0\x41\x02\x12#\n\x11major_revision_id\x18\x02 \x01(\x03\x42\x03\xe0\x41\x01H\x00\x88\x01\x01\x42\x14\n\x12_major_revision_id\"q\n\tParameter\x12\x11\n\x04name\x18\x01 \x01(\tB\x03\xe0\x41\x02\x12Q\n\x0fparameter_value\x18\x02 \x01(\x0b\x32\x33.google.cloud.cloudsecuritycompliance.v1.ParamValueB\x03\xe0\x41\x02\"\xa2\x08\n\x0c\x43loudControl\x12\x14\n\x04name\x18\x01 \x01(\tB\x06\xe0\x41\x02\xe0\x41\x08\x12\x1e\n\x11major_revision_id\x18\x02 \x01(\x03\x42\x03\xe0\x41\x03\x12\x18\n\x0b\x64\x65scription\x18\x04 \x01(\tB\x03\xe0\x41\x01\x12\x19\n\x0c\x64isplay_name\x18\x05 \x01(\tB\x03\xe0\x41\x01\x12\x62\n\x1bsupported_enforcement_modes\x18\x07 \x03(\x0e\x32\x38.google.cloud.cloudsecuritycompliance.v1.EnforcementModeB\x03\xe0\x41\x03\x12S\n\x0eparameter_spec\x18\x08 \x03(\x0b\x32\x36.google.cloud.cloudsecuritycompliance.v1.ParameterSpecB\x03\xe0\x41\x01\x12\x41\n\x05rules\x18\t \x03(\x0b\x32-.google.cloud.cloudsecuritycompliance.v1.RuleB\x03\xe0\x41\x01\x12H\n\x08severity\x18\x0b \x01(\x0e\x32\x31.google.cloud.cloudsecuritycompliance.v1.SeverityB\x03\xe0\x41\x01\x12\x1d\n\x10\x66inding_category\x18\x0c \x01(\tB\x03\xe0\x41\x01\x12^\n\x19supported_cloud_providers\x18\r \x03(\x0e\x32\x36.google.cloud.cloudsecuritycompliance.v1.CloudProviderB\x03\xe0\x41\x01\x12\x1f\n\x12related_frameworks\x18\x0e \x03(\tB\x03\xe0\x41\x03\x12\x1e\n\x11remediation_steps\x18\x0f \x01(\tB\x03\xe0\x41\x01\x12V\n\ncategories\x18\x10 \x03(\x0e\x32=.google.cloud.cloudsecuritycompliance.v1.CloudControlCategoryB\x03\xe0\x41\x01\x12\x34\n\x0b\x63reate_time\x18\x11 \x01(\x0b\x32\x1a.google.protobuf.TimestampB\x03\xe0\x41\x03\x12i\n\x1fsupported_target_resource_types\x18\x12 \x03(\x0e\x32;.google.cloud.cloudsecuritycompliance.v1.TargetResourceTypeB\x03\xe0\x41\x01:\xa7\x01\xea\x41\xa3\x01\n3cloudsecuritycompliance.googleapis.com/CloudControl\x12Oorganizations/{organization}/locations/{location}/cloudControls/{cloud_control}*\rcloudControls2\x0c\x63loudControl\"\x8e\x05\n\rParameterSpec\x12\x11\n\x04name\x18\x01 \x01(\tB\x03\xe0\x41\x02\x12\x19\n\x0c\x64isplay_name\x18\x02 \x01(\tB\x03\xe0\x41\x01\x12\x18\n\x0b\x64\x65scription\x18\x03 \x01(\tB\x03\xe0\x41\x01\x12\x18\n\x0bis_required\x18\x04 \x01(\x08\x42\x03\xe0\x41\x02\x12Y\n\nvalue_type\x18\x05 \x01(\x0e\x32@.google.cloud.cloudsecuritycompliance.v1.ParameterSpec.ValueTypeB\x03\xe0\x41\x02\x12O\n\rdefault_value\x18\x06 \x01(\x0b\x32\x33.google.cloud.cloudsecuritycompliance.v1.ParamValueB\x03\xe0\x41\x01\x12\x63\n\x12substitution_rules\x18\x07 \x03(\x0b\x32\x42.google.cloud.cloudsecuritycompliance.v1.ParameterSubstitutionRuleB\x03\xe0\x41\x01\x12S\n\x0esub_parameters\x18\x08 \x03(\x0b\x32\x36.google.cloud.cloudsecuritycompliance.v1.ParameterSpecB\x03\xe0\x41\x01\x12L\n\nvalidation\x18\t \x01(\x0b\x32\x33.google.cloud.cloudsecuritycompliance.v1.ValidationB\x03\xe0\x41\x01\"g\n\tValueType\x12\x1a\n\x16VALUE_TYPE_UNSPECIFIED\x10\x00\x12\n\n\x06STRING\x10\x03\x12\x0b\n\x07\x42OOLEAN\x10\x04\x12\x0e\n\nSTRINGLIST\x10\x05\x12\n\n\x06NUMBER\x10\x06\x12\t\n\x05ONEOF\x10\x07\"\x86\x02\n\nValidation\x12P\n\x0e\x61llowed_values\x18\x01 \x01(\x0b\x32\x36.google.cloud.cloudsecuritycompliance.v1.AllowedValuesH\x00\x12\x46\n\tint_range\x18\x02 \x01(\x0b\x32\x31.google.cloud.cloudsecuritycompliance.v1.IntRangeH\x00\x12P\n\x0eregexp_pattern\x18\x03 \x01(\x0b\x32\x36.google.cloud.cloudsecuritycompliance.v1.RegexpPatternH\x00\x42\x0c\n\nconstraint\"Y\n\rAllowedValues\x12H\n\x06values\x18\x01 \x03(\x0b\x32\x33.google.cloud.cloudsecuritycompliance.v1.ParamValueB\x03\xe0\x41\x02\"%\n\rRegexpPattern\x12\x14\n\x07pattern\x18\x01 \x01(\tB\x03\xe0\x41\x02\".\n\x08IntRange\x12\x10\n\x03min\x18\x01 \x01(\x03\x42\x03\xe0\x41\x02\x12\x10\n\x03max\x18\x02 \x01(\x03\x42\x03\xe0\x41\x02\"!\n\nStringList\x12\x13\n\x06values\x18\x01 \x03(\tB\x03\xe0\x41\x02\"\xf7\x01\n\nParamValue\x12\x16\n\x0cstring_value\x18\x03 \x01(\tH\x00\x12\x14\n\nbool_value\x18\x04 \x01(\x08H\x00\x12P\n\x11string_list_value\x18\x05 \x01(\x0b\x32\x33.google.cloud.cloudsecuritycompliance.v1.StringListH\x00\x12\x16\n\x0cnumber_value\x18\x06 \x01(\x01H\x00\x12I\n\x0boneof_value\x18\x07 \x01(\x0b\x32\x32.google.cloud.cloudsecuritycompliance.v1.ParameterH\x00\x42\x06\n\x04kind\"\x8a\x02\n\x19ParameterSubstitutionRule\x12m\n\x1dplaceholder_substitution_rule\x18\x01 \x01(\x0b\x32\x44.google.cloud.cloudsecuritycompliance.v1.PlaceholderSubstitutionRuleH\x00\x12i\n\x1b\x61ttribute_substitution_rule\x18\x02 \x01(\x0b\x32\x42.google.cloud.cloudsecuritycompliance.v1.AttributeSubstitutionRuleH\x00\x42\x13\n\x11substitution_type\".\n\x19\x41ttributeSubstitutionRule\x12\x11\n\tattribute\x18\x01 \x01(\t\"0\n\x1bPlaceholderSubstitutionRule\x12\x11\n\tattribute\x18\x01 \x01(\t\"\xdd\x01\n\x04Rule\x12P\n\x0e\x63\x65l_expression\x18\x01 \x01(\x0b\x32\x36.google.cloud.cloudsecuritycompliance.v1.CELExpressionH\x00\x12\x18\n\x0b\x64\x65scription\x18\n \x01(\tB\x03\xe0\x41\x01\x12W\n\x11rule_action_types\x18\x10 \x03(\x0e\x32\x37.google.cloud.cloudsecuritycompliance.v1.RuleActionTypeB\x03\xe0\x41\x02\x42\x10\n\x0eimplementation\"\x8a\x01\n\rCELExpression\x12T\n\x15resource_types_values\x18\x03 \x01(\x0b\x32\x33.google.cloud.cloudsecuritycompliance.v1.StringListH\x00\x12\x17\n\nexpression\x18\x01 \x01(\tB\x03\xe0\x41\x02\x42\n\n\x08\x63riteria\"\x80\x02\n\x11OperationMetadata\x12\x34\n\x0b\x63reate_time\x18\x01 \x01(\x0b\x32\x1a.google.protobuf.TimestampB\x03\xe0\x41\x03\x12\x31\n\x08\x65nd_time\x18\x02 \x01(\x0b\x32\x1a.google.protobuf.TimestampB\x03\xe0\x41\x03\x12\x13\n\x06target\x18\x03 \x01(\tB\x03\xe0\x41\x03\x12\x11\n\x04verb\x18\x04 \x01(\tB\x03\xe0\x41\x03\x12\x1b\n\x0estatus_message\x18\x05 \x01(\tB\x03\xe0\x41\x03\x12#\n\x16requested_cancellation\x18\x06 \x01(\x08\x42\x03\xe0\x41\x03\x12\x18\n\x0b\x61pi_version\x18\x07 \x01(\tB\x03\xe0\x41\x03*]\n\x0f\x45nforcementMode\x12 \n\x1c\x45NFORCEMENT_MODE_UNSPECIFIED\x10\x00\x12\x0e\n\nPREVENTIVE\x10\x01\x12\r\n\tDETECTIVE\x10\x02\x12\t\n\x05\x41UDIT\x10\x03*\xb1\x01\n\x11\x46rameworkCategory\x12\"\n\x1e\x46RAMEWORK_CATEGORY_UNSPECIFIED\x10\x00\x12\x1d\n\x19INDUSTRY_DEFINED_STANDARD\x10\x01\x12\x15\n\x11\x41SSURED_WORKLOADS\x10\x02\x12\x11\n\rDATA_SECURITY\x10\x03\x12\x19\n\x15GOOGLE_BEST_PRACTICES\x10\x04\x12\x14\n\x10\x43USTOM_FRAMEWORK\x10\x05*\xf2\x04\n\x14\x43loudControlCategory\x12&\n\"CLOUD_CONTROL_CATEGORY_UNSPECIFIED\x10\x00\x12\x1e\n\x1a\x43\x43_CATEGORY_INFRASTRUCTURE\x10\x01\x12\'\n#CC_CATEGORY_ARTIFICIAL_INTELLIGENCE\x10\x02\x12!\n\x1d\x43\x43_CATEGORY_PHYSICAL_SECURITY\x10\x03\x12\x1d\n\x19\x43\x43_CATEGORY_DATA_SECURITY\x10\x04\x12 \n\x1c\x43\x43_CATEGORY_NETWORK_SECURITY\x10\x05\x12#\n\x1f\x43\x43_CATEGORY_INCIDENT_MANAGEMENT\x10\x06\x12.\n*CC_CATEGORY_IDENTITY_AND_ACCESS_MANAGEMENT\x10\x07\x12\x1a\n\x16\x43\x43_CATEGORY_ENCRYPTION\x10\x08\x12\x32\n.CC_CATEGORY_LOGS_MANAGEMENT_AND_INFRASTRUCTURE\x10\t\x12&\n\"CC_CATEGORY_HR_ADMIN_AND_PROCESSES\x10\n\x12\x38\n4CC_CATEGORY_THIRD_PARTY_AND_SUB_PROCESSOR_MANAGEMENT\x10\x0b\x12%\n!CC_CATEGORY_LEGAL_AND_DISCLOSURES\x10\x0c\x12(\n$CC_CATEGORY_VULNERABILITY_MANAGEMENT\x10\r\x12\x17\n\x13\x43\x43_CATEGORY_PRIVACY\x10\x0e\x12\x14\n\x10\x43\x43_CATEGORY_BCDR\x10\x0f*L\n\rCloudProvider\x12\x1e\n\x1a\x43LOUD_PROVIDER_UNSPECIFIED\x10\x00\x12\x07\n\x03\x41WS\x10\x01\x12\t\n\x05\x41ZURE\x10\x02\x12\x07\n\x03GCP\x10\x03*Q\n\x08Severity\x12\x18\n\x14SEVERITY_UNSPECIFIED\x10\x00\x12\x0c\n\x08\x43RITICAL\x10\x01\x12\x08\n\x04HIGH\x10\x02\x12\n\n\x06MEDIUM\x10\x03\x12\x07\n\x03LOW\x10\x04*\x8f\x01\n\x0eRuleActionType\x12 \n\x1cRULE_ACTION_TYPE_UNSPECIFIED\x10\x00\x12\x1f\n\x1bRULE_ACTION_TYPE_PREVENTIVE\x10\x01\x12\x1e\n\x1aRULE_ACTION_TYPE_DETECTIVE\x10\x02\x12\x1a\n\x16RULE_ACTION_TYPE_AUDIT\x10\x03*\xcd\x01\n\x12TargetResourceType\x12$\n TARGET_RESOURCE_TYPE_UNSPECIFIED\x10\x00\x12 \n\x1cTARGET_RESOURCE_CRM_TYPE_ORG\x10\x01\x12#\n\x1fTARGET_RESOURCE_CRM_TYPE_FOLDER\x10\x02\x12$\n TARGET_RESOURCE_CRM_TYPE_PROJECT\x10\x03\x12$\n TARGET_RESOURCE_TYPE_APPLICATION\x10\x04\x42\x97\x03\n+com.google.cloud.cloudsecuritycompliance.v1B\x0b\x43ommonProtoP\x01Zecloud.google.com/go/cloudsecuritycompliance/apiv1/cloudsecuritycompliancepb;cloudsecuritycompliancepb\xaa\x02\'Google.Cloud.CloudSecurityCompliance.V1\xca\x02\'Google\\Cloud\\CloudSecurityCompliance\\V1\xea\x02*Google::Cloud::CloudSecurityCompliance::V1\xea\x41p\n;cloudsecuritycompliance.googleapis.com/OrganizationLocation\x12\x31organizations/{organization}/locations/{location}b\x06proto3"

pool = Google::Protobuf::DescriptorPool.generated_pool

begin
  pool.add_serialized_file(descriptor_data)
rescue TypeError
  # Compatibility code: will be removed in the next major version.
  require 'google/protobuf/descriptor_pb'
  parsed = Google::Protobuf::FileDescriptorProto.decode(descriptor_data)
  parsed.clear_dependency
  serialized = parsed.class.encode(parsed)
  file = pool.add_serialized_file(serialized)
  warn "Warning: Protobuf detected an import path issue while loading generated file #{__FILE__}"
  imports = [
    ["google.protobuf.Timestamp", "google/protobuf/timestamp.proto"],
  ]
  imports.each do |type_name, expected_filename|
    import_file = pool.lookup(type_name).file_descriptor
    if import_file.name != expected_filename
      warn "- #{file.name} imports #{expected_filename}, but that import was loaded as #{import_file.name}"
    end
  end
  warn "Each proto file must use a consistent fully-qualified name."
  warn "This will become an error in the next major version."
end

module Google
  module Cloud
    module CloudSecurityCompliance
      module V1
        Framework = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.cloudsecuritycompliance.v1.Framework").msgclass
        Framework::FrameworkType = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.cloudsecuritycompliance.v1.Framework.FrameworkType").enummodule
        CloudControlDetails = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.cloudsecuritycompliance.v1.CloudControlDetails").msgclass
        FrameworkReference = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.cloudsecuritycompliance.v1.FrameworkReference").msgclass
        Parameter = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.cloudsecuritycompliance.v1.Parameter").msgclass
        CloudControl = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.cloudsecuritycompliance.v1.CloudControl").msgclass
        ParameterSpec = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.cloudsecuritycompliance.v1.ParameterSpec").msgclass
        ParameterSpec::ValueType = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.cloudsecuritycompliance.v1.ParameterSpec.ValueType").enummodule
        Validation = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.cloudsecuritycompliance.v1.Validation").msgclass
        AllowedValues = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.cloudsecuritycompliance.v1.AllowedValues").msgclass
        RegexpPattern = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.cloudsecuritycompliance.v1.RegexpPattern").msgclass
        IntRange = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.cloudsecuritycompliance.v1.IntRange").msgclass
        StringList = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.cloudsecuritycompliance.v1.StringList").msgclass
        ParamValue = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.cloudsecuritycompliance.v1.ParamValue").msgclass
        ParameterSubstitutionRule = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.cloudsecuritycompliance.v1.ParameterSubstitutionRule").msgclass
        AttributeSubstitutionRule = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.cloudsecuritycompliance.v1.AttributeSubstitutionRule").msgclass
        PlaceholderSubstitutionRule = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.cloudsecuritycompliance.v1.PlaceholderSubstitutionRule").msgclass
        Rule = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.cloudsecuritycompliance.v1.Rule").msgclass
        CELExpression = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.cloudsecuritycompliance.v1.CELExpression").msgclass
        OperationMetadata = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.cloudsecuritycompliance.v1.OperationMetadata").msgclass
        EnforcementMode = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.cloudsecuritycompliance.v1.EnforcementMode").enummodule
        FrameworkCategory = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.cloudsecuritycompliance.v1.FrameworkCategory").enummodule
        CloudControlCategory = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.cloudsecuritycompliance.v1.CloudControlCategory").enummodule
        CloudProvider = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.cloudsecuritycompliance.v1.CloudProvider").enummodule
        Severity = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.cloudsecuritycompliance.v1.Severity").enummodule
        RuleActionType = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.cloudsecuritycompliance.v1.RuleActionType").enummodule
        TargetResourceType = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.cloudsecuritycompliance.v1.TargetResourceType").enummodule
      end
    end
  end
end
