9.1 KiB
9.1 KiB
Tools Reference
Complete reference for SAP BTP administration and development tools.
Source: https://github.com/SAP-docs/sap-btp-cloud-platform/blob/main/docs/10-concepts/tools-abcae5b.md
Table of Contents
- Administration Tools
- btp CLI
- Cloud Foundry CLI
- Development Tools
- Kubernetes Tools
- Terraform Provider
Administration Tools
| Tool | Purpose | Access |
|---|---|---|
| SAP BTP Cockpit | Web-based admin UI | https://cockpit.btp.cloud.sap |
| btp CLI | Terminal administration | Download from BTP Cockpit |
| REST APIs | Programmatic access | SAP API Business Hub |
| Terraform Provider | Infrastructure as Code | registry.terraform.io |
| SAP Automation Pilot | Low-code automation | BTP service |
btp CLI
Installation
- Download from BTP Cockpit → Downloads
- Extract and add to PATH
- Verify:
btp --version
Authentication
# Login with SSO
btp login
# Login with specific URL
btp login --url [https://cpcli.cf.eu10.hana.ondemand.com](https://cpcli.cf.eu10.hana.ondemand.com)
# Login with password (not recommended)
btp login --user user@example.com --password xxx
# Logout
btp logout
Global Account Operations
# List subaccounts
btp list accounts/subaccount
# Get global account details
btp get accounts/global-account
# List directories
btp list accounts/directory
Subaccount Operations
# Create subaccount
btp create accounts/subaccount \
--display-name "Development" \
--subdomain dev-acme \
--region eu10
# Update subaccount
btp update accounts/subaccount <subaccount-id> \
--display-name "New Name"
# Delete subaccount
btp delete accounts/subaccount <subaccount-id>
# Target subaccount (set context)
btp target --subaccount <subaccount-id>
Directory Operations
# Create directory
btp create accounts/directory \
--display-name "HR" \
--directory-features ENTITLEMENTS,AUTHORIZATIONS
# List directories
btp list accounts/directory
# Delete directory
btp delete accounts/directory <directory-id>
Entitlement Operations
# List entitlements
btp list accounts/entitlement
# Assign entitlement to subaccount
btp assign accounts/entitlement \
--to-subaccount <subaccount-id> \
--for-service hana-cloud \
--plan hana \
--amount 1
# Remove entitlement
btp unassign accounts/entitlement \
--from-subaccount <subaccount-id> \
--for-service hana-cloud \
--plan hana
Environment Operations
# List environments
btp list accounts/environment-instance
# Create environment instance
btp create accounts/environment-instance \
--subaccount <id> \
--environment cloudfoundry \
--plan standard \
--landscape eu10-004
# Delete environment
btp delete accounts/environment-instance <instance-id> --subaccount <subaccount-id>
Security Operations
# List role collections
btp list security/role-collection
# Assign user to role collection
btp assign security/role-collection "Subaccount Administrator" \
--to-user user@example.com \
--of-idp sap.ids
# Assign group to role collection
btp assign security/role-collection "Developers" \
--to-group "DevTeam" \
--of-idp my-idp
Service Operations
# List available services
btp list services/offering
# List service plans
btp list services/plan
# Create service instance
btp create services/instance \
--subaccount <id> \
--offering-name hana-cloud \
--plan-name hana \
--name my-hana
Output Formats
# JSON output
btp --format json list accounts/subaccount
# Table output (default)
btp list accounts/subaccount
Cloud Foundry CLI
Installation
# macOS
brew install cloudfoundry/tap/cf-cli@8
# Linux (Debian/Ubuntu)
wget -q -O - [https://packages.cloudfoundry.org/debian/cli.cloudfoundry.org.key](https://packages.cloudfoundry.org/debian/cli.cloudfoundry.org.key) | sudo apt-key add -
echo "deb [https://packages.cloudfoundry.org/debian](https://packages.cloudfoundry.org/debian) stable main" | sudo tee /etc/apt/sources.list.d/cloudfoundry-cli.list
sudo apt update && sudo apt install cf8-cli
# Windows (via Chocolatey)
choco install cloudfoundry-cli
Authentication
# Login
cf login -a [https://api.cf.eu10.hana.ondemand.com](https://api.cf.eu10.hana.ondemand.com)
# Login with SSO
cf login --sso
# Target org and space
cf target -o my-org -s my-space
# Logout
cf logout
Application Commands
# Push application
cf push my-app -p ./app.jar -m 512M -i 2
# List applications
cf apps
# View application details
cf app my-app
# Start/Stop/Restart
cf start my-app
cf stop my-app
cf restart my-app
# Scale
cf scale my-app -i 3 -m 1G
# Delete application
cf delete my-app -f
Service Commands
# Marketplace
cf marketplace
# Create service instance
cf create-service hana hdi-shared my-hana
# List services
cf services
# Bind service
cf bind-service my-app my-hana
# Unbind service
cf unbind-service my-app my-hana
# Create service key
cf create-service-key my-hana my-key
# View service key
cf service-key my-hana my-key
Log Commands
# View recent logs
cf logs my-app --recent
# Tail logs
cf logs my-app
# View events
cf events my-app
CF CLI Plugins
| Plugin | Purpose | Installation |
|---|---|---|
| MTA | Multi-target apps | cf install-plugin -r CF-Community multiapps |
| HTML5 | HTML5 apps | cf install-plugin -r CF-Community html5-plugin |
| Service Fabrik | Service management | From SAP |
# Install MTA plugin
cf install-plugin -r CF-Community multiapps
# Deploy MTA
cf deploy my-app.mtar
# List MTAs
cf mtas
Development Tools
SAP Business Application Studio
Web-based IDE features:
- VS Code-based editor
- Dev Spaces with preconfigured tools
- SAP Fiori development
- CAP development
- ABAP development (via ADT)
Access: Subaccount → Services → SAP Business Application Studio
SAP Build
Low-code/no-code platform:
- SAP Build Apps (drag-and-drop apps)
- SAP Build Process Automation (workflows)
- SAP Build Work Zone (unified launchpad)
SAP Cloud SDK
Development libraries:
- Java SDK
- JavaScript/TypeScript SDK
- Abstraction for multitenancy, connectivity, logging
# Install JavaScript SDK
npm install @sap-cloud-sdk/core
Eclipse Tools
| Tool | Purpose |
|---|---|
| ADT | ABAP Development Tools |
| CF Plugin | Cloud Foundry deployment |
Kubernetes Tools
kubectl
# Install
brew install kubectl # macOS
sudo apt install kubectl # Linux
# Configure for Kyma
export KUBECONFIG=~/.kube/kyma-config.yaml
kubectl get pods -A
kubelogin
OIDC authentication for Kyma:
# Install
brew install int128/kubelogin/kubelogin
# Login
kubelogin
Helm
# Install
brew install helm
# Add repo
helm repo add my-repo [https://charts.example.com](https://charts.example.com)
# Install chart
helm install my-release my-repo/my-chart -n my-namespace
# Upgrade
helm upgrade my-release my-repo/my-chart
# List releases
helm list -A
Docker
# Build image
docker build -t my-app:latest .
# Push to registry
docker push my-registry/my-app:latest
# Run locally
docker run -p 8080:8080 my-app:latest
Pack (Cloud Native Buildpacks)
# Install
brew install buildpacks/tap/pack
# Build image
pack build my-app --builder paketobuildpacks/builder:base
Terraform Provider
Installation
terraform {
required_providers {
btp = {
source = "SAP/btp"
version = "~> 1.0"
}
}
}
Provider Configuration
provider "btp" {
globalaccount = "my-global-account"
cli_server_url = "[https://cli.btp.cloud.sap"](https://cli.btp.cloud.sap")
}
Resource Examples
# Subaccount
resource "btp_subaccount" "dev" {
name = "Development"
subdomain = "dev-acme"
region = "eu10"
}
# Entitlement
resource "btp_subaccount_entitlement" "hana" {
subaccount_id = btp_subaccount.dev.id
service_name = "hana-cloud"
plan_name = "hana"
amount = 1
}
# Role collection assignment
resource "btp_subaccount_role_collection_assignment" "dev_admin" {
subaccount_id = btp_subaccount.dev.id
role_collection_name = "Subaccount Administrator"
user_name = "admin@example.com"
origin = "sap.ids"
}