groups:
  - id: registry.aws
    type: attribute_group
    display_name: General AWS Attributes
    brief: >
      This section defines generic attributes for AWS services.
    attributes:
      - id: aws.request_id
        type: string
        stability: experimental
        brief: "The AWS request ID as returned in the response headers `x-amzn-requestid`, `x-amzn-request-id` or `x-amz-request-id`."
        examples:
          - 79b9da39-b7ae-508a-a6bc-864b2829c622
          - C9ER4AJX75574TDJ
      - id: aws.extended_request_id
        type: string
        stability: experimental
        brief: "The AWS extended request ID as returned in the response header `x-amz-id-2`."
        examples:
          - wzHcyEWfmOGDIE5QOhTAqFDoDWP3y8IUvpNINCwL9N4TEHbUw0/gZJ+VZTmCNCWR7fezEN3eCiQ=
  - id: registry.aws.dynamodb
    type: attribute_group
    display_name: Amazon DynamoDB Attributes
    brief: >
            This document defines attributes for AWS DynamoDB.
    attributes:
      - id: aws.dynamodb.table_names
        type: string[]
        stability: experimental
        brief: The keys in the `RequestItems` object field.
        examples:
          - [Users, Cats]
      - id: aws.dynamodb.consumed_capacity
        type: string[]
        stability: experimental
        brief: "The JSON-serialized value of each item in the `ConsumedCapacity` response field."
        examples:
          - ['{
              "CapacityUnits": number,
              "GlobalSecondaryIndexes": {
                "string" : {
                    "CapacityUnits": number,
                    "ReadCapacityUnits": number,
                    "WriteCapacityUnits": number
                }
              },
              "LocalSecondaryIndexes": {
                "string" : {
                    "CapacityUnits": number,
                    "ReadCapacityUnits": number,
                    "WriteCapacityUnits": number
                }
              },
              "ReadCapacityUnits": number,
              "Table": {
                "CapacityUnits": number,
                "ReadCapacityUnits": number,
                "WriteCapacityUnits": number
              },
              "TableName": "string",
              "WriteCapacityUnits": number
            }']
      - id: aws.dynamodb.item_collection_metrics
        type: string
        stability: experimental
        brief: "The JSON-serialized value of the `ItemCollectionMetrics` response field."
        examples:
          - '{
              "string" : [
                {
                    "ItemCollectionKey": {
                      "string" : {
                          "B": blob,
                          "BOOL": boolean,
                          "BS": [ blob ],
                          "L": [
                            "AttributeValue"
                          ],
                          "M": {
                            "string" : "AttributeValue"
                          },
                          "N": "string",
                          "NS": [ "string" ],
                          "NULL": boolean,
                          "S": "string",
                          "SS": [ "string" ]
                      }
                    },
                    "SizeEstimateRangeGB": [ number ]
                }
              ]
            }'
      - id: aws.dynamodb.provisioned_read_capacity
        type: double
        stability: experimental
        brief: "The value of the `ProvisionedThroughput.ReadCapacityUnits` request parameter."
        examples:
          - 1.0
          - 2.0
      - id: aws.dynamodb.provisioned_write_capacity
        type: double
        stability: experimental
        brief: "The value of the `ProvisionedThroughput.WriteCapacityUnits` request parameter."
        examples:
          - 1.0
          - 2.0
      - id: aws.dynamodb.consistent_read
        type: boolean
        stability: experimental
        brief: "The value of the `ConsistentRead` request parameter."
      - id: aws.dynamodb.projection
        type: string
        stability: experimental
        brief: "The value of the `ProjectionExpression` request parameter."
        examples:
          - Title
          - Title, Price, Color
          - Title, Description, RelatedItems, ProductReviews
      - id: aws.dynamodb.limit
        type: int
        stability: experimental
        brief: "The value of the `Limit` request parameter."
        examples:
          - 10
      - id: aws.dynamodb.attributes_to_get
        type: string[]
        stability: experimental
        brief: "The value of the `AttributesToGet` request parameter."
        examples:
          - [lives, id]
      - id: aws.dynamodb.index_name
        type: string
        stability: experimental
        brief: "The value of the `IndexName` request parameter."
        examples:
          - name_to_group
      - id: aws.dynamodb.select
        type: string
        stability: experimental
        brief: "The value of the `Select` request parameter."
        examples:
          - ALL_ATTRIBUTES
          - COUNT
      - id: aws.dynamodb.global_secondary_indexes
        type: string[]
        stability: experimental
        brief: "The JSON-serialized value of each item of the `GlobalSecondaryIndexes` request field"
        examples:
          - ['{
              "IndexName": "string",
              "KeySchema": [
                {
                  "AttributeName": "string",
                  "KeyType": "string"
                }
              ],
              "Projection": {
                "NonKeyAttributes": [ "string" ],
                "ProjectionType": "string"
              },
              "ProvisionedThroughput": {
                "ReadCapacityUnits": number,
                "WriteCapacityUnits": number
              }
            }']
      - id: aws.dynamodb.local_secondary_indexes
        type: string[]
        stability: experimental
        brief: "The JSON-serialized value of each item of the `LocalSecondaryIndexes` request field."
        examples:
          - ['{
              "IndexArn": "string",
              "IndexName": "string",
              "IndexSizeBytes": number,
              "ItemCount": number,
              "KeySchema": [
                {
                  "AttributeName": "string",
                  "KeyType": "string"
                }
              ],
              "Projection": {
                "NonKeyAttributes": [ "string" ],
                "ProjectionType": "string"
              }
            }']
      - id: aws.dynamodb.exclusive_start_table
        type: string
        stability: experimental
        brief: "The value of the `ExclusiveStartTableName` request parameter."
        examples: [Users, CatsTable]
      - id: aws.dynamodb.table_count
        type: int
        stability: experimental
        brief: "The number of items in the `TableNames` response parameter."
        examples:
          - 20
      - id: aws.dynamodb.scan_forward
        type: boolean
        stability: experimental
        brief: "The value of the `ScanIndexForward` request parameter."
      - id: aws.dynamodb.segment
        type: int
        stability: experimental
        brief: "The value of the `Segment` request parameter."
        examples:
          - 10
      - id: aws.dynamodb.total_segments
        type: int
        stability: experimental
        brief: "The value of the `TotalSegments` request parameter."
        examples:
          - 100
      - id: aws.dynamodb.count
        type: int
        stability: experimental
        brief: "The value of the `Count` response parameter."
        examples:
          - 10
      - id: aws.dynamodb.scanned_count
        type: int
        stability: experimental
        brief: "The value of the `ScannedCount` response parameter."
        examples:
          - 50
      - id: aws.dynamodb.attribute_definitions
        type: string[]
        stability: experimental
        brief: "The JSON-serialized value of each item in the `AttributeDefinitions` request field."
        examples:
          - ['{
              "AttributeName": "string",
              "AttributeType": "string"
            }']
      - id: aws.dynamodb.global_secondary_index_updates
        type: string[]
        stability: experimental
        brief: "The JSON-serialized value of each item in the `GlobalSecondaryIndexUpdates` request field."
        examples:
          - ['{
              "Create": {
                "IndexName": "string",
                "KeySchema": [
                  {
                    "AttributeName": "string",
                    "KeyType": "string"
                  }
                ],
                "Projection": {
                  "NonKeyAttributes": [ "string" ],
                  "ProjectionType": "string"
                },
                "ProvisionedThroughput": {
                  "ReadCapacityUnits": number,
                  "WriteCapacityUnits": number
                }
              }']
  - id: registry.aws.ecs
    type: attribute_group
    display_name: Amazon ECS Attributes
    brief: >
      This document defines attributes for AWS Elastic Container Service (ECS).
    attributes:
      - id: aws.ecs.container.arn
        type: string
        stability: experimental
        brief: >
          The Amazon Resource Name (ARN) of an [ECS container instance](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/ECS_instances.html).
        examples:
          [
            "arn:aws:ecs:us-west-1:123456789123:container/32624152-9086-4f0e-acae-1a75b14fe4d9",
          ]
      - id: aws.ecs.cluster.arn
        type: string
        stability: experimental
        brief: >
          The ARN of an [ECS cluster](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/clusters.html).
        examples: ["arn:aws:ecs:us-west-2:123456789123:cluster/my-cluster"]
      - id: aws.ecs.launchtype
        type:
          members:
            - id: ec2
              value: "ec2"
              stability: experimental
            - id: fargate
              value: "fargate"
              stability: experimental
        stability: experimental
        brief: >
          The [launch type](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/launch_types.html) for an ECS task.
      - id: aws.ecs.task.arn
        type: string
        stability: experimental
        brief: >
          The ARN of a running [ECS task](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/ecs-account-settings.html#ecs-resource-ids).
        examples:
          [
            "arn:aws:ecs:us-west-1:123456789123:task/10838bed-421f-43ef-870a-f43feacbbb5b",
            "arn:aws:ecs:us-west-1:123456789123:task/my-cluster/task-id/23ebb8ac-c18f-46c6-8bbe-d55d0e37cfbd"
          ]
      - id: aws.ecs.task.family
        type: string
        stability: experimental
        brief: >
          The family name of the [ECS task definition](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/task_definitions.html) used to create the ECS task.
        examples: ["opentelemetry-family"]
      - id: aws.ecs.task.id
        type: string
        stability: experimental
        brief: >
          The ID of a running ECS task. The ID MUST be extracted from `task.arn`.
        examples:
          [
            "10838bed-421f-43ef-870a-f43feacbbb5b",
            "23ebb8ac-c18f-46c6-8bbe-d55d0e37cfbd"
          ]
      - id: aws.ecs.task.revision
        type: string
        stability: experimental
        brief: >
          The revision for the task definition used to create the ECS task.
        examples: ["8", "26"]
  - id: registry.aws.eks
    type: attribute_group
    display_name: Amazon EKS Attributes
    brief: >
      This document defines attributes for AWS Elastic Kubernetes Service (EKS).
    attributes:
      - id: aws.eks.cluster.arn
        type: string
        stability: experimental
        brief: >
          The ARN of an EKS cluster.
        examples: ["arn:aws:ecs:us-west-2:123456789123:cluster/my-cluster"]
  - id: registry.aws.log
    type: attribute_group
    display_name: Amazon Logs Attributes
    brief: >
      This document defines attributes for AWS Logs.
    attributes:
      - id: aws.log.group.names
        type: string[]
        stability: experimental
        brief: >
          The name(s) of the AWS log group(s) an application is writing to.
        examples:
          - ["/aws/lambda/my-function", "opentelemetry-service"]
        note: >
          Multiple log groups must be supported for cases like multi-container applications,
          where a single application has sidecar containers, and each write to their own log
          group.
      - id: aws.log.group.arns
        type: string[]
        stability: experimental
        brief: >
          The Amazon Resource Name(s) (ARN) of the AWS log group(s).
        examples:
          - ["arn:aws:logs:us-west-1:123456789012:log-group:/aws/my/group:*"]
        note: >
          See the
          [log group ARN format documentation](https://docs.aws.amazon.com/AmazonCloudWatch/latest/logs/iam-access-control-overview-cwl.html#CWL_ARN_Format).
      - id: aws.log.stream.names
        type: string[]
        stability: experimental
        brief: >
          The name(s) of the AWS log stream(s) an application is writing to.
        examples:
          - ["logs/main/10838bed-421f-43ef-870a-f43feacbbb5b"]
      - id: aws.log.stream.arns
        type: string[]
        stability: experimental
        brief: >
          The ARN(s) of the AWS log stream(s).
        examples:
          - ["arn:aws:logs:us-west-1:123456789012:log-group:/aws/my/group:log-stream:logs/main/10838bed-421f-43ef-870a-f43feacbbb5b"]
        note: >
          See the
          [log stream ARN format documentation](https://docs.aws.amazon.com/AmazonCloudWatch/latest/logs/iam-access-control-overview-cwl.html#CWL_ARN_Format).
          One log group can contain several log streams, so these ARNs necessarily identify both a log
          group and a log stream.

  - id: registry.aws.lambda
    type: attribute_group
    display_name: Amazon Lambda Attributes
    brief: >
        This document defines attributes for AWS Lambda.
    attributes:
      - id: aws.lambda.invoked_arn
        type: string
        stability: experimental
        brief: >
          The full invoked ARN as provided on the `Context` passed to the function
          (`Lambda-Runtime-Invoked-Function-Arn` header on the `/runtime/invocation/next` applicable).
        note: This may be different from `cloud.resource_id` if an alias is involved.
        examples: ["arn:aws:lambda:us-east-1:123456:function:myfunction:myalias"]
  - id: registry.aws.s3
    type: attribute_group
    display_name: Amazon S3 Attributes
    brief: >
      This document defines attributes for AWS S3.
    attributes:
      - id: aws.s3.bucket
        type: string
        stability: experimental
        brief: "The S3 bucket name the request refers to. Corresponds to the `--bucket` parameter of the [S3 API](https://docs.aws.amazon.com/cli/latest/reference/s3api/index.html) operations."
        examples:
          - some-bucket-name
        note: |
          The `bucket` attribute is applicable to all S3 operations that reference a bucket, i.e. that require the bucket name as a mandatory parameter.
          This applies to almost all S3 operations except `list-buckets`.
      - id: aws.s3.key
        type: string
        stability: experimental
        brief: "The S3 object key the request refers to. Corresponds to the `--key` parameter of the [S3 API](https://docs.aws.amazon.com/cli/latest/reference/s3api/index.html) operations."
        examples:
          - someFile.yml
        note: |
          The `key` attribute is applicable to all object-related S3 operations, i.e. that require the object key as a mandatory parameter.
          This applies in particular to the following operations:

          - [copy-object](https://docs.aws.amazon.com/cli/latest/reference/s3api/copy-object.html)
          - [delete-object](https://docs.aws.amazon.com/cli/latest/reference/s3api/delete-object.html)
          - [get-object](https://docs.aws.amazon.com/cli/latest/reference/s3api/get-object.html)
          - [head-object](https://docs.aws.amazon.com/cli/latest/reference/s3api/head-object.html)
          - [put-object](https://docs.aws.amazon.com/cli/latest/reference/s3api/put-object.html)
          - [restore-object](https://docs.aws.amazon.com/cli/latest/reference/s3api/restore-object.html)
          - [select-object-content](https://docs.aws.amazon.com/cli/latest/reference/s3api/select-object-content.html)
          - [abort-multipart-upload](https://docs.aws.amazon.com/cli/latest/reference/s3api/abort-multipart-upload.html)
          - [complete-multipart-upload](https://docs.aws.amazon.com/cli/latest/reference/s3api/complete-multipart-upload.html)
          - [create-multipart-upload](https://docs.aws.amazon.com/cli/latest/reference/s3api/create-multipart-upload.html)
          - [list-parts](https://docs.aws.amazon.com/cli/latest/reference/s3api/list-parts.html)
          - [upload-part](https://docs.aws.amazon.com/cli/latest/reference/s3api/upload-part.html)
          - [upload-part-copy](https://docs.aws.amazon.com/cli/latest/reference/s3api/upload-part-copy.html)
      - id: aws.s3.copy_source
        type: string
        stability: experimental
        brief: "The source object (in the form `bucket`/`key`) for the copy operation."
        examples:
          - someFile.yml
        note: |
          The `copy_source` attribute applies to S3 copy operations and corresponds to the `--copy-source` parameter
          of the [copy-object operation within the S3 API](https://docs.aws.amazon.com/cli/latest/reference/s3api/copy-object.html).
          This applies in particular to the following operations:

          - [copy-object](https://docs.aws.amazon.com/cli/latest/reference/s3api/copy-object.html)
          - [upload-part-copy](https://docs.aws.amazon.com/cli/latest/reference/s3api/upload-part-copy.html)
      - id: aws.s3.upload_id
        type: string
        stability: experimental
        brief: "Upload ID that identifies the multipart upload."
        examples:
          - "dfRtDYWFbkRONycy.Yxwh66Yjlx.cph0gtNBtJ"
        note: |
          The `upload_id` attribute applies to S3 multipart-upload operations and corresponds to the `--upload-id` parameter
          of the [S3 API](https://docs.aws.amazon.com/cli/latest/reference/s3api/index.html) multipart operations.
          This applies in particular to the following operations:

          - [abort-multipart-upload](https://docs.aws.amazon.com/cli/latest/reference/s3api/abort-multipart-upload.html)
          - [complete-multipart-upload](https://docs.aws.amazon.com/cli/latest/reference/s3api/complete-multipart-upload.html)
          - [list-parts](https://docs.aws.amazon.com/cli/latest/reference/s3api/list-parts.html)
          - [upload-part](https://docs.aws.amazon.com/cli/latest/reference/s3api/upload-part.html)
          - [upload-part-copy](https://docs.aws.amazon.com/cli/latest/reference/s3api/upload-part-copy.html)
      - id: aws.s3.delete
        type: string
        stability: experimental
        brief: "The delete request container that specifies the objects to be deleted."
        examples:
          - "Objects=[{Key=string,VersionId=string},{Key=string,VersionId=string}],Quiet=boolean"
        note: |
          The `delete` attribute is only applicable to the [delete-object](https://docs.aws.amazon.com/cli/latest/reference/s3api/delete-object.html) operation.
          The `delete` attribute corresponds to the `--delete` parameter of the
          [delete-objects operation within the S3 API](https://docs.aws.amazon.com/cli/latest/reference/s3api/delete-objects.html).
      - id: aws.s3.part_number
        type: int
        stability: experimental
        brief: "The part number of the part being uploaded in a multipart-upload operation. This is a positive integer between 1 and 10,000."
        examples:
          - 3456
        note: |
          The `part_number` attribute is only applicable to the [upload-part](https://docs.aws.amazon.com/cli/latest/reference/s3api/upload-part.html)
          and [upload-part-copy](https://docs.aws.amazon.com/cli/latest/reference/s3api/upload-part-copy.html) operations.
          The `part_number` attribute corresponds to the `--part-number` parameter of the
          [upload-part operation within the S3 API](https://docs.aws.amazon.com/cli/latest/reference/s3api/upload-part.html).
