Que fait cloud-create-project ?
Crée des projets Elastic Cloud Serverless (Elasticsearch, Observabilité ou Sécurité) via l'API REST, enregistre les identifiants dans un fichier et génère une clé API Elasticsearch limitée. À utiliser lors de la création d'un nouveau projet serverless, du provisionnement d'un environnement de recherche ou d'observabilité, ou du déploiement d'un nouveau projet Elastic Cloud.
Prérequis
- Une clé API Elastic Cloud avec les permissions appropriées pour créer des projets.
curletjqinstallés sur le système.- Les variables d'environnement suivantes doivent être définies :
CLOUD_ELASTIC_API_KEY: Votre clé API Elastic Cloud.CLOUD_ELASTIC_PROJECT_NAME: Le nom souhaité pour le nouveau projet.CLOUD_ELASTIC_PROJECT_TYPE: Le type de projet (elasticsearch,observability, ousecurity). Par défaut :elasticsearch.CLOUD_ELASTIC_REGION: La région de déploiement (par exemple,gcp-us-central1). Par défaut :gcp-us-central1.OUTPUT_FILE(optionnel) : Chemin du fichier où écrire les identifiants. Par défaut :credentials.json.
Utilisation
- Assurez-vous que toutes les variables d'environnement requises sont définies.
- Exécutez la compétence. L'agent effectuera les étapes suivantes :
- Envoyer une requête
POSTà l'API Elastic Cloud pour créer un nouveau projet serverless. - Attendre la fin du provisionnement (statut
initialized). - Récupérer l'ID du projet et le point de terminaison Elasticsearch.
- Enregistrer les identifiants au format JSON dans le fichier spécifié par
OUTPUT_FILE. - Générer une clé API Elasticsearch limitée au projet, avec les rôles et privilèges par défaut.
- Envoyer une requête
Exemple
# Définir les variables d'environnement
export CLOUD_ELASTIC_API_KEY="VotreCleApiElasticCloud"
export CLOUD_ELASTIC_PROJECT_NAME="mon-projet-recherche"
export CLOUD_ELASTIC_PROJECT_TYPE="elasticsearch"
export CLOUD_ELASTIC_REGION="gcp-us-central1"
export OUTPUT_FILE="mon-projet-credentials.json"
# Exécuter l'agent avec la compétence
# (la commande exacte dépend de l'agent utilisé)
Résultat
Un fichier JSON (par défaut credentials.json) est créé avec la structure suivante :
{
"project_id": "...",
"endpoint": "https://...",
"api_key": "...",
"api_key_id": "..."
}
Dépannage
- Erreur 401 : Vérifiez que
CLOUD_ELASTIC_API_KEYest valide. - Erreur 409 : Un projet avec le même nom existe déjà.
- Délai d'attente dépassé : Le provisionnement peut prendre plusieurs minutes. Augmentez le temps d'attente dans l'agent si nécessaire.
Remarques
- La clé API générée est limitée au projet créé et ne peut pas être utilisée pour d'autres projets.
- Conservez le fichier d'identifiants de manière sécurisée, car il contient des secrets d'authentification.