# Generated by the protocol buffer compiler.  DO NOT EDIT!
# source: google/cloud/assuredworkloads/v1/assuredworkloads.proto

require 'google/protobuf'

require 'google/api/annotations_pb'
require 'google/api/client_pb'
require 'google/api/field_behavior_pb'
require 'google/api/resource_pb'
require 'google/longrunning/operations_pb'
require 'google/protobuf/duration_pb'
require 'google/protobuf/empty_pb'
require 'google/protobuf/field_mask_pb'
require 'google/protobuf/timestamp_pb'

Google::Protobuf::DescriptorPool.generated_pool.build do
  add_file("google/cloud/assuredworkloads/v1/assuredworkloads.proto", :syntax => :proto3) do
    add_message "google.cloud.assuredworkloads.v1.CreateWorkloadRequest" do
      optional :parent, :string, 1
      optional :workload, :message, 2, "google.cloud.assuredworkloads.v1.Workload"
      optional :external_id, :string, 3
    end
    add_message "google.cloud.assuredworkloads.v1.UpdateWorkloadRequest" do
      optional :workload, :message, 1, "google.cloud.assuredworkloads.v1.Workload"
      optional :update_mask, :message, 2, "google.protobuf.FieldMask"
    end
    add_message "google.cloud.assuredworkloads.v1.DeleteWorkloadRequest" do
      optional :name, :string, 1
      optional :etag, :string, 2
    end
    add_message "google.cloud.assuredworkloads.v1.GetWorkloadRequest" do
      optional :name, :string, 1
    end
    add_message "google.cloud.assuredworkloads.v1.ListWorkloadsRequest" do
      optional :parent, :string, 1
      optional :page_size, :int32, 2
      optional :page_token, :string, 3
      optional :filter, :string, 4
    end
    add_message "google.cloud.assuredworkloads.v1.ListWorkloadsResponse" do
      repeated :workloads, :message, 1, "google.cloud.assuredworkloads.v1.Workload"
      optional :next_page_token, :string, 2
    end
    add_message "google.cloud.assuredworkloads.v1.Workload" do
      optional :name, :string, 1
      optional :display_name, :string, 2
      repeated :resources, :message, 3, "google.cloud.assuredworkloads.v1.Workload.ResourceInfo"
      optional :compliance_regime, :enum, 4, "google.cloud.assuredworkloads.v1.Workload.ComplianceRegime"
      optional :create_time, :message, 5, "google.protobuf.Timestamp"
      optional :billing_account, :string, 6
      optional :etag, :string, 9
      map :labels, :string, :string, 10
      optional :provisioned_resources_parent, :string, 13
      optional :kms_settings, :message, 14, "google.cloud.assuredworkloads.v1.Workload.KMSSettings"
      repeated :resource_settings, :message, 15, "google.cloud.assuredworkloads.v1.Workload.ResourceSettings"
      optional :kaj_enrollment_state, :enum, 17, "google.cloud.assuredworkloads.v1.Workload.KajEnrollmentState"
      optional :enable_sovereign_controls, :bool, 18
      optional :saa_enrollment_response, :message, 20, "google.cloud.assuredworkloads.v1.Workload.SaaEnrollmentResponse"
      repeated :compliant_but_disallowed_services, :string, 24
      optional :partner, :enum, 25, "google.cloud.assuredworkloads.v1.Workload.Partner"
    end
    add_message "google.cloud.assuredworkloads.v1.Workload.ResourceInfo" do
      optional :resource_id, :int64, 1
      optional :resource_type, :enum, 2, "google.cloud.assuredworkloads.v1.Workload.ResourceInfo.ResourceType"
    end
    add_enum "google.cloud.assuredworkloads.v1.Workload.ResourceInfo.ResourceType" do
      value :RESOURCE_TYPE_UNSPECIFIED, 0
      value :CONSUMER_PROJECT, 1
      value :CONSUMER_FOLDER, 4
      value :ENCRYPTION_KEYS_PROJECT, 2
      value :KEYRING, 3
    end
    add_message "google.cloud.assuredworkloads.v1.Workload.KMSSettings" do
      optional :next_rotation_time, :message, 1, "google.protobuf.Timestamp"
      optional :rotation_period, :message, 2, "google.protobuf.Duration"
    end
    add_message "google.cloud.assuredworkloads.v1.Workload.ResourceSettings" do
      optional :resource_id, :string, 1
      optional :resource_type, :enum, 2, "google.cloud.assuredworkloads.v1.Workload.ResourceInfo.ResourceType"
      optional :display_name, :string, 3
    end
    add_message "google.cloud.assuredworkloads.v1.Workload.SaaEnrollmentResponse" do
      proto3_optional :setup_status, :enum, 1, "google.cloud.assuredworkloads.v1.Workload.SaaEnrollmentResponse.SetupState"
      repeated :setup_errors, :enum, 2, "google.cloud.assuredworkloads.v1.Workload.SaaEnrollmentResponse.SetupError"
    end
    add_enum "google.cloud.assuredworkloads.v1.Workload.SaaEnrollmentResponse.SetupState" do
      value :SETUP_STATE_UNSPECIFIED, 0
      value :STATUS_PENDING, 1
      value :STATUS_COMPLETE, 2
    end
    add_enum "google.cloud.assuredworkloads.v1.Workload.SaaEnrollmentResponse.SetupError" do
      value :SETUP_ERROR_UNSPECIFIED, 0
      value :ERROR_INVALID_BASE_SETUP, 1
      value :ERROR_MISSING_EXTERNAL_SIGNING_KEY, 2
      value :ERROR_NOT_ALL_SERVICES_ENROLLED, 3
      value :ERROR_SETUP_CHECK_FAILED, 4
    end
    add_enum "google.cloud.assuredworkloads.v1.Workload.ComplianceRegime" do
      value :COMPLIANCE_REGIME_UNSPECIFIED, 0
      value :IL4, 1
      value :CJIS, 2
      value :FEDRAMP_HIGH, 3
      value :FEDRAMP_MODERATE, 4
      value :US_REGIONAL_ACCESS, 5
      value :HIPAA, 6
      value :HITRUST, 7
      value :EU_REGIONS_AND_SUPPORT, 8
      value :CA_REGIONS_AND_SUPPORT, 9
      value :ITAR, 10
      value :AU_REGIONS_AND_US_SUPPORT, 11
      value :ASSURED_WORKLOADS_FOR_PARTNERS, 12
    end
    add_enum "google.cloud.assuredworkloads.v1.Workload.KajEnrollmentState" do
      value :KAJ_ENROLLMENT_STATE_UNSPECIFIED, 0
      value :KAJ_ENROLLMENT_STATE_PENDING, 1
      value :KAJ_ENROLLMENT_STATE_COMPLETE, 2
    end
    add_enum "google.cloud.assuredworkloads.v1.Workload.Partner" do
      value :PARTNER_UNSPECIFIED, 0
      value :LOCAL_CONTROLS_BY_S3NS, 1
    end
    add_message "google.cloud.assuredworkloads.v1.CreateWorkloadOperationMetadata" do
      optional :create_time, :message, 1, "google.protobuf.Timestamp"
      optional :display_name, :string, 2
      optional :parent, :string, 3
      optional :compliance_regime, :enum, 4, "google.cloud.assuredworkloads.v1.Workload.ComplianceRegime"
    end
    add_message "google.cloud.assuredworkloads.v1.RestrictAllowedResourcesRequest" do
      optional :name, :string, 1
      optional :restriction_type, :enum, 2, "google.cloud.assuredworkloads.v1.RestrictAllowedResourcesRequest.RestrictionType"
    end
    add_enum "google.cloud.assuredworkloads.v1.RestrictAllowedResourcesRequest.RestrictionType" do
      value :RESTRICTION_TYPE_UNSPECIFIED, 0
      value :ALLOW_ALL_GCP_RESOURCES, 1
      value :ALLOW_COMPLIANT_RESOURCES, 2
    end
    add_message "google.cloud.assuredworkloads.v1.RestrictAllowedResourcesResponse" do
    end
    add_message "google.cloud.assuredworkloads.v1.AcknowledgeViolationRequest" do
      optional :name, :string, 1
      optional :comment, :string, 2
      optional :non_compliant_org_policy, :string, 3
    end
    add_message "google.cloud.assuredworkloads.v1.AcknowledgeViolationResponse" do
    end
    add_message "google.cloud.assuredworkloads.v1.TimeWindow" do
      optional :start_time, :message, 1, "google.protobuf.Timestamp"
      optional :end_time, :message, 2, "google.protobuf.Timestamp"
    end
    add_message "google.cloud.assuredworkloads.v1.ListViolationsRequest" do
      optional :parent, :string, 1
      optional :interval, :message, 2, "google.cloud.assuredworkloads.v1.TimeWindow"
      optional :page_size, :int32, 3
      optional :page_token, :string, 4
      optional :filter, :string, 5
    end
    add_message "google.cloud.assuredworkloads.v1.ListViolationsResponse" do
      repeated :violations, :message, 1, "google.cloud.assuredworkloads.v1.Violation"
      optional :next_page_token, :string, 2
    end
    add_message "google.cloud.assuredworkloads.v1.GetViolationRequest" do
      optional :name, :string, 1
    end
    add_message "google.cloud.assuredworkloads.v1.Violation" do
      optional :name, :string, 1
      optional :description, :string, 2
      optional :begin_time, :message, 3, "google.protobuf.Timestamp"
      optional :update_time, :message, 4, "google.protobuf.Timestamp"
      optional :resolve_time, :message, 5, "google.protobuf.Timestamp"
      optional :category, :string, 6
      optional :state, :enum, 7, "google.cloud.assuredworkloads.v1.Violation.State"
      optional :org_policy_constraint, :string, 8
      optional :audit_log_link, :string, 11
      optional :non_compliant_org_policy, :string, 12
      optional :remediation, :message, 13, "google.cloud.assuredworkloads.v1.Violation.Remediation"
      optional :acknowledged, :bool, 14
      proto3_optional :acknowledgement_time, :message, 15, "google.protobuf.Timestamp"
      optional :exception_audit_log_link, :string, 16
    end
    add_message "google.cloud.assuredworkloads.v1.Violation.Remediation" do
      optional :instructions, :message, 1, "google.cloud.assuredworkloads.v1.Violation.Remediation.Instructions"
      repeated :compliant_values, :string, 2
      optional :remediation_type, :enum, 3, "google.cloud.assuredworkloads.v1.Violation.Remediation.RemediationType"
    end
    add_message "google.cloud.assuredworkloads.v1.Violation.Remediation.Instructions" do
      optional :gcloud_instructions, :message, 1, "google.cloud.assuredworkloads.v1.Violation.Remediation.Instructions.Gcloud"
      optional :console_instructions, :message, 2, "google.cloud.assuredworkloads.v1.Violation.Remediation.Instructions.Console"
    end
    add_message "google.cloud.assuredworkloads.v1.Violation.Remediation.Instructions.Gcloud" do
      repeated :gcloud_commands, :string, 1
      repeated :steps, :string, 2
      repeated :additional_links, :string, 3
    end
    add_message "google.cloud.assuredworkloads.v1.Violation.Remediation.Instructions.Console" do
      repeated :console_uris, :string, 1
      repeated :steps, :string, 2
      repeated :additional_links, :string, 3
    end
    add_enum "google.cloud.assuredworkloads.v1.Violation.Remediation.RemediationType" do
      value :REMEDIATION_TYPE_UNSPECIFIED, 0
      value :REMEDIATION_BOOLEAN_ORG_POLICY_VIOLATION, 1
      value :REMEDIATION_LIST_ALLOWED_VALUES_ORG_POLICY_VIOLATION, 2
      value :REMEDIATION_LIST_DENIED_VALUES_ORG_POLICY_VIOLATION, 3
      value :REMEDIATION_RESTRICT_CMEK_CRYPTO_KEY_PROJECTS_ORG_POLICY_VIOLATION, 4
    end
    add_enum "google.cloud.assuredworkloads.v1.Violation.State" do
      value :STATE_UNSPECIFIED, 0
      value :RESOLVED, 2
      value :UNRESOLVED, 3
      value :EXCEPTION, 4
    end
  end
