about summary refs log tree commit diff
path: root/.venv/lib/python3.12/site-packages/opentelemetry/semconv/_incubating/attributes/cloud_attributes.py
diff options
context:
space:
mode:
authorS. Solomon Darnell2025-03-28 21:52:21 -0500
committerS. Solomon Darnell2025-03-28 21:52:21 -0500
commit4a52a71956a8d46fcb7294ac71734504bb09bcc2 (patch)
treeee3dc5af3b6313e921cd920906356f5d4febc4ed /.venv/lib/python3.12/site-packages/opentelemetry/semconv/_incubating/attributes/cloud_attributes.py
parentcc961e04ba734dd72309fb548a2f97d67d578813 (diff)
downloadgn-ai-master.tar.gz
two version of R2R are here HEAD master
Diffstat (limited to '.venv/lib/python3.12/site-packages/opentelemetry/semconv/_incubating/attributes/cloud_attributes.py')
-rw-r--r--.venv/lib/python3.12/site-packages/opentelemetry/semconv/_incubating/attributes/cloud_attributes.py148
1 files changed, 148 insertions, 0 deletions
diff --git a/.venv/lib/python3.12/site-packages/opentelemetry/semconv/_incubating/attributes/cloud_attributes.py b/.venv/lib/python3.12/site-packages/opentelemetry/semconv/_incubating/attributes/cloud_attributes.py
new file mode 100644
index 00000000..e32cf8d7
--- /dev/null
+++ b/.venv/lib/python3.12/site-packages/opentelemetry/semconv/_incubating/attributes/cloud_attributes.py
@@ -0,0 +1,148 @@
+# Copyright The OpenTelemetry Authors
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+#     http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+from enum import Enum
+from typing import Final
+
+CLOUD_ACCOUNT_ID: Final = "cloud.account.id"
+"""
+The cloud account ID the resource is assigned to.
+"""
+
+CLOUD_AVAILABILITY_ZONE: Final = "cloud.availability_zone"
+"""
+Cloud regions often have multiple, isolated locations known as zones to increase availability. Availability zone represents the zone where the resource is running.
+Note: Availability zones are called "zones" on Alibaba Cloud and Google Cloud.
+"""
+
+CLOUD_PLATFORM: Final = "cloud.platform"
+"""
+The cloud platform in use.
+Note: The prefix of the service SHOULD match the one specified in `cloud.provider`.
+"""
+
+CLOUD_PROVIDER: Final = "cloud.provider"
+"""
+Name of the cloud provider.
+"""
+
+CLOUD_REGION: Final = "cloud.region"
+"""
+The geographical region the resource is running.
+Note: Refer to your provider's docs to see the available regions, for example [Alibaba Cloud regions](https://www.alibabacloud.com/help/doc-detail/40654.htm), [AWS regions](https://aws.amazon.com/about-aws/global-infrastructure/regions_az/), [Azure regions](https://azure.microsoft.com/global-infrastructure/geographies/), [Google Cloud regions](https://cloud.google.com/about/locations), or [Tencent Cloud regions](https://www.tencentcloud.com/document/product/213/6091).
+"""
+
+CLOUD_RESOURCE_ID: Final = "cloud.resource_id"
+"""
+Cloud provider-specific native identifier of the monitored cloud resource (e.g. an [ARN](https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html) on AWS, a [fully qualified resource ID](https://learn.microsoft.com/rest/api/resources/resources/get-by-id) on Azure, a [full resource name](https://google.aip.dev/122#full-resource-names) on GCP).
+Note: On some cloud providers, it may not be possible to determine the full ID at startup,
+so it may be necessary to set `cloud.resource_id` as a span attribute instead.
+
+The exact value to use for `cloud.resource_id` depends on the cloud provider.
+The following well-known definitions MUST be used if you set this attribute and they apply:
+
+- **AWS Lambda:** The function [ARN](https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html).
+  Take care not to use the "invoked ARN" directly but replace any
+  [alias suffix](https://docs.aws.amazon.com/lambda/latest/dg/configuration-aliases.html)
+  with the resolved function version, as the same runtime instance may be invocable with
+  multiple different aliases.
+- **GCP:** The [URI of the resource](https://cloud.google.com/iam/docs/full-resource-names)
+- **Azure:** The [Fully Qualified Resource ID](https://docs.microsoft.com/rest/api/resources/resources/get-by-id) of the invoked function,
+  *not* the function app, having the form
+  `/subscriptions/<SUBSCRIPTION_GUID>/resourceGroups/<RG>/providers/Microsoft.Web/sites/<FUNCAPP>/functions/<FUNC>`.
+  This means that a span attribute MUST be used, as an Azure function app can host multiple functions that would usually share
+  a TracerProvider.
+"""
+
+
+class CloudPlatformValues(Enum):
+    ALIBABA_CLOUD_ECS = "alibaba_cloud_ecs"
+    """Alibaba Cloud Elastic Compute Service."""
+    ALIBABA_CLOUD_FC = "alibaba_cloud_fc"
+    """Alibaba Cloud Function Compute."""
+    ALIBABA_CLOUD_OPENSHIFT = "alibaba_cloud_openshift"
+    """Red Hat OpenShift on Alibaba Cloud."""
+    AWS_EC2 = "aws_ec2"
+    """AWS Elastic Compute Cloud."""
+    AWS_ECS = "aws_ecs"
+    """AWS Elastic Container Service."""
+    AWS_EKS = "aws_eks"
+    """AWS Elastic Kubernetes Service."""
+    AWS_LAMBDA = "aws_lambda"
+    """AWS Lambda."""
+    AWS_ELASTIC_BEANSTALK = "aws_elastic_beanstalk"
+    """AWS Elastic Beanstalk."""
+    AWS_APP_RUNNER = "aws_app_runner"
+    """AWS App Runner."""
+    AWS_OPENSHIFT = "aws_openshift"
+    """Red Hat OpenShift on AWS (ROSA)."""
+    AZURE_VM = "azure_vm"
+    """Azure Virtual Machines."""
+    AZURE_CONTAINER_APPS = "azure_container_apps"
+    """Azure Container Apps."""
+    AZURE_CONTAINER_INSTANCES = "azure_container_instances"
+    """Azure Container Instances."""
+    AZURE_AKS = "azure_aks"
+    """Azure Kubernetes Service."""
+    AZURE_FUNCTIONS = "azure_functions"
+    """Azure Functions."""
+    AZURE_APP_SERVICE = "azure_app_service"
+    """Azure App Service."""
+    AZURE_OPENSHIFT = "azure_openshift"
+    """Azure Red Hat OpenShift."""
+    GCP_BARE_METAL_SOLUTION = "gcp_bare_metal_solution"
+    """Google Bare Metal Solution (BMS)."""
+    GCP_COMPUTE_ENGINE = "gcp_compute_engine"
+    """Google Cloud Compute Engine (GCE)."""
+    GCP_CLOUD_RUN = "gcp_cloud_run"
+    """Google Cloud Run."""
+    GCP_KUBERNETES_ENGINE = "gcp_kubernetes_engine"
+    """Google Cloud Kubernetes Engine (GKE)."""
+    GCP_CLOUD_FUNCTIONS = "gcp_cloud_functions"
+    """Google Cloud Functions (GCF)."""
+    GCP_APP_ENGINE = "gcp_app_engine"
+    """Google Cloud App Engine (GAE)."""
+    GCP_OPENSHIFT = "gcp_openshift"
+    """Red Hat OpenShift on Google Cloud."""
+    IBM_CLOUD_OPENSHIFT = "ibm_cloud_openshift"
+    """Red Hat OpenShift on IBM Cloud."""
+    ORACLE_CLOUD_COMPUTE = "oracle_cloud_compute"
+    """Compute on Oracle Cloud Infrastructure (OCI)."""
+    ORACLE_CLOUD_OKE = "oracle_cloud_oke"
+    """Kubernetes Engine (OKE) on Oracle Cloud Infrastructure (OCI)."""
+    TENCENT_CLOUD_CVM = "tencent_cloud_cvm"
+    """Tencent Cloud Cloud Virtual Machine (CVM)."""
+    TENCENT_CLOUD_EKS = "tencent_cloud_eks"
+    """Tencent Cloud Elastic Kubernetes Service (EKS)."""
+    TENCENT_CLOUD_SCF = "tencent_cloud_scf"
+    """Tencent Cloud Serverless Cloud Function (SCF)."""
+
+
+class CloudProviderValues(Enum):
+    ALIBABA_CLOUD = "alibaba_cloud"
+    """Alibaba Cloud."""
+    AWS = "aws"
+    """Amazon Web Services."""
+    AZURE = "azure"
+    """Microsoft Azure."""
+    GCP = "gcp"
+    """Google Cloud Platform."""
+    HEROKU = "heroku"
+    """Heroku Platform as a Service."""
+    IBM_CLOUD = "ibm_cloud"
+    """IBM Cloud."""
+    ORACLE_CLOUD = "oracle_cloud"
+    """Oracle Cloud Infrastructure (OCI)."""
+    TENCENT_CLOUD = "tencent_cloud"
+    """Tencent Cloud."""