     case hostName = "host.name"
     /// Type of host. For Cloud this must be the machine type.
     case hostType = "host.type"
+    /// The CPU architecture the host system is running on
+    case hostArch = "host.arch"
     /// Name of the VM image or OS install the host was instantiated from.
     case hostImageName = "host.image.name"
     /// VM image id. For Cloud, this value is from the provider.
     case hostImageId = "host.image.id"
     /// The version string of the VM image.
     case hostImageVersion = "host.image.version"
+    
+    /// The operating system type
+    case osType = "os.type"
+    /// Human readable (not intended to be parsed) OS version information, like e.g. reported by ver or lsb_release -a commands.
+    case osDescription = "os.description"
+    
     /// Name of the cloud provider.
     case cloudProvider = "cloud.provider"
     /// The cloud account id used to identify different entities.

    case cloudRegion = "cloud.region"
    /// Zones are a sub set of the region connected through low-latency links.
    case cloudZone = "cloud.zone"
}

public func ==(left: ResourceConstants, right: String) -> Bool {

import Foundation

public enum ResourceConstants: String {
    /// Logical name of the service. MUST be the same for all instances of horizontally scaled services.
    case serviceName = "service.name";
    /// A namespace for `service.name`. A string value having a meaning that helps to distinguish a group of services,
    case serviceNamespace = "service.namespace"
    /// The string ID of the service instance. MUST be unique for each instance of the same
    case serviceInstance = "service.instance.id"
    /// The version string of the service API or implementation.
    case serviceVersion = "service.version"
    
    /// The name of the telemetry SDK.
    case telemetrySdkName = "telemetry.sdk.name"
    /// The language of the telemetry SDK.
    case telemetrySdkLanguage = "telemetry.sdk.language"
    /// The version string of the telemetry SDK.
    case telemetrySdkVersion = "telemetry.sdk.version"
    
    /// The name of the telemetry library.
    case libraryName = "library.name"
    /// The language of telemetry library and of the code instrumented with it.
    case libraryLanguage = "library.language"
    /// The version string of the library.
    case libraryVersion = "library.version"
    
    /// Container name.
    case containerName = "container.name"
    /// Name of the image the container was built on.
    case containerImageName = "container.image.name"
    /// Container image tag.
    case containerImageTag = "container.image.tag"
    /// Container ID. Usually a UUID, as for example used to identify Docker containers. The UUID might be abbreviated
    case containerId = "container.id"
    /// The container runtime managing this container
    case containerRuntime = "container.runtime"
    
    /// Name of the deployment environment (aka deployment tier).
    ///
    /// Examples: "staging", "production"
    case deploymentEnvironment = "deployment.environment"
    
    /// Hostname of the host. It contains what the `hostname` command returns on the host machine.
    case hostHostname = "host.hostname"
    /// Unique host id. For Cloud this must be the instance_id assigned by the cloud provider.
