<?php

namespace Drupal\api_monitor_client\Attribute;

use Drupal\Component\Plugin\Attribute\AttributeBase;
use Drupal\Core\StringTranslation\TranslatableMarkup;

/**
 * Attribute the plugin ConfigurableProbe.
 */
#[\Attribute(\Attribute::TARGET_CLASS)]
class AttributeMonitorProbe extends AttributeBase {

  /**
   * Construct AttributeMonitorProbe.
   *
   * @param string $id
   *   L'ID univoco del plugin.
   * @param \Drupal\Core\StringTranslation\TranslatableMarkup $label
   *   L'etichetta leggibile del probe.
   * @param \Drupal\Core\StringTranslation\TranslatableMarkup|string $description
   *   Description probe.
   * @param string $endpoint_id
   *   ID endpoint.
   * @param string $method
   *   The method HTTP.
   * @param bool $is_pii_authorized
   *   Se l'endpoint è autorizzato a restituire dati personali.
   * @param string $deriver
   *   The class name of the plugin deriver.
   */
  public function __construct(
    string $id,
    public TranslatableMarkup $label,
    public TranslatableMarkup|string $description = '',
    public string $endpoint_id = '',
    public string $method = 'GET',
    public bool $is_pii_authorized = FALSE,
    string $deriver = '',
  ) {
    parent::__construct($id, $deriver);
  }

}
