Skip to content

RegestaItalia/regesta.devops.terraform.modules.btp-print-server-creation

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

8 Commits
 
 
 
 

Repository files navigation

# Modulo Terraform: BTP Print Server Creation

Questo modulo Terraform abilita le entitlements, crea la subscription e le istanze di servizio necessarie per SAP Print Server su un subaccount e uno space Cloud Foundry.


## Provider richiesti

```hcl
terraform {
  required_providers {
    btp = {
      source  = "SAP/btp"
      version = "~> 1.18.0"
    }
    cloudfoundry = {
      source  = "cloudfoundry/cloudfoundry"
      version = "~> 1.11.0"
    }
  }
}
```



### Configurazione dei provider

Esempio di configurazione dei provider con placeholder:

```hcl
provider "btp" {
  globalaccount = "<GLOBALACCOUNT_ID>" # ID dell'account globale BTP
  username      = "<USERNAME>"          # Username per autenticazione
  password      = "<PASSWORD>"          # Password per autenticazione
}

provider "cloudfoundry" {
  api_url  = "<CF_API_URL>" # URL dell'API Cloud Foundry
  user     = "<USERNAME>"   # Username per autenticazione
  password = "<PASSWORD>"   # Password per autenticazione
}
```

#### Spiegazione parametri
**Provider BTP**
- `globalaccount`: ID dell'account globale BTP.
- `username`: username per autenticazione.
- `password`: password per autenticazione.

**Provider Cloud Foundry**
- `api_url`: URL dell'API Cloud Foundry.
- `user`: username per autenticazione.
- `password`: password per autenticazione.



## Guida all'utilizzo

```hcl
module "print_server" {
  source = "git::https://github.com/RegestaItalia/regesta.devops.terraform.modules.btp-print-server-creation.git?ref=main"

  subaccountid = "your_subaccount_id"
  spaceid      = "your_space_id"
}
```


## Variabili di input

- **subaccountid** (string): ID del subaccount BTP.
- **spaceid** (string): ID dello space Cloud Foundry.




## Output

- **sender-service-key**: Oggetto della chiave di servizio generata per Print Sender. Contiene le credenziali necessarie per accedere al servizio di invio (sensitive).
- **receiver-service-key**: Oggetto della chiave di servizio generata per Print Receiver. Contiene le credenziali necessarie per accedere al servizio di ricezione (sensitive).
- **sender-destination**: Dettagli della destinazione Sender creata (nome e URL).
- **receiver-destination**: Dettagli della destinazione Receiver creata (nome e URL).

## Risorse create

- **Entitlements** per i servizi: `print-app` (piano standard), `print` con piani `receiver` e `sender`
- **Subscription** per `print-app` con piano `standard`
- **Istanze gestite** di servizio Cloud Foundry per `print` con piani `sender` e `receiver`
- **Service keys** per `print-sender` e `print-receiver` (usate per ottenere le credenziali)
- **Destinazioni BTP** configurate con OAuth2ClientCredentials per i servizi Print Sender e Print Receiver
- **Role Collections**:
  - `PrintQueueSuperUser` con ruolo `PrintQueueSuperUser`: Amministratore code di stampa
  - `PrintQueueEndUser` con ruolo `PrintQueueEndUser`: Utente finale code di stampa

## Note

- Le destinazioni vengono create automaticamente utilizzando i parametri estratti dalle service key
- Entrambe le destinazioni sono configurate con autenticazione OAuth2ClientCredentials per permettere l'accesso sicuro ai servizi
- Le role collections vengono create automaticamente dopo la subscription, recuperando dinamicamente gli app_id dei ruoli tramite data source BTP

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages