Skip to content

Commit

Permalink
feat(qi-fdr): PPABV-89 add new api for kpi fdr (#2667)
Browse files Browse the repository at this point in the history
* feat: add new api for kpi fdr

* fix: api path file

* fix(openapi): delete header internal params
  • Loading branch information
infantesimone authored Dec 16, 2024
1 parent 86fa16f commit 13334b2
Show file tree
Hide file tree
Showing 4 changed files with 534 additions and 0 deletions.
70 changes: 70 additions & 0 deletions src/domains/qi-app/04_apim_qi_fdr_kpi.tf
Original file line number Diff line number Diff line change
@@ -0,0 +1,70 @@
##############
## Products ##
##############

module "apim_qi_fdr_product" {
source = "./.terraform/modules/__v3__/api_management_product"

product_id = "qi-fdr-kpi"
display_name = "QI FDR KPI pagoPA"
description = "Product for Quality Improvement FDR KPI pagoPA"

api_management_name = local.pagopa_apim_name
resource_group_name = local.pagopa_apim_rg

published = true
subscription_required = true
approval_required = true
subscriptions_limit = 1000

policy_xml = file("./api_product/_base_policy.xml")
}

############################
## API qi fdr kpi service ##
############################
locals {
apim_pagopa_qi_fdr_kpi_service_api = {
display_name = "pagoPA QI - FDR KPI service API"
description = "API for retrieving FdR (Flusso di Rendicontazione) KPI metrics for both PSPs and PSP Brokers."
path = "qi/fdr-kpi-service"
subscription_required = true
service_url = null
}
}

# qi fdr kpi service APIs
resource "azurerm_api_management_api_version_set" "pagopa_qi_fdr_kpi_service_api" {
name = "${local.project}-fdr-kpi-service-api"
resource_group_name = local.pagopa_apim_rg
api_management_name = local.pagopa_apim_name
display_name = local.apim_pagopa_qi_fdr_kpi_service_api.display_name
versioning_scheme = "Segment"
}

module "apim_pagopa_qi_fdr_kpi_service_api" {
source = "./.terraform/modules/__v3__/api_management_api"

name = "${local.project}-fdr-kpi-service-api"
api_management_name = local.pagopa_apim_name
resource_group_name = local.pagopa_apim_rg
product_ids = [module.apim_qi_fdr_product.product_id]
subscription_required = local.apim_pagopa_qi_fdr_kpi_service_api.subscription_required
version_set_id = azurerm_api_management_api_version_set.pagopa_qi_fdr_kpi_service_api.id
api_version = "v1"

description = local.apim_pagopa_qi_fdr_kpi_service_api.description
display_name = local.apim_pagopa_qi_fdr_kpi_service_api.display_name
path = local.apim_pagopa_qi_fdr_kpi_service_api.path
protocols = ["https"]
service_url = local.apim_pagopa_qi_fdr_kpi_service_api.service_url

content_format = "openapi"
content_value = templatefile("./api/qi-fdr-kpi-api/v1/_openapi.json.tpl", {
hostname = local.apim_hostname
})

xml_content = templatefile("./api/qi-fdr-kpi-api/v1/_base_policy.xml.tpl", {
hostname = local.qi_hostname
})
}
3 changes: 3 additions & 0 deletions src/domains/qi-app/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -17,6 +17,8 @@
| Name | Source | Version |
|------|--------|---------|
| <a name="module___v3__"></a> [\_\_v3\_\_](#module\_\_\_v3\_\_) | git::https://github.com/pagopa/terraform-azurerm-v3 | 3fc1dafaf4354e24ca8673005ec0caf4106343a3 |
| <a name="module_apim_pagopa_qi_fdr_kpi_service_api"></a> [apim\_pagopa\_qi\_fdr\_kpi\_service\_api](#module\_apim\_pagopa\_qi\_fdr\_kpi\_service\_api) | ./.terraform/modules/__v3__/api_management_api | n/a |
| <a name="module_apim_qi_fdr_product"></a> [apim\_qi\_fdr\_product](#module\_apim\_qi\_fdr\_product) | ./.terraform/modules/__v3__/api_management_product | n/a |
| <a name="module_apim_qi_product"></a> [apim\_qi\_product](#module\_apim\_qi\_product) | ./.terraform/modules/__v3__/api_management_product | n/a |
| <a name="module_pod_identity"></a> [pod\_identity](#module\_pod\_identity) | ./.terraform/modules/__v3__/kubernetes_pod_identity | n/a |
| <a name="module_tls_checker"></a> [tls\_checker](#module\_tls\_checker) | ./.terraform/modules/__v3__/tls_checker | n/a |
Expand All @@ -25,6 +27,7 @@

| Name | Type |
|------|------|
| [azurerm_api_management_api_version_set.pagopa_qi_fdr_kpi_service_api](https://registry.terraform.io/providers/hashicorp/azurerm/latest/docs/resources/api_management_api_version_set) | resource |
| [azurerm_key_vault_secret.aks_apiserver_url](https://registry.terraform.io/providers/hashicorp/azurerm/latest/docs/resources/key_vault_secret) | resource |
| [azurerm_key_vault_secret.azure_devops_sa_cacrt](https://registry.terraform.io/providers/hashicorp/azurerm/latest/docs/resources/key_vault_secret) | resource |
| [azurerm_key_vault_secret.azure_devops_sa_token](https://registry.terraform.io/providers/hashicorp/azurerm/latest/docs/resources/key_vault_secret) | resource |
Expand Down
15 changes: 15 additions & 0 deletions src/domains/qi-app/api/qi-fdr-kpi-api/v1/_base_policy.xml.tpl
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
<policies>
<inbound>
<base />
<set-backend-service base-url="https://${hostname}/pagopa-qi-fdr-kpi-service" />
</inbound>
<outbound>
<base />
</outbound>
<backend>
<base />
</backend>
<on-error>
<base />
</on-error>
</policies>
Loading

0 comments on commit 13334b2

Please sign in to comment.