Vous pouvez importer des ressources personnalisées qui ne sont pas importées par défaut lorsqu'un cluster est importé.

Les ressources personnalisées ne sont pas créées par NCP. Il existe des méthodes dans le fichier nsxt_mp_to_policy_converter.py (recherchez le mot « custom » dans les définitions de méthode) qui peuvent être remplacées pour mettre en œuvre le comportement prévu lors de l'importation de Stratégie vers Gestionnaire. Par défaut, NCP n'effectue aucune action pour ces ressources et, par conséquent, aucun comportement personnalisé n'est implémenté. Si vous spécifiez un ID de ressource personnalisée, une demande simple pour l'importer sera créée (l'ID de stratégie est déduit de display_name dans ce cas, aucune mise à jour n'est effectuée aux phases 2 et 3). Vous pouvez spécifier les ID de ces ressources dans le fichier de spécification utilisateur (voir l'exemple ci-dessous) à l'aide de l'identifiant custom_resources. Voici la syntaxe :

k8s-clusters:
  <k8s cluster name>:
    <NSX Resource Shell Class Name>:
      <NSX Resource - 1 Class Name>:
        custom_resources:
          <NSX Resource - 1A ID>:
            metadata:
              - "key": <metadata key recognized by Migration API>
                "value": <metadata value associated with the key recognized by
                          Migration API>
            linked_ids:
              - "key": <linked_ids key recognized by Migration API>
                "value": <linked_ids value associated with the key recognized by
                          Migration API>
            <NSX Resource - 2 Class Name>: # these resources are imported after NSX Resource - 1A is
              custom_resources:
                <NSX Resource - 2A ID>:
                  metadata:
                    - "key": <metadata key recognized by Migration API>
                      "value": <metadata value associated with the key
                                recognized by Migration API>
                  linked_ids:
                    - "key": <linked_ids key recognized by Migration API>
                      "value": <linked_ids value associated with the key
                                recognized by Migration API>      <NSX Resource - 1 Class Name>:
          <NSX Resource - 1B ID>:
            metadata:
              - "key": <metadata key recognized by Migration API>
                "value": <metadata value associated with the key recognized by
                          Migration API>
            linked_ids:
              - "key": <linked_ids key recognized by Migration API>
                "value": <linked_ids value associated with the key recognized by
                          Migration API>

Exemple de spécification de ressources personnalisées dans user-spec.yaml

k8s-clusters:
   k8scluster:
    # top-tier-router-id is required for each cluster
    top-tier-router-id: t1-router-id
    top-tier-router-type: TIER1
    # Provide custom resources as follow:
    NamespaceResources:
      Tier1Router:
        custom_resources:
          # Custom resources are specified only with MP ID
          6d93a932-87ea-42de-a30c-b39f397322b0:
            metadata:
              # It should be a list
              - key: 'metadata-key'
                value: 'metadata-value'
            linked_ids:
              # It should be a list
              - key: 'linked_id-key'
                value: 'linked_id-value'
      NATRules:
        custom_resources:
          # Custom resources are specified only with MP ID
          536870924:
            metadata:
              # It should be a list
              - key: 'metadata-key'
                value: 'metadata-value'
            linked_ids:
              # It should be a list
              - key: 'linked_id-key'
                value: 'linked_id-value'

Reportez-vous à Ordre de spécification des ressources pour voir comment les ressources personnalisées doivent être spécifiées dans user-spec.yaml.