diff --git a/.devops/code-review-pipelines.yml b/.devops/code-review-pipelines.yml
index a3eedf0d0..a806a3414 100644
--- a/.devops/code-review-pipelines.yml
+++ b/.devops/code-review-pipelines.yml
@@ -1,4 +1,5 @@
pr:
+ autoCancel: true
branches:
include:
- main
@@ -51,7 +52,7 @@ stages:
dependsOn: []
condition: and(succeeded(), eq(${{parameters.DEV}}, true))
pool:
- name: pagopa-dev-linux
+ name: selfcare-dev-linux
jobs:
- job: terraform_install
steps:
@@ -65,7 +66,7 @@ stages:
# 2. Run terragrunt plan
- template: templates/terraform-plan/template.yaml@terraform
parameters:
- SUBSCRIPTION: DEV-PAGOPA-SERVICE-CONN
+ SUBSCRIPTION: DEV-SELFCARE-SERVICE-CONN
ENVIRONMENT: dev
WORKINGDIR: 'src/core'
@@ -73,7 +74,7 @@ stages:
dependsOn: []
condition: and(succeeded(), eq(${{parameters.UAT}}, true))
pool:
- name: pagopa-uat-linux
+ name: selfcare-uat-linux
jobs:
- job: terraform_install
steps:
@@ -87,7 +88,7 @@ stages:
# 2. Run terragrunt plan
- template: templates/terraform-plan/template.yaml@terraform
parameters:
- SUBSCRIPTION: UAT-PAGOPA-SERVICE-CONN
+ SUBSCRIPTION: UAT-SELFCARE-SERVICE-CONN
ENVIRONMENT: uat
WORKINGDIR: 'src/core'
@@ -95,7 +96,7 @@ stages:
dependsOn: []
condition: and(succeeded(), eq(${{parameters.PROD}}, true))
pool:
- name: pagopa-prod-linux
+ name: selfcare-prod-linux
jobs:
- job: terraform_install
steps:
@@ -109,6 +110,6 @@ stages:
# 2. Run terragrunt plan
- template: templates/terraform-plan/template.yaml@terraform
parameters:
- SUBSCRIPTION: PROD-PAGOPA-SERVICE-CONN
+ SUBSCRIPTION: PROD-SELFCARE-SERVICE-CONN
ENVIRONMENT: prod
WORKINGDIR: 'src/core'
diff --git a/.devops/deploy-pipelines.yml b/.devops/deploy-pipelines.yml
index 6acf75cdf..f0f274ec5 100644
--- a/.devops/deploy-pipelines.yml
+++ b/.devops/deploy-pipelines.yml
@@ -45,7 +45,7 @@ stages:
dependsOn: []
condition: and(succeeded(), eq(${{parameters.DEV}}, true))
pool:
- name: pagopa-dev-linux
+ name: selfcare-dev-linux
jobs:
- job: plan
timeoutInMinutes: $[variables.TIME_OUT]
@@ -55,7 +55,7 @@ stages:
# 2. Run terraform plan
- template: templates/terraform-plan/template.yaml@terraform
parameters:
- SUBSCRIPTION: DEV-PAGOPA-SERVICE-CONN
+ SUBSCRIPTION: DEV-SELFCARE-SERVICE-CONN
ENVIRONMENT: dev
WORKINGDIR: 'src/core'
@@ -63,7 +63,7 @@ stages:
dependsOn: [plan_DEV]
condition: and(succeeded(), eq(${{parameters.DEV}}, true))
pool:
- name: pagopa-dev-linux
+ name: selfcare-dev-linux
jobs:
# - job: init
# steps:
@@ -81,7 +81,7 @@ stages:
# 3. Run terraform apply
- template: templates/terraform-apply/template.yaml@terraform
parameters:
- SUBSCRIPTION: DEV-PAGOPA-SERVICE-CONN
+ SUBSCRIPTION: DEV-SELFCARE-SERVICE-CONN
ENVIRONMENT: dev
WORKINGDIR: 'src/core'
@@ -90,7 +90,7 @@ stages:
dependsOn: []
condition: and(succeeded(), eq(${{parameters.UAT}}, true))
pool:
- name: pagopa-uat-linux
+ name: selfcare-uat-linux
jobs:
- job: plan
timeoutInMinutes: $[variables.TIME_OUT]
@@ -100,7 +100,7 @@ stages:
# 2. Run terraform plan
- template: templates/terraform-plan/template.yaml@terraform
parameters:
- SUBSCRIPTION: UAT-PAGOPA-SERVICE-CONN
+ SUBSCRIPTION: UAT-SELFCARE-SERVICE-CONN
ENVIRONMENT: uat
WORKINGDIR: 'src/core'
@@ -108,7 +108,7 @@ stages:
dependsOn: [plan_UAT]
condition: and(succeeded(), eq(${{parameters.UAT}}, true))
pool:
- name: pagopa-uat-linux
+ name: selfcare-uat-linux
jobs:
# - job: init
# steps:
@@ -126,7 +126,7 @@ stages:
# 3. Run terraform apply
- template: templates/terraform-apply/template.yaml@terraform
parameters:
- SUBSCRIPTION: UAT-PAGOPA-SERVICE-CONN
+ SUBSCRIPTION: UAT-SELFCARE-SERVICE-CONN
ENVIRONMENT: uat
WORKINGDIR: 'src/core'
@@ -135,7 +135,7 @@ stages:
dependsOn: []
condition: and(succeeded(), eq(${{parameters.PROD}}, true))
pool:
- name: pagopa-prod-linux
+ name: selfcare-prod-linux
jobs:
- job: plan
timeoutInMinutes: $[variables.TIME_OUT]
@@ -145,7 +145,7 @@ stages:
# 2. Run terraform plan
- template: templates/terraform-plan/template.yaml@terraform
parameters:
- SUBSCRIPTION: PROD-PAGOPA-SERVICE-CONN
+ SUBSCRIPTION: PROD-SELFCARE-SERVICE-CONN
ENVIRONMENT: prod
WORKINGDIR: 'src/core'
@@ -153,7 +153,7 @@ stages:
dependsOn: [plan_PROD]
condition: and(succeeded(), eq(${{parameters.PROD}}, true))
pool:
- name: pagopa-prod-linux
+ name: selfcare-prod-linux
jobs:
# - job: init
# steps:
@@ -171,6 +171,6 @@ stages:
# 3. Run terraform apply
- template: templates/terraform-apply/template.yaml@terraform
parameters:
- SUBSCRIPTION: PROD-PAGOPA-SERVICE-CONN
+ SUBSCRIPTION: PROD-SELFCARE-SERVICE-CONN
ENVIRONMENT: prod
WORKINGDIR: 'src/core'
diff --git a/.github/PULL_REQUEST_TEMPLATE.md b/.github/PULL_REQUEST_TEMPLATE.md
index 8a6680ef4..9d1c1c5a3 100644
--- a/.github/PULL_REQUEST_TEMPLATE.md
+++ b/.github/PULL_REQUEST_TEMPLATE.md
@@ -17,6 +17,12 @@
- [ ] Update configuration to existing resources
- [ ] Remove existing resources
+### Env to apply
+
+- [ ] DEV
+- [ ] UAT
+- [ ] PROD
+
### Does this introduce a change to production resources with possible user impact?
- [ ] Yes, users may be impacted applying this change
diff --git a/.pre-commit-config.yaml b/.pre-commit-config.yaml
index b44c85454..030587ac4 100644
--- a/.pre-commit-config.yaml
+++ b/.pre-commit-config.yaml
@@ -1,10 +1,30 @@
repos:
+ ## general
+ - repo: git://github.com/pre-commit/pre-commit-hooks
+ rev: v4.0.1
+ hooks:
+ # Common errors
+ - id: end-of-file-fixer
+ - id: trailing-whitespace
+ args: [--markdown-linebreak-ext=md]
+ - id: check-yaml
+ - id: check-executables-have-shebangs
+ # Cross platform
+ - id: check-case-conflict
+ - id: mixed-line-ending
+ args: [--fix=lf]
+ # Security
+ - id: detect-aws-credentials
+ args: ['--allow-missing-credentials']
+ - id: detect-private-key
+ ## terraform
- repo: git://github.com/antonbabenko/pre-commit-terraform
rev: v1.50.0
hooks:
- id: terraform_fmt
- id: terraform_docs
- args: ['--args=--sort-by required']
+ args:
+ - tfvars hcl --output-file terraform.tfvars.model .
- id: terraform_tflint
args: ['--args=--config=__GIT_WORKING_DIR__/.tflint.hcl']
- id: terraform_tfsec
diff --git a/README.md b/README.md
index 72ef6bd6b..b67d7adc7 100644
--- a/README.md
+++ b/README.md
@@ -31,11 +31,11 @@ As PagoPA we build our standard Terraform modules, check available modules:
To apply changes follow the standard terraform lifecycle once the code in this repository has been changed:
```sh
-terraform init
+terraform.sh init [dev|uat|prod]
-terraform plan
+terraform.sh plan [dev|uat|prod]
-terraform apply
+terraform.sh apply [dev|uat|prod]
```
## Terraform lock.hcl
@@ -66,13 +66,3 @@ https://github.com/antonbabenko/pre-commit-terraform#how-to-install
```sh
pre-commit run -a
```
-
-## Terraform docs
-
-Autogenerate Terraform documentation
-
-https://github.com/terraform-docs/terraform-docs#installation
-
-```sh
-terraform-docs markdown . --sort-by required > README.md
-```
diff --git a/src/core/api/apiconfig_api/v1/_base_policy.xml b/src/core/api/apiconfig_api/v1/_base_policy.xml
deleted file mode 100644
index ce1df461e..000000000
--- a/src/core/api/apiconfig_api/v1/_base_policy.xml
+++ /dev/null
@@ -1,26 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/src/core/api/apiconfig_api/v1/_openapi.json.tpl b/src/core/api/apiconfig_api/v1/_openapi.json.tpl
deleted file mode 100644
index 8a37a2a32..000000000
--- a/src/core/api/apiconfig_api/v1/_openapi.json.tpl
+++ /dev/null
@@ -1,1271 +0,0 @@
-{
- "openapi": "3.0.1",
- "info": {
- "title": "PagoPA API configuration",
- "description": "Spring application to manage configuration Api for EC/PSP on the Nodo component.",
- "termsOfService": "https://www.pagopa.gov.it/",
- "version": "0.1.1"
- },
- "servers": [
- {
- "url": "http://localhost:8080/apiconfig/api/v1",
- "description": "Generated server url"
- }
- ],
- "tags": [
- {
- "name": "Creditor Institutions",
- "description": "Everything about Creditor Institution"
- }
- ],
- "paths": {
- "/stations": {
- "get": {
- "tags": [
- "Creditor Institutions"
- ],
- "summary": "Get paginated list of stations",
- "operationId": "getStations",
- "parameters": [
- {
- "name": "limit",
- "in": "query",
- "description": "Number of elements on one page. Default = 50",
- "required": false,
- "schema": {
- "type": "integer",
- "format": "int32",
- "default": 50
- }
- },
- {
- "name": "page",
- "in": "query",
- "description": "Page number. Page value starts from 0",
- "required": true,
- "schema": {
- "type": "integer",
- "format": "int32"
- }
- },
- {
- "name": "intermediarycode",
- "in": "query",
- "description": "Filter by intermediary",
- "required": false,
- "schema": {
- "type": "string"
- }
- },
- {
- "name": "creditorinstitutioncode",
- "in": "query",
- "description": "Filter by creditor institution",
- "required": false,
- "schema": {
- "type": "string"
- }
- }
- ],
- "responses": {
- "403": {
- "description": "Forbidden client error status."
- },
- "500": {
- "description": "Service unavailable.",
- "content": {
- "application/json": {
- "schema": {
- "$ref": "#/components/schemas/ProblemJson"
- }
- }
- }
- },
- "200": {
- "description": "OK.",
- "content": {
- "application/json": {
- "schema": {
- "$ref": "#/components/schemas/Stations"
- }
- }
- }
- },
- "429": {
- "description": "Too many requests"
- }
- },
- "security": [
- {
- "ApiKey": []
- }
- ]
- }
- },
- "/stations/{stationcode}": {
- "get": {
- "tags": [
- "Creditor Institutions"
- ],
- "summary": "Get station details",
- "operationId": "getStation",
- "parameters": [
- {
- "name": "stationcode",
- "in": "path",
- "description": "station code.",
- "required": true,
- "schema": {
- "maxLength": 50,
- "minLength": 0,
- "type": "string"
- }
- }
- ],
- "responses": {
- "403": {
- "description": "Forbidden client error status."
- },
- "500": {
- "description": "Service unavailable.",
- "content": {
- "application/json": {
- "schema": {
- "$ref": "#/components/schemas/ProblemJson"
- }
- }
- }
- },
- "429": {
- "description": "Too many requests"
- },
- "200": {
- "description": "OK.",
- "content": {
- "application/json": {
- "schema": {
- "$ref": "#/components/schemas/StationDetails"
- }
- }
- }
- },
- "404": {
- "description": "Not Found"
- }
- },
- "security": [
- {
- "ApiKey": []
- }
- ]
- }
- },
- "/creditorinstitutions": {
- "get": {
- "tags": [
- "Creditor Institutions"
- ],
- "summary": "Get paginated list of creditor institutions",
- "operationId": "getCreditorInstitutions",
- "parameters": [
- {
- "name": "limit",
- "in": "query",
- "description": "Number of elements on one page. Default = 50",
- "required": false,
- "schema": {
- "type": "integer",
- "format": "int32",
- "default": 50
- }
- },
- {
- "name": "page",
- "in": "query",
- "description": "Page number. Page value starts from 0",
- "required": true,
- "schema": {
- "type": "integer",
- "format": "int32"
- }
- }
- ],
- "responses": {
- "500": {
- "description": "Service unavailable.",
- "content": {
- "application/json": {
- "schema": {
- "$ref": "#/components/schemas/ProblemJson"
- }
- }
- }
- },
- "429": {
- "description": "Too many requests",
- "content": {
- "application/json": {}
- }
- },
- "403": {
- "description": "Forbidden client error status.",
- "content": {
- "application/json": {}
- }
- },
- "200": {
- "description": "OK.",
- "content": {
- "application/json": {
- "schema": {
- "$ref": "#/components/schemas/CreditorInstitutions"
- }
- }
- }
- }
- },
- "security": [
- {
- "ApiKey": []
- }
- ]
- }
- },
- "/creditorinstitutions/{creditorinstitutioncode}": {
- "get": {
- "tags": [
- "Creditor Institutions"
- ],
- "summary": "Get creditor institution details",
- "operationId": "getCreditorInstitution",
- "parameters": [
- {
- "name": "creditorinstitutioncode",
- "in": "path",
- "description": "Organization fiscal code, the fiscal code of the Organization.",
- "required": true,
- "schema": {
- "maxLength": 50,
- "minLength": 0,
- "type": "string"
- }
- }
- ],
- "responses": {
- "200": {
- "description": "OK.",
- "content": {
- "application/json": {
- "schema": {
- "$ref": "#/components/schemas/CreditorInstitutionDetails"
- }
- }
- }
- },
- "404": {
- "description": "Not Found",
- "content": {
- "application/json": {}
- }
- },
- "500": {
- "description": "Service unavailable.",
- "content": {
- "application/json": {
- "schema": {
- "$ref": "#/components/schemas/ProblemJson"
- }
- }
- }
- },
- "429": {
- "description": "Too many requests",
- "content": {
- "application/json": {}
- }
- },
- "403": {
- "description": "Forbidden client error status.",
- "content": {
- "application/json": {}
- }
- }
- },
- "security": [
- {
- "ApiKey": []
- }
- ]
- }
- },
- "/creditorinstitutions/{creditorinstitutioncode}/stations": {
- "get": {
- "tags": [
- "Creditor Institutions"
- ],
- "summary": "Get station details and relation info with creditor institution",
- "operationId": "getStationsCI",
- "parameters": [
- {
- "name": "creditorinstitutioncode",
- "in": "path",
- "description": "Organization fiscal code, the fiscal code of the Organization.",
- "required": true,
- "schema": {
- "maxLength": 50,
- "minLength": 0,
- "type": "string"
- }
- }
- ],
- "responses": {
- "403": {
- "description": "Forbidden client error status."
- },
- "500": {
- "description": "Service unavailable.",
- "content": {
- "application/json": {
- "schema": {
- "$ref": "#/components/schemas/ProblemJson"
- }
- }
- }
- },
- "429": {
- "description": "Too many requests"
- },
- "200": {
- "description": "OK.",
- "content": {
- "application/json": {
- "schema": {
- "$ref": "#/components/schemas/StationCIList"
- }
- }
- }
- },
- "404": {
- "description": "Not Found"
- }
- },
- "security": [
- {
- "ApiKey": []
- }
- ]
- }
- },
- "/creditorinstitutions/{creditorinstitutioncode}/ibans": {
- "get": {
- "tags": [
- "Creditor Institutions"
- ],
- "summary": "Get creditor institution ibans",
- "operationId": "getCreditorInstitutionsIbans",
- "parameters": [
- {
- "name": "creditorinstitutioncode",
- "in": "path",
- "description": "Organization fiscal code, the fiscal code of the Organization.",
- "required": true,
- "schema": {
- "maxLength": 50,
- "minLength": 0,
- "type": "string"
- }
- }
- ],
- "responses": {
- "200": {
- "description": "OK.",
- "content": {
- "application/json": {
- "schema": {
- "$ref": "#/components/schemas/Ibans"
- }
- }
- }
- },
- "403": {
- "description": "Forbidden client error status."
- },
- "500": {
- "description": "Service unavailable.",
- "content": {
- "application/json": {
- "schema": {
- "$ref": "#/components/schemas/ProblemJson"
- }
- }
- }
- },
- "429": {
- "description": "Too many requests"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "security": [
- {
- "ApiKey": []
- }
- ]
- }
- },
- "/creditorinstitutions/{creditorinstitutioncode}/encodings": {
- "get": {
- "tags": [
- "Creditor Institutions"
- ],
- "summary": "Get creditor institution encodings",
- "operationId": "getCreditorInstitutionEncodings",
- "parameters": [
- {
- "name": "creditorinstitutioncode",
- "in": "path",
- "description": "Organization fiscal code, the fiscal code of the Organization.",
- "required": true,
- "schema": {
- "maxLength": 50,
- "minLength": 0,
- "type": "string"
- }
- }
- ],
- "responses": {
- "200": {
- "description": "OK.",
- "content": {
- "application/json": {
- "schema": {
- "$ref": "#/components/schemas/CreditorInstitutionEncodings"
- }
- }
- }
- },
- "403": {
- "description": "Forbidden client error status."
- },
- "500": {
- "description": "Service unavailable.",
- "content": {
- "application/json": {
- "schema": {
- "$ref": "#/components/schemas/ProblemJson"
- }
- }
- }
- },
- "429": {
- "description": "Too many requests"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "security": [
- {
- "ApiKey": []
- }
- ]
- }
- },
- "/brokers": {
- "get": {
- "tags": [
- "Creditor Institutions"
- ],
- "summary": "Get paginated list of creditor brokers",
- "operationId": "getBrokers",
- "parameters": [
- {
- "name": "limit",
- "in": "query",
- "description": "Number of elements on one page. Default = 50",
- "required": false,
- "schema": {
- "type": "integer",
- "format": "int32",
- "default": 50
- }
- },
- {
- "name": "page",
- "in": "query",
- "description": "Page number. Page value starts from 0",
- "required": true,
- "schema": {
- "type": "integer",
- "format": "int32"
- }
- },
- {
- "name": "creditorinstitutioncode",
- "in": "query",
- "description": "Filter by creditor institution",
- "required": false,
- "schema": {
- "type": "string"
- }
- }
- ],
- "responses": {
- "200": {
- "description": "OK.",
- "content": {
- "application/json": {
- "schema": {
- "$ref": "#/components/schemas/Brokers"
- }
- }
- }
- },
- "403": {
- "description": "Forbidden client error status."
- },
- "500": {
- "description": "Service unavailable.",
- "content": {
- "application/json": {
- "schema": {
- "$ref": "#/components/schemas/ProblemJson"
- }
- }
- }
- },
- "429": {
- "description": "Too many requests"
- }
- },
- "security": [
- {
- "ApiKey": []
- }
- ]
- }
- },
- "/brokers/{brokercode}": {
- "get": {
- "tags": [
- "Creditor Institutions"
- ],
- "summary": "Get creditor broker details ",
- "operationId": "getBroker",
- "parameters": [
- {
- "name": "brokercode",
- "in": "path",
- "description": "broker code.",
- "required": true,
- "schema": {
- "maxLength": 50,
- "minLength": 0,
- "type": "string"
- }
- }
- ],
- "responses": {
- "200": {
- "description": "OK.",
- "content": {
- "application/json": {
- "schema": {
- "$ref": "#/components/schemas/BrokerDetails"
- }
- }
- }
- },
- "403": {
- "description": "Forbidden client error status."
- },
- "500": {
- "description": "Service unavailable.",
- "content": {
- "application/json": {
- "schema": {
- "$ref": "#/components/schemas/ProblemJson"
- }
- }
- }
- },
- "429": {
- "description": "Too many requests"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "security": [
- {
- "ApiKey": []
- }
- ]
- }
- }
- },
- "components": {
- "schemas": {
- "ProblemJson": {
- "type": "object",
- "properties": {
- "type": {
- "type": "string",
- "description": "An absolute URI that identifies the problem type. When dereferenced, it SHOULD provide human-readable documentation for the problem type (e.g., using HTML).",
- "format": "uri",
- "example": "https://example.com/problem/constraint-violation"
- },
- "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"
- },
- "instance": {
- "type": "string",
- "description": "An absolute URI that identifies the specific occurrence of the problem. It may or may not yield further information if dereferenced.",
- "format": "uri"
- }
- }
- },
- "PageInfo": {
- "required": [
- "items_found",
- "limit",
- "page",
- "total_pages"
- ],
- "type": "object",
- "properties": {
- "page": {
- "type": "integer",
- "description": "Page number",
- "format": "int32"
- },
- "limit": {
- "type": "integer",
- "description": "Required number of items per page",
- "format": "int32"
- },
- "items_found": {
- "type": "integer",
- "description": "Number of items found. (The last page may have fewer elements than required)",
- "format": "int32"
- },
- "total_pages": {
- "type": "integer",
- "description": "Total number of pages",
- "format": "int32"
- }
- }
- },
- "Station": {
- "required": [
- "enabled",
- "station_code",
- "version"
- ],
- "type": "object",
- "properties": {
- "station_code": {
- "maxLength": 35,
- "minLength": 0,
- "type": "string",
- "example": "1234567890100"
- },
- "enabled": {
- "type": "boolean",
- "description": "station enabled",
- "default": true
- },
- "version": {
- "type": "integer",
- "description": "number version",
- "format": "int64"
- }
- }
- },
- "Stations": {
- "required": [
- "page_info",
- "stations"
- ],
- "type": "object",
- "properties": {
- "stations": {
- "type": "array",
- "items": {
- "$ref": "#/components/schemas/Station"
- }
- },
- "page_info": {
- "$ref": "#/components/schemas/PageInfo"
- }
- }
- },
- "StationDetails": {
- "required": [
- "enabled",
- "station_code",
- "version"
- ],
- "type": "object",
- "properties": {
- "station_code": {
- "maxLength": 35,
- "minLength": 0,
- "type": "string",
- "example": "1234567890100"
- },
- "enabled": {
- "type": "boolean",
- "description": "station enabled",
- "default": true
- },
- "version": {
- "type": "integer",
- "description": "number version",
- "format": "int64"
- },
- "ip": {
- "type": "string"
- },
- "new_password": {
- "type": "string"
- },
- "password": {
- "type": "string"
- },
- "port": {
- "type": "integer",
- "format": "int64"
- },
- "redirect_ip": {
- "type": "string"
- },
- "redirect_path": {
- "type": "string"
- },
- "redirect_port": {
- "type": "integer",
- "format": "int64"
- },
- "redirect_query_string": {
- "type": "string"
- },
- "service": {
- "type": "string"
- },
- "rt_enabled": {
- "type": "boolean"
- },
- "pof_service": {
- "type": "string"
- },
- "intermediary_id": {
- "type": "integer",
- "format": "int64"
- },
- "redirect_protocol": {
- "type": "string"
- },
- "protocol_4mod": {
- "type": "string"
- },
- "ip_4mod": {
- "type": "string"
- },
- "port_4mod": {
- "type": "integer",
- "format": "int64"
- },
- "service_4mod": {
- "type": "string"
- },
- "proxy_enabled": {
- "type": "boolean"
- },
- "proxy_host": {
- "type": "string"
- },
- "proxy_port": {
- "type": "integer",
- "format": "int64"
- },
- "proxy_username": {
- "type": "string"
- },
- "proxy_password": {
- "type": "string"
- },
- "protocol_avv": {
- "type": "string"
- },
- "thread_number": {
- "type": "integer",
- "format": "int64"
- },
- "timeout_a": {
- "type": "integer",
- "format": "int64"
- },
- "timeout_b": {
- "type": "integer",
- "format": "int64"
- },
- "timeout_c": {
- "type": "integer",
- "format": "int64"
- },
- "flag_online": {
- "type": "boolean"
- },
- "npm_service": {
- "type": "string"
- }
- }
- },
- "CreditorInstitution": {
- "required": [
- "business_name",
- "creditor_institution_code",
- "enabled"
- ],
- "type": "object",
- "properties": {
- "creditor_institution_code": {
- "maxLength": 35,
- "minLength": 0,
- "type": "string",
- "example": "1234567890100"
- },
- "enabled": {
- "type": "boolean",
- "description": "creditor institution enabled",
- "default": true
- },
- "business_name": {
- "maxLength": 70,
- "minLength": 0,
- "type": "string",
- "example": "Comune di Lorem Ipsum"
- }
- }
- },
- "CreditorInstitutions": {
- "required": [
- "creditor_institutions",
- "page_info"
- ],
- "type": "object",
- "properties": {
- "creditor_institutions": {
- "type": "array",
- "items": {
- "$ref": "#/components/schemas/CreditorInstitution"
- }
- },
- "page_info": {
- "$ref": "#/components/schemas/PageInfo"
- }
- }
- },
- "CreditorInstitutionAddress": {
- "type": "object",
- "properties": {
- "location": {
- "type": "string",
- "example": "Via delle vie 3"
- },
- "city": {
- "type": "string",
- "example": "Lorem"
- },
- "zip_code": {
- "pattern": "^\\d{5}$",
- "type": "string",
- "example": "00187"
- },
- "country_code": {
- "pattern": "^\\w{2}$",
- "type": "string",
- "example": "RM"
- },
- "tax_domicile": {
- "type": "string"
- }
- }
- },
- "CreditorInstitutionDetails": {
- "required": [
- "address",
- "business_name",
- "creditor_institution_code",
- "description",
- "enabled",
- "fk_int_quadrature",
- "psp_payment",
- "reporting_ftp",
- "reporting_zip"
- ],
- "type": "object",
- "properties": {
- "creditor_institution_code": {
- "maxLength": 35,
- "minLength": 0,
- "type": "string",
- "example": "1234567890100"
- },
- "enabled": {
- "type": "boolean",
- "description": "creditor institution enabled",
- "default": true
- },
- "business_name": {
- "maxLength": 70,
- "minLength": 0,
- "type": "string",
- "example": "Comune di Lorem Ipsum"
- },
- "description": {
- "type": "string",
- "example": "Comune di Lorem Ipsum"
- },
- "address": {
- "$ref": "#/components/schemas/CreditorInstitutionAddress"
- },
- "fk_int_quadrature": {
- "type": "integer",
- "format": "int64"
- },
- "psp_payment": {
- "type": "boolean",
- "default": true
- },
- "reporting_ftp": {
- "type": "boolean",
- "default": false
- },
- "reporting_zip": {
- "type": "boolean",
- "default": false
- }
- }
- },
- "StationCI": {
- "required": [
- "enabled",
- "station_code",
- "version"
- ],
- "type": "object",
- "properties": {
- "station_code": {
- "maxLength": 35,
- "minLength": 0,
- "type": "string",
- "example": "1234567890100"
- },
- "enabled": {
- "type": "boolean",
- "description": "station enabled",
- "default": true
- },
- "version": {
- "type": "integer",
- "description": "number version",
- "format": "int64"
- },
- "ip": {
- "type": "string"
- },
- "new_password": {
- "type": "string"
- },
- "password": {
- "type": "string"
- },
- "port": {
- "type": "integer",
- "format": "int64"
- },
- "redirect_ip": {
- "type": "string"
- },
- "redirect_path": {
- "type": "string"
- },
- "redirect_port": {
- "type": "integer",
- "format": "int64"
- },
- "redirect_query_string": {
- "type": "string"
- },
- "service": {
- "type": "string"
- },
- "rt_enabled": {
- "type": "boolean"
- },
- "pof_service": {
- "type": "string"
- },
- "intermediary_id": {
- "type": "integer",
- "format": "int64"
- },
- "redirect_protocol": {
- "type": "string"
- },
- "protocol_4mod": {
- "type": "string"
- },
- "ip_4mod": {
- "type": "string"
- },
- "port_4mod": {
- "type": "integer",
- "format": "int64"
- },
- "service_4mod": {
- "type": "string"
- },
- "proxy_enabled": {
- "type": "boolean"
- },
- "proxy_host": {
- "type": "string"
- },
- "proxy_port": {
- "type": "integer",
- "format": "int64"
- },
- "proxy_username": {
- "type": "string"
- },
- "proxy_password": {
- "type": "string"
- },
- "protocol_avv": {
- "type": "string"
- },
- "thread_number": {
- "type": "integer",
- "format": "int64"
- },
- "timeout_a": {
- "type": "integer",
- "format": "int64"
- },
- "timeout_b": {
- "type": "integer",
- "format": "int64"
- },
- "timeout_c": {
- "type": "integer",
- "format": "int64"
- },
- "flag_online": {
- "type": "boolean"
- },
- "npm_service": {
- "type": "string"
- },
- "notice_number": {
- "type": "integer",
- "format": "int64"
- },
- "aux_digit": {
- "type": "integer",
- "format": "int64"
- },
- "segregation_number": {
- "type": "integer",
- "format": "int64"
- },
- "fourth_model": {
- "type": "boolean"
- },
- "broadcast": {
- "type": "boolean"
- }
- }
- },
- "StationCIList": {
- "required": [
- "stations_list"
- ],
- "type": "object",
- "properties": {
- "stations_list": {
- "type": "array",
- "items": {
- "$ref": "#/components/schemas/StationCI"
- }
- }
- }
- },
- "Iban": {
- "required": [
- "iban",
- "publication_date",
- "validity_date"
- ],
- "type": "object",
- "properties": {
- "iban": {
- "maxLength": 35,
- "minLength": 0,
- "type": "string",
- "example": "IT99C0222211111000000000000"
- },
- "validity_date": {
- "type": "string",
- "format": "date-time"
- },
- "publication_date": {
- "type": "string",
- "format": "date-time"
- }
- }
- },
- "Ibans": {
- "required": [
- "ibans"
- ],
- "type": "object",
- "properties": {
- "ibans": {
- "type": "array",
- "items": {
- "$ref": "#/components/schemas/Iban"
- }
- }
- }
- },
- "CreditorInstitutionEncodings": {
- "required": [
- "encodings"
- ],
- "type": "object",
- "properties": {
- "encodings": {
- "type": "array",
- "items": {
- "$ref": "#/components/schemas/Encoding"
- }
- }
- }
- },
- "Encoding": {
- "required": [
- "code_type"
- ],
- "type": "object",
- "properties": {
- "code_type": {
- "type": "string",
- "enum": [
- "BARCODE_GS1_128",
- "QR_CODE",
- "BARCODE_128_AIM"
- ]
- }
- }
- },
- "Broker": {
- "required": [
- "broker_code",
- "description",
- "enabled"
- ],
- "type": "object",
- "properties": {
- "broker_code": {
- "maxLength": 35,
- "minLength": 0,
- "type": "string",
- "example": "223344556677889900"
- },
- "enabled": {
- "type": "boolean"
- },
- "description": {
- "maxLength": 255,
- "minLength": 0,
- "type": "string",
- "example": "Lorem ipsum dolor sit amet"
- }
- }
- },
- "Brokers": {
- "required": [
- "brokers_list",
- "page_info"
- ],
- "type": "object",
- "properties": {
- "brokers_list": {
- "type": "array",
- "items": {
- "$ref": "#/components/schemas/Broker"
- }
- },
- "page_info": {
- "$ref": "#/components/schemas/PageInfo"
- }
- }
- },
- "BrokerDetails": {
- "required": [
- "broker_code",
- "description",
- "enabled",
- "extended_fault_bean"
- ],
- "type": "object",
- "properties": {
- "broker_code": {
- "maxLength": 35,
- "minLength": 0,
- "type": "string",
- "example": "223344556677889900"
- },
- "enabled": {
- "type": "boolean"
- },
- "description": {
- "maxLength": 255,
- "minLength": 0,
- "type": "string",
- "example": "Lorem ipsum dolor sit amet"
- },
- "extended_fault_bean": {
- "type": "boolean"
- }
- }
- }
- },
- "securitySchemes": {
- "ApiKey": {
- "type": "apiKey",
- "description": "The API key to access this function app.",
- "name": "X-Functions-Key",
- "in": "header"
- }
- }
- }
-}
diff --git a/src/core/api/mockec_api/v1/_base_policy.xml b/src/core/api/mockec_api/v1/_base_policy.xml
deleted file mode 100644
index e42c4d330..000000000
--- a/src/core/api/mockec_api/v1/_base_policy.xml
+++ /dev/null
@@ -1,27 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/src/core/api/mockec_api/v1/_swagger.json.tpl b/src/core/api/mockec_api/v1/_swagger.json.tpl
deleted file mode 100644
index d753c0cb8..000000000
--- a/src/core/api/mockec_api/v1/_swagger.json.tpl
+++ /dev/null
@@ -1,1573 +0,0 @@
-{
- "swagger": "2.0",
- "info": {
- "title": "paForNode_Service",
- "description": "",
- "x-ibm-name": "pafornodeservice",
- "version": "1.0.0"
- },
- "host": "${host}",
- "schemes": [
- "https"
- ],
- "basePath": "/paForNode_Service",
- "produces": [
- "application/xml"
- ],
- "consumes": [
- "text/xml"
- ],
- "securityDefinitions": {
- "clientID": {
- "type": "apiKey",
- "name": "X-IBM-Client-Id",
- "in": "header",
- "description": ""
- }
- },
- "security": [
- {
- "clientID": []
- }
- ],
- "x-ibm-configuration": {
- "type": "wsdl",
- "phase": "realized",
- "enforced": true,
- "testable": true,
- "gateway": "datapower-gateway",
- "cors": {
- "enabled": true
- },
- "wsdl-definition": {
- "wsdl": "paForNode.wsdl",
- "service": "paForNode_Service",
- "port": "paForNode_Port",
- "soap-version": "1.1"
- },
- "assembly": {
- "execute": [
- {
- "proxy": {
- "title": "proxy",
- "target-url": "http://pagopa-api.pagopa.gov.it/service/pa/paForNode"
- }
- }
- ]
- },
- "x-ibm-apiconnect-wsdl": {
- "package-version": "1.8.19",
- "options": {},
- "messages": {
- "info": [],
- "warning": [],
- "error": []
- }
- }
- },
- "paths": {
- "/paVerifyPaymentNotice": {
- "post": {
- "summary": "Operation paVerifyPaymentNotice",
- "description": "Through the primitive `paVerifyPaymentNotice` the PA is interrogated to verify which are the options available to the citizen at the same time.\n\nAll available options will then be proposed until one of the following events occurs:\n\n- a payment receipt is notified, therefore the debt position is closed and no payment option will be available anymore.\n- the PA becomes in possession of the notification data, therefore it can update the payment options by entering the correct expiry data for each of the options.",
- "operationId": "paVerifyPaymentNotice",
- "x-ibm-soap": {
- "soap-action": "paVerifyPaymentNotice",
- "soap-operation": "{http://pagopa-api.pagopa.gov.it/pa/paForNode.xsd}paVerifyPaymentNoticeReq"
- },
- "parameters": [
- {
- "in": "body",
- "name": "body",
- "required": true,
- "schema": {
- "$ref": "#/definitions/paVerifyPaymentNoticeInput"
- }
- }
- ],
- "responses": {
- "default": {
- "description": "",
- "schema": {
- "$ref": "#/definitions/paVerifyPaymentNoticeOutput"
- }
- }
- }
- }
- },
- "/paGetPayment": {
- "post": {
- "summary": "Operation paGetPayment",
- "description": "A PA connected to the pagoPA Platform must offer a service that returns a payment linked to a debt position through the\nprimitive `paGetPayment`.\n\nEach request is specified through the parameters `amount` and `due_date`, which are returned by the `paVerifyPayment`,\nand the `transferType` parameter that defines the type of credit that the PSP would like to have.\n**NOTE** : _(currently the only option is related to necessity of a postal current account)._\n\nIf these parameters are not present, the PA will set the real amount.\nIn response, the PA returns all the data necessary for the payment.\n\nIn addition, the PA can define a validity date for the information sent. If present, the platform will be authorized to manage\nautonomously similar requests without necessarily contacting the PA.",
- "operationId": "paGetPayment",
- "x-ibm-soap": {
- "soap-action": "paGetPayment",
- "soap-operation": "{http://pagopa-api.pagopa.gov.it/pa/paForNode.xsd}paGetPaymentReq"
- },
- "parameters": [
- {
- "in": "body",
- "name": "body",
- "required": true,
- "schema": {
- "$ref": "#/definitions/paGetPaymentInput"
- }
- }
- ],
- "responses": {
- "default": {
- "description": "",
- "schema": {
- "$ref": "#/definitions/paGetPaymentOutput"
- }
- }
- }
- }
- },
- "/paSendRT": {
- "post": {
- "summary": "Operation paSendRT",
- "description": "Following any payment made on the pagoPA, the system'll generate a receipt, and promptly notified it. \nA receipt certifying the payment made with references to the debt position and related details.\n\nReceipts are sent:\n\n- in the case of online payment to the station requesting the payment\n- in the case of payment by payment notification at the station indicated in the notice\n- to all stations identified as `broadcast` if the entity beneficiary, contained within the payment, is not associated to the stations described above.\n\nIn order to receive such receipts, the EC shall implement `paSendRT` service.\n\nThe pagoPA Platform will make a maximum of 5 sending attempts of the receipt to PA. \n\n**Note**: receipts cannot be refused, the existence of the the receipt itself certifies the payment according to the processes\ndescribed and notify future accreditation operations. Any cancellations must be managed directly by the EC.",
- "operationId": "paSendRT",
- "x-ibm-soap": {
- "soap-action": "paSendRT",
- "soap-operation": "{http://pagopa-api.pagopa.gov.it/pa/paForNode.xsd}paSendRTReq"
- },
- "parameters": [
- {
- "in": "body",
- "name": "body",
- "required": true,
- "schema": {
- "$ref": "#/definitions/paSendRTInput"
- }
- }
- ],
- "responses": {
- "default": {
- "description": "",
- "schema": {
- "$ref": "#/definitions/paSendRTOutput"
- }
- }
- }
- }
- }
- },
- "definitions": {
- "Security": {
- "xml": {
- "namespace": "http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd",
- "prefix": "wsse"
- },
- "description": "Header for WS-Security",
- "type": "object",
- "properties": {
- "UsernameToken": {
- "xml": {
- "namespace": "http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd",
- "prefix": "wsse"
- },
- "type": "object",
- "properties": {
- "Username": {
- "xml": {
- "namespace": "http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd",
- "prefix": "wsse"
- },
- "type": "string"
- },
- "Password": {
- "xml": {
- "namespace": "http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd",
- "prefix": "wsse"
- },
- "type": "string"
- },
- "Nonce": {
- "xml": {
- "namespace": "http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd",
- "prefix": "wsse"
- },
- "type": "string",
- "properties": {
- "EncodingType": {
- "xml": {
- "namespace": "",
- "attribute": true
- },
- "type": "string"
- }
- }
- },
- "Created": {
- "xml": {
- "namespace": "http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd",
- "prefix": "wsu"
- },
- "type": "string"
- }
- }
- },
- "Timestamp": {
- "xml": {
- "namespace": "http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd",
- "prefix": "wsu"
- },
- "type": "object",
- "properties": {
- "Created": {
- "xml": {
- "namespace": "http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd",
- "prefix": "wsu"
- },
- "type": "string"
- },
- "Expires": {
- "xml": {
- "namespace": "http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd",
- "prefix": "wsu"
- },
- "type": "string"
- },
- "Id": {
- "xml": {
- "namespace": "http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd",
- "prefix": "wsu",
- "attribute": true
- },
- "type": "string"
- }
- }
- }
- }
- },
- "paVerifyPaymentNoticeInput": {
- "description": "Input message for wsdl operation paVerifyPaymentNoticeReq",
- "type": "object",
- "properties": {
- "Envelope": {
- "xml": {
- "namespace": "http://schemas.xmlsoap.org/soap/envelope/",
- "prefix": "soapenv"
- },
- "type": "object",
- "properties": {
- "Header": {
- "$ref": "#/definitions/paVerifyPaymentNoticeHeader"
- },
- "Body": {
- "xml": {
- "namespace": "http://schemas.xmlsoap.org/soap/envelope/",
- "prefix": "soapenv"
- },
- "type": "object",
- "properties": {
- "paVerifyPaymentNoticeReq": {
- "$ref": "#/definitions/paVerifyPaymentNoticeReq_element_pafn"
- }
- },
- "required": [
- "paVerifyPaymentNoticeReq"
- ]
- }
- },
- "required": [
- "Body"
- ]
- }
- },
- "required": [
- "Envelope"
- ],
- "x-ibm-schema": {
- "wsdl-port": "{http://pagopa-api.pagopa.gov.it/pa/paForNode.wsdl}paForNode_Port",
- "wsdl-operation": "paVerifyPaymentNoticeReq",
- "wsdl-message-direction-or-name": "paVerifyPaymentNoticeReqRequest"
- },
- "example": "\n\n \n \n \n \n string\n string\n string\n string\n \n \n string\n string\n \n \n \n \n \n string\n string\n string\n \n string\n string\n \n \n \n"
- },
- "paVerifyPaymentNoticeHeader": {
- "description": "Input headers for wsdl operation paVerifyPaymentNoticeReq",
- "type": "object",
- "properties": {
- "Security": {
- "$ref": "#/definitions/Security"
- }
- }
- },
- "paVerifyPaymentNoticeOutput": {
- "description": "Output message for wsdl operation paVerifyPaymentNoticeReq",
- "type": "object",
- "properties": {
- "Envelope": {
- "xml": {
- "namespace": "http://schemas.xmlsoap.org/soap/envelope/",
- "prefix": "soapenv"
- },
- "type": "object",
- "properties": {
- "Body": {
- "xml": {
- "namespace": "http://schemas.xmlsoap.org/soap/envelope/",
- "prefix": "soapenv"
- },
- "type": "object",
- "properties": {
- "paVerifyPaymentNoticeRes": {
- "$ref": "#/definitions/paVerifyPaymentNoticeRes_element_pafn"
- }
- }
- }
- },
- "required": [
- "Body"
- ]
- }
- },
- "required": [
- "Envelope"
- ],
- "x-ibm-schema": {
- "wsdl-port": "{http://pagopa-api.pagopa.gov.it/pa/paForNode.wsdl}paForNode_Port",
- "wsdl-operation": "paVerifyPaymentNoticeReq",
- "wsdl-message-direction-or-name": "paVerifyPaymentNoticeReqResponse"
- },
- "example": "\n\n \n \n string\n \n string\n string\n string\n string\n 3\n string\n string\n string\n \n \n \n 999999996.99\n string\n 2016-04-18\n string\n string\n \n \n string\n string\n string\n string\n \n \n"
- },
- "paGetPaymentInput": {
- "description": "Input message for wsdl operation paGetPaymentReq",
- "type": "object",
- "properties": {
- "Envelope": {
- "xml": {
- "namespace": "http://schemas.xmlsoap.org/soap/envelope/",
- "prefix": "soapenv"
- },
- "type": "object",
- "properties": {
- "Header": {
- "$ref": "#/definitions/paGetPaymentHeader"
- },
- "Body": {
- "xml": {
- "namespace": "http://schemas.xmlsoap.org/soap/envelope/",
- "prefix": "soapenv"
- },
- "type": "object",
- "properties": {
- "paGetPaymentReq": {
- "$ref": "#/definitions/paGetPaymentReq_element_pafn"
- }
- },
- "required": [
- "paGetPaymentReq"
- ]
- }
- },
- "required": [
- "Body"
- ]
- }
- },
- "required": [
- "Envelope"
- ],
- "x-ibm-schema": {
- "wsdl-port": "{http://pagopa-api.pagopa.gov.it/pa/paForNode.wsdl}paForNode_Port",
- "wsdl-operation": "paGetPaymentReq",
- "wsdl-message-direction-or-name": "paGetPaymentReqRequest"
- },
- "example": "\n\n \n \n \n \n string\n string\n string\n string\n \n \n string\n string\n \n \n \n \n \n string\n string\n string\n \n string\n string\n \n 999999996.99\n string\n string\n 2016-04-18\n \n \n"
- },
- "paGetPaymentHeader": {
- "description": "Input headers for wsdl operation paGetPaymentReq",
- "type": "object",
- "properties": {
- "Security": {
- "$ref": "#/definitions/Security"
- }
- }
- },
- "paGetPaymentOutput": {
- "description": "Output message for wsdl operation paGetPaymentReq",
- "type": "object",
- "properties": {
- "Envelope": {
- "xml": {
- "namespace": "http://schemas.xmlsoap.org/soap/envelope/",
- "prefix": "soapenv"
- },
- "type": "object",
- "properties": {
- "Body": {
- "xml": {
- "namespace": "http://schemas.xmlsoap.org/soap/envelope/",
- "prefix": "soapenv"
- },
- "type": "object",
- "properties": {
- "paGetPaymentRes": {
- "$ref": "#/definitions/paGetPaymentRes_element_pafn"
- }
- }
- }
- },
- "required": [
- "Body"
- ]
- }
- },
- "required": [
- "Envelope"
- ],
- "x-ibm-schema": {
- "wsdl-port": "{http://pagopa-api.pagopa.gov.it/pa/paForNode.wsdl}paForNode_Port",
- "wsdl-operation": "paGetPaymentReq",
- "wsdl-message-direction-or-name": "paGetPaymentReqResponse"
- },
- "example": "\n\n \n \n string\n \n string\n string\n string\n string\n 3\n string\n string\n string\n \n \n string\n 999999996.99\n 2016-04-18\n 2016-04-18T14:07:37\n true\n string\n string\n string\n \n \n string\n string\n \n string\n string\n string\n string\n string\n string\n string\n string\n \n \n \n 3\n 999999996.99\n string\n string\n string\n string\n \n \n \n \n string\n string\n \n \n \n \n \n"
- },
- "paSendRTInput": {
- "description": "Input message for wsdl operation paSendRTReq",
- "type": "object",
- "properties": {
- "Envelope": {
- "xml": {
- "namespace": "http://schemas.xmlsoap.org/soap/envelope/",
- "prefix": "soapenv"
- },
- "type": "object",
- "properties": {
- "Header": {
- "$ref": "#/definitions/paSendRTHeader"
- },
- "Body": {
- "xml": {
- "namespace": "http://schemas.xmlsoap.org/soap/envelope/",
- "prefix": "soapenv"
- },
- "type": "object",
- "properties": {
- "paSendRTReq": {
- "$ref": "#/definitions/paSendRTReq_element_pafn"
- }
- },
- "required": [
- "paSendRTReq"
- ]
- }
- },
- "required": [
- "Body"
- ]
- }
- },
- "required": [
- "Envelope"
- ],
- "x-ibm-schema": {
- "wsdl-port": "{http://pagopa-api.pagopa.gov.it/pa/paForNode.wsdl}paForNode_Port",
- "wsdl-operation": "paSendRTReq",
- "wsdl-message-direction-or-name": "paSendRTReqRequest"
- },
- "example": "\n\n \n \n \n \n string\n string\n string\n string\n \n \n string\n string\n \n \n \n \n \n string\n string\n string\n \n string\n string\n string\n string\n string\n 999999996.99\n string\n string\n string\n \n \n string\n string\n \n string\n string\n string\n string\n string\n string\n string\n string\n \n \n \n 3\n 999999996.99\n string\n string\n string\n string\n \n \n string\n string\n string\n string\n string\n string\n \n \n string\n string\n \n string\n string\n string\n string\n string\n string\n string\n string\n \n string\n 999999996.99\n 2016-04-18T14:07:37\n 2016-04-18\n 2016-04-18\n \n \n string\n string\n \n \n \n \n \n"
- },
- "paSendRTHeader": {
- "description": "Input headers for wsdl operation paSendRTReq",
- "type": "object",
- "properties": {
- "Security": {
- "$ref": "#/definitions/Security"
- }
- }
- },
- "paSendRTOutput": {
- "description": "Output message for wsdl operation paSendRTReq",
- "type": "object",
- "properties": {
- "Envelope": {
- "xml": {
- "namespace": "http://schemas.xmlsoap.org/soap/envelope/",
- "prefix": "soapenv"
- },
- "type": "object",
- "properties": {
- "Body": {
- "xml": {
- "namespace": "http://schemas.xmlsoap.org/soap/envelope/",
- "prefix": "soapenv"
- },
- "type": "object",
- "properties": {
- "paSendRTRes": {
- "$ref": "#/definitions/paSendRTRes_element_pafn"
- }
- }
- }
- },
- "required": [
- "Body"
- ]
- }
- },
- "required": [
- "Envelope"
- ],
- "x-ibm-schema": {
- "wsdl-port": "{http://pagopa-api.pagopa.gov.it/pa/paForNode.wsdl}paForNode_Port",
- "wsdl-operation": "paSendRTReq",
- "wsdl-message-direction-or-name": "paSendRTReqResponse"
- },
- "example": "\n\n \n \n string\n \n string\n string\n string\n string\n 3\n string\n string\n string\n \n \n \n"
- },
- "paVerifyPaymentNoticeReq_element_pafn": {
- "xml": {
- "namespace": "http://pagopa-api.pagopa.gov.it/pa/paForNode.xsd",
- "prefix": "pafn",
- "name": "paVerifyPaymentNoticeReq"
- },
- "description": "The `paVerifyPaymentNotice` request contains :\n- `idPA` : alphanumeric field containing the tax code of the structure sending the payment request.\n- `idBrokerPA` : identification of subject that operates as an intermediary for the PA.\n- `idStation` : identification of the station of the PA into pagoPa system.\n- `qrCode` : is the union of `fiscalCode` and `noticeNumber`",
- "type": "object",
- "properties": {
- "idPA": {
- "$ref": "#/definitions/stText35_type_pafn"
- },
- "idBrokerPA": {
- "$ref": "#/definitions/stText35_type_pafn"
- },
- "idStation": {
- "$ref": "#/definitions/stText35_type_pafn"
- },
- "qrCode": {
- "$ref": "#/definitions/ctQrCode_type_pafn"
- }
- },
- "required": [
- "idPA",
- "idBrokerPA",
- "idStation",
- "qrCode"
- ],
- "example": "\n\n string\n string\n string\n \n string\n string\n \n"
- },
- "paVerifyPaymentNoticeRes_element_pafn": {
- "xml": {
- "namespace": "http://pagopa-api.pagopa.gov.it/pa/paForNode.xsd",
- "prefix": "pafn",
- "name": "paVerifyPaymentNoticeRes"
- },
- "description": "Its a response to `paVerifyPaymentNoticeReq` and contains :\n\n- `outcome` and _optional_ `fault` (_see below to details_)\n- `paymentList` : the list of all available payment options (_see below to details_)\n- `paymentDescription` : \n\nIf the Public Administration is configured as _OLD_ (i.e. still uses the old primitives) this field must be set with the data `nodeTipoDatiPagamentoPA` of the` nodeVerificaRPTRanspond` specifically:\n- `causaleVersamento`: represents the extended description of the reason for the payment, or\n- `spezzoniCausaleVersamento`: structure available to Public Administration to specify the payment reasons.\n\nThe size of the current field is such as to allow the concatenation of the old information previously described.\n\n- `fiscalCodePA` : Tax code of the public administration\n- `companyName` : Public Administration full name\n- `officeName` : Public Administration Department Name",
- "allOf": [
- {
- "$ref": "#/definitions/ctResponse_type_pafn"
- },
- {
- "type": "object",
- "properties": {
- "paymentList": {
- "$ref": "#/definitions/ctPaymentOptionsDescriptionListPA_type_pafn"
- },
- "paymentDescription": {
- "$ref": "#/definitions/stText140_type_pafn"
- },
- "fiscalCodePA": {
- "$ref": "#/definitions/stFiscalCodePA_type_pafn"
- },
- "companyName": {
- "$ref": "#/definitions/stText140_type_pafn"
- },
- "officeName": {
- "$ref": "#/definitions/stText140_type_pafn"
- }
- }
- }
- ],
- "example": "\n\n string\n \n string\n string\n string\n string\n 3\n string\n string\n string\n \n \n \n 999999996.99\n string\n 2016-04-18\n string\n string\n \n \n string\n string\n string\n string\n"
- },
- "paGetPaymentReq_element_pafn": {
- "xml": {
- "namespace": "http://pagopa-api.pagopa.gov.it/pa/paForNode.xsd",
- "prefix": "pafn",
- "name": "paGetPaymentReq"
- },
- "description": "The `paVerifyPaymentNotice` request contains :\n- `idPA` : alphanumeric field containing the tax code of the structure sending the payment request.\n- `idBrokerPA` : identification of subject that operates as an intermediary for the PA.\n- `idStation` : identification of the station of the PA into pagoPa system.\n- `qrCode` : is the union of `fiscalCode` and `noticeNumber`\n- `amount` : amount of the payment\n- `paymentNote` : details description of the payment\n- `transferType` : _specific only for POSTE Italiane_\n- `dueDate` : indicates the expiration payment date according to the ISO 8601 format `[YYYY]-[MM]-[DD]`.",
- "type": "object",
- "properties": {
- "idPA": {
- "$ref": "#/definitions/stText35_type_pafn"
- },
- "idBrokerPA": {
- "$ref": "#/definitions/stText35_type_pafn"
- },
- "idStation": {
- "$ref": "#/definitions/stText35_type_pafn"
- },
- "qrCode": {
- "$ref": "#/definitions/ctQrCode_type_pafn"
- },
- "amount": {
- "$ref": "#/definitions/stAmount_type_pafn"
- },
- "paymentNote": {
- "$ref": "#/definitions/stText210_type_pafn"
- },
- "transferType": {
- "$ref": "#/definitions/stTransferType_type_pafn"
- },
- "dueDate": {
- "$ref": "#/definitions/stISODate_type_pafn"
- }
- },
- "required": [
- "idPA",
- "idBrokerPA",
- "idStation",
- "qrCode"
- ],
- "example": "\n\n string\n string\n string\n \n string\n string\n \n 999999996.99\n string\n string\n 2016-04-18\n"
- },
- "paGetPaymentRes_element_pafn": {
- "xml": {
- "namespace": "http://pagopa-api.pagopa.gov.it/pa/paForNode.xsd",
- "prefix": "pafn",
- "name": "paGetPaymentRes"
- },
- "description": "Its a response to `paGetPaymentReq` and contains :\n\n- `outcome` and _optional_ `fault` (_see below to details_)\n- all `data` related to payment (_see below to details_)",
- "allOf": [
- {
- "$ref": "#/definitions/ctResponse_type_pafn"
- },
- {
- "type": "object",
- "properties": {
- "data": {
- "$ref": "#/definitions/ctPaymentPA_type_pafn"
- }
- }
- }
- ],
- "example": "\n\n string\n \n string\n string\n string\n string\n 3\n string\n string\n string\n \n \n string\n 999999996.99\n 2016-04-18\n 2016-04-18T14:07:37\n true\n string\n string\n string\n \n \n string\n string\n \n string\n string\n string\n string\n string\n string\n string\n string\n \n \n \n 3\n 999999996.99\n string\n string\n string\n string\n \n \n \n \n string\n string\n \n \n \n"
- },
- "paSendRTReq_element_pafn": {
- "xml": {
- "namespace": "http://pagopa-api.pagopa.gov.it/pa/paForNode.xsd",
- "prefix": "pafn",
- "name": "paSendRTReq"
- },
- "description": "The `paSendRT` request contains :\n- `idPA` : alphanumeric field containing the tax code of the structure sending the payment request.\n- `idBrokerPA` : identification of subject that operates as an intermediary for the PA.\n- `idStation` : identification of the station of the PA into pagoPa system.\n- `receipt` : the payment receipt (_see below to details_)",
- "type": "object",
- "properties": {
- "idPA": {
- "$ref": "#/definitions/stText35_type_pafn"
- },
- "idBrokerPA": {
- "$ref": "#/definitions/stText35_type_pafn"
- },
- "idStation": {
- "$ref": "#/definitions/stText35_type_pafn"
- },
- "receipt": {
- "$ref": "#/definitions/ctReceipt_type_pafn"
- }
- },
- "required": [
- "idPA",
- "idBrokerPA",
- "idStation",
- "receipt"
- ],
- "example": "\n\n string\n string\n string\n \n string\n string\n string\n string\n string\n 999999996.99\n string\n string\n string\n \n \n string\n string\n \n string\n string\n string\n string\n string\n string\n string\n string\n \n \n \n 3\n 999999996.99\n string\n string\n string\n string\n \n \n string\n string\n string\n string\n string\n string\n \n \n string\n string\n \n string\n string\n string\n string\n string\n string\n string\n string\n \n string\n 999999996.99\n 2016-04-18T14:07:37\n 2016-04-18\n 2016-04-18\n \n \n string\n string\n \n \n \n"
- },
- "paSendRTRes_element_pafn": {
- "xml": {
- "namespace": "http://pagopa-api.pagopa.gov.it/pa/paForNode.xsd",
- "prefix": "pafn",
- "name": "paSendRTRes"
- },
- "description": "Its a response to `paSendRTReq` and contains :\n\n- `outcome` and _optional_ `fault` (_see below to details_)",
- "allOf": [
- {
- "$ref": "#/definitions/ctResponse_type_pafn"
- },
- {
- "type": "object",
- "properties": {}
- }
- ],
- "example": "\n\n string\n \n string\n string\n string\n string\n 3\n string\n string\n string\n \n"
- },
- "stText35_type_pafn": {
- "xml": {
- "namespace": ""
- },
- "type": "string",
- "minLength": 1,
- "maxLength": 35,
- "x-xsi-type": "stText35",
- "x-xsi-type-xml": {
- "namespace": "http://pagopa-api.pagopa.gov.it/pa/paForNode.xsd",
- "prefix": "pafn"
- },
- "x-xsi-type-uniquename": "stText35_type_pafn"
- },
- "ctQrCode_type_pafn": {
- "xml": {
- "namespace": "",
- "prefix": ""
- },
- "description": "Payment Notice **QR-CODE** data.\nQR-CODE is ISO/IEC 18004:2015 compliant generated with:\n\nParameters for generating the QR-CODE\n\n- Symbol Version : 4\n- Modules : 33x33\n- Modules width : 3 pixels\n- ECC Level: M ( max correction error 15%)\n- Character set : UTF-8\n\nQR-CODE contains a string formatted as :\n`PAGOPA|002|noticeNumber|fiscalCode|amount`\n\nWhere `noticeNumber` is composed by :\n\n`[auxDigit][segregationCode][IUVBase][IUVCheckDigit]`\n\nWhile `fiscalCode` is the creditor tax code.",
- "type": "object",
- "properties": {
- "fiscalCode": {
- "$ref": "#/definitions/stFiscalCodePA_type_pafn"
- },
- "noticeNumber": {
- "$ref": "#/definitions/stNoticeNumber_type_pafn"
- }
- },
- "required": [
- "fiscalCode",
- "noticeNumber"
- ],
- "x-xsi-type": "ctQrCode",
- "x-xsi-type-xml": {
- "namespace": "http://pagopa-api.pagopa.gov.it/pa/paForNode.xsd",
- "prefix": "pafn"
- },
- "x-xsi-type-uniquename": "ctQrCode_type_pafn"
- },
- "ctPaymentOptionsDescriptionListPA_type_pafn": {
- "xml": {
- "namespace": "",
- "prefix": ""
- },
- "description": "Structure containing the details of possible payments relating to the debt position to be paid.\n\nCurrently set at 5 eligible payments per single position.\n\nWhere each `paymentOptionDescription` items contains :\n\n- `amount` : payment amount\n- `options` : indicates the payment criteria accepted by the institution with respect to the amount, or if it accepts for this payment option other than `amount`.\n- `dueDate` : indicates the expiration payment date according to the ISO 8601 format `[YYYY]-[MM]-[DD]`.\n- `detailDescription` : Free text available to describe the payment reasons\n- `transferType` : _specific only for POSTE Italiane_",
- "type": "object",
- "properties": {
- "paymentOptionDescription": {
- "type": "array",
- "minItems": 1,
- "maxItems": 5,
- "items": {
- "$ref": "#/definitions/ctPaymentOptionDescriptionPA_type_pafn"
- }
- }
- },
- "required": [
- "paymentOptionDescription"
- ],
- "x-xsi-type": "ctPaymentOptionsDescriptionListPA",
- "x-xsi-type-xml": {
- "namespace": "http://pagopa-api.pagopa.gov.it/pa/paForNode.xsd",
- "prefix": "pafn"
- },
- "x-xsi-type-uniquename": "ctPaymentOptionsDescriptionListPA_type_pafn"
- },
- "stText140_type_pafn": {
- "xml": {
- "namespace": ""
- },
- "type": "string",
- "minLength": 1,
- "maxLength": 140,
- "x-xsi-type": "stText140",
- "x-xsi-type-xml": {
- "namespace": "http://pagopa-api.pagopa.gov.it/pa/paForNode.xsd",
- "prefix": "pafn"
- },
- "x-xsi-type-uniquename": "stText140_type_pafn"
- },
- "stFiscalCodePA_type_pafn": {
- "xml": {
- "namespace": ""
- },
- "description": "Tax code of the public administration to which the payment notification is made out",
- "type": "string",
- "pattern": "[0-9]{11}",
- "minLength": 11,
- "maxLength": 11,
- "x-xsi-type": "stFiscalCodePA",
- "x-xsi-type-xml": {
- "namespace": "http://pagopa-api.pagopa.gov.it/pa/paForNode.xsd",
- "prefix": "pafn"
- },
- "x-xsi-type-uniquename": "stFiscalCodePA_type_pafn"
- },
- "stAmount_type_pafn": {
- "xml": {
- "namespace": ""
- },
- "description": "Amount of payment in euro",
- "type": "number",
- "maximum": 999999999.99,
- "pattern": "\\d+\\.\\d{2}",
- "x-xsi-type": "stAmount",
- "x-xsi-type-xml": {
- "namespace": "http://pagopa-api.pagopa.gov.it/pa/paForNode.xsd",
- "prefix": "pafn"
- },
- "x-xsi-type-uniquename": "stAmount_type_pafn"
- },
- "stText210_type_pafn": {
- "xml": {
- "namespace": ""
- },
- "type": "string",
- "minLength": 1,
- "maxLength": 210,
- "x-xsi-type": "stText210",
- "x-xsi-type-xml": {
- "namespace": "http://pagopa-api.pagopa.gov.it/pa/paForNode.xsd",
- "prefix": "pafn"
- },
- "x-xsi-type-uniquename": "stText210_type_pafn"
- },
- "stTransferType_type_pafn": {
- "xml": {
- "namespace": ""
- },
- "type": "string",
- "enum": [
- "POSTAL"
- ],
- "x-xsi-type": "stTransferType",
- "x-xsi-type-xml": {
- "namespace": "http://pagopa-api.pagopa.gov.it/pa/paForNode.xsd",
- "prefix": "pafn"
- },
- "x-xsi-type-uniquename": "stTransferType_type_pafn"
- },
- "stISODate_type_pafn": {
- "xml": {
- "namespace": ""
- },
- "type": "string",
- "format": "date",
- "x-xsi-type": "stISODate",
- "x-xsi-type-xml": {
- "namespace": "http://pagopa-api.pagopa.gov.it/pa/paForNode.xsd",
- "prefix": "pafn"
- },
- "x-xsi-type-uniquename": "stISODate_type_pafn"
- },
- "ctPaymentPA_type_pafn": {
- "xml": {
- "namespace": "",
- "prefix": ""
- },
- "description": "Its contains all payment information :\n\n- `creditorReferenceId` : its equal to **IUV** _Identificativo Univoco Versamento_ \n- `paymentAmount` : amount, it must be equal to the sums of `transferAmount` present in the `transferList`\n- `dueDate` : indicates the expiration payment date according to the ISO 8601 format `[YYYY]-[MM]-[DD]`.\n- `retentionDate` : indicates the retention payment date according to the ISO 8601 format `[YYYY]-[MM]-[DD]`.\n- `lastPayment` : boolean flag used for in installment payments \n- `description` : free text available to describe the payment reasons\n- `companyName` : Public Administration full name\n- `officeName` : Public Admninistration Department Name\n- `debtor` : identifies the debtor to whom the debt position refers\n- `transferList` : the list of all available transfer information (_see below to details_)\n- `metadata` : (_see below to details_)",
- "type": "object",
- "properties": {
- "creditorReferenceId": {
- "$ref": "#/definitions/stText35_type_pafn"
- },
- "paymentAmount": {
- "$ref": "#/definitions/stAmountNotZero_type_pafn"
- },
- "dueDate": {
- "$ref": "#/definitions/stISODate_type_pafn"
- },
- "retentionDate": {
- "xml": {
- "namespace": ""
- },
- "type": "string",
- "format": "date-time"
- },
- "lastPayment": {
- "xml": {
- "namespace": ""
- },
- "type": "boolean"
- },
- "description": {
- "$ref": "#/definitions/stText140_type_pafn"
- },
- "companyName": {
- "$ref": "#/definitions/stText140_type_pafn"
- },
- "officeName": {
- "$ref": "#/definitions/stText140_type_pafn"
- },
- "debtor": {
- "$ref": "#/definitions/ctSubject_type_pafn"
- },
- "transferList": {
- "$ref": "#/definitions/ctTransferListPA_type_pafn"
- },
- "metadata": {
- "$ref": "#/definitions/ctMetadata_type_pafn"
- }
- },
- "required": [
- "creditorReferenceId",
- "paymentAmount",
- "dueDate",
- "description",
- "debtor",
- "transferList"
- ],
- "x-xsi-type": "ctPaymentPA",
- "x-xsi-type-xml": {
- "namespace": "http://pagopa-api.pagopa.gov.it/pa/paForNode.xsd",
- "prefix": "pafn"
- },
- "x-xsi-type-uniquename": "ctPaymentPA_type_pafn"
- },
- "ctReceipt_type_pafn": {
- "xml": {
- "namespace": "",
- "prefix": ""
- },
- "description": "Its contains all receipt information :\n\n**identifier section**\n- `outcome` : result of receipt **OK** / **KO**\n- `receiptId` : unique identifier of receipt (assigned by pagoPa) it contains `paymentToken` present in to `activatePaymentNotice` response \n- `noticeNumber` : notice number\n- `fiscalCode` : Tax code of the public administration\n\n**PA data**\n- `creditorReferenceId` : **IUV** _Identificativo Univoco Versamento_\n- `paymentAmount` : amount\n- `description` : \n- `companyName` : Public Administration full name\n- `officeName` Public Administration Department Name\n- `debtor` : debtor subject identifier\n- `transferList` : the list of transfers\n- `metadata` : info received in to `paGetPaymentRes`\n\n**PSP data**\n- `idPSP` : PSP Identifier, it has been assigned from pagoPA.\n- `pspFiscalCode` : PSP' fiscal code\n- `pspPartitaIVA` : PSP' _Partita IVA_\n- `PSPCompanyName` : PSP full name\n- `idChannel` : Channel Identifier, it identifies a payment service category and through which the transaction is carried out.\n- `channelDescription` : Channel Identifier description\n- `payer` : who made the payment\n- `paymentMethod` : Method of the payment , i.e. `cash`, `creditCard`, `bancomat` or `other`\n- `fee` : PSP's fee applied\n- `paymentDateTime` : payment execution date by the user\n- `applicationDate` : application date, payment date on the PSP side\n- `transferDate` : transfer date",
- "type": "object",
- "properties": {
- "receiptId": {
- "xml": {
- "namespace": ""
- },
- "type": "string"
- },
- "noticeNumber": {
- "$ref": "#/definitions/stNoticeNumber_type_pafn"
- },
- "fiscalCode": {
- "$ref": "#/definitions/stFiscalCodePA_type_pafn"
- },
- "outcome": {
- "$ref": "#/definitions/stOutcome_type_pafn"
- },
- "creditorReferenceId": {
- "$ref": "#/definitions/stText35_type_pafn"
- },
- "paymentAmount": {
- "$ref": "#/definitions/stAmount_type_pafn"
- },
- "description": {
- "$ref": "#/definitions/stText140_type_pafn"
- },
- "companyName": {
- "$ref": "#/definitions/stText140_type_pafn"
- },
- "officeName": {
- "$ref": "#/definitions/stText140_type_pafn"
- },
- "debtor": {
- "$ref": "#/definitions/ctSubject_type_pafn"
- },
- "transferList": {
- "$ref": "#/definitions/ctTransferListPA_type_pafn"
- },
- "idPSP": {
- "$ref": "#/definitions/stText35_type_pafn"
- },
- "pspFiscalCode": {
- "$ref": "#/definitions/stText70_type_pafn"
- },
- "pspPartitaIVA": {
- "$ref": "#/definitions/stText20_type_pafn"
- },
- "PSPCompanyName": {
- "$ref": "#/definitions/stText35_type_pafn"
- },
- "idChannel": {
- "$ref": "#/definitions/stText35_type_pafn"
- },
- "channelDescription": {
- "$ref": "#/definitions/stText35_type_pafn"
- },
- "payer": {
- "$ref": "#/definitions/ctSubject_type_pafn"
- },
- "paymentMethod": {
- "$ref": "#/definitions/stText35_type_pafn"
- },
- "fee": {
- "$ref": "#/definitions/stAmount_type_pafn"
- },
- "paymentDateTime": {
- "$ref": "#/definitions/stISODateTime_type_pafn"
- },
- "applicationDate": {
- "$ref": "#/definitions/stISODate_type_pafn"
- },
- "transferDate": {
- "$ref": "#/definitions/stISODate_type_pafn"
- },
- "metadata": {
- "$ref": "#/definitions/ctMetadata_type_pafn"
- }
- },
- "required": [
- "receiptId",
- "noticeNumber",
- "fiscalCode",
- "outcome",
- "creditorReferenceId",
- "paymentAmount",
- "description",
- "companyName",
- "debtor",
- "transferList",
- "idPSP",
- "PSPCompanyName",
- "idChannel",
- "channelDescription"
- ],
- "x-xsi-type": "ctReceipt",
- "x-xsi-type-xml": {
- "namespace": "http://pagopa-api.pagopa.gov.it/pa/paForNode.xsd",
- "prefix": "pafn"
- },
- "x-xsi-type-uniquename": "ctReceipt_type_pafn"
- },
- "stOutcome_type_pafn": {
- "xml": {
- "namespace": ""
- },
- "description": "The outcome of the operation may contain the following result string code: \n\n- **OK** : operation performed successfully\n- **KO** : operation terminated with error",
- "type": "string",
- "enum": [
- "OK",
- "KO"
- ],
- "x-xsi-type": "stOutcome",
- "x-xsi-type-xml": {
- "namespace": "http://pagopa-api.pagopa.gov.it/pa/paForNode.xsd",
- "prefix": "pafn"
- },
- "x-xsi-type-uniquename": "stOutcome_type_pafn"
- },
- "ctFaultBean_type_pafn": {
- "xml": {
- "namespace": "",
- "prefix": ""
- },
- "description": "- `id` : Subject issuing the error.\nAllowed values \u000b\u000bare : \n - `NodoDeiPagamentiSPC` : constant which identifies the NodoSPC\n - `[domain identifier]` : domain id of the creditor entity issuing the fault\n - `[PSP identifier]` : PSP identifier issuing the fault\n\n- `faultCode` : error code (see `stFaultCode` to details)\n\n- `faultString` : Specification of the error code, specific to the subject issuing it. Contains a more talking description relating to the `faultCode`.\n\n- `description` : Additional description of the error set by the NodoSPC, by the creditor or PSP.\n\n- `serial` : Position of the element in the referenced list. Useful when providing a parameter in the form of a vector (for example, in the primitive `SendCarrelloRPT` node).\nIf the error is generated by the EC or by the PSP, the data reported is the value of the `faultBean.serial` data set by the EC or by the PSP.\n\n- `originalFaultCode` : Error code generated by the counterpart. (_Set only it isn't generated by NodoSPC._)\n\n- `originalFaultString` : Specification of the error code generated by the counterpart. (_Set only it isn't generated by NodoSPC._)\n\n- `originalDescription` : Additional description of the error generated by the counterparty. (_Set only it isn't generated by NodoSPC._)",
- "type": "object",
- "properties": {
- "faultCode": {
- "$ref": "#/definitions/stFaultCode_type_pafn"
- },
- "faultString": {
- "xml": {
- "namespace": ""
- },
- "type": "string"
- },
- "id": {
- "xml": {
- "namespace": ""
- },
- "type": "string"
- },
- "description": {
- "xml": {
- "namespace": ""
- },
- "type": "string"
- },
- "serial": {
- "xml": {
- "namespace": ""
- },
- "type": "integer",
- "format": "int32"
- },
- "originalFaultCode": {
- "xml": {
- "namespace": ""
- },
- "type": "string"
- },
- "originalFaultString": {
- "xml": {
- "namespace": ""
- },
- "type": "string"
- },
- "originalDescription": {
- "xml": {
- "namespace": ""
- },
- "type": "string"
- }
- },
- "required": [
- "faultCode",
- "faultString",
- "id"
- ],
- "x-xsi-type": "ctFaultBean",
- "x-xsi-type-xml": {
- "namespace": "http://pagopa-api.pagopa.gov.it/pa/paForNode.xsd",
- "prefix": "pafn"
- },
- "x-xsi-type-uniquename": "ctFaultBean_type_pafn"
- },
- "stNoticeNumber_type_pafn": {
- "xml": {
- "namespace": ""
- },
- "description": "`noticeNumber` is composed by :\n\n`[auxDigit][segregationCode][IUVBase][IUVCheckDigit]`",
- "type": "string",
- "pattern": "[0-9]{18}",
- "x-xsi-type": "stNoticeNumber",
- "x-xsi-type-xml": {
- "namespace": "http://pagopa-api.pagopa.gov.it/pa/paForNode.xsd",
- "prefix": "pafn"
- },
- "x-xsi-type-uniquename": "stNoticeNumber_type_pafn"
- },
- "ctPaymentOptionDescriptionPA_type_pafn": {
- "xml": {
- "namespace": "",
- "prefix": ""
- },
- "type": "object",
- "properties": {
- "amount": {
- "$ref": "#/definitions/stAmount_type_pafn"
- },
- "options": {
- "$ref": "#/definitions/stAmountOption_type_pafn"
- },
- "dueDate": {
- "$ref": "#/definitions/stISODate_type_pafn"
- },
- "detailDescription": {
- "$ref": "#/definitions/stText140_type_pafn"
- },
- "transferType": {
- "$ref": "#/definitions/stTransferType_type_pafn"
- }
- },
- "required": [
- "amount",
- "options"
- ],
- "x-xsi-type": "ctPaymentOptionDescriptionPA",
- "x-xsi-type-xml": {
- "namespace": "http://pagopa-api.pagopa.gov.it/pa/paForNode.xsd",
- "prefix": "pafn"
- },
- "x-xsi-type-uniquename": "ctPaymentOptionDescriptionPA_type_pafn"
- },
- "stAmountNotZero_type_pafn": {
- "xml": {
- "namespace": ""
- },
- "description": "Amount of payment in euro (_it doesn't admit values \u000b\u000bequal to 0_)",
- "type": "number",
- "minimum": 0.01,
- "maximum": 999999999.99,
- "pattern": "\\d+\\.\\d{2}",
- "x-xsi-type": "stAmountNotZero",
- "x-xsi-type-xml": {
- "namespace": "http://pagopa-api.pagopa.gov.it/pa/paForNode.xsd",
- "prefix": "pafn"
- },
- "x-xsi-type-uniquename": "stAmountNotZero_type_pafn"
- },
- "ctSubject_type_pafn": {
- "xml": {
- "namespace": "",
- "prefix": ""
- },
- "description": "Contains all data for the subject of payment :\n\n- `uniqueIdentifier` : (_see below to details_)\n- `fullName` : name of the subject\n- `streetName` : street name\n- `civicNumber` : building number\n- `postalCode` : postal code\n- `city` : town name\n- `stateProvinceRegion` : country subdivision\n- `country` : country name\n- `e-mail` : remittance location electronic address",
- "type": "object",
- "properties": {
- "uniqueIdentifier": {
- "$ref": "#/definitions/ctEntityUniqueIdentifier_type_pafn"
- },
- "fullName": {
- "$ref": "#/definitions/stText70_type_pafn"
- },
- "streetName": {
- "$ref": "#/definitions/stText70_type_pafn"
- },
- "civicNumber": {
- "$ref": "#/definitions/stText16_type_pafn"
- },
- "postalCode": {
- "$ref": "#/definitions/stText16_type_pafn"
- },
- "city": {
- "$ref": "#/definitions/stText35_type_pafn"
- },
- "stateProvinceRegion": {
- "$ref": "#/definitions/stText35_type_pafn"
- },
- "country": {
- "$ref": "#/definitions/stNazioneProvincia_type_pafn"
- },
- "e-mail": {
- "$ref": "#/definitions/stEMail_type_pafn"
- }
- },
- "required": [
- "uniqueIdentifier",
- "fullName"
- ],
- "x-xsi-type": "ctSubject",
- "x-xsi-type-xml": {
- "namespace": "http://pagopa-api.pagopa.gov.it/pa/paForNode.xsd",
- "prefix": "pafn"
- },
- "x-xsi-type-uniquename": "ctSubject_type_pafn"
- },
- "ctTransferListPA_type_pafn": {
- "xml": {
- "namespace": "",
- "prefix": ""
- },
- "description": "Structure containing the details of possible tranfer payments.\n\nCurrently set at 5 eligible payments per single position.\n\nWhere each `transfer` items contains :\n\n- `idTransfer` : index of the list (from `1` to `5`) \n- `transferAmount` : amount \n- `fiscalCodePA` : Tax code of the public administration\n- `IBAN` : contains the IBAN of the account to be credited\n- `remittanceInformation` : reason for payment (_alias_ `causaleVersamento`)\n- `transferCategory` : contains the union of **CODICE TIPOLOGIA SERVIZIO** following by ***TIPO SERVIZIO* as define in [Tassonomia dei servizi](https://drive.google.com/file/d/13xOd__Qd4pwKHr3wjE-73NAB2O7UKmIt/view)",
- "type": "object",
- "properties": {
- "transfer": {
- "type": "array",
- "minItems": 1,
- "maxItems": 5,
- "items": {
- "$ref": "#/definitions/ctTransferPA_type_pafn"
- }
- }
- },
- "required": [
- "transfer"
- ],
- "x-xsi-type": "ctTransferListPA",
- "x-xsi-type-xml": {
- "namespace": "http://pagopa-api.pagopa.gov.it/pa/paForNode.xsd",
- "prefix": "pafn"
- },
- "x-xsi-type-uniquename": "ctTransferListPA_type_pafn"
- },
- "ctMetadata_type_pafn": {
- "xml": {
- "namespace": "",
- "prefix": ""
- },
- "description": "Its a _key/value_ store fields for the exclusive use of the PA. \nThe data will return in the receipt (`paSendRT`)",
- "type": "object",
- "properties": {
- "mapEntry": {
- "type": "array",
- "minItems": 1,
- "maxItems": 10,
- "items": {
- "$ref": "#/definitions/ctMapEntry_type_pafn"
- }
- }
- },
- "required": [
- "mapEntry"
- ],
- "x-xsi-type": "ctMetadata",
- "x-xsi-type-xml": {
- "namespace": "http://pagopa-api.pagopa.gov.it/pa/paForNode.xsd",
- "prefix": "pafn"
- },
- "x-xsi-type-uniquename": "ctMetadata_type_pafn"
- },
- "stText70_type_pafn": {
- "xml": {
- "namespace": ""
- },
- "type": "string",
- "minLength": 1,
- "maxLength": 70,
- "x-xsi-type": "stText70",
- "x-xsi-type-xml": {
- "namespace": "http://pagopa-api.pagopa.gov.it/pa/paForNode.xsd",
- "prefix": "pafn"
- },
- "x-xsi-type-uniquename": "stText70_type_pafn"
- },
- "stText20_type_pafn": {
- "xml": {
- "namespace": ""
- },
- "type": "string",
- "minLength": 1,
- "maxLength": 20,
- "x-xsi-type": "stText20",
- "x-xsi-type-xml": {
- "namespace": "http://pagopa-api.pagopa.gov.it/pa/paForNode.xsd",
- "prefix": "pafn"
- },
- "x-xsi-type-uniquename": "stText20_type_pafn"
- },
- "stISODateTime_type_pafn": {
- "xml": {
- "namespace": ""
- },
- "type": "string",
- "format": "date-time",
- "x-xsi-type": "stISODateTime",
- "x-xsi-type-xml": {
- "namespace": "http://pagopa-api.pagopa.gov.it/pa/paForNode.xsd",
- "prefix": "pafn"
- },
- "x-xsi-type-uniquename": "stISODateTime_type_pafn"
- },
- "stFaultCode_type_pafn": {
- "xml": {
- "namespace": ""
- },
- "description": "### Generic Errors\n\n**PPT_SINTASSI_EXTRAXSD** : _Generic error related to any WSDL/XSD syntax error. It can be returned from any message_\n\n**PPT_STAZIONE_INT_PA_ERRORE_RESPONSE** : _Generic error related to any PA error. It can be returned from verifyPaymentNotice and ActivatePaymentNotice messages_\n\n**PPT_STAZIONE_INT_PA_DISABILITATA** : _PA configuration error. It can be returned from VerifyPaymentNotice and ActivatePaymentNotice messages_\n\n**PPT_STAZIONE_INT_PA_IRRAGGIUNGIBILE** : _PA configuration error. It can be returned from VerifyPaymentNotice and ActivatePaymentNotice messages_\n\n**PPT_INTERMEDIARIO_PA_DISABILITATO** : _PA configuration error. It can be returned from VerifyPaymentNotice and ActivatePaymentNotice messages_\n\n**PPT_STAZIONE_INT_PA_TIMEOUT** : _PA information is not available, the operation can not be authorized. It can be returned from VerifyPaymentNotice and ActivatePaymentNotice messages_\n \n### Authentication Errors\n\n**PPT_PSP_SCONOSCIUTO** : _Authentication Error. It can be returned from any messages_\n\n**PPT_PSP_DISABILITATO** : _Authentication Error. It can be returned from any messages_\n\n**PPT_INTERMEDIARIO_PSP_SCONOSCIUTO** : _Authentication Error. It can be returned from any messages_\n\n**PPT_INTERMEDIARIO_PSP_DISABILITATO** : _Authentication Error. It can be returned from any messages_\n\n**PPT_CANALE_SCONOSCIUTO** : _Authentication Error. It can be returned from any messages_\n\n**PPT_CANALE_DISABILITATO** : _Authentication Error. It can be returned from any messages_\n\n**PPT_AUTORIZZAZIONE** : _Authentication Error. It can be returned from any messages_\n\n### Request Errors\n\n**PPT_DOMINIO_SCONOSCIUTO** : _Request Error. Unknown PA fiscal code. It can be returned from VerifyPaymentNotice and ActivatePaymentNotice messages_\n\n**PPT_DOMINIO_DISABILITATO** : _Request Error. Unknown PA fiscal code. It can be returned from VerifyPaymentNotice and ActivatePaymentNotice messages_\n\n**PPT_INT_PA_SCONOSCIUTA** : _Notice Number Error. It can be returned from VerifyPaymentNotice messages_\n\n### Business Errors\n\n**PPT_ERRORE_EMESSO_DA_PAA** : _Operation not authorized. It can be returned from VerifyPaymentNotice and ActivatePaymentNotice messages_\n\n**PPT_SEMANTICA** : _Idempotency key expired. It can be returned from ActivatePaymentNotice messages; The same fault code can be related to an integration error._\n\n**PPT_PAGAMENTO_IN_CORSO** : _Payment in process, the operation can not be authorized. It can be returned from ActivatePaymentNotice messages:\n\n**PPT_TOKEN_SCONOSCIUTO** : _Unknown Payment Token, the operation can not be authorized. It can be returned from SendPaymentOutcome messages_\n\n**PPT_ESITO_GIA_ACQUISITO** : _Idempotency Error, the same request has been already processed with different params. It can be returned from SendPaymentOutcome messages_\n\n**PPT_TOKEN_SCADUTO** : _Expired payment token, the position debt is still payable. The operation can not be authorized. It can be returned from SendPaymentOutcome messages_\n\n**PPT_PAGAMENTO_DUPLICATO** : _Expired payment token, the position debt has benn already payed. The operation can not be authorized. It can be returned from SendPaymentOutcome messages_",
- "type": "string",
- "x-xsi-type": "stFaultCode",
- "x-xsi-type-xml": {
- "namespace": "http://pagopa-api.pagopa.gov.it/pa/paForNode.xsd",
- "prefix": "pafn"
- },
- "x-xsi-type-uniquename": "stFaultCode_type_pafn"
- },
- "stAmountOption_type_pafn": {
- "xml": {
- "namespace": ""
- },
- "description": "Indicates the payment criteria accepted by public administration respect to the amount, i.e. if it accepts an `amount` for this payment option\n\n- equals `EQ`\n- less `LT`\n- greater `GT`\n- any `ANY`\n\nthan indicated.",
- "type": "string",
- "enum": [
- "EQ",
- "LS",
- "GT",
- "ANY"
- ],
- "x-xsi-type": "stAmountOption",
- "x-xsi-type-xml": {
- "namespace": "http://pagopa-api.pagopa.gov.it/pa/paForNode.xsd",
- "prefix": "pafn"
- },
- "x-xsi-type-uniquename": "stAmountOption_type_pafn"
- },
- "ctEntityUniqueIdentifier_type_pafn": {
- "xml": {
- "namespace": "",
- "prefix": ""
- },
- "type": "object",
- "properties": {
- "entityUniqueIdentifierType": {
- "$ref": "#/definitions/stEntityUniqueIdentifierType_type_pafn"
- },
- "entityUniqueIdentifierValue": {
- "$ref": "#/definitions/stEntityUniqueIdentifierValue_type_pafn"
- }
- },
- "required": [
- "entityUniqueIdentifierType",
- "entityUniqueIdentifierValue"
- ],
- "x-xsi-type": "ctEntityUniqueIdentifier",
- "x-xsi-type-xml": {
- "namespace": "http://pagopa-api.pagopa.gov.it/pa/paForNode.xsd",
- "prefix": "pafn"
- },
- "x-xsi-type-uniquename": "ctEntityUniqueIdentifier_type_pafn"
- },
- "stText16_type_pafn": {
- "xml": {
- "namespace": ""
- },
- "type": "string",
- "minLength": 1,
- "maxLength": 16,
- "x-xsi-type": "stText16",
- "x-xsi-type-xml": {
- "namespace": "http://pagopa-api.pagopa.gov.it/pa/paForNode.xsd",
- "prefix": "pafn"
- },
- "x-xsi-type-uniquename": "stText16_type_pafn"
- },
- "stNazioneProvincia_type_pafn": {
- "xml": {
- "namespace": ""
- },
- "type": "string",
- "pattern": "[A-Z]{2,2}",
- "x-xsi-type": "stNazioneProvincia",
- "x-xsi-type-xml": {
- "namespace": "http://pagopa-api.pagopa.gov.it/pa/paForNode.xsd",
- "prefix": "pafn"
- },
- "x-xsi-type-uniquename": "stNazioneProvincia_type_pafn"
- },
- "stEMail_type_pafn": {
- "xml": {
- "namespace": ""
- },
- "type": "string",
- "pattern": "[a-zA-Z0-9_\\.\\+\\-]+@[a-zA-Z0-9\\-]+(\\.[a-zA-Z0-9\\-]+)*",
- "maxLength": 256,
- "x-xsi-type": "stEMail",
- "x-xsi-type-xml": {
- "namespace": "http://pagopa-api.pagopa.gov.it/pa/paForNode.xsd",
- "prefix": "pafn"
- },
- "x-xsi-type-uniquename": "stEMail_type_pafn"
- },
- "ctTransferPA_type_pafn": {
- "xml": {
- "namespace": "",
- "prefix": ""
- },
- "type": "object",
- "properties": {
- "idTransfer": {
- "$ref": "#/definitions/stIdTransfer_type_pafn"
- },
- "transferAmount": {
- "$ref": "#/definitions/stAmountNotZero_type_pafn"
- },
- "fiscalCodePA": {
- "$ref": "#/definitions/stFiscalCodePA_type_pafn"
- },
- "IBAN": {
- "$ref": "#/definitions/stIBAN_type_pafn"
- },
- "remittanceInformation": {
- "$ref": "#/definitions/stText140_type_pafn"
- },
- "transferCategory": {
- "$ref": "#/definitions/stText140_type_pafn"
- }
- },
- "required": [
- "idTransfer",
- "transferAmount",
- "fiscalCodePA",
- "IBAN",
- "remittanceInformation",
- "transferCategory"
- ],
- "x-xsi-type": "ctTransferPA",
- "x-xsi-type-xml": {
- "namespace": "http://pagopa-api.pagopa.gov.it/pa/paForNode.xsd",
- "prefix": "pafn"
- },
- "x-xsi-type-uniquename": "ctTransferPA_type_pafn"
- },
- "ctMapEntry_type_pafn": {
- "xml": {
- "namespace": "",
- "prefix": ""
- },
- "type": "object",
- "properties": {
- "key": {
- "$ref": "#/definitions/stText140_type_pafn"
- },
- "value": {
- "$ref": "#/definitions/stText140_type_pafn"
- }
- },
- "required": [
- "key",
- "value"
- ],
- "x-xsi-type": "ctMapEntry",
- "x-xsi-type-xml": {
- "namespace": "http://pagopa-api.pagopa.gov.it/pa/paForNode.xsd",
- "prefix": "pafn"
- },
- "x-xsi-type-uniquename": "ctMapEntry_type_pafn"
- },
- "stEntityUniqueIdentifierType_type_pafn": {
- "xml": {
- "namespace": ""
- },
- "description": "Alphanumeric field indicating the nature of the subject; it can assume the following values:\n\n- **F** : Natural person\n- **G** : Legal Person",
- "type": "string",
- "enum": [
- "F",
- "G"
- ],
- "minLength": 1,
- "maxLength": 1,
- "x-xsi-type": "stEntityUniqueIdentifierType",
- "x-xsi-type-xml": {
- "namespace": "http://pagopa-api.pagopa.gov.it/pa/paForNode.xsd",
- "prefix": "pafn"
- },
- "x-xsi-type-uniquename": "stEntityUniqueIdentifierType_type_pafn"
- },
- "stEntityUniqueIdentifierValue_type_pafn": {
- "xml": {
- "namespace": ""
- },
- "description": "Alphanumeric field that can contain the tax code or, alternatively, the VAT number of the payer.\n\nIn applicable cases, when it is not possible to identify for tax purposes the subject, the `ANONIMO` value can be used",
- "type": "string",
- "minLength": 2,
- "maxLength": 16,
- "x-xsi-type": "stEntityUniqueIdentifierValue",
- "x-xsi-type-xml": {
- "namespace": "http://pagopa-api.pagopa.gov.it/pa/paForNode.xsd",
- "prefix": "pafn"
- },
- "x-xsi-type-uniquename": "stEntityUniqueIdentifierValue_type_pafn"
- },
- "stIdTransfer_type_pafn": {
- "xml": {
- "namespace": ""
- },
- "type": "integer",
- "format": "int32",
- "enum": [
- 1,
- 2,
- 3,
- 4,
- 5
- ],
- "x-xsi-type": "stIdTransfer",
- "x-xsi-type-xml": {
- "namespace": "http://pagopa-api.pagopa.gov.it/pa/paForNode.xsd",
- "prefix": "pafn"
- },
- "x-xsi-type-uniquename": "stIdTransfer_type_pafn"
- },
- "stIBAN_type_pafn": {
- "xml": {
- "namespace": ""
- },
- "type": "string",
- "minLength": 1,
- "maxLength": 35,
- "x-xsi-type": "stIBAN",
- "x-xsi-type-xml": {
- "namespace": "http://pagopa-api.pagopa.gov.it/pa/paForNode.xsd",
- "prefix": "pafn"
- },
- "x-xsi-type-uniquename": "stIBAN_type_pafn"
- },
- "ctResponse_type_pafn": {
- "xml": {
- "namespace": "",
- "prefix": ""
- },
- "type": "object",
- "properties": {
- "outcome": {
- "$ref": "#/definitions/stOutcome_type_pafn"
- },
- "fault": {
- "$ref": "#/definitions/ctFaultBean_type_pafn"
- }
- },
- "required": [
- "outcome"
- ],
- "x-ibm-discriminator": true,
- "x-xsi-type": "ctResponse",
- "x-xsi-type-xml": {
- "namespace": "http://pagopa-api.pagopa.gov.it/pa/paForNode.xsd",
- "prefix": "pafn"
- },
- "x-xsi-type-uniquename": "ctResponse_type_pafn"
- }
- }
-}
diff --git a/src/core/api/mockpsp_api/v1/_base_policy.xml b/src/core/api/mockpsp_api/v1/_base_policy.xml
deleted file mode 100644
index ce1df461e..000000000
--- a/src/core/api/mockpsp_api/v1/_base_policy.xml
+++ /dev/null
@@ -1,26 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/src/core/api/mockpsp_api/v1/_openapi.json.tpl b/src/core/api/mockpsp_api/v1/_openapi.json.tpl
deleted file mode 100644
index 627854a25..000000000
--- a/src/core/api/mockpsp_api/v1/_openapi.json.tpl
+++ /dev/null
@@ -1,169 +0,0 @@
-{
- "openapi": "3.0.1",
- "info": {
- "title": "Pagopa PM Mock",
- "version": "1.0.0"
- },
- "servers": [{
- "url": "https://${host}"
- }],
- "tags": [
- {
- "name": "paypalmock",
- "description": "todo"
- },
- {
- "name": "paypalmanagement",
- "description": "todo"
- }
- ],
- "paths": {
- "/paypalpsp/api/pp_onboarding_back": {
- "post": {
- "tags": [
- "paypalmock"
- ],
- "summary": "server to server api used to start onboarding",
- "requestBody": {
- "description": "New Onboarding required"
- },
- "responses": {
- "200": {
- "description": "Response",
- "content": {
- "application/json": {
- "schema": {
- "oneOf": [
- {
- "$ref": "#/components/schemas/StartOnboardingResponseSuccess"
- },
- {
- "$ref": "#/components/schemas/StartOnboardingResponseError"
- }
- ]
- }
- }
- }
- }
- },
- "security": [
- {
- "bearerAuth": []
- }
- ]
- }
- },
- "/paypalweb/*": {
- "get": {
- "operationId": "WebView GET",
- "description": "TEST WebView paypal",
- "responses": {
- "200": {
- "description": "html with redirect"
- },
- "400": {
- "description": "Bad request"
- },
- "500": {
- "description": "generic error"
- }
- }
- },
- "post": {
- "operationId": "WebView POST",
- "description": "TEST WebView paypal",
- "responses": {
- "200": {
- "description": "html with redirect"
- },
- "400": {
- "description": "Bad request"
- },
- "500": {
- "description": "generic error"
- }
- }
- }
- }
- },
- "components": {
- "schemas": {
- "StartOnboardingRequest": {
- "required": [
- "url_return",
- "id_appio"
- ],
- "type": "object",
- "properties": {
- "url_return": {
- "type": "string",
- "description": "URL used to return the result"
- },
- "id_appio": {
- "type": "string",
- "description": "user identifier"
- }
- }
- },
- "StartOnboardingResponseSuccess": {
- "required": [
- "esito",
- "url_to_call"
- ],
- "type": "object",
- "properties": {
- "esito": {
- "type": "string",
- "enum": [
- "1"
- ],
- "description": "URL used to return the result"
- },
- "url_to_call": {
- "type": "string",
- "description": "url to call to proceed with onboarding"
- }
- }
- },
- "StartOnboardingResponseError": {
- "required": [
- "esito",
- "err_code",
- "err_desc"
- ],
- "type": "object",
- "properties": {
- "esito": {
- "type": "string",
- "enum": [
- "3",
- "9"
- ],
- "description": "Api result"
- },
- "err_code": {
- "type": "string",
- "enum": [
- "9",
- "11",
- "13",
- "15",
- "19",
- "67"
- ]
- },
- "err_desc": {
- "type": "string"
- }
- }
- }
- },
- "securitySchemes": {
- "bearerAuth": {
- "type": "http",
- "scheme": "bearer",
- "bearerFormat": "string"
- }
- }
- }
-}
\ No newline at end of file
diff --git a/src/core/api/mockpspmng_api/v1/_base_policy.xml b/src/core/api/mockpspmng_api/v1/_base_policy.xml
deleted file mode 100644
index ce1df461e..000000000
--- a/src/core/api/mockpspmng_api/v1/_base_policy.xml
+++ /dev/null
@@ -1,26 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/src/core/api/mockpspmng_api/v1/_openapi.json.tpl b/src/core/api/mockpspmng_api/v1/_openapi.json.tpl
deleted file mode 100644
index 0f4165823..000000000
--- a/src/core/api/mockpspmng_api/v1/_openapi.json.tpl
+++ /dev/null
@@ -1,154 +0,0 @@
-{
- "openapi": "3.0.1",
- "info": {
- "title": "Pagopa webview PM Mock",
- "version": "1.0.0"
- },
- "servers": [{
- "url": "https://${host}"
- }],
- "tags": [
- {
- "name": "paypalmock",
- "description": "todo"
- },
- {
- "name": "paypalmanagement",
- "description": "todo"
- }
- ],
- "paths": {
- "/paypalpsp/management/response": {
- "patch": {
- "operationId": "patchmanagement",
- "description": "patch management",
- "responses": {
- "200": {
- "description": "json response"
- },
- "400": {
- "description": "Bad request"
- },
- "500": {
- "description": "generic error"
- }
- }
- }
- },
- "/paypalpsp/management/response/{idappio}/{apiid}": {
- "get": {
- "parameters": [
- {
- "in": "path",
- "name": "idappio",
- "required": true,
- "schema": {
- "type": "string"
- }
- },
- {
- "in": "path",
- "name": "apiid",
- "required": true,
- "schema": {
- "type": "string"
- }
- }
- ],
- "operationId": "getmanagement",
- "description": "GET management",
- "responses": {
- "200": {
- "description": "json response"
- },
- "400": {
- "description": "Bad request"
- },
- "500": {
- "description": "generic error"
- }
- }
- }
- }
- },
- "components": {
- "schemas": {
- "StartOnboardingRequest": {
- "required": [
- "url_return",
- "id_appio"
- ],
- "type": "object",
- "properties": {
- "url_return": {
- "type": "string",
- "description": "URL used to return the result"
- },
- "id_appio": {
- "type": "string",
- "description": "user identifier"
- }
- }
- },
- "StartOnboardingResponseSuccess": {
- "required": [
- "esito",
- "url_to_call"
- ],
- "type": "object",
- "properties": {
- "esito": {
- "type": "string",
- "enum": [
- "1"
- ],
- "description": "URL used to return the result"
- },
- "url_to_call": {
- "type": "string",
- "description": "url to call to proceed with onboarding"
- }
- }
- },
- "StartOnboardingResponseError": {
- "required": [
- "esito",
- "err_code",
- "err_desc"
- ],
- "type": "object",
- "properties": {
- "esito": {
- "type": "string",
- "enum": [
- "3",
- "9"
- ],
- "description": "Api result"
- },
- "err_code": {
- "type": "string",
- "enum": [
- "9",
- "11",
- "13",
- "15",
- "19",
- "67"
- ]
- },
- "err_desc": {
- "type": "string"
- }
- }
- }
- },
- "securitySchemes": {
- "bearerAuth": {
- "type": "http",
- "scheme": "bearer",
- "bearerFormat": "string"
- }
- }
- }
-}
\ No newline at end of file
diff --git a/src/core/api_config.tf b/src/core/api_config.tf
deleted file mode 100644
index f328acdbd..000000000
--- a/src/core/api_config.tf
+++ /dev/null
@@ -1,59 +0,0 @@
-resource "azurerm_resource_group" "api_config_rg" {
- count = var.api_config_enabled ? 1 : 0
- name = format("%s-api-config-rg", local.project)
- location = var.location
-
- tags = var.tags
-}
-
-# Subnet to host the api config
-module "api_config_snet" {
- count = var.api_config_enabled && var.cidr_subnet_api_config != null ? 1 : 0
- source = "git::https://github.com/pagopa/azurerm.git//subnet?ref=v1.0.51"
- name = format("%s-api-config-snet", local.project)
- address_prefixes = var.cidr_subnet_api_config
- resource_group_name = azurerm_resource_group.rg_vnet.name
- virtual_network_name = module.vnet_integration.name
- enforce_private_link_endpoint_network_policies = true
-
- delegation = {
- name = "default"
- service_delegation = {
- name = "Microsoft.Web/serverFarms"
- actions = ["Microsoft.Network/virtualNetworks/subnets/action"]
- }
- }
-}
-
-module "api_config_app_service" {
- count = var.api_config_enabled ? 1 : 0
- source = "git::https://github.com/pagopa/azurerm.git//app_service?ref=v1.0.14"
-
- resource_group_name = azurerm_resource_group.api_config_rg[0].name
- location = var.location
-
- # App service plan vars
- plan_name = format("%s-plan-api-config", local.project)
- plan_kind = "Linux"
- plan_sku_tier = var.api_config_tier
- plan_sku_size = var.api_config_size
- plan_reserved = true # Mandatory for Linux plan
-
- # App service plan
- name = format("%s-app-api-config", local.project)
- client_cert_enabled = false
- always_on = var.api_config_always_on
- linux_fx_version = "java|11|Java SE|8"
- health_check_path = "/apiconfig/api/v1/info"
-
- app_settings = {
- }
-
- allowed_subnets = [module.apim_snet.id]
- allowed_ips = []
-
- subnet_name = module.api_config_snet[0].name
- subnet_id = module.api_config_snet[0].id
-
- tags = var.tags
-}
diff --git a/src/core/api_product/apiconfig_api/_base_policy.xml b/src/core/api_product/apiconfig_api/_base_policy.xml
deleted file mode 100644
index ce1df461e..000000000
--- a/src/core/api_product/apiconfig_api/_base_policy.xml
+++ /dev/null
@@ -1,26 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/src/core/api_product/mockec_api/_base_policy.xml b/src/core/api_product/mockec_api/_base_policy.xml
deleted file mode 100644
index ce1df461e..000000000
--- a/src/core/api_product/mockec_api/_base_policy.xml
+++ /dev/null
@@ -1,26 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/src/core/api_product/mockpsp_api/_base_policy.xml b/src/core/api_product/mockpsp_api/_base_policy.xml
deleted file mode 100644
index ce1df461e..000000000
--- a/src/core/api_product/mockpsp_api/_base_policy.xml
+++ /dev/null
@@ -1,26 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/src/core/apim_api_config.tf b/src/core/apim_api_config.tf
deleted file mode 100644
index fad9abb17..000000000
--- a/src/core/apim_api_config.tf
+++ /dev/null
@@ -1,51 +0,0 @@
-##############
-## Products ##
-##############
-
-module "apim_api_config_product" {
- count = var.api_config_enabled ? 1 : 0
- source = "git::https://github.com/pagopa/azurerm.git//api_management_product?ref=v1.0.16"
-
- product_id = "product-api-config"
- display_name = "product-api-config"
- description = "product-api-config"
-
- api_management_name = module.apim.name
- resource_group_name = azurerm_resource_group.rg_api.name
-
- published = true
- subscription_required = false
- approval_required = false
-
- policy_xml = file("./api_product/apiconfig_api/_base_policy.xml")
-}
-
-##############
-## API ##
-##############
-
-module "apim_api_config_api" {
- count = var.api_config_enabled ? 1 : 0
- source = "git::https://github.com/pagopa/azurerm.git//api_management_api?ref=v1.0.16"
-
- name = format("%s-api-config-api", var.env_short)
- api_management_name = module.apim.name
- resource_group_name = azurerm_resource_group.rg_api.name
- product_ids = [module.apim_api_config_product[0].product_id]
- subscription_required = true
-
- description = "api config api"
- display_name = "api config api"
- path = "apiconfig/api"
- protocols = ["https"]
-
- service_url = format("https://%s/apiconfig/api/v1", module.api_config_app_service[0].default_site_hostname)
-
- content_format = "openapi"
- content_value = templatefile("./api/apiconfig_api/v1/_openapi.json.tpl", {
- host = azurerm_api_management_custom_domain.api_custom_domain.proxy[0].host_name
- })
-
- xml_content = file("./api/apiconfig_api/v1/_base_policy.xml")
-}
-
diff --git a/src/core/apim_mock_ec.tf b/src/core/apim_mock_ec.tf
deleted file mode 100644
index d2f3d9d06..000000000
--- a/src/core/apim_mock_ec.tf
+++ /dev/null
@@ -1,45 +0,0 @@
-##############
-## Products ##
-##############
-
-module "apim_mock_ec_product" {
- count = var.mock_ec_enabled ? 1 : 0
- source = "git::https://github.com/pagopa/azurerm.git//api_management_product?ref=v1.0.16"
-
- product_id = "product-mock-ec"
- display_name = "product-mock-ec"
- description = "product-mock-ec"
-
- api_management_name = module.apim.name
- resource_group_name = azurerm_resource_group.rg_api.name
-
- published = true
- subscription_required = false
- approval_required = false
-
- policy_xml = file("./api_product/mockec_api/_base_policy.xml")
-}
-
-module "apim_mock_ec_api" {
- count = var.mock_ec_enabled ? 1 : 0
- source = "git::https://github.com/pagopa/azurerm.git//api_management_api?ref=v1.0.16"
-
- name = format("%s-mock-ec-api", var.env_short)
- api_management_name = module.apim.name
- resource_group_name = azurerm_resource_group.rg_api.name
- product_ids = [module.apim_mock_ec_product[0].product_id]
- subscription_required = false
-
- description = "mock ec api"
- display_name = "mock ec api"
- path = "mock-ec/api"
- protocols = ["https"]
-
- service_url = format("https://%s/mockEcService", module.mock_ec[0].default_site_hostname)
-
- content_value = templatefile("./api/mockec_api/v1/_swagger.json.tpl", {
- host = azurerm_api_management_custom_domain.api_custom_domain.proxy[0].host_name
- })
-
- xml_content = file("./api/mockec_api/v1/_base_policy.xml")
-}
diff --git a/src/core/apim_mock_psp.tf b/src/core/apim_mock_psp.tf
deleted file mode 100644
index bfbc01d8e..000000000
--- a/src/core/apim_mock_psp.tf
+++ /dev/null
@@ -1,80 +0,0 @@
-##############
-## Products ##
-##############
-
-module "apim_mock_psp_product" {
- count = var.mock_psp_enabled ? 1 : 0
- source = "git::https://github.com/pagopa/azurerm.git//api_management_product?ref=v1.0.16"
-
- product_id = "product-mock-psp"
- display_name = "product-mock-psp"
- description = "product-mock-psp"
-
- api_management_name = module.apim.name
- resource_group_name = azurerm_resource_group.rg_api.name
-
- published = true
- subscription_required = true
- approval_required = false
-
- policy_xml = file("./api_product/mockpsp_api/_base_policy.xml")
-}
-
-##############
-## API ##
-##############
-
-module "apim_mock_psp_api" {
- count = var.mock_psp_enabled ? 1 : 0
- source = "git::https://github.com/pagopa/azurerm.git//api_management_api?ref=v1.0.16"
-
- name = format("%s-mock-psp-api", var.env_short)
- api_management_name = module.apim.name
- resource_group_name = azurerm_resource_group.rg_api.name
- product_ids = [module.apim_mock_psp_product[0].product_id]
- subscription_required = false
-
- description = "mock psp api"
- display_name = "mock psp api"
- path = "mock-psp/api"
- protocols = ["https"]
-
- service_url = format("https://%s", module.mock_psp[0].default_site_hostname)
-
- content_format = "openapi"
- content_value = templatefile("./api/mockpsp_api/v1/_openapi.json.tpl", {
- host = azurerm_api_management_custom_domain.api_custom_domain.proxy[0].host_name
- })
-
- xml_content = file("./api/mockpsp_api/v1/_base_policy.xml")
-}
-
-
-##############
-## MNG API ##
-##############
-
-module "apim_mock_psp_mng_api" {
- count = var.mock_psp_enabled ? 1 : 0
- source = "git::https://github.com/pagopa/azurerm.git//api_management_api?ref=v1.0.16"
-
- name = format("%s-mock-psp-mng-api", var.env_short)
- api_management_name = module.apim.name
- resource_group_name = azurerm_resource_group.rg_api.name
- product_ids = [module.apim_mock_psp_product[0].product_id]
- subscription_required = true
-
- description = "mock psp mng api"
- display_name = "mock psp mng api"
- path = "mock-psp/mng-api"
- protocols = ["https"]
-
- service_url = format("https://%s", module.mock_psp[0].default_site_hostname)
-
- content_format = "openapi"
- content_value = templatefile("./api/mockpspmng_api/v1/_openapi.json.tpl", {
- host = azurerm_api_management_custom_domain.api_custom_domain.proxy[0].host_name
- })
-
- xml_content = file("./api/mockpspmng_api/v1/_base_policy.xml")
-}
diff --git a/src/core/azure_devops_agent.tf b/src/core/azure_devops_agent.tf
index 687d1c672..3ecdbedd2 100644
--- a/src/core/azure_devops_agent.tf
+++ b/src/core/azure_devops_agent.tf
@@ -39,9 +39,7 @@ resource "azurerm_key_vault_access_policy" "azdevops_iac_policy" {
tenant_id = data.azurerm_client_config.current.tenant_id
object_id = data.azuread_service_principal.iac_principal[0].object_id
- secret_permissions = ["Get", "List", "Set", ]
-
+ secret_permissions = ["Get", "List", "Set", ]
certificate_permissions = ["SetIssuers", "DeleteIssuers", "Purge", "List", "Get"]
-
- storage_permissions = []
+ storage_permissions = []
}
diff --git a/src/core/dns_public.tf b/src/core/dns_public.tf
index c20d6dd01..341a76b84 100644
--- a/src/core/dns_public.tf
+++ b/src/core/dns_public.tf
@@ -7,12 +7,13 @@ resource "azurerm_dns_zone" "public" {
}
# Prod ONLY record to DEV public DNS delegation
-resource "azurerm_dns_ns_record" "dev_pagopa_it_ns" {
+resource "azurerm_dns_ns_record" "dev_it_ns" {
count = var.env_short == "p" ? 1 : 0
name = "dev"
zone_name = azurerm_dns_zone.public[0].name
resource_group_name = azurerm_resource_group.rg_vnet.name
records = [
+ # todo delegation records after create DNS zone in DEV env
"ns1-08.azure-dns.com.",
"ns2-08.azure-dns.net.",
"ns3-08.azure-dns.org.",
@@ -23,12 +24,13 @@ resource "azurerm_dns_ns_record" "dev_pagopa_it_ns" {
}
# Prod ONLY record to UAT public DNS delegation
-resource "azurerm_dns_ns_record" "uat_pagopa_it_ns" {
+resource "azurerm_dns_ns_record" "uat_it_ns" {
count = var.env_short == "p" ? 1 : 0
name = "uat"
zone_name = azurerm_dns_zone.public[0].name
resource_group_name = azurerm_resource_group.rg_vnet.name
records = [
+ # todo delegation records after create DNS zone in UAT env
"ns1-07.azure-dns.com.",
"ns2-07.azure-dns.net.",
"ns3-07.azure-dns.org.",
diff --git a/src/core/env/dev/terraform.tfvars b/src/core/env/dev/terraform.tfvars
index 4d953ca78..63818ad0f 100644
--- a/src/core/env/dev/terraform.tfvars
+++ b/src/core/env/dev/terraform.tfvars
@@ -15,20 +15,15 @@ lock_enable = false
# main vnet
cidr_vnet = ["10.1.0.0/16"]
cidr_subnet_appgateway = ["10.1.128.0/24"]
-cidr_subnet_postgresql = ["10.1.129.0/24"]
cidr_subnet_azdoa = ["10.1.130.0/24"]
-# dev/uat only
-cidr_subnet_mock_ec = ["10.1.240.0/29"]
-cidr_subnet_mock_psp = ["10.1.240.8/29"]
# integration vnet
# https://www.davidc.net/sites/default/subnets/subnets.html?network=10.230.7.0&mask=24&division=7.31
-cidr_vnet_integration = ["10.230.7.0/24"] # ask to SIA
-cidr_subnet_apim = ["10.230.7.0/26"]
-cidr_subnet_api_config = ["10.230.7.128/29"]
+cidr_vnet_integration = ["10.230.7.0/24"] # ask to SIA
+cidr_subnet_apim = ["10.230.7.0/26"]
# dns
-external_domain = "pagopa.it" # FIXME da chiedere
+external_domain = "pagopa.it"
dns_zone_prefix = "dev.selfcare"
# azure devops
@@ -57,11 +52,3 @@ postgresql_network_rules = {
# dblink
allow_access_to_azure_services = false
}
-prostgresql_db_mockpsp = "mock-psp"
-
-# mock
-mock_ec_enabled = true
-mock_psp_enabled = true
-
-# api_config
-api_config_enabled = true
diff --git a/src/core/env/prod/terraform.tfvars b/src/core/env/prod/terraform.tfvars
index c200ac872..578b6594c 100644
--- a/src/core/env/prod/terraform.tfvars
+++ b/src/core/env/prod/terraform.tfvars
@@ -15,7 +15,6 @@ lock_enable = true
# main vnet
cidr_vnet = ["10.1.0.0/16"]
cidr_subnet_appgateway = ["10.1.128.0/24"]
-cidr_subnet_postgresql = ["10.1.129.0/24"]
cidr_subnet_azdoa = ["10.1.130.0/24"]
# prod only
cidr_subnet_redis = ["10.1.132.0/24"]
@@ -26,7 +25,7 @@ cidr_vnet_integration = ["10.230.7.0/24"] # todo ask to SIA
cidr_subnet_apim = ["10.230.7.0/26"]
# dns
-external_domain = "pagopa.it" # FIXME da chiedere
+external_domain = "pagopa.it"
dns_zone_prefix = "selfcare"
# azure devops
@@ -48,16 +47,3 @@ app_gateway_max_capacity = 2
# todo change to Premium before launch
# redis_sku_name = "Premium"
# redis_family = "P"
-
-# postgresql
-prostgresql_enabled = false
-postgresql_sku_name = "GP_Gen5_2" # todo change before launch
-postgresql_enable_replica = false
-postgresql_public_network_access_enabled = false
-
-# mock
-mock_ec_enabled = false
-mock_psp_enabled = false
-
-# api_config
-api_config_enabled = false
diff --git a/src/core/env/uat/terraform.tfvars b/src/core/env/uat/terraform.tfvars
index 6a5cc522b..c85789e36 100644
--- a/src/core/env/uat/terraform.tfvars
+++ b/src/core/env/uat/terraform.tfvars
@@ -15,11 +15,7 @@ lock_enable = true
# main vnet
cidr_vnet = ["10.1.0.0/16"]
cidr_subnet_appgateway = ["10.1.128.0/24"]
-cidr_subnet_postgresql = ["10.1.129.0/24"]
cidr_subnet_azdoa = ["10.1.130.0/24"]
-# dev/uat only
-cidr_subnet_mock_ec = ["10.1.240.0/29"]
-cidr_subnet_mock_psp = ["10.1.240.8/29"]
# integration vnet
# https://www.davidc.net/sites/default/subnets/subnets.html?network=10.230.7.0&mask=24&division=7.31
@@ -27,7 +23,7 @@ cidr_vnet_integration = ["10.230.7.0/24"] # todo ask to SIA
cidr_subnet_apim = ["10.230.7.0/26"]
# dns
-external_domain = "pagopa.it" # FIXME da chiedere
+external_domain = "pagopa.it"
dns_zone_prefix = "uat.selfcare"
# azure devops
@@ -43,24 +39,3 @@ apim_sku = "Developer_1"
app_gateway_api_certificate_name = "api-uat-selfcare-pagopa-it"
app_gateway_portal_certificate_name = "portal-uat-selfcare-pagopa-it"
app_gateway_management_certificate_name = "management-uat-selfcare-pagopa-it"
-
-# postgresql
-prostgresql_enabled = false
-postgresql_sku_name = "GP_Gen5_2" # todo fixme verify
-postgresql_enable_replica = false
-postgresql_public_network_access_enabled = true
-postgresql_network_rules = {
- ip_rules = [
- "0.0.0.0/0"
- ]
- # dblink
- allow_access_to_azure_services = false
-}
-prostgresql_db_mockpsp = "mock-psp"
-
-# mock
-mock_ec_enabled = true
-mock_psp_enabled = false
-
-# api_config
-api_config_enabled = false
diff --git a/src/core/mock_ec.tf b/src/core/mock_ec.tf
deleted file mode 100644
index 1f3f9c1fa..000000000
--- a/src/core/mock_ec.tf
+++ /dev/null
@@ -1,80 +0,0 @@
-resource "azurerm_resource_group" "mock_ec_rg" {
- count = var.mock_ec_enabled ? 1 : 0
- name = format("%s-mock-ec-rg", local.project)
- location = var.location
-
- tags = var.tags
-}
-
-# Subnet to host the mock ec
-module "mock_ec_snet" {
- count = var.mock_ec_enabled && var.cidr_subnet_mock_ec != null ? 1 : 0
- source = "git::https://github.com/pagopa/azurerm.git//subnet?ref=v1.0.51"
- name = format("%s-mock-ec-snet", local.project)
- address_prefixes = var.cidr_subnet_mock_ec
- resource_group_name = azurerm_resource_group.rg_vnet.name
- virtual_network_name = module.vnet.name
- enforce_private_link_endpoint_network_policies = true
-
- delegation = {
- name = "default"
- service_delegation = {
- name = "Microsoft.Web/serverFarms"
- actions = ["Microsoft.Network/virtualNetworks/subnets/action"]
- }
- }
-}
-
-module "mock_ec" {
- count = var.mock_ec_enabled ? 1 : 0
- source = "git::https://github.com/pagopa/azurerm.git//app_service?ref=v1.0.14"
-
- resource_group_name = azurerm_resource_group.mock_ec_rg[0].name
- location = var.location
-
- # App service plan vars
- plan_name = format("%s-plan-mock-ec", local.project)
- plan_kind = "Linux"
- plan_sku_tier = var.mock_ec_tier
- plan_sku_size = var.mock_ec_size
- plan_reserved = true # Mandatory for Linux plan
-
- # App service plan
- name = format("%s-app-mock-ec", local.project)
- client_cert_enabled = false
- always_on = var.mock_ec_always_on
- linux_fx_version = "NODE|12-lts"
- app_command_line = "node /home/site/wwwroot/dist/index.js"
- health_check_path = "/mockEcService/api/v1/info"
-
- app_settings = {
- WEBSITE_RUN_FROM_PACKAGE = "1"
- WEBSITE_NODE_DEFAULT_VERSION = "12.18.0"
- NODE_ENV = "production"
- PORT = "8080"
-
- # Monitoring
- APPINSIGHTS_INSTRUMENTATIONKEY = azurerm_application_insights.application_insights.instrumentation_key
- APPLICATIONINSIGHTS_CONNECTION_STRING = format("InstrumentationKey=%s", azurerm_application_insights.application_insights.instrumentation_key)
- APPINSIGHTS_PROFILERFEATURE_VERSION = "1.0.0"
- APPINSIGHTS_SNAPSHOTFEATURE_VERSION = "1.0.0"
- APPLICATIONINSIGHTS_CONFIGURATION_CONTENT = ""
- ApplicationInsightsAgent_EXTENSION_VERSION = "~3"
- DiagnosticServices_EXTENSION_VERSION = "~3"
- InstrumentationEngine_EXTENSION_VERSION = "disabled"
- SnapshotDebugger_EXTENSION_VERSION = "disabled"
- XDT_MicrosoftApplicationInsights_BaseExtensions = "disabled"
- XDT_MicrosoftApplicationInsights_Mode = "recommended"
- XDT_MicrosoftApplicationInsights_PreemptSdk = "disabled"
- WEBSITE_HEALTHCHECK_MAXPINGFAILURES = 10
- TIMEOUT_DELAY = 300
- }
-
- allowed_subnets = [module.apim_snet.id]
- allowed_ips = []
-
- subnet_name = module.mock_ec_snet[0].name
- subnet_id = module.mock_ec_snet[0].id
-
- tags = var.tags
-}
diff --git a/src/core/mock_psp.tf b/src/core/mock_psp.tf
deleted file mode 100644
index a2223b1ba..000000000
--- a/src/core/mock_psp.tf
+++ /dev/null
@@ -1,76 +0,0 @@
-resource "azurerm_resource_group" "mock_psp_rg" {
- count = var.mock_psp_enabled ? 1 : 0
- name = format("%s-mock-psp-rg", local.project)
- location = var.location
-
- tags = var.tags
-}
-
-# Subnet to host the mock psp
-module "mock_psp_snet" {
- count = var.mock_psp_enabled && var.cidr_subnet_mock_psp != null ? 1 : 0
- source = "git::https://github.com/pagopa/azurerm.git//subnet?ref=v1.0.51"
- name = format("%s-mock-psp-snet", local.project)
- address_prefixes = var.cidr_subnet_mock_psp
- resource_group_name = azurerm_resource_group.rg_vnet.name
- virtual_network_name = module.vnet.name
- enforce_private_link_endpoint_network_policies = true
-
- delegation = {
- name = "default"
- service_delegation = {
- name = "Microsoft.Web/serverFarms"
- actions = ["Microsoft.Network/virtualNetworks/subnets/action"]
- }
- }
-}
-
-module "mock_psp" {
- count = var.mock_psp_enabled ? 1 : 0
- source = "git::https://github.com/pagopa/azurerm.git//app_service?ref=v1.0.14"
-
- resource_group_name = azurerm_resource_group.mock_psp_rg[0].name
- location = var.location
-
- # App service plan vars
- plan_name = format("%s-plan-mock-psp", local.project)
- plan_kind = "Linux"
- plan_sku_tier = var.mock_psp_tier
- plan_sku_size = var.mock_psp_size
- plan_reserved = true # Mandatory for Linux plan
-
- # App service plan
- name = format("%s-app-mock-psp", local.project)
- client_cert_enabled = false
- always_on = var.mock_psp_always_on
- linux_fx_version = "JAVA|8-jre8"
- health_check_path = "/mockPspService/api/v1/info"
-
- app_settings = {
- SERVER_PUBLIC_URL = format("https://api.%s.%s/mock-psp/api", var.dns_zone_prefix, var.external_domain),
- PAGOPA_MOCK_PSP_DB_USERNAME = format("%s@%s", data.azurerm_key_vault_secret.db_mock_psp_user_login[0].value, module.postgresql[0].name),
- PAGOPA_MOCK_PSP_DB_PWD = data.azurerm_key_vault_secret.db_mock_psp_user_login_password[0].value,
- PAGOPA_MOCK_PSP_DB_URL = format("%s:5432/%s", module.postgresql[0].fqdn, var.prostgresql_db_mockpsp),
- AZURE_API_STATIC_RES = format("https://api.%s.%s/mock-psp/api/static/", var.dns_zone_prefix, var.external_domain)
- }
-
- allowed_subnets = [module.apim_snet.id]
- allowed_ips = []
-
- subnet_name = module.mock_psp_snet[0].name
- subnet_id = module.mock_psp_snet[0].id
-
- tags = var.tags
-}
-
-data "azurerm_key_vault_secret" "db_mock_psp_user_login" {
- count = var.mock_psp_enabled ? 1 : 0
- name = "db-mock-psp-user-login"
- key_vault_id = module.key_vault.id
-}
-
-data "azurerm_key_vault_secret" "db_mock_psp_user_login_password" {
- count = var.mock_psp_enabled ? 1 : 0
- name = "db-mock-psp-user-login-password"
- key_vault_id = module.key_vault.id
-}
diff --git a/src/core/postgresql.tf b/src/core/postgresql.tf
deleted file mode 100644
index 74336d869..000000000
--- a/src/core/postgresql.tf
+++ /dev/null
@@ -1,52 +0,0 @@
-module "postgresql_snet" {
- source = "git::https://github.com/pagopa/azurerm.git//subnet?ref=v1.0.7"
- name = format("%s-postgresql-snet", local.project)
- address_prefixes = var.cidr_subnet_postgresql
- resource_group_name = azurerm_resource_group.rg_vnet.name
- virtual_network_name = module.vnet.name
- service_endpoints = ["Microsoft.Sql"]
- enforce_private_link_endpoint_network_policies = true
-}
-
-data "azurerm_key_vault_secret" "db_administrator_login" {
- count = var.prostgresql_enabled ? 1 : 0
- name = "db-administrator-login"
- key_vault_id = module.key_vault.id
-}
-
-data "azurerm_key_vault_secret" "db_administrator_login_password" {
- count = var.prostgresql_enabled ? 1 : 0
- name = "db-administrator-login-password"
- key_vault_id = module.key_vault.id
-}
-
-#tfsec:ignore:azure-database-no-public-access
-module "postgresql" {
- count = var.prostgresql_enabled ? 1 : 0
- source = "git::https://github.com/pagopa/azurerm.git//postgresql_server?ref=v1.0.51"
-
- name = format("%s-postgresql", local.project)
- location = azurerm_resource_group.data.location
- resource_group_name = azurerm_resource_group.data.name
- virtual_network_id = module.vnet.id
- subnet_id = module.postgresql_snet.id
- administrator_login = data.azurerm_key_vault_secret.db_administrator_login[0].value
- administrator_login_password = data.azurerm_key_vault_secret.db_administrator_login_password[0].value
- sku_name = var.postgresql_sku_name
- storage_mb = var.postgresql_storage_mb
- db_version = 11
- geo_redundant_backup_enabled = var.postgresql_geo_redundant_backup_enabled
- enable_replica = var.postgresql_enable_replica
- ssl_minimal_tls_version_enforced = "TLS1_2"
- public_network_access_enabled = var.postgresql_public_network_access_enabled
- lock_enable = var.lock_enable
-
- network_rules = var.postgresql_network_rules
-
- configuration = var.postgresql_configuration
-
- alerts_enabled = var.postgresql_alerts_enabled
-
- tags = var.tags
-}
-
diff --git a/src/core/security.tf b/src/core/security.tf
index 919fbbdc2..23449c14c 100644
--- a/src/core/security.tf
+++ b/src/core/security.tf
@@ -51,13 +51,10 @@ resource "azurerm_key_vault_access_policy" "ad_group_policy" {
tenant_id = data.azurerm_client_config.current.tenant_id
object_id = data.azuread_group.adgroup_admin.object_id
- key_permissions = ["Get", "List", "Update", "Create", "Import", "Delete", ]
- secret_permissions = ["Get", "List", "Set", "Delete", ]
- storage_permissions = []
- certificate_permissions = [
- "Get", "List", "Update", "Create", "Import",
- "Delete", "Restore", "Purge", "Recover"
- ]
+ key_permissions = ["Get", "List", "Update", "Create", "Import", "Delete", ]
+ secret_permissions = ["Get", "List", "Set", "Delete", ]
+ storage_permissions = []
+ certificate_permissions = ["Get", "List", "Update", "Create", "Import", "Delete", "Restore", "Purge", "Recover", ]
}
data "azuread_group" "adgroup_developers" {
@@ -73,13 +70,10 @@ resource "azurerm_key_vault_access_policy" "adgroup_developers_policy" {
tenant_id = data.azurerm_client_config.current.tenant_id
object_id = data.azuread_group.adgroup_developers.object_id
- key_permissions = ["Get", "List", "Update", "Create", "Import", "Delete", ]
- secret_permissions = ["Get", "List", "Set", "Delete", ]
- storage_permissions = []
- certificate_permissions = [
- "Get", "List", "Update", "Create", "Import",
- "Delete", "Restore", "Purge", "Recover"
- ]
+ key_permissions = ["Get", "List", "Update", "Create", "Import", "Delete", ]
+ secret_permissions = ["Get", "List", "Set", "Delete", ]
+ storage_permissions = []
+ certificate_permissions = ["Get", "List", "Update", "Create", "Import", "Delete", "Restore", "Purge", "Recover", ]
}
data "azuread_group" "adgroup_externals" {
@@ -95,13 +89,10 @@ resource "azurerm_key_vault_access_policy" "adgroup_externals_policy" {
tenant_id = data.azurerm_client_config.current.tenant_id
object_id = data.azuread_group.adgroup_externals.object_id
- key_permissions = ["Get", "List", "Update", "Create", "Import", "Delete", ]
- secret_permissions = ["Get", "List", "Set", "Delete", ]
- storage_permissions = []
- certificate_permissions = [
- "Get", "List", "Update", "Create", "Import",
- "Delete", "Restore", "Purge", "Recover"
- ]
+ key_permissions = ["Get", "List", "Update", "Create", "Import", "Delete", ]
+ secret_permissions = ["Get", "List", "Set", "Delete", ]
+ storage_permissions = []
+ certificate_permissions = ["Get", "List", "Update", "Create", "Import", "Delete", "Restore", "Purge", "Recover", ]
}
data "azuread_group" "adgroup_security" {
@@ -117,13 +108,10 @@ resource "azurerm_key_vault_access_policy" "adgroup_security_policy" {
tenant_id = data.azurerm_client_config.current.tenant_id
object_id = data.azuread_group.adgroup_security.object_id
- key_permissions = ["Get", "List", "Update", "Create", "Import", "Delete", ]
- secret_permissions = ["Get", "List", "Set", "Delete", ]
- storage_permissions = []
- certificate_permissions = [
- "Get", "List", "Update", "Create", "Import",
- "Delete", "Restore", "Purge", "Recover"
- ]
+ key_permissions = ["Get", "List", "Update", "Create", "Import", "Delete", ]
+ secret_permissions = ["Get", "List", "Set", "Delete", ]
+ storage_permissions = []
+ certificate_permissions = ["Get", "List", "Update", "Create", "Import", "Delete", "Restore", "Purge", "Recover", ]
}
## azure devops ##
diff --git a/src/core/variables.tf b/src/core/variables.tf
index ff1ad5ed8..a1599d743 100644
--- a/src/core/variables.tf
+++ b/src/core/variables.tf
@@ -1,15 +1,29 @@
-variable "location" {
- type = string
- default = "westeurope"
-}
+# general
variable "prefix" {
type = string
- default = "pagopa"
+ default = "selc"
+ validation {
+ condition = (
+ length(var.prefix) <= 6
+ )
+ error_message = "Max length is 6 chars."
+ }
}
variable "env_short" {
type = string
+ validation {
+ condition = (
+ length(var.env_short) <= 1
+ )
+ error_message = "Max length is 1 chars."
+ }
+}
+
+variable "location" {
+ type = string
+ default = "westeurope"
}
variable "lock_enable" {
@@ -51,70 +65,6 @@ variable "law_daily_quota_gb" {
default = -1
}
-# mock_ec
-
-variable "mock_ec_enabled" {
- type = bool
- description = "Mock EC enabled"
- default = false
-}
-
-variable "mock_ec_always_on" {
- type = bool
- description = "Mock EC always on property"
- default = false
-}
-
-variable "mock_ec_tier" {
- type = string
- description = "Mock EC Plan tier"
- default = "Standard"
-}
-
-variable "mock_ec_size" {
- type = string
- description = "Mock EC Plan size"
- default = "S1"
-}
-
-variable "cidr_subnet_mock_ec" {
- type = list(string)
- description = "Address prefixes subnet mock ec"
- default = null
-}
-
-# mock_ec
-
-variable "mock_psp_enabled" {
- type = bool
- description = "Mock PSP enabled"
- default = false
-}
-
-variable "mock_psp_always_on" {
- type = bool
- description = "Mock PSP always on property"
- default = false
-}
-
-variable "mock_psp_tier" {
- type = string
- description = "Mock PSP Plan tier"
- default = "Standard"
-}
-
-variable "mock_psp_size" {
- type = string
- description = "Mock PSP Plan size"
- default = "S1"
-}
-
-variable "cidr_subnet_mock_psp" {
- type = list(string)
- description = "Address prefixes subnet mock psp"
- default = null
-}
-
# api_config
variable "api_config_enabled" {
@@ -129,24 +79,6 @@ variable "cidr_subnet_api_config" {
default = null
}
-variable "api_config_tier" {
- type = string
- description = "Api config Plan tier"
- default = "Standard"
-}
-
-variable "api_config_size" {
- type = string
- description = "Api Config Plan size"
- default = "S1"
-}
-
-variable "api_config_always_on" {
- type = bool
- description = "Api Config always on property"
- default = false
-}
-
# Network
variable "cidr_vnet" {
type = list(string)