Zum Inhalt springen

STACKIT OpenSearch API verwenden

In diesem Tutorial erfahren Sie, wie Sie Service-Instanzen und Service-Zugangsdaten in Ihrem STACKIT-Projekt mithilfe der STACKIT OpenSearch API verwalten.

Um die auf dieser Seite beschriebenen Schritte auszuführen, müssen die folgenden Voraussetzungen erfüllt sein:

API-Aufruf

Terminal-Fenster
curl --location --request GET 'https://opensearch.api.eu01.stackit.cloud/v1/projects/[projectId]/offerings' \
VariableBeschreibung
[projectId]Die ProjectId kann im STACKIT Portal abgerufen werden, indem Sie in der Seitenleiste im Bereich Overview zum Projekt-Dashboard navigieren.
[token]Das Zugriffstoken Ihres Servicekontos.

Auszug aus der API-Antwort

{
"offerings": [
{
"description": "OpenSearch is a fully managed search and analytics engine.",
"imageUrl": "data:image/png;base64,iVBORw0...YII=",
"documentationUrl": "",
"quotaCount": 2,
"latest": true,
"name": "OpenSearch 2",
"plans": [
{
"description": "3 Nodes, 1 vCPU, 2 GB RAM, 10 GB Disk",
"id": "9e4eac4b-b03d-4d7b-b01b-6d1224aa2d68",
"name": "stackit-opensearch-1.2.10-replica",
"free": false
},
{
"description": "3 Nodes, 1 vCPU, 4 GB RAM, 10 GB Disk",
"id": "e5fbee3b-8237-415e-a783-3ab25a40eeda",
"name": "stackit-opensearch-1.4.10-replica",
"free": false
},
{
"description": "3 Nodes, 1 vCPU, 4 GB RAM, 50 GB Disk",
"id": "28029780-2e42-41e7-9cc5-9ee15acd95f6",
"name": "stackit-opensearch-1.4.50-replica",
"free": false
},
{
"description": "3 Nodes, 2 vCPUs, 4 GB RAM, 10 GB Disk",
"id": "8fa3d311-a5ff-464f-97cf-29a6fc159dbc",
"name": "stackit-opensearch-2.4.10-replica",
"free": false
},
...
{
"description": "1 Node, 4 vCPUs, 8 GB RAM, 50 GB Disk",
"id": "913780f9-f5e6-4c9b-9e9a-864754fe8005",
"name": "stackit-opensearch-4.8.50-single",
"free": false
}
],
..
]
}

API-Aufruf

Terminal-Fenster
curl --location --request POST 'https://opensearch.api.eu01.stackit.cloud/v1/projects/[projectId]/instances' \
--header 'Content-Type: application/json' \
--header 'Accept: application/json' \
--header 'Authorization: Bearer [token]' \
--data-raw '{
"planId": "[planId]",
"instanceName": "[service_instance_name]",
"parameters": {"sgw_acl": "[ip_list]"}
}'
[planId]Service-planId des Serviceangebots, das Sie bestellen möchten. Siehe den vorherigen API-Aufruf „Get service offerings“. Beispiel: Die planId für „stackit-opensearch-1.2.10-replica“ lautet „9e4eac4b-b03d-4d7b-b01b-6d1224aa2d68“.
[service_instance_name]Wählen Sie einen aussagekräftigen Namen für Ihre Instanz.
[ip_list]Durch Kommas getrennte Liste von IP-Netzwerken in CIDR-Notation, die auf diese Instanz zugreifen dürfen, z. B. 193.148.160.0/19,45.129.40.0/21

API-Antwort

InstanceId of the created service instance, required for further API calls.
e.g.
{"instanceId":"a8196380-da17-4789-aae6-b452442bef56"}

API-Aufruf

Terminal-Fenster
curl --location --request GET 'https://opensearch.api.eu01.stackit.cloud/v1/projects/[projectId]/instances/[instanceId]' \
--header 'Accept: application/json' \
--header 'Authorization: Bearer [token]' | jq.

API-Aufruf

Terminal-Fenster
curl --location --request DELETE 'https://opensearch.api.eu01.stackit.cloud/v1/projects/[projectId]/instances/[instanceId]' \
--header 'Accept: application/json' \
--header 'Authorization: Bearer [token]'

API-Aufruf

Terminal-Fenster
curl --location --request POST 'https://opensearch.api.eu01.stackit.cloud/v1/projects/[projectId]/instances/[instanceId]/credentials' \
--header 'Accept: application/json' \
--header 'Authorization: Bearer [token]' | jq.

Beispiel einer API-Antwort

{
"id": "acb13963-2e83-4553-aba9-bd62aaf2be5a",
"uri": "https://sed21b412-0.data.eu01.onstackit.cloud:49366",
"raw": {
"credentials": {
"username": "*****",
"password": "*****",
"port": 49366,
"host": "https://sed21b412-0.data.eu01.onstackit.cloud:49366",
"hosts": [
"sed21b412-os-0-1.data.eu01.onstackit.cloud"
],
"uri": "https://sed21b412-0.data.eu01.onstackit.cloud:49366",
"cacrt": "-----BEGIN CERTIFICATE-----\nMIIFujC.....4ZfJ\n-----END CERTIFICATE-----",
"scheme": "https"
},
"routeServiceUrl": "",
"syslogDrainUrl": ""
}
}

Sie können eines von mehreren API-Test- und Entwicklungstools verwenden, um die Arbeit mit der API komfortabler zu gestalten.

Beispiele hierfür sind:

oder andere Tools. Die meisten Tools unterstützen den Import der OpenAPI-Spezifikation.