end

module Google
  module Cloud
    module AssuredWorkloads
      module V1
        CreateWorkloadRequest = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.assuredworkloads.v1.CreateWorkloadRequest").msgclass
        UpdateWorkloadRequest = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.assuredworkloads.v1.UpdateWorkloadRequest").msgclass
        DeleteWorkloadRequest = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.assuredworkloads.v1.DeleteWorkloadRequest").msgclass
        GetWorkloadRequest = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.assuredworkloads.v1.GetWorkloadRequest").msgclass
        ListWorkloadsRequest = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.assuredworkloads.v1.ListWorkloadsRequest").msgclass
        ListWorkloadsResponse = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.assuredworkloads.v1.ListWorkloadsResponse").msgclass
        Workload = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.assuredworkloads.v1.Workload").msgclass
        Workload::ResourceInfo = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.assuredworkloads.v1.Workload.ResourceInfo").msgclass
        Workload::ResourceInfo::ResourceType = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.assuredworkloads.v1.Workload.ResourceInfo.ResourceType").enummodule
        Workload::KMSSettings = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.assuredworkloads.v1.Workload.KMSSettings").msgclass
        Workload::ResourceSettings = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.assuredworkloads.v1.Workload.ResourceSettings").msgclass
        Workload::SaaEnrollmentResponse = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.assuredworkloads.v1.Workload.SaaEnrollmentResponse").msgclass
        Workload::SaaEnrollmentResponse::SetupState = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.assuredworkloads.v1.Workload.SaaEnrollmentResponse.SetupState").enummodule
        Workload::SaaEnrollmentResponse::SetupError = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.assuredworkloads.v1.Workload.SaaEnrollmentResponse.SetupError").enummodule
        Workload::ComplianceRegime = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.assuredworkloads.v1.Workload.ComplianceRegime").enummodule
        Workload::KajEnrollmentState = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.assuredworkloads.v1.Workload.KajEnrollmentState").enummodule
        Workload::Partner = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.assuredworkloads.v1.Workload.Partner").enummodule
        CreateWorkloadOperationMetadata = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.assuredworkloads.v1.CreateWorkloadOperationMetadata").msgclass
        RestrictAllowedResourcesRequest = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.assuredworkloads.v1.RestrictAllowedResourcesRequest").msgclass
        RestrictAllowedResourcesRequest::RestrictionType = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.assuredworkloads.v1.RestrictAllowedResourcesRequest.RestrictionType").enummodule
        RestrictAllowedResourcesResponse = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.assuredworkloads.v1.RestrictAllowedResourcesResponse").msgclass
        AcknowledgeViolationRequest = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.assuredworkloads.v1.AcknowledgeViolationRequest").msgclass
        AcknowledgeViolationResponse = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.assuredworkloads.v1.AcknowledgeViolationResponse").msgclass
        TimeWindow = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.assuredworkloads.v1.TimeWindow").msgclass
        ListViolationsRequest = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.assuredworkloads.v1.ListViolationsRequest").msgclass
        ListViolationsResponse = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.assuredworkloads.v1.ListViolationsResponse").msgclass
        GetViolationRequest = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.assuredworkloads.v1.GetViolationRequest").msgclass
        Violation = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.assuredworkloads.v1.Violation").msgclass
        Violation::Remediation = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.assuredworkloads.v1.Violation.Remediation").msgclass
        Violation::Remediation::Instructions = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.assuredworkloads.v1.Violation.Remediation.Instructions").msgclass
        Violation::Remediation::Instructions::Gcloud = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.assuredworkloads.v1.Violation.Remediation.Instructions.Gcloud").msgclass
        Violation::Remediation::Instructions::Console = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.assuredworkloads.v1.Violation.Remediation.Instructions.Console").msgclass
        Violation::Remediation::RemediationType = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.assuredworkloads.v1.Violation.Remediation.RemediationType").enummodule
        Violation::State = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.assuredworkloads.v1.Violation.State").enummodule
      end
    end
  end
end