// Copyright (c) 2009 DMTF.  All rights reserved.
   [Version ( "2.22.0" ), 
    UMLPackagePath ( "CIM::Network::ConsoleProtocols" ), 
    Description ( 
       "A representation of a communications endpoint where an SSH "
       "server can be accessed using the SSH protocol." )]
class CIM_SSHProtocolEndpoint : CIM_ProtocolEndpoint {

      [Write, Description ( 
          "An array of integers indicating the version or versions "
          "of SSH protocol that are enabled for the SSH service. "
          "Its possible for versions to be supported for a service "
          "and not currently enabled for use." ), 
       ValueMap { "0", "1", "2", "3", "..", "32768..65535" }, 
       Values { "Unknown", "Other", "SSHv1", "SSHv2", 
          "DMTF Reserved", "Vendor Reserved" }, 
       ArrayType ( "Indexed" ), 
       ModelCorrespondence { 
          "CIM_SSHProtocolEndpoint.OtherEnabledSSHVersion" }]
   uint16 EnabledSSHVersions[];

      [Description ( 
          "If the EnabledSSHVersions property is set to 1, \"Other\" "
          "then this is a free form string providing more "
          "information about the SSH protocol. If not set to 1, "
          "this string has no meaning." ), 
       ModelCorrespondence { 
          "CIM_SSHProtocolEndpoint.EnabledSSHVersions" }]
   string OtherEnabledSSHVersion;

      [Write, Description ( 
          "The version of SSH in use for this connection." ), 
       ValueMap { "0", "1", "2", "3", ".." }, 
       Values { "Unknown", "Other", "SSHv1", "SSHv2", "DMTF Reserved" }, 
       ModelCorrespondence { 
          "CIM_SSHProtocolEndpoint.OtherSSHVersion", 
          "CIM_SSHProtocolEndpoint.EnabledSSHVersions" }]
   uint16 SSHVersion;

      [Write, Description ( 
          "If the SSHVersion property is set to 1, \"Other\" then "
          "this is a free form string providing more information "
          "about the current SSH protocol. If not set to 1, this "
          "string has no meaning." ), 
       ModelCorrespondence { "CIM_SSHProtocolEndpoint.SSHVersion", 
          "CIM_SSHProtocolEndpoint.OtherEnabledSSHVersion" }]
   string OtherSSHVersion;

      [Write, Description ( 
          "An array of integers indicating the encryption "
          "algorithms that are enabled for this SSH service. Its "
          "possible for an encryption algorithm to be supported by "
          "an SSH service and not be enabled to be used. One of the "
          "enabled algorithms will actually be in use." ), 
       ValueMap { "0", "1", "2", "3", "4", "5", "6", "..", 
          "32768..65535" }, 
       Values { "Unknown", "Other", "DES", "DES3", "RC4", "IDEA", 
          "SKIPJACK", "DMTF Reserved", "Vendor Reserved" }, 
       ArrayType ( "Indexed" ), 
       ModelCorrespondence { 
          "CIM_SSHProtocolEndpoint.OtherEnabledEncryptionAlgorithm" }]
   uint16 EnabledEncryptionAlgorithms[];

      [Description ( 
          "If the EnabledEncryptionAlgorithms property is set 1, "
          "\"Other\" this property contains a free form string "
          "providing more information about supported algorithms. "
          "If not set to 1, this string has no meaning." ), 
       ArrayType ( "Indexed" ), 
       ModelCorrespondence { 
          "CIM_SSHProtocolEndpoint.EnabledEncryptionAlgorithms" }]
   string OtherEnabledEncryptionAlgorithm[];

      [Write, Description ( 
          "The encryption algorithm currently in use for this connection."
           ), 
       ValueMap { "0", "1", "2", "3", "4", "5", "6", ".." }, 
       Values { "Unknown", "Other", "DES", "DES3", "RC4", "IDEA", 
          "SKIPJACK", "DMTF Reserved" }, 
       ModelCorrespondence { 
          "CIM_SSHProtocolEndpoint.OtherEncryptionAlgorithm", 
          "CIM_SSHProtocolEndpoint.EnabledEncryptionAlgorithms" }]
   uint16 EncryptionAlgorithm;

      [Write, Description ( 
          "If the EncryptionAlgorithm property is set to 1, \"Other\" "
          "then this is a free form string providing more "
          "information about the current encryption algorithm. If "
          "not set to 1, this string has no meaning." ), 
       ArrayType ( "Indexed" ), 
       ModelCorrespondence { 
          "CIM_SSHProtocolEndpoint.EncryptionAlgorithm", 
          "CIM_SSHProtocolEndpoint.OtherEnabledEncryptionAlgorithm" }]
   string OtherEncryptionAlgorithm[];

      [Write, Description ( 
          "IdleTimeout specifies how long the connection can be "
          "idle before the connection is terminated. The default "
          "value, 0, indicates that there is no idle timeout "
          "period." ), 
       Units ( "Seconds" ), 
       PUnit ( "second" )]
   uint32 IdleTimeout = 0;

      [Write, Description ( 
          "If this property is true, the SSH keep alive timer is enabled."
           )]
   boolean KeepAlive = false;

      [Write, Description ( 
          "If this property is true, the SSH X11 forwarding mode is enabled."
           )]
   boolean ForwardX11 = false;

      [Write, Description ( 
          "If this property is true, SSH compression is enabled." )]
   boolean Compression = true;


};
