<?xml version="1.0" encoding="UTF-8"?>
<!---->
<!-- Copyright 2015-2026 Storage Networking Industry Association (SNIA), USA. All rights reserved.-->
<edmx:Edmx xmlns:edmx="http://docs.oasis-open.org/odata/ns/edmx" Version="4.0">
  <edmx:Reference Uri="http://docs.oasis-open.org/odata/odata/v4.0/errata03/csd01/complete/vocabularies/Org.OData.Core.V1.xml">
    <edmx:Include Namespace="Org.OData.Core.V1" Alias="OData"/>
  </edmx:Reference>
  <edmx:Reference Uri="http://docs.oasis-open.org/odata/odata/v4.0/errata03/csd01/complete/vocabularies/Org.OData.Capabilities.V1.xml">
    <edmx:Include Namespace="Org.OData.Capabilities.V1" Alias="Capabilities"/>
  </edmx:Reference>
  <edmx:Reference Uri="http://redfish.dmtf.org/schemas/v1/RedfishExtensions_v1.xml">
    <edmx:Include Namespace="RedfishExtensions.v1_0_0" Alias="Redfish"/>
  </edmx:Reference>
  <edmx:Reference Uri="http://redfish.dmtf.org/schemas/v1/Resource_v1.xml">
    <edmx:Include Namespace="Resource"/>
    <edmx:Include Namespace="Resource.v1_0_0"/>
  </edmx:Reference>
  <edmx:Reference Uri="http://redfish.dmtf.org/schemas/swordfish/v1/DataSecurityLineOfService_v1.xml">
    <edmx:Include Namespace="DataSecurityLineOfService"/>
  </edmx:Reference>
  <edmx:DataServices>

    <Schema xmlns="http://docs.oasis-open.org/odata/ns/edm" Namespace="DataSecurityLoSCapabilities">
      <Annotation Term="Redfish.OwningEntity" String="SNIA"/>
      <Annotation Term="Redfish.Language" String="en"/>

      <EntityType Name="DataSecurityLoSCapabilities" BaseType="Resource.v1_0_0.Resource" Abstract="true">
        <Annotation Term="OData.Description" String="Describe data security capabilities."/>
        <Annotation
          Term="OData.LongDescription"
          String="This resource may be used to describe data security capabilities."/>
		<Annotation Term="Capabilities.InsertRestrictions">
          <Record>
            <PropertyValue Property="Insertable" Bool="false"/>
          </Record>
        </Annotation>
        <Annotation Term="Capabilities.UpdateRestrictions">
          <Record>
            <PropertyValue Property="Updatable" Bool="true"/>
          </Record>
        </Annotation>
        <Annotation Term="Capabilities.DeleteRestrictions">
          <Record>
            <PropertyValue Property="Deletable" Bool="false"/>
          </Record>
        </Annotation>
        <Annotation Term="Redfish.Uris">
          <Collection>
            <String>/redfish/v1/StorageServices/{StorageServiceId}/DataSecurityLoSCapabilities</String>
          </Collection>
        </Annotation>
      </EntityType>

      <EnumType Name="KeySize">
        <Annotation Term="OData.Description" String="Enumeration of Key sizes in a symmetric encryption algorithm, (see NIST SP 800-57 part 1 (http:/csrc.nist.gov/publications/nistpubs/800-57/sp800-57_part1_rev3_general.pdf)."/>
        <Annotation Term="OData.LongDescription" String="The enumeration literals shall specify Key sizes in a symmetric encryption algorithm, (see NIST SP 800-57 part 1 (http:/csrc.nist.gov/publications/nistpubs/800-57/sp800-57_part1_rev3_general.pdf)."/>
        <Member Name="Bits_0">
          <Annotation Term="OData.Description" String="No key."/>
          <Annotation Term="OData.LongDescription" String="This enumeration literal specifies that there is no key."/>
        </Member>
        <Member Name="Bits_112">
          <Annotation Term="OData.Description" String="3DES 112 bit key."/>
          <Annotation Term="OData.LongDescription" String="This enumeration literal specifies a 3DES 112 bit key."/>
        </Member>
        <Member Name="Bits_128">
          <Annotation Term="OData.Description" String="AES 128 bit key."/>
          <Annotation Term="OData.LongDescription" String="This enumeration literal specifies an AES 128 bit key."/>
        </Member>
        <Member Name="Bits_192">
          <Annotation Term="OData.Description" String="AES 192 bit key."/>
          <Annotation Term="OData.LongDescription" String="This enumeration literal specifies an AES 192 bit key."/>
        </Member>
        <Member Name="Bits_256">
          <Annotation Term="OData.Description" String="AES 256 bit key."/>
          <Annotation Term="OData.LongDescription" String="This enumeration literal specifies an AES 256 bit key."/>
        </Member>
      </EnumType>

      <EnumType Name="AuthenticationType">
        <Annotation Term="OData.Description" String="Enumeration of authentication algorithms."/>
        <Annotation Term="OData.LongDescription" String="The enumeration literals shall specify authentication algorithms."/>
        <Member Name="None">
          <Annotation Term="OData.Description" String="No authentication."/>
          <Annotation Term="OData.LongDescription" String="This enumeration literal specifies No authentication."/>
        </Member>
        <Member Name="PKI">
          <Annotation Term="OData.Description" String="Public Key Infrastructure."/>
          <Annotation
            Term="OData.LongDescription"
            String="This enumeration literal specifies a Public Key Infrastructure. Customers with the highest assurance requirements roll PKI out to hosts and users (it is more common for hosts than users. User PKI-based authentication has significant operational complications and administrative overheads, e.g., smart cards may be involved."/>
        </Member>
        <Member Name="Ticket">
          <Annotation Term="OData.Description" String="Ticket-based (e.g., Kerberos)."/>
          <Annotation
            Term="OData.LongDescription"
            String="This enumeration literal specifies Ticket-based (e.g., Kerberos): This is the most common class of authentication infrastructure used in enterprises. Kerberos is the best known example, and Windows usage of that via Active Directory is so widely deployed as to be a de facto standard. In other areas (e.g., academia) there are comparable ticket-based systems."/>
        </Member>
        <Member Name="Password">
          <Annotation Term="OData.Description" String="Password/shared-secret."/>
          <Annotation Term="OData.LongDescription" String="This enumeration literal specifies Password/shared-secret: Absent an distributed authentication infrastructure, this is what is typically done."/>
        </Member>
      </EnumType>

      <EnumType Name="SecureChannelProtocol">
        <Annotation Term="OData.Description" String="Types of Secure channel protocols."/>
        <Annotation Term="OData.LongDescription" String="The enumeration literals shall specify types of Secure channel protocols."/>
        <Member Name="None">
          <Annotation Term="OData.Description" String="No encryption."/>
          <Annotation Term="OData.LongDescription" String="This enumeration literal specifies no encryption."/>
        </Member>
        <Member Name="TLS">
          <Annotation Term="OData.Description" String="Transport Layer Security (TLS), as defined by IETF RFC 5246."/>
          <Annotation Term="OData.LongDescription" String="This enumeration literal specifies Transport Layer Security (TLS), as defined by IETF RFC 5246."/>
        </Member>
        <Member Name="IPsec">
          <Annotation Term="OData.Description" String="Internet Protocol Security (IPsec), as defined by IETF RFC 2401."/>
          <Annotation Term="OData.LongDescription" String="This enumeration literal specifies Internet Protocol Security (IPsec), as defined by IETF RFC 2401."/>
        </Member>
        <Member Name="RPCSEC_GSS">
          <Annotation Term="OData.Description" String="RPC access to the Generic Security Services Application Programming Interface (GSS-API), as defined by IETF RPC 2203."/>
          <Annotation Term="OData.LongDescription" String="This enumeration literal specifies RPC access to the Generic Security Services Application Programming Interface (GSS-API), as defined by IETF RPC 2203."/>
        </Member>
      </EnumType>

      <EnumType Name="AntiVirusScanTrigger">
        <Annotation Term="OData.Description" String="Types of antivirus scan triggers."/>
        <Annotation Term="OData.LongDescription" String="The enumberation literals shall specify types of antivirus scan triggers."/>
        <Member Name="None">
          <Annotation Term="OData.Description" String="No trigger."/>
          <Annotation Term="OData.LongDescription" String="This enumeration literal specifies No trigger."/>
        </Member>
        <Member Name="OnFirstRead">
          <Annotation Term="OData.Description" String="Trigger on first read."/>
          <Annotation Term="OData.LongDescription" String="This enumeration literal specifies to trigger on first read."/>
        </Member>
        <Member Name="OnPatternUpdate">
          <Annotation Term="OData.Description" String="Trigger on antivirus pattern file update."/>
          <Annotation Term="OData.LongDescription" String="This enumeration literal specifies to trigger on antivirus pattern file update."/>
        </Member>
        <Member Name="OnUpdate">
          <Annotation Term="OData.Description" String="Trigger on object update."/>
          <Annotation Term="OData.LongDescription" String="This enumeration literal specifies to trigger on object update."/>
        </Member>
        <Member Name="OnRename">
          <Annotation Term="OData.Description" String="Trigger on object rename."/>
          <Annotation Term="OData.LongDescription" String="This enumeration literal specifies to trigger on object rename."/>
        </Member>
      </EnumType>

      <EnumType Name="DataSanitizationPolicy">
        <Annotation Term="OData.Description" String="Types of data sanitization policies."/>
        <Annotation Term="OData.LongDescription" String="The enumberation literals shall specify types of data sanitization policies."/>
        <Member Name="None">
          <Annotation Term="OData.Description" String="No sanitization."/>
          <Annotation Term="OData.LongDescription" String="This enumeration literal specifies no sanitization."/>
        </Member>
        <Member Name="Clear">
          <Annotation Term="OData.Description" String="Sanitize data in all user-addressable storage locations for protection against simple non-invasive data recovery techniques."/>
          <Annotation Term="OData.LongDescription" String="This enumeration literal specifies to sanitize data in all user-addressable storage locations for protection against simple non-invasive data recovery techniques."/>
        </Member>
        <Member Name="CryptographicErase">
          <Annotation
            Term="OData.Description"
            String="Leverages the encryption of target data by enabling sanitization of the target data&#39;s encryption key. This leaves only the ciphertext remaining on the media, effectively sanitizing the data by preventing read-access. For more information, see NIST800-88 and ISO/IEC 27040."/>
          <Annotation
            Term="OData.LongDescription"
            String="This enumeration literal specifies to leverages the encryption of target data by enabling sanitization of the target data's encryption key. This leaves only the ciphertext remaining on the media, effectively sanitizing the data by preventing read-access. For more information, see NIST800-88 and ISO/IEC 27040."/>
        </Member>
      </EnumType>
    </Schema>

    <Schema xmlns="http://docs.oasis-open.org/odata/ns/edm" Namespace="DataSecurityLoSCapabilities.v1_0_0">
      <Annotation Term="Redfish.OwningEntity" String="SNIA"/>
      <Annotation Term="Redfish.Release" String="1.0.3"/>
      <EntityType Name="DataSecurityLoSCapabilities" BaseType="DataSecurityLoSCapabilities.DataSecurityLoSCapabilities">
        <Annotation Term="OData.Description" String="Describe data security capabilities."/>
        <Annotation Term="OData.LongDescription" String="This resource may be used to describe data security capabilities."/>
        <Property Name="Identifier" Type="Resource.Identifier" Nullable="false">
          <Annotation Term="OData.Description" String="The value identifies this resource."/>
          <Annotation Term="OData.LongDescription" String="The value identifies this resource.  The value shall be unique within the managed ecosystem."/>
        </Property>
        <Property Name="SupportedMediaEncryptionStrengths" Type="Collection(DataSecurityLoSCapabilities.KeySize)">
          <Annotation Term="OData.Permissions" EnumMember="OData.Permission/ReadWrite"/>
          <Annotation Term="OData.Description" String="Supported key sizes for media encryption."/>
          <Annotation Term="OData.LongDescription" String="The enumeration literal shall specify supported key sizes in a symmetric encryption algorithm (AES) for media encryption."/>
        </Property>
        <Property Name="SupportedChannelEncryptionStrengths" Type="Collection(DataSecurityLoSCapabilities.KeySize)">
          <Annotation Term="OData.Permissions" EnumMember="OData.Permission/ReadWrite"/>
          <Annotation Term="OData.Description" String="Supported key sizes for transport channel encryption."/>
          <Annotation Term="OData.LongDescription" String="The enumeration literal shall specify supported key sizes in a symmetric encryption algorithm (AES) for transport channel encryption."/>
        </Property>
        <Property Name="SupportedHostAuthenticationTypes" Type="Collection(DataSecurityLoSCapabilities.AuthenticationType)">
          <Annotation Term="OData.Permissions" EnumMember="OData.Permission/ReadWrite"/>
          <Annotation Term="OData.Description" String="Supported authentication types for hosts (servers) or initiator endpoints."/>
          <Annotation Term="OData.LongDescription" String="The enumeration literal shall specify supported authentication types for hosts (servers) or initiator endpoints."/>
        </Property>
        <Property Name="SupportedUserAuthenticationTypes" Type="Collection(DataSecurityLoSCapabilities.AuthenticationType)">
          <Annotation Term="OData.Permissions" EnumMember="OData.Permission/ReadWrite"/>
          <Annotation Term="OData.Description" String="Supported authentication types for users (or programs)."/>
          <Annotation Term="OData.LongDescription" String="The enumeration literal shall specify supported authentication types for users (or programs)."/>
        </Property>
        <Property Name="SupportedSecureChannelProtocols" Type="Collection(DataSecurityLoSCapabilities.SecureChannelProtocol)">
          <Annotation Term="OData.Permissions" EnumMember="OData.Permission/ReadWrite"/>
          <Annotation Term="OData.Description" String="Supported protocols that provide encrypted communication."/>
          <Annotation Term="OData.LongDescription" String="The enumeration literal shall specify supported protocols that provide encrypted communication."/>
        </Property>
        <Property Name="SupportedAntivirusScanPolicies" Type="Collection(DataSecurityLoSCapabilities.AntiVirusScanTrigger)">
          <Annotation Term="OData.Permissions" EnumMember="OData.Permission/ReadWrite"/>
          <Annotation Term="OData.Description" String="Supported policies that trigger an AntiVirus scan."/>
          <Annotation Term="OData.LongDescription" String="The enumeration literal shall specify supported policies that trigger an AntiVirus scan."/>
        </Property>
        <Property Name="SupportedAntivirusEngineProviders" Type="Collection(Edm.String)">
          <Annotation Term="OData.Permissions" EnumMember="OData.Permission/ReadWrite"/>
          <Annotation Term="OData.Description" String="Supported AntiVirus providers."/>
          <Annotation Term="OData.LongDescription" String="The entry values shall specify supported AntiVirus providers."/>
        </Property>
        <Property Name="SupportedDataSanitizationPolicies" Type="Collection(DataSecurityLoSCapabilities.DataSanitizationPolicy)">
          <Annotation Term="OData.Permissions" EnumMember="OData.Permission/ReadWrite"/>
          <Annotation Term="OData.Description" String="Supported data sanitization policies."/>
          <Annotation Term="OData.LongDescription" String="The enumeration literal shall specify supported data sanitization policies."/>
        </Property>
        <NavigationProperty Name="SupportedLinesOfService" Type="Collection(DataSecurityLineOfService.DataSecurityLineOfService)" ContainsTarget="true">
          <Annotation Term="OData.Permissions" EnumMember="OData.Permission/ReadWrite"/>
          <Annotation Term="OData.Description" String="Collection of known and supported DataSecurityLinesOfService."/>
          <Annotation Term="OData.LongDescription" String="The collection shall contain supported DataSecurity service options."/>
          <Annotation Term="OData.AutoExpand"/>
        </NavigationProperty>
      </EntityType>

    </Schema>

    <Schema xmlns="http://docs.oasis-open.org/odata/ns/edm" Namespace="DataSecurityLoSCapabilities.v1_0_1">
      <Annotation Term="Redfish.OwningEntity" String="SNIA"/>
      <Annotation Term="OData.Description" String="This version was created to force the regeneration of JSON Schema so that OData properties are marked as required, and integer properties are marked as integer rather than number."/>
      <EntityType Name="DataSecurityLoSCapabilities" BaseType="DataSecurityLoSCapabilities.v1_0_0.DataSecurityLoSCapabilities"/>
    </Schema>

    <Schema xmlns="http://docs.oasis-open.org/odata/ns/edm" Namespace="DataSecurityLoSCapabilities.v1_0_2">
      <Annotation Term="Redfish.OwningEntity" String="SNIA"/>
      <Annotation Term="OData.Description" String="This version was created to fix CSDL errors and adds both Redfish Uris and Capability Annotations."/>
      <EntityType Name="DataSecurityLoSCapabilities" BaseType="DataSecurityLoSCapabilities.v1_0_1.DataSecurityLoSCapabilities"/>
    </Schema>

    <Schema xmlns="http://docs.oasis-open.org/odata/ns/edm" Namespace="DataSecurityLoSCapabilities.v1_1_0">
      <Annotation Term="Redfish.OwningEntity" String="SNIA"/>
      <Annotation Term="Redfish.Release" String="1.0.5"/>
      <EntityType Name="DataSecurityLoSCapabilities" BaseType="DataSecurityLoSCapabilities.v1_0_0.DataSecurityLoSCapabilities">
        <Property Name="Actions" Type="DataSecurityLoSCapabilities.v1_1_0.Actions" Nullable="false">
          <Annotation Term="OData.Description" String="The available actions for this resource."/>
          <Annotation Term="OData.LongDescription" String="The Actions property shall contain the available actions for this resource."/>
        </Property>
      </EntityType>

      <ComplexType Name="Actions">
        <Annotation Term="OData.AdditionalProperties" Bool="false"/>
        <Annotation Term="OData.Description" String="The available actions for this resource."/>
        <Annotation Term="OData.LongDescription" String="This type shall contain the available actions for this resource."/>
        <Property Name="Oem" Type="DataSecurityLoSCapabilities.v1_1_0.OemActions" Nullable="false">
          <Annotation Term="OData.Description" String="This property contains the available OEM specific actions for this resource."/>
          <Annotation Term="OData.LongDescription" String="This property shall contain any additional OEM actions for this resource."/>
        </Property>
      </ComplexType>

      <ComplexType Name="OemActions">
        <Annotation Term="OData.AdditionalProperties" Bool="true"/>
        <Annotation Term="OData.Description" String="The available OEM specific actions for this resource."/>
        <Annotation Term="OData.LongDescription" String="This type shall contain any additional OEM actions for this resource."/>
      </ComplexType>
    </Schema>

    <Schema xmlns="http://docs.oasis-open.org/odata/ns/edm" Namespace="DataSecurityLoSCapabilities.v1_1_1">
      <Annotation Term="Redfish.OwningEntity" String="SNIA"/>
      <Annotation Term="OData.LongDescription" String="Change DataSecurityLineOfService to EntityType. Change references to unversioned."/>
      <EntityType Name="DataSecurityLoSCapabilities" BaseType="DataSecurityLoSCapabilities.v1_1_0.DataSecurityLoSCapabilities"/>
    </Schema>

    <Schema xmlns="http://docs.oasis-open.org/odata/ns/edm" Namespace="DataSecurityLoSCapabilities.v1_1_2">
      <Annotation Term="Redfish.OwningEntity" String="SNIA"/>
      <Annotation Term="OData.Description" String="Make SupportedLinesOfService be a containment NavigationProperty. This version was also created to force the regeneration of JSON Schema so that OData properties are marked as required, and integer properties are marked as integer rather than number."/>
      <EntityType Name="DataSecurityLoSCapabilities" BaseType="DataSecurityLoSCapabilities.v1_1_1.DataSecurityLoSCapabilities"/>
    </Schema>

    <Schema xmlns="http://docs.oasis-open.org/odata/ns/edm" Namespace="DataSecurityLoSCapabilities.v1_1_3">
      <Annotation Term="Redfish.OwningEntity" String="SNIA"/>
      <Annotation Term="OData.Description" String="This version was added to fix CSDL errors and adds both Redfish Uris and Capability Annotations."/>
      <EntityType Name="DataSecurityLoSCapabilities" BaseType="DataSecurityLoSCapabilities.v1_1_2.DataSecurityLoSCapabilities"/>
    </Schema>

    <Schema xmlns="http://docs.oasis-open.org/odata/ns/edm" Namespace="DataSecurityLoSCapabilities.v1_2_0">
      <Annotation Term="Redfish.OwningEntity" String="SNIA"/>
      <Annotation Term="Redfish.Release" String="1.2.1c"/>
      <Annotation Term="OData.Description" String="This version was added to fix CSDL Capability Annotations."/>
      <EntityType Name="DataSecurityLoSCapabilities" BaseType="DataSecurityLoSCapabilities.v1_1_3.DataSecurityLoSCapabilities"/>
    </Schema>

  </edmx:DataServices>
</edmx:Edmx>
