diff --git a/internal/aws/proxy/config.schema.yaml b/internal/aws/proxy/config.schema.yaml new file mode 100644 index 0000000000000..4aee313117673 --- /dev/null +++ b/internal/aws/proxy/config.schema.yaml @@ -0,0 +1,28 @@ +$defs: + config: + description: Config is the configuration for the local TCP proxy server. + type: object + properties: + aws_endpoint: + description: AWSEndpoint is the X-Ray service endpoint which the local TCP server forwards requests to. + type: string + local_mode: + description: LocalMode determines whether the EC2 instance metadata endpoint will be called or not. Set to `true` to skip EC2 instance metadata check. + type: boolean + proxy_address: + description: ProxyAddress defines the proxy address that the local TCP server forwards HTTP requests to AWS X-Ray backend through. + type: string + region: + description: Region is the AWS region the local TCP server forwards requests to. + type: string + role_arn: + description: RoleARN is the IAM role used by the local TCP server when communicating with the AWS X-Ray service. + type: string + service_name: + description: ServiceName determines which service the requests are sent to. will be default to `xray`. This is mandatory for SigV4 + type: string + tls: + description: TLS struct exposes TLS client configuration when forwarding calls to the AWS X-Ray backend. + $ref: go.opentelemetry.io/collector/config/configtls.client_config + allOf: + - $ref: go.opentelemetry.io/collector/config/confignet.tcp_addr_config diff --git a/receiver/activedirectorydsreceiver/config.schema.yaml b/receiver/activedirectorydsreceiver/config.schema.yaml new file mode 100644 index 0000000000000..13484ee3af865 --- /dev/null +++ b/receiver/activedirectorydsreceiver/config.schema.yaml @@ -0,0 +1,4 @@ +type: object +allOf: + - $ref: go.opentelemetry.io/collector/scraper/scraperhelper.controller_config + - $ref: ./internal/metadata.metrics_builder_config diff --git a/receiver/activedirectorydsreceiver/internal/metadata/config.schema.yaml b/receiver/activedirectorydsreceiver/internal/metadata/config.schema.yaml new file mode 100644 index 0000000000000..e579ba6779747 --- /dev/null +++ b/receiver/activedirectorydsreceiver/internal/metadata/config.schema.yaml @@ -0,0 +1,74 @@ +$defs: + attribute_bind_type: + description: AttributeBindType specifies the value bind_type attribute. + type: integer + attribute_direction: + description: AttributeDirection specifies the value direction attribute. + type: integer + attribute_network_data_type: + description: AttributeNetworkDataType specifies the value network_data_type attribute. + type: integer + attribute_operation_type: + description: AttributeOperationType specifies the value operation_type attribute. + type: integer + attribute_suboperation_type: + description: AttributeSuboperationType specifies the value suboperation_type attribute. + type: integer + attribute_sync_result: + description: AttributeSyncResult specifies the value sync_result attribute. + type: integer + attribute_value_type: + description: AttributeValueType specifies the value value_type attribute. + type: integer + metric_config: + description: MetricConfig provides common config for a particular metric. + type: object + properties: + enabled: + type: boolean + metrics_builder_config: + description: MetricsBuilderConfig is a configuration for active_directory_ds metrics builder. + type: object + properties: + metrics: + $ref: metrics_config + metrics_config: + description: MetricsConfig provides config for active_directory_ds metrics. + type: object + properties: + active_directory.ds.bind.rate: + $ref: metric_config + active_directory.ds.ldap.bind.last_successful.time: + $ref: metric_config + active_directory.ds.ldap.bind.rate: + $ref: metric_config + active_directory.ds.ldap.client.session.count: + $ref: metric_config + active_directory.ds.ldap.search.rate: + $ref: metric_config + active_directory.ds.name_cache.hit_rate: + $ref: metric_config + active_directory.ds.notification.queued: + $ref: metric_config + active_directory.ds.operation.rate: + $ref: metric_config + active_directory.ds.replication.network.io: + $ref: metric_config + active_directory.ds.replication.object.rate: + $ref: metric_config + active_directory.ds.replication.operation.pending: + $ref: metric_config + active_directory.ds.replication.property.rate: + $ref: metric_config + active_directory.ds.replication.sync.object.pending: + $ref: metric_config + active_directory.ds.replication.sync.request.count: + $ref: metric_config + active_directory.ds.replication.value.rate: + $ref: metric_config + active_directory.ds.security_descriptor_propagations_event.queued: + $ref: metric_config + active_directory.ds.suboperation.rate: + $ref: metric_config + active_directory.ds.thread.count: + $ref: metric_config diff --git a/receiver/awscloudwatchreceiver/config.schema.yaml b/receiver/awscloudwatchreceiver/config.schema.yaml new file mode 100644 index 0000000000000..e3e775879cf32 --- /dev/null +++ b/receiver/awscloudwatchreceiver/config.schema.yaml @@ -0,0 +1,73 @@ +$defs: + autodiscover_config: + description: AutodiscoverConfig is the configuration for the autodiscovery functionality of log groups + type: object + properties: + account_identifiers: + type: array + items: + type: string + include_linked_accounts: + x-pointer: true + type: boolean + limit: + type: integer + pattern: + type: string + prefix: + type: string + streams: + $ref: stream_config + group_config: + description: GroupConfig is the configuration for log group collection + type: object + properties: + autodiscover: + x-pointer: true + $ref: autodiscover_config + named: + type: object + additionalProperties: + $ref: stream_config + logs_config: + description: LogsConfig is the configuration for the logs portion of this receiver + type: object + properties: + groups: + $ref: group_config + max_events_per_request: + type: integer + poll_interval: + type: string + format: duration + start_from: + type: string + stream_config: + description: StreamConfig represents the configuration for the log stream filtering + type: object + properties: + names: + type: array + items: + x-pointer: true + type: string + prefixes: + type: array + items: + x-pointer: true + type: string +description: Config is the overall config structure for the awscloudwatchreceiver +type: object +properties: + imds_endpoint: + type: string + logs: + $ref: logs_config + profile: + type: string + region: + type: string + storage: + x-pointer: true + type: string + x-customType: go.opentelemetry.io/collector/component.ID diff --git a/receiver/awscontainerinsightreceiver/config.schema.yaml b/receiver/awscontainerinsightreceiver/config.schema.yaml new file mode 100644 index 0000000000000..f45edcf0b6835 --- /dev/null +++ b/receiver/awscontainerinsightreceiver/config.schema.yaml @@ -0,0 +1,19 @@ +description: Config defines configuration for aws ecs container metrics receiver. +type: object +properties: + add_full_pod_name_metric_label: + description: The "FullPodName" attribute is the pod name including suffix If false FullPodName label is not added The default value is false + type: boolean + add_service_as_attribute: + description: Whether to add the associated service name as attribute. The default is true + type: boolean + collection_interval: + description: CollectionInterval is the interval at which metrics should be collected. The default is 60 second. + type: string + format: duration + container_orchestrator: + description: ContainerOrchestrator is the type of container orchestration service, e.g. eks or ecs. The default is eks. + type: string + prefer_full_pod_name: + description: The "PodName" attribute is set based on the name of the relevant controllers like Daemonset, Job, ReplicaSet, ReplicationController, ... If it cannot be set that way and PrefFullPodName is true, the "PodName" attribute is set to the pod's own name. The default value is false + type: boolean diff --git a/receiver/awsecscontainermetricsreceiver/config.schema.yaml b/receiver/awsecscontainermetricsreceiver/config.schema.yaml new file mode 100644 index 0000000000000..6f7b1328291bd --- /dev/null +++ b/receiver/awsecscontainermetricsreceiver/config.schema.yaml @@ -0,0 +1,7 @@ +description: Config defines configuration for aws ecs container metrics receiver. +type: object +properties: + collection_interval: + description: CollectionInterval is the interval at which metrics should be collected + type: string + format: duration diff --git a/receiver/awsfirehosereceiver/config.schema.yaml b/receiver/awsfirehosereceiver/config.schema.yaml new file mode 100644 index 0000000000000..8b29b3a05c7db --- /dev/null +++ b/receiver/awsfirehosereceiver/config.schema.yaml @@ -0,0 +1,13 @@ +type: object +properties: + access_key: + description: AccessKey is checked against the one received with each request. This can be set when creating or updating the Firehose delivery stream. + $ref: go.opentelemetry.io/collector/config/configopaque.string + encoding: + description: 'Encoding identifies the encoding of records received from Firehose. Defaults to telemetry-specific encodings: "cwlog" for logs, and "cwmetrics" for metrics.' + type: string + record_type: + description: 'RecordType is an alias for Encoding for backwards compatibility. It is an error to specify both encoding and record_type. Deprecated: [v0.121.0] use Encoding instead.' + type: string +allOf: + - $ref: go.opentelemetry.io/collector/config/confighttp.server_config diff --git a/receiver/awslambdareceiver/config.schema.yaml b/receiver/awslambdareceiver/config.schema.yaml new file mode 100644 index 0000000000000..146e218e9bea9 --- /dev/null +++ b/receiver/awslambdareceiver/config.schema.yaml @@ -0,0 +1,19 @@ +type: object +properties: + cloudwatch: + description: CloudWatch defines configuration options for CloudWatch Lambda trigger. + type: object + properties: + encoding: + description: Encoding defines the encoding to decode incoming Lambda invocation data. This extension is expected to further process content of the events that are extracted from Lambda trigger. If receiving data is in different formats(ex:- a mix of VPC flow logs, CloudTrail logs), receiver is recommended to have separate Lambda functions with specific extension configurations. + type: string + failure_bucket_arn: + description: FailureBucketARN is the ARN of receiver deployment Lambda's error destination. + type: string + s3: + description: S3 defines configuration options for S3 Lambda trigger. + type: object + properties: + encoding: + description: Encoding defines the encoding to decode incoming Lambda invocation data. This extension is expected to further process content of the events that are extracted from Lambda trigger. If receiving data is in different formats(ex:- a mix of VPC flow logs, CloudTrail logs), receiver is recommended to have separate Lambda functions with specific extension configurations. + type: string diff --git a/receiver/awss3receiver/config.schema.yaml b/receiver/awss3receiver/config.schema.yaml new file mode 100644 index 0000000000000..c3417000d078f --- /dev/null +++ b/receiver/awss3receiver/config.schema.yaml @@ -0,0 +1,84 @@ +$defs: + encoding: + description: Encoding defines the encoding configuration for the file receiver. + type: object + properties: + extension: + type: string + x-customType: go.opentelemetry.io/collector/component.ID + suffix: + type: string + notifications: + description: Notifications groups optional notification sources. + type: object + properties: + opampextension: + x-pointer: true + type: string + x-customType: go.opentelemetry.io/collector/component.ID + s_3_downloader_config: + description: S3DownloaderConfig contains aws s3 downloader related config to controls things like bucket, prefix, batching, connections, retries, etc. + type: object + properties: + endpoint: + type: string + endpoint_partition_id: + type: string + file_prefix: + type: string + file_prefix_include_telemetry_type: + type: boolean + region: + type: string + s3_bucket: + type: string + s3_force_path_style: + type: boolean + s3_partition_format: + type: string + s3_partition_timezone: + type: string + s3_prefix: + type: string + sqs_config: + description: SQSConfig holds SQS queue configuration for receiving object change notifications. + type: object + properties: + endpoint: + description: Endpoint is the optional custom endpoint for SQS (useful for testing). + type: string + max_number_of_messages: + description: 'MaxNumberOfMessages specifies the maximum number of messages to receive in a single poll. Valid values: 1-10. Default is 10.' + x-pointer: true + type: integer + x-customType: int64 + queue_url: + description: QueueURL is the URL of the SQS queue to receive S3 notifications. + type: string + region: + description: Region specifies the AWS region of the SQS queue. + type: string + wait_time_seconds: + description: WaitTimeSeconds specifies the duration (in seconds) for long polling SQS messages. Maximum is 20 seconds. Default is 20 seconds. + x-pointer: true + type: integer + x-customType: int64 +description: Config defines the configuration for the file receiver. +type: object +properties: + encodings: + type: array + items: + $ref: encoding + endtime: + type: string + notifications: + $ref: notifications + s3downloader: + $ref: s_3_downloader_config + sqs: + description: SQS configures receiving S3 object change notifications via an SQS queue. + x-pointer: true + $ref: sqs_config + starttime: + type: string diff --git a/receiver/awsxrayreceiver/config.schema.yaml b/receiver/awsxrayreceiver/config.schema.yaml new file mode 100644 index 0000000000000..375cfcf5f632d --- /dev/null +++ b/receiver/awsxrayreceiver/config.schema.yaml @@ -0,0 +1,9 @@ +description: Config defines the configurations for an AWS X-Ray receiver. +type: object +properties: + proxy_server: + description: ProxyServer defines configurations related to the local TCP proxy server. + x-pointer: true + $ref: github.com/open-telemetry/opentelemetry-collector-contrib/internal/aws/proxy.config +allOf: + - $ref: go.opentelemetry.io/collector/config/confignet.addr_config