diff --git a/.github/workflows/04h_deploy_with_github_runner.yml b/.github/workflows/04h_deploy_with_github_runner.yml index b236d46..20dd811 100644 --- a/.github/workflows/04h_deploy_with_github_runner.yml +++ b/.github/workflows/04h_deploy_with_github_runner.yml @@ -81,3 +81,32 @@ jobs: resource_group_name: ${{ vars.CONTAINER_APP_ENVIRONMENT_RESOURCE_GROUP_NAME }} runner_name: ${{ needs.create_runner.outputs.runner_name }} pat_token: ${{ secrets.BOT_TOKEN_GITHUB }} + + update_openapi: + needs: [ deploy ] + runs-on: ubuntu-latest + name: Update OpenAPI + if: ${{ inputs.target == inputs.environment }} + environment: ${{ inputs.environment }} + steps: + - name: Checkout + id: checkout + # from https://github.com/actions/checkout/commits/main + uses: actions/checkout@1f9a0c22da41e6ebfa534300ef656657ea2c6707 + with: + persist-credentials: false + + - name: Setup Terraform + # from https://github.com/hashicorp/setup-terraform/commits/main + uses: hashicorp/setup-terraform@8feba2b913ea459066180f9cb177f58a881cf146 + with: + terraform_version: "1.3.6" + + - name: Login + id: login + # from https://github.com/Azure/login/commits/master + uses: azure/login@92a5484dfaf04ca78a94597f4f19fea633851fa2 + with: + client-id: ${{ secrets.CD_CLIENT_ID }} + tenant-id: ${{ secrets.TENANT_ID }} + subscription-id: ${{ secrets.SUBSCRIPTION_ID }} \ No newline at end of file diff --git a/Dockerfile b/Dockerfile index 65e6a12..512a959 100644 --- a/Dockerfile +++ b/Dockerfile @@ -4,7 +4,7 @@ FROM maven:3.8.4-jdk-11-slim as buildtime WORKDIR /build COPY . . -RUN mvn clean package +RUN mvn clean package -DskipTests FROM adoptopenjdk/openjdk11:alpine-jre as builder diff --git a/helm/Chart.yaml b/helm/Chart.yaml index 994d997..b65e676 100644 --- a/helm/Chart.yaml +++ b/helm/Chart.yaml @@ -2,8 +2,8 @@ apiVersion: v2 name: pagopa-stand-in-tech-support description: Microservice that handles Stand-In tech support api type: application -version: 0.48.0 -appVersion: 0.0.2 +version: 0.53.0 +appVersion: 0.0.2-5-fix_action dependencies: - name: microservice-chart version: 3.0.0 diff --git a/helm/values-dev.yaml b/helm/values-dev.yaml index e0a397f..5a52ef2 100644 --- a/helm/values-dev.yaml +++ b/helm/values-dev.yaml @@ -4,7 +4,7 @@ microservice-chart: fullnameOverride: "" image: repository: ghcr.io/pagopa/pagopa-stand-in-technical-support - tag: "0.0.2" + tag: "0.0.2-5-fix_action" pullPolicy: Always livenessProbe: httpGet: @@ -28,7 +28,9 @@ microservice-chart: ports: - 8080 ingress: - create: false + create: true + host: "weudev.nodo.internal.dev.platform.pagopa.it" + path: /pagopa-stand-in-technical-support(/|$)(.*) serviceAccount: create: false annotations: {} diff --git a/helm/values-prod.yaml b/helm/values-prod.yaml index 664ddc8..c506a38 100644 --- a/helm/values-prod.yaml +++ b/helm/values-prod.yaml @@ -4,7 +4,7 @@ microservice-chart: fullnameOverride: "" image: repository: ghcr.io/pagopa/pagopa-stand-in-technical-support - tag: "0.0.2" + tag: "0.0.2-5-fix_action" pullPolicy: Always livenessProbe: httpGet: @@ -28,7 +28,9 @@ microservice-chart: ports: - 8080 ingress: - create: false + create: true + host: "weudev.nodo.internal.platform.pagopa.it" + path: /pagopa-stand-in-technical-support(/|$)(.*) serviceAccount: create: false annotations: {} diff --git a/helm/values-uat.yaml b/helm/values-uat.yaml index e9b331c..39bf21c 100644 --- a/helm/values-uat.yaml +++ b/helm/values-uat.yaml @@ -4,7 +4,7 @@ microservice-chart: fullnameOverride: "" image: repository: ghcr.io/pagopa/pagopa-stand-in-technical-support - tag: "0.0.2" + tag: "0.0.2-5-fix_action" pullPolicy: Always livenessProbe: httpGet: @@ -28,7 +28,9 @@ microservice-chart: ports: - 8080 ingress: - create: false + create: true + host: "weudev.nodo.internal.uat.platform.pagopa.it" + path: /pagopa-stand-in-technical-support(/|$)(.*) serviceAccount: create: false annotations: {} diff --git a/infra/04_apim_api.tf b/infra/04_apim_api.tf index 5ff47b4..7a43536 100644 --- a/infra/04_apim_api.tf +++ b/infra/04_apim_api.tf @@ -1,4 +1,5 @@ locals { + project_name = "stand-in-technical-support" repo_name = "pagopa-stand-in-technical-support" display_name = "Stand-in Technical Support" @@ -9,7 +10,7 @@ locals { hostname = var.hostname } -resource "azurerm_api_management_group" "api_group" { +resource "azurerm_api_management_group" "api_group_standin" { name = local.apim.product_id resource_group_name = local.apim.rg api_management_name = local.apim.name @@ -17,24 +18,24 @@ resource "azurerm_api_management_group" "api_group" { description = local.description } -resource "azurerm_api_management_api_version_set" "api_version_set" { - name = format("%s-${local.repo_name}", var.env_short) +resource "azurerm_api_management_api_version_set" "api_version_set_standin" { + name = "${var.prefix}-${var.env_short}-${var.location_short}-${local.project_name}" resource_group_name = local.apim.rg api_management_name = local.apim.name display_name = local.display_name versioning_scheme = "Segment" } -module "api_v1" { +module "standin_api_v1" { source = "git::https://github.com/pagopa/terraform-azurerm-v3.git//api_management_api?ref=v6.7.0" - name = format("%s-${local.repo_name}", var.env_short) + name = format("%s-technical-support-api", var.env_short) api_management_name = local.apim.name resource_group_name = local.apim.rg product_ids = [local.apim.product_id] subscription_required = true - version_set_id = azurerm_api_management_api_version_set.api_version_set.id + version_set_id = azurerm_api_management_api_version_set.api_version_set_standin.id api_version = "v1" description = local.description diff --git a/infra/99_locals.tf b/infra/99_locals.tf index 9c61db3..308f3ef 100644 --- a/infra/99_locals.tf +++ b/infra/99_locals.tf @@ -1,10 +1,11 @@ locals { product = "${var.prefix}-${var.env_short}" + project = "${var.prefix}-${var.env_short}-${var.location_short}-${var.domain}" apim = { name = "${local.product}-apim" rg = "${local.product}-api-rg" - product_id = "pagopa-stand-in-technical-support" + product_id = "technical_support_api" } } diff --git a/infra/99_variables.tf b/infra/99_variables.tf index 4cfc3e4..cc4dbca 100644 --- a/infra/99_variables.tf +++ b/infra/99_variables.tf @@ -4,7 +4,7 @@ variable "prefix" { type = string validation { condition = ( - length(var.prefix) <= 6 + length(var.prefix) <= 6 ) error_message = "Max length is 6 chars." } @@ -18,12 +18,23 @@ variable "env_short" { type = string validation { condition = ( - length(var.env_short) == 1 + length(var.env_short) == 1 ) error_message = "Length must be 1 chars." } } +variable "location_short" { + type = string + validation { + condition = ( + length(var.location_short) == 3 + ) + error_message = "Length must be 3 chars." + } + description = "One of wue, neu" +} + variable "tags" { type = map(any) default = { @@ -48,3 +59,14 @@ variable "hostname" { default = null description = "Hostname for the API" } + +variable "domain" { + type = string + validation { + condition = ( + length(var.domain) <= 12 + ) + error_message = "Max length is 12 chars." + } + default = "nodo" +} diff --git a/infra/env/weu-dev/backend.tfvars b/infra/env/weu-dev/backend.tfvars index a889c1d..f7a3f7e 100644 --- a/infra/env/weu-dev/backend.tfvars +++ b/infra/env/weu-dev/backend.tfvars @@ -1,4 +1,4 @@ resource_group_name = "io-infra-rg" storage_account_name = "pagopainfraterraformdev" container_name = "azurermstate" -key = "pagopa-node-technical-support-worker.infra.tfstate" +key = "pagopa-stand-in-technical-support.infra.tfstate" diff --git a/infra/env/weu-dev/terraform.tfvars b/infra/env/weu-dev/terraform.tfvars index 6bf5938..251a13e 100644 --- a/infra/env/weu-dev/terraform.tfvars +++ b/infra/env/weu-dev/terraform.tfvars @@ -1,6 +1,8 @@ prefix = "pagopa" env = "dev" env_short = "d" +location_short = "weu" + tags = { CreatedBy = "Terraform" diff --git a/infra/env/weu-prod/backend.tfvars b/infra/env/weu-prod/backend.tfvars index 94ab732..ad4574c 100644 --- a/infra/env/weu-prod/backend.tfvars +++ b/infra/env/weu-prod/backend.tfvars @@ -1,4 +1,4 @@ resource_group_name = "io-infra-rg" storage_account_name = "pagopainfraterraformprod" container_name = "azurermstate" -key = "pagopa-node-technical-support-worker.infra.tfstate" +key = "pagopa-stand-in-technical-support.infra.tfstate" diff --git a/infra/env/weu-prod/terraform.tfvars b/infra/env/weu-prod/terraform.tfvars index c8c3356..2ccb976 100644 --- a/infra/env/weu-prod/terraform.tfvars +++ b/infra/env/weu-prod/terraform.tfvars @@ -1,6 +1,7 @@ prefix = "pagopa" env = "prod" env_short = "p" +location_short = "weu" tags = { CreatedBy = "Terraform" diff --git a/infra/env/weu-uat/backend.tfvars b/infra/env/weu-uat/backend.tfvars index 32c5214..7f7af95 100644 --- a/infra/env/weu-uat/backend.tfvars +++ b/infra/env/weu-uat/backend.tfvars @@ -1,4 +1,4 @@ resource_group_name = "io-infra-rg" storage_account_name = "pagopainfraterraformuat" container_name = "azurermstate" -key = "pagopa-node-technical-support-worker.infra.tfstate" +key = "pagopa-stand-in-technical-support.infra.tfstate" diff --git a/infra/env/weu-uat/terraform.tfvars b/infra/env/weu-uat/terraform.tfvars index 134583d..096dafe 100644 --- a/infra/env/weu-uat/terraform.tfvars +++ b/infra/env/weu-uat/terraform.tfvars @@ -1,6 +1,7 @@ prefix = "pagopa" env = "uat" env_short = "u" +location_short = "weu" tags = { CreatedBy = "Terraform" diff --git a/openapi/openapi.json b/openapi/openapi.json index 33186de..88742aa 100644 --- a/openapi/openapi.json +++ b/openapi/openapi.json @@ -4,7 +4,7 @@ "title": "pagopa-stand-in-technical-support", "description": "Stand in Tech Support API", "termsOfService": "https://www.pagopa.gov.it/", - "version": "0.0.2" + "version": "0.0.2-5-fix_action" }, "servers": [ { diff --git a/pom.xml b/pom.xml index ff15ceb..bbd25a2 100644 --- a/pom.xml +++ b/pom.xml @@ -12,7 +12,7 @@ it.gov.pagopa pagopa-stand-in-technical-support - 0.0.2 + 0.0.2-5-fix_action Stand in Tech Support API @@ -110,6 +110,12 @@ true + + co.elastic.logging + logback-ecs-encoder + 1.5.0 + + junit junit @@ -136,55 +142,6 @@ spring-boot-maven-plugin - - org.openapitools - openapi-generator-maven-plugin - 7.0.1 - - - cache-openapi - - generate - - - ${project.basedir}/src/main/resources/openapi_config.json - java - false - false - - it.gov.pagopa.standintechsupport.config - it.gov.pagopa.standintechsupport.config.model - java8 - false - true - true - resttemplate - - - - - - - - - - - - - - - - - - - - - - - - - - org.jacoco jacoco-maven-plugin diff --git a/src/main/resources/logback-spring.xml b/src/main/resources/logback-spring.xml index d583bec..f7beb7e 100644 --- a/src/main/resources/logback-spring.xml +++ b/src/main/resources/logback-spring.xml @@ -22,9 +22,9 @@ - ${OTEL_SERVICE_NAME:pagopastandintechsupport} - ${ECS_SERVICE_VERSION:0.0.0} - ${ENV:local} + ${OTEL_SERVICE_NAME} + ${ECS_SERVICE_VERSION} + ${ENV} diff --git a/src/main/resources/openapi_config.json b/src/main/resources/openapi_config.json deleted file mode 100644 index 1e7a554..0000000 --- a/src/main/resources/openapi_config.json +++ /dev/null @@ -1,1039 +0,0 @@ -{ - "openapi" : "3.0.1", - "info" : { - "title" : "API-Config Cacher", - "description" : "Generate cache for regarding Nodo dei Pagamenti configuration", - "termsOfService" : "https://www.pagopa.gov.it/", - "version" : "0.8.1" - }, - "servers" : [ { - "url" : "http://localhost:8080" - }, { - "url" : "https://{host}/{basePath}", - "variables" : { - "host" : { - "default" : "api.dev.platform.pagopa.it", - "enum" : [ "api.dev.platform.pagopa.it", "api.uat.platform.pagopa.it", "api.platform.pagopa.it" ] - }, - "basePath" : { - "default" : "api-config-cache/o/v1", - "enum" : [ "api-config-cache/o/v1", "api-config-cache/p/v1", "api-config-cache/odev/v1" ] - } - } - } ], - "paths" : { - "/stakeholders/node/cache/schemas/v1" : { - "get" : { - "tags" : [ "Cache" ], - "summary" : "Get selected key of cache v1 config", - "operationId" : "cache", - "parameters" : [ { - "name" : "refresh", - "in" : "query", - "description" : "to force the refresh of the cache", - "required" : false, - "schema" : { - "type" : "boolean" - } - }, { - "name" : "keys", - "in" : "query", - "required" : false, - "schema" : { - "type" : "array", - "items" : { - "type" : "string", - "enum" : [ "creditorInstitutions", "creditorInstitutionBrokers", "stations", "creditorInstitutionStations", "encodings", "creditorInstitutionEncodings", "ibans", "creditorInstitutionInformations", "psps", "pspBrokers", "paymentTypes", "pspChannelPaymentTypes", "plugins", "pspInformationTemplates", "pspInformations", "channels", "cdsServices", "cdsSubjects", "cdsSubjectServices", "cdsCategories", "configurations", "ftpServers", "languages", "gdeConfigurations", "metadataDict" ] - } - } - } ], - "responses" : { - "403" : { - "description" : "Forbidden" - }, - "200" : { - "description" : "OK", - "content" : { - "application/json" : { - "schema" : { - "$ref" : "#/components/schemas/ConfigDataV1" - } - } - } - }, - "400" : { - "description" : "Bad Request", - "content" : { - "application/json" : { - "schema" : { - "$ref" : "#/components/schemas/ProblemJson" - } - } - } - }, - "429" : { - "description" : "Too many requests" - }, - "401" : { - "description" : "Unauthorized" - }, - "500" : { - "description" : "Service unavailable", - "content" : { - "application/json" : { - "schema" : { - "$ref" : "#/components/schemas/ProblemJson" - } - } - } - } - }, - "security" : [ { - "ApiKey" : [ ] - } ] - } - }, - "/stakeholders/node/cache/schemas/v1/id" : { - "get" : { - "tags" : [ "Cache" ], - "summary" : "Get last v1 cache version", - "operationId" : "idV1", - "responses" : { - "404" : { - "description" : "Not Found" - }, - "403" : { - "description" : "Forbidden" - }, - "400" : { - "description" : "Bad Request", - "content" : { - "application/json" : { - "schema" : { - "$ref" : "#/components/schemas/ProblemJson" - } - } - } - }, - "429" : { - "description" : "Too many requests" - }, - "200" : { - "description" : "OK", - "content" : { - "application/json" : { - "schema" : { - "$ref" : "#/components/schemas/CacheVersion" - } - } - } - }, - "401" : { - "description" : "Unauthorized" - }, - "500" : { - "description" : "Service unavailable", - "content" : { - "application/json" : { - "schema" : { - "$ref" : "#/components/schemas/ProblemJson" - } - } - } - } - }, - "security" : [ { - "ApiKey" : [ ] - } ] - } - } - }, - "components" : { - "schemas" : { - "BrokerCreditorInstitution" : { - "required" : [ "broker_code", "enabled", "extended_fault_bean" ], - "type" : "object", - "properties" : { - "broker_code" : { - "type" : "string" - }, - "enabled" : { - "type" : "boolean" - }, - "description" : { - "type" : "string" - }, - "extended_fault_bean" : { - "type" : "boolean" - } - } - }, - "BrokerPsp" : { - "required" : [ "broker_psp_code", "enabled", "extended_fault_bean" ], - "type" : "object", - "properties" : { - "broker_psp_code" : { - "type" : "string" - }, - "description" : { - "type" : "string" - }, - "enabled" : { - "type" : "boolean" - }, - "extended_fault_bean" : { - "type" : "boolean" - } - } - }, - "CdsCategory" : { - "required" : [ "description" ], - "type" : "object", - "properties" : { - "description" : { - "type" : "string" - } - } - }, - "CdsService" : { - "required" : [ "category", "description", "id", "reference_xsd", "version" ], - "type" : "object", - "properties" : { - "id" : { - "type" : "string" - }, - "description" : { - "type" : "string" - }, - "reference_xsd" : { - "type" : "string" - }, - "version" : { - "type" : "integer", - "format" : "int64" - }, - "category" : { - "type" : "string" - } - } - }, - "CdsSubject" : { - "required" : [ "creditor_institution_code", "creditor_institution_description" ], - "type" : "object", - "properties" : { - "creditor_institution_code" : { - "type" : "string" - }, - "creditor_institution_description" : { - "type" : "string" - } - } - }, - "CdsSubjectService" : { - "required" : [ "fee", "service", "start_date", "subject", "subject_service_id" ], - "type" : "object", - "properties" : { - "subject" : { - "type" : "string" - }, - "service" : { - "type" : "string" - }, - "subject_service_id" : { - "type" : "string" - }, - "start_date" : { - "type" : "string", - "format" : "date-time" - }, - "end_date" : { - "type" : "string", - "format" : "date-time" - }, - "fee" : { - "type" : "boolean" - }, - "station_code" : { - "type" : "string" - }, - "service_description" : { - "type" : "string" - } - } - }, - "Channel" : { - "required" : [ "agid", "broker_psp_code", "channel_code", "connection", "digital_stamp", "enabled", "flag_io", "flag_travaso", "new_fault_code", "password", "payment_model", "primitive_version", "recovery", "redirect", "rt_push", "thread_number", "timeouts" ], - "type" : "object", - "properties" : { - "channel_code" : { - "type" : "string" - }, - "description" : { - "type" : "string" - }, - "enabled" : { - "type" : "boolean" - }, - "password" : { - "type" : "string" - }, - "connection" : { - "$ref" : "#/components/schemas/Connection" - }, - "broker_psp_code" : { - "type" : "string" - }, - "proxy" : { - "$ref" : "#/components/schemas/Proxy" - }, - "service" : { - "$ref" : "#/components/schemas/Service" - }, - "service_nmp" : { - "$ref" : "#/components/schemas/Service" - }, - "thread_number" : { - "type" : "integer", - "format" : "int64" - }, - "timeouts" : { - "$ref" : "#/components/schemas/Timeouts" - }, - "new_fault_code" : { - "type" : "boolean" - }, - "redirect" : { - "$ref" : "#/components/schemas/Redirect" - }, - "payment_model" : { - "type" : "string" - }, - "serv_plugin" : { - "type" : "string" - }, - "rt_push" : { - "type" : "boolean" - }, - "recovery" : { - "type" : "boolean" - }, - "digital_stamp" : { - "type" : "boolean" - }, - "flag_io" : { - "type" : "boolean" - }, - "agid" : { - "type" : "boolean" - }, - "primitive_version" : { - "type" : "integer", - "format" : "int32" - }, - "flag_travaso" : { - "type" : "boolean" - } - } - }, - "ConfigDataV1" : { - "required" : [ "cdsCategories", "cdsServices", "cdsSubjectServices", "cdsSubjects", "channels", "configurations", "creditorInstitutionBrokers", "creditorInstitutionEncodings", "creditorInstitutionInformations", "creditorInstitutionStations", "creditorInstitutions", "encodings", "ftpServers", "gdeConfigurations", "ibans", "languages", "metadataDict", "paymentTypes", "plugins", "pspBrokers", "pspChannelPaymentTypes", "pspInformationTemplates", "pspInformations", "psps", "stations", "version" ], - "type" : "object", - "properties" : { - "version" : { - "type" : "string" - }, - "creditorInstitutions" : { - "type" : "object", - "additionalProperties" : { - "$ref" : "#/components/schemas/CreditorInstitution" - } - }, - "creditorInstitutionBrokers" : { - "type" : "object", - "additionalProperties" : { - "$ref" : "#/components/schemas/BrokerCreditorInstitution" - } - }, - "stations" : { - "type" : "object", - "additionalProperties" : { - "$ref" : "#/components/schemas/Station" - } - }, - "creditorInstitutionStations" : { - "type" : "object", - "additionalProperties" : { - "$ref" : "#/components/schemas/StationCreditorInstitution" - } - }, - "encodings" : { - "type" : "object", - "additionalProperties" : { - "$ref" : "#/components/schemas/Encoding" - } - }, - "creditorInstitutionEncodings" : { - "type" : "object", - "additionalProperties" : { - "$ref" : "#/components/schemas/CreditorInstitutionEncoding" - } - }, - "ibans" : { - "type" : "object", - "additionalProperties" : { - "$ref" : "#/components/schemas/Iban" - } - }, - "creditorInstitutionInformations" : { - "type" : "object", - "additionalProperties" : { - "$ref" : "#/components/schemas/CreditorInstitutionInformation" - } - }, - "psps" : { - "type" : "object", - "additionalProperties" : { - "$ref" : "#/components/schemas/PaymentServiceProvider" - } - }, - "pspBrokers" : { - "type" : "object", - "additionalProperties" : { - "$ref" : "#/components/schemas/BrokerPsp" - } - }, - "paymentTypes" : { - "type" : "object", - "additionalProperties" : { - "$ref" : "#/components/schemas/PaymentType" - } - }, - "pspChannelPaymentTypes" : { - "type" : "object", - "additionalProperties" : { - "$ref" : "#/components/schemas/PspChannelPaymentType" - } - }, - "plugins" : { - "type" : "object", - "additionalProperties" : { - "$ref" : "#/components/schemas/Plugin" - } - }, - "pspInformationTemplates" : { - "type" : "object", - "additionalProperties" : { - "$ref" : "#/components/schemas/PspInformation" - } - }, - "pspInformations" : { - "type" : "object", - "additionalProperties" : { - "$ref" : "#/components/schemas/PspInformation" - } - }, - "channels" : { - "type" : "object", - "additionalProperties" : { - "$ref" : "#/components/schemas/Channel" - } - }, - "cdsServices" : { - "type" : "object", - "additionalProperties" : { - "$ref" : "#/components/schemas/CdsService" - } - }, - "cdsSubjects" : { - "type" : "object", - "additionalProperties" : { - "$ref" : "#/components/schemas/CdsSubject" - } - }, - "cdsSubjectServices" : { - "type" : "object", - "additionalProperties" : { - "$ref" : "#/components/schemas/CdsSubjectService" - } - }, - "cdsCategories" : { - "type" : "object", - "additionalProperties" : { - "$ref" : "#/components/schemas/CdsCategory" - } - }, - "configurations" : { - "type" : "object", - "additionalProperties" : { - "$ref" : "#/components/schemas/ConfigurationKey" - } - }, - "ftpServers" : { - "type" : "object", - "additionalProperties" : { - "$ref" : "#/components/schemas/FtpServer" - } - }, - "languages" : { - "type" : "object", - "additionalProperties" : { - "type" : "string" - } - }, - "gdeConfigurations" : { - "type" : "object", - "additionalProperties" : { - "$ref" : "#/components/schemas/GdeConfiguration" - } - }, - "metadataDict" : { - "type" : "object", - "additionalProperties" : { - "$ref" : "#/components/schemas/MetadataDict" - } - } - } - }, - "ConfigurationKey" : { - "required" : [ "category", "key", "value" ], - "type" : "object", - "properties" : { - "category" : { - "type" : "string" - }, - "key" : { - "type" : "string" - }, - "value" : { - "type" : "string" - }, - "description" : { - "type" : "string" - } - } - }, - "Connection" : { - "required" : [ "ip", "port", "protocol" ], - "type" : "object", - "properties" : { - "protocol" : { - "type" : "string", - "enum" : [ "HTTPS", "HTTP" ] - }, - "ip" : { - "type" : "string" - }, - "port" : { - "type" : "integer", - "format" : "int64" - } - } - }, - "CreditorInstitution" : { - "required" : [ "creditor_institution_code", "enabled", "psp_payment", "reporting_ftp", "reporting_zip" ], - "type" : "object", - "properties" : { - "creditor_institution_code" : { - "type" : "string" - }, - "enabled" : { - "type" : "boolean" - }, - "business_name" : { - "type" : "string" - }, - "description" : { - "type" : "string" - }, - "address" : { - "$ref" : "#/components/schemas/CreditorInstitutionAddress" - }, - "psp_payment" : { - "type" : "boolean" - }, - "reporting_ftp" : { - "type" : "boolean" - }, - "reporting_zip" : { - "type" : "boolean" - } - } - }, - "CreditorInstitutionAddress" : { - "type" : "object", - "properties" : { - "location" : { - "type" : "string" - }, - "city" : { - "type" : "string" - }, - "zip_code" : { - "type" : "string" - }, - "country_code" : { - "type" : "string" - }, - "tax_domicile" : { - "type" : "string" - } - } - }, - "CreditorInstitutionEncoding" : { - "required" : [ "code_type", "creditor_institution_code", "encoding_code" ], - "type" : "object", - "properties" : { - "code_type" : { - "type" : "string" - }, - "encoding_code" : { - "type" : "string" - }, - "creditor_institution_code" : { - "type" : "string" - } - } - }, - "CreditorInstitutionInformation" : { - "required" : [ "informativa" ], - "type" : "object", - "properties" : { - "informativa" : { - "type" : "string" - } - } - }, - "Encoding" : { - "required" : [ "code_type", "description" ], - "type" : "object", - "properties" : { - "code_type" : { - "type" : "string" - }, - "description" : { - "type" : "string" - } - } - }, - "FtpServer" : { - "required" : [ "enabled", "history_path", "host", "id", "in_path", "out_path", "password", "port", "root_path", "service", "type", "username" ], - "type" : "object", - "properties" : { - "host" : { - "type" : "string" - }, - "port" : { - "type" : "integer", - "format" : "int32" - }, - "enabled" : { - "type" : "boolean" - }, - "username" : { - "type" : "string" - }, - "password" : { - "type" : "string" - }, - "root_path" : { - "type" : "string" - }, - "service" : { - "type" : "string" - }, - "type" : { - "type" : "string" - }, - "in_path" : { - "type" : "string" - }, - "out_path" : { - "type" : "string" - }, - "history_path" : { - "type" : "string" - }, - "id" : { - "type" : "integer", - "format" : "int64" - } - } - }, - "GdeConfiguration" : { - "required" : [ "event_hub_enabled", "event_hub_payload_enabled", "primitive", "type" ], - "type" : "object", - "properties" : { - "primitive" : { - "type" : "string" - }, - "type" : { - "type" : "string" - }, - "event_hub_enabled" : { - "type" : "boolean" - }, - "event_hub_payload_enabled" : { - "type" : "boolean" - } - } - }, - "Iban" : { - "required" : [ "creditor_institution_code", "iban", "publication_date", "validity_date" ], - "type" : "object", - "properties" : { - "iban" : { - "type" : "string" - }, - "creditor_institution_code" : { - "type" : "string" - }, - "validity_date" : { - "type" : "string", - "format" : "date-time" - }, - "publication_date" : { - "type" : "string", - "format" : "date-time" - }, - "shop_id" : { - "type" : "string" - }, - "seller_bank_id" : { - "type" : "string" - }, - "avvio_key" : { - "type" : "string" - }, - "esito_key" : { - "type" : "string" - } - } - }, - "MetadataDict" : { - "required" : [ "key", "start_date" ], - "type" : "object", - "properties" : { - "key" : { - "type" : "string" - }, - "description" : { - "type" : "string" - }, - "start_date" : { - "type" : "string", - "format" : "date-time" - }, - "end_date" : { - "type" : "string", - "format" : "date-time" - } - } - }, - "PaymentServiceProvider" : { - "required" : [ "agid_psp", "digital_stamp", "enabled", "psp_code" ], - "type" : "object", - "properties" : { - "psp_code" : { - "type" : "string" - }, - "enabled" : { - "type" : "boolean" - }, - "description" : { - "type" : "string" - }, - "business_name" : { - "type" : "string" - }, - "abi" : { - "type" : "string" - }, - "bic" : { - "type" : "string" - }, - "my_bank_code" : { - "type" : "string" - }, - "digital_stamp" : { - "type" : "boolean" - }, - "agid_psp" : { - "type" : "boolean" - }, - "tax_code" : { - "type" : "string" - }, - "vat_number" : { - "type" : "string" - } - } - }, - "PaymentType" : { - "required" : [ "payment_type" ], - "type" : "object", - "properties" : { - "payment_type" : { - "type" : "string" - }, - "description" : { - "type" : "string" - } - } - }, - "Plugin" : { - "required" : [ "id_serv_plugin" ], - "type" : "object", - "properties" : { - "id_serv_plugin" : { - "type" : "string" - }, - "pag_const_string_profile" : { - "type" : "string" - }, - "pag_soap_rule_profile" : { - "type" : "string" - }, - "pag_rpt_xpath_profile" : { - "type" : "string" - }, - "id_bean" : { - "type" : "string" - } - } - }, - "Proxy" : { - "type" : "object", - "properties" : { - "proxy_host" : { - "type" : "string" - }, - "proxy_port" : { - "type" : "integer", - "format" : "int64" - }, - "proxy_username" : { - "type" : "string" - }, - "proxy_password" : { - "type" : "string" - } - } - }, - "PspChannelPaymentType" : { - "required" : [ "channel_code", "payment_type", "psp_code" ], - "type" : "object", - "properties" : { - "psp_code" : { - "type" : "string" - }, - "channel_code" : { - "type" : "string" - }, - "payment_type" : { - "type" : "string" - } - } - }, - "PspInformation" : { - "required" : [ "informativa" ], - "type" : "object", - "properties" : { - "informativa" : { - "type" : "string" - } - } - }, - "Redirect" : { - "type" : "object", - "properties" : { - "protocol" : { - "type" : "string", - "enum" : [ "HTTPS", "HTTP" ] - }, - "ip" : { - "type" : "string" - }, - "path" : { - "type" : "string" - }, - "port" : { - "type" : "integer", - "format" : "int64" - }, - "query_string" : { - "type" : "string" - } - } - }, - "Service" : { - "type" : "object", - "properties" : { - "path" : { - "type" : "string" - }, - "target_host" : { - "type" : "string" - }, - "target_port" : { - "type" : "integer", - "format" : "int64" - }, - "target_path" : { - "type" : "string" - } - } - }, - "Station" : { - "required" : [ "broker_code", "connection", "enabled", "invio_rt_istantaneo", "password", "primitive_version", "redirect", "station_code", "thread_number", "timeouts", "version" ], - "type" : "object", - "properties" : { - "station_code" : { - "type" : "string" - }, - "enabled" : { - "type" : "boolean" - }, - "version" : { - "type" : "integer", - "format" : "int64" - }, - "connection" : { - "$ref" : "#/components/schemas/Connection" - }, - "connection_mod4" : { - "$ref" : "#/components/schemas/Connection" - }, - "password" : { - "type" : "string" - }, - "redirect" : { - "$ref" : "#/components/schemas/Redirect" - }, - "service" : { - "$ref" : "#/components/schemas/Service" - }, - "service_pof" : { - "$ref" : "#/components/schemas/Service" - }, - "service_mod4" : { - "$ref" : "#/components/schemas/Service" - }, - "broker_code" : { - "type" : "string" - }, - "proxy" : { - "$ref" : "#/components/schemas/Proxy" - }, - "thread_number" : { - "type" : "integer", - "format" : "int64" - }, - "timeouts" : { - "$ref" : "#/components/schemas/Timeouts" - }, - "invio_rt_istantaneo" : { - "type" : "boolean" - }, - "primitive_version" : { - "type" : "integer", - "format" : "int32" - } - } - }, - "StationCreditorInstitution" : { - "required" : [ "broadcast", "creditor_institution_code", "mod4", "primitive_version", "spontaneous_payment", "station_code" ], - "type" : "object", - "properties" : { - "creditor_institution_code" : { - "type" : "string" - }, - "station_code" : { - "type" : "string" - }, - "application_code" : { - "type" : "integer", - "format" : "int64" - }, - "aux_digit" : { - "type" : "integer", - "format" : "int64" - }, - "segregation_code" : { - "type" : "integer", - "format" : "int64" - }, - "mod4" : { - "type" : "boolean" - }, - "broadcast" : { - "type" : "boolean" - }, - "primitive_version" : { - "type" : "integer", - "format" : "int32" - }, - "spontaneous_payment" : { - "type" : "boolean" - } - } - }, - "Timeouts" : { - "required" : [ "timeout_a", "timeout_b", "timeout_c" ], - "type" : "object", - "properties" : { - "timeout_a" : { - "type" : "integer", - "format" : "int64" - }, - "timeout_b" : { - "type" : "integer", - "format" : "int64" - }, - "timeout_c" : { - "type" : "integer", - "format" : "int64" - } - } - }, - "ProblemJson" : { - "type" : "object", - "properties" : { - "title" : { - "type" : "string", - "description" : "A short, summary of the problem type. Written in english and readable for engineers (usually not suited for non technical stakeholders and not localized); example: Service Unavailable" - }, - "status" : { - "maximum" : 600, - "minimum" : 100, - "type" : "integer", - "description" : "The HTTP status code generated by the origin server for this occurrence of the problem.", - "format" : "int32", - "example" : 200 - }, - "detail" : { - "type" : "string", - "description" : "A human readable explanation specific to this occurrence of the problem.", - "example" : "There was an error processing the request" - } - } - }, - "CacheVersion" : { - "required" : [ "version" ], - "type" : "object", - "properties" : { - "version" : { - "type" : "string" - } - } - } - }, - "securitySchemes" : { - "ApiKey" : { - "type" : "apiKey", - "description" : "The API key to access this function app.", - "name" : "Ocp-Apim-Subscription-Key", - "in" : "header" - } - } - } -} \ No newline at end of file