aboutsummaryrefslogtreecommitdiff
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 hereHEADmaster
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."""