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: development
        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: development
        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: development
        brief: The keys in the `RequestItems` object field.
        examples:
          - [Users, Cats]
      - id: aws.dynamodb.consumed_capacity
        type: string[]
        stability: development
        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: development
        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: development
        brief: "The value of the `ProvisionedThroughput.ReadCapacityUnits` request parameter."
        examples:
          - 1.0
          - 2.0
      - id: aws.dynamodb.provisioned_write_capacity
        type: double
        stability: development
        brief: "The value of the `ProvisionedThroughput.WriteCapacityUnits` request parameter."
        examples:
          - 1.0
          - 2.0
      - id: aws.dynamodb.consistent_read
        type: boolean
        stability: development
        brief: "The value of the `ConsistentRead` request parameter."
      - id: aws.dynamodb.projection
        type: string
        stability: development
        brief: "The value of the `ProjectionExpression` request parameter."
        examples:
          - Title
          - Title, Price, Color
          - Title, Description, RelatedItems, ProductReviews
      - id: aws.dynamodb.limit
        type: int
        stability: development
        brief: "The value of the `Limit` request parameter."
        examples:
          - 10
      - id: aws.dynamodb.attributes_to_get
        type: string[]
        stability: development
        brief: "The value of the `AttributesToGet` request parameter."
        examples:
          - [lives, id]
      - id: aws.dynamodb.index_name
        type: string
        stability: development
        brief: "The value of the `IndexName` request parameter."
        examples:
          - name_to_group
      - id: aws.dynamodb.select
        type: string
        stability: development
        brief: "The value of the `Select` request parameter."
        examples:
          - ALL_ATTRIBUTES
          - COUNT
      - id: aws.dynamodb.global_secondary_indexes
        type: string[]
        stability: development
        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: development
        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: development
        brief: "The value of the `ExclusiveStartTableName` request parameter."
        examples: [Users, CatsTable]
      - id: aws.dynamodb.table_count
        type: int
        stability: development
        brief: "The number of items in the `TableNames` response parameter."
        examples:
          - 20
      - id: aws.dynamodb.scan_forward
        type: boolean
        stability: development
        brief: "The value of the `ScanIndexForward` request parameter."
      - id: aws.dynamodb.segment
        type: int
        stability: development
        brief: "The value of the `Segment` request parameter."
        examples:
          - 10
      - id: aws.dynamodb.total_segments
        type: int
        stability: development
        brief: "The value of the `TotalSegments` request parameter."
        examples:
          - 100
      - id: aws.dynamodb.count
        type: int
        stability: development
        brief: "The value of the `Count` response parameter."
        examples:
          - 10
      - id: aws.dynamodb.scanned_count
        type: int
        stability: development
        brief: "The value of the `ScannedCount` response parameter."
        examples:
          - 50
      - id: aws.dynamodb.attribute_definitions
        type: string[]
        stability: development
        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: development
        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: development
        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: development
        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"
              brief: Amazon EC2
              stability: development
            - id: fargate
              value: "fargate"
              brief: Amazon Fargate
              stability: development
        stability: development
        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: development
        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: development
        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: development
        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: development
        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: development
        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: development
        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: development
        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: development
        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: development
        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: development
        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: aws.lambda.resource_mapping.id
        type: string
        stability: development
        brief: >
          The UUID of the [AWS Lambda EvenSource Mapping](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lambda-eventsourcemapping.html).
          An event source is mapped to a lambda function. It's contents are read by Lambda and used to trigger a function. This isn't available in the lambda execution
          context or the lambda runtime environtment. This is going to be populated by the AWS SDK for each language when that UUID is present.
          Some of these operations are Create/Delete/Get/List/Update EventSourceMapping.
        examples: ["587ad24b-03b9-4413-8202-bbd56b36e5b7"]
  - 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: development
        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: development
        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: development
        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: development
        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: development
        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: development
        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).
  - id: registry.aws.sqs
    type: attribute_group
    display_name: Amazon SQS Attributes
    brief: >
        This document defines attributes for AWS SQS.
    attributes:
      - id: aws.sqs.queue.url
        type: string
        stability: development
        brief: >
          The URL of the AWS SQS Queue. It's a unique identifier for a queue in Amazon Simple Queue Service (SQS)
          and is used to access the queue and perform actions on it.
        examples: ["https://sqs.us-east-1.amazonaws.com/123456789012/MyQueue"]
  - id: registry.aws.sns
    type: attribute_group
    display_name: Amazon SNS Attributes
    brief: >
        This document defines attributes for AWS SNS.
    attributes:
      - id: aws.sns.topic.arn
        type: string
        stability: development
        brief: >
          The ARN of the AWS SNS Topic. An Amazon SNS [topic](https://docs.aws.amazon.com/sns/latest/dg/sns-create-topic.html) is a logical access point that acts as a communication channel.
        examples: ["arn:aws:sns:us-east-1:123456789012:mystack-mytopic-NZJ5JSMVGFIE"]
  - id: registry.aws.kinesis
    type: attribute_group
    display_name: Amazon Kinesis Attributes
    brief: >
        This document defines attributes for AWS Kinesis.
    attributes:
      - id: aws.kinesis.stream_name
        type: string
        stability: development
        brief: >
          The name of the AWS Kinesis [stream](https://docs.aws.amazon.com/streams/latest/dev/introduction.html) the request refers to. Corresponds to the `--stream-name` parameter of the
          Kinesis [describe-stream](https://docs.aws.amazon.com/cli/latest/reference/kinesis/describe-stream.html) operation.
        examples: ["some-stream-name"]
  - id: registry.aws.step_functions
    type: attribute_group
    display_name: Amazon Step Functions Attributes
    brief: >
        This document defines attributes for AWS Step Functions.
    attributes:
      - id: aws.step_functions.activity.arn
        type: string
        stability: development
        brief: >
          The ARN of the AWS Step Functions Activity.
        examples: ["arn:aws:states:us-east-1:123456789012:activity:get-greeting"]
      - id: aws.step_functions.state_machine.arn
        type: string
        stability: development
        brief: >
          The ARN of the AWS Step Functions State Machine.
        examples: ["arn:aws:states:us-east-1:123456789012:stateMachine:myStateMachine:1"]
  - id: registry.aws.secretsmanager
    type: attribute_group
    display_name: Amazon Secrets Manager Attributes
    brief: >
        This document defines attributes for AWS Secrets Manager.
    attributes:
      - id: aws.secretsmanager.secret.arn
        type: string
        stability: development
        brief: >
          The ARN of the Secret stored in the Secrets Mangger
        examples: ["arn:aws:secretsmanager:us-east-1:123456789012:secret:SecretName-6RandomCharacters"]
  - id: registry.aws.bedrock
    type: attribute_group
    display_name: Amazon Bedrock Attributes
    brief: >
        This document defines attributes for AWS Bedrock.
    attributes:
      - id: aws.bedrock.guardrail.id
        type: string
        stability: development
        brief: >
          The unique identifier of the AWS Bedrock Guardrail.
          A [guardrail](https://docs.aws.amazon.com/bedrock/latest/userguide/guardrails.html) helps safeguard and prevent unwanted behavior from model responses or user messages.
        examples: ["sgi5gkybzqak"]
      - id: aws.bedrock.knowledge_base.id
        type: string
        stability: development
        brief: >
          The unique identifier of the AWS Bedrock Knowledge base.
          A [knowledge base](https://docs.aws.amazon.com/bedrock/latest/userguide/knowledge-base.html) is a bank of information
          that can be queried by models to generate more relevant responses and augment prompts.
        examples: ["XFWUPB9PAW"]
