Errors from APIM creator tool

Ali Shemirani 1 Reputation point
2022-10-05T20:42:07.39+00:00

We are using creator tools to generate ARM templates from a given swagger.json file. the swagger file is already validated using OpenAPI specification and successfully goes through creator tool with no error. Now having ARM template files and passing it through CI/CD pipeline recommended by Microsoft we are getting different errors and we have to manually change ARM template files to skip the issues (the expectation is that when ARM templates are successfully generated by creator tools it should execute with no problem)

Here is the content of creator.yml and swagger json file

creator.yml

--------------------------------------

version: 0.0.1  
apimServiceName: apim-common-dev-01  
apis:  
    - name: loan-details1  
      type: http  
      serviceUrl: https://devpoc-api.cudirect.com  
      openApiSpec: .\openapi.json  
      suffix: loaddetails1  
      subscriptionRequired: true  
      isCurrent: true  
      products: LoanDetails_Product1  
products:  
    - displayName: LoanDetails_Product1  
      description: Loan Details   
      subscriptionRequired: true  
      approvalRequired: true  
      subscriptionsLimit: 1  
      state: notPublished  
backends:  
    - title: myBackend  
      description:   
      url: https://dev-connect.cudl.com/LoanDetailsAPI  
      protocol: http  
      tls:  
        validateCertificateChain: false  
        validateCertificateName: false  
outputLocation: C:\temp\creator  
linked: false  
linkedTemplatesBaseUrl : https://mystorageaccount.blob.core.windows.net/mycontainer  

openapi.json

------------------------------------

{  
  "openapi": "3.0.1",  
  "info": {  
    "title": "Loan Details",  
    "version": "1"  
  },  
  "servers": [  
    {  
      "url": "https://dev-connect.cudl.com/LoanDetailsAPI"  
    }  
  ],  
  "paths": {  
    "/v1/applications/{applicationId}/applicants": {  
      "get": {  
        "tags": [  
          "Application"  
        ],  
        "description": "<b>SSO Permission Required</b>: Applicants - View",  
        "parameters": [  
          {  
            "name": "CUDC.Lender",  
            "in": "header",  
            "schema": {  
              "type": "string"  
            }  
          },  
          {  
            "name": "applicationId",  
            "in": "path",  
            "required": true,  
            "schema": {  
              "type": "integer",  
              "format": "int32"  
            }  
          }  
        ],  
        "responses": {  
          "200": {  
            "description": "Success",  
            "content": {  
              "application/json": {  
                "schema": {  
                  "$ref": "#/components/schemas/ApplicantsResponse"  
                }  
              },  
              "text/json": {  
                "schema": {  
                  "$ref": "#/components/schemas/ApplicantsResponse"  
                }  
              },  
              "application/xml": {  
                "schema": {  
                  "$ref": "#/components/schemas/ApplicantsResponse"  
                }  
              },  
              "text/xml": {  
                "schema": {  
                  "$ref": "#/components/schemas/ApplicantsResponse"  
                }  
              }  
            }  
          },  
          "404": {  
            "description": "Not Found"  
          }  
        }  
      }  
    },  
    "/v1/applications/{applicationId}/basic": {  
      "get": {  
        "tags": [  
          "Application"  
        ],  
        "description": "<b>SSO Permission Required</b>: Application-Basic - View",  
        "parameters": [  
          {  
            "name": "CUDC.Lender",  
            "in": "header",  
            "schema": {  
              "type": "string"  
            }  
          },  
          {  
            "name": "applicationId",  
            "in": "path",  
            "required": true,  
            "schema": {  
              "type": "integer",  
              "format": "int32"  
            }  
          }  
        ],  
        "responses": {  
          "200": {  
            "description": "Success",  
            "content": {  
              "application/json": {  
                "schema": {  
                  "$ref": "#/components/schemas/ApplicationBasic"  
                }  
              },  
              "text/json": {  
                "schema": {  
                  "$ref": "#/components/schemas/ApplicationBasic"  
                }  
              },  
              "application/xml": {  
                "schema": {  
                  "$ref": "#/components/schemas/ApplicationBasic"  
                }  
              },  
              "text/xml": {  
                "schema": {  
                  "$ref": "#/components/schemas/ApplicationBasic"  
                }  
              }  
            }  
          },  
          "404": {  
            "description": "Not Found"  
          }  
        }  
      }  
    },  
    "/v1/applications/{applicationId}/decisions": {  
      "get": {  
        "tags": [  
          "Application"  
        ],  
        "description": "<b>SSO Permission Required</b>: Decisions - View",  
        "parameters": [  
          {  
            "name": "CUDC.Lender",  
            "in": "header",  
            "schema": {  
              "type": "string"  
            }  
          },  
          {  
            "name": "applicationId",  
            "in": "path",  
            "required": true,  
            "schema": {  
              "type": "integer",  
              "format": "int32"  
            }  
          }  
        ],  
        "responses": {  
          "200": {  
            "description": "Success",  
            "content": {  
              "application/json": {  
                "schema": {  
                  "type": "array",  
                  "items": {  
                    "$ref": "#/components/schemas/Decision"  
                  }  
                }  
              },  
              "text/json": {  
                "schema": {  
                  "type": "array",  
                  "items": {  
                    "$ref": "#/components/schemas/Decision"  
                  }  
                }  
              },  
              "application/xml": {  
                "schema": {  
                  "type": "array",  
                  "items": {  
                    "$ref": "#/components/schemas/Decision"  
                  }  
                }  
              },  
              "text/xml": {  
                "schema": {  
                  "type": "array",  
                  "items": {  
                    "$ref": "#/components/schemas/Decision"  
                  }  
                }  
              }  
            }  
          },  
          "404": {  
            "description": "Not Found"  
          }  
        }  
      }  
    },  
    "/v1/applications/{applicationId}/decisions/current": {  
      "get": {  
        "tags": [  
          "Application"  
        ],  
        "description": "<b>SSO Permission Required</b>: Decisions - View",  
        "parameters": [  
          {  
            "name": "CUDC.Lender",  
            "in": "header",  
            "schema": {  
              "type": "string"  
            }  
          },  
          {  
            "name": "applicationId",  
            "in": "path",  
            "required": true,  
            "schema": {  
              "type": "integer",  
              "format": "int32"  
            }  
          }  
        ],  
        "responses": {  
          "200": {  
            "description": "Success",  
            "content": {  
              "application/json": {  
                "schema": {  
                  "$ref": "#/components/schemas/Decision"  
                }  
              },  
              "text/json": {  
                "schema": {  
                  "$ref": "#/components/schemas/Decision"  
                }  
              },  
              "application/xml": {  
                "schema": {  
                  "$ref": "#/components/schemas/Decision"  
                }  
              },  
              "text/xml": {  
                "schema": {  
                  "$ref": "#/components/schemas/Decision"  
                }  
              }  
            }  
          },  
          "404": {  
            "description": "Not Found"  
          }  
        }  
      }  
    },  
    "/v1/applications/{applicationId}/decisions/{decisionId}": {  
      "get": {  
        "tags": [  
          "Application"  
        ],  
        "description": "<b>SSO Permission Required</b>: Decisions - View",  
        "parameters": [  
          {  
            "name": "CUDC.Lender",  
            "in": "header",  
            "schema": {  
              "type": "string"  
            }  
          },  
          {  
            "name": "applicationId",  
            "in": "path",  
            "required": true,  
            "schema": {  
              "type": "integer",  
              "format": "int32"  
            }  
          },  
          {  
            "name": "decisionId",  
            "in": "path",  
            "required": true,  
            "schema": {  
              "type": "integer",  
              "format": "int32"  
            }  
          }  
        ],  
        "responses": {  
          "200": {  
            "description": "Success",  
            "content": {  
              "application/json": {  
                "schema": {  
                  "$ref": "#/components/schemas/Decision"  
                }  
              },  
              "text/json": {  
                "schema": {  
                  "$ref": "#/components/schemas/Decision"  
                }  
              },  
              "application/xml": {  
                "schema": {  
                  "$ref": "#/components/schemas/Decision"  
                }  
              },  
              "text/xml": {  
                "schema": {  
                  "$ref": "#/components/schemas/Decision"  
                }  
              }  
            }  
          },  
          "404": {  
            "description": "Not Found"  
          }  
        }  
      }  
    },  
    "/v1/applications/{applicationId}/decisions/{decisionId}/stipulations/{stipulationId}": {  
      "get": {  
        "tags": [  
          "Application"  
        ],  
        "description": "<b>SSO Permission Required</b>: Decisions - View",  
        "parameters": [  
          {  
            "name": "CUDC.Lender",  
            "in": "header",  
            "schema": {  
              "type": "string"  
            }  
          },  
          {  
            "name": "applicationId",  
            "in": "path",  
            "required": true,  
            "schema": {  
              "type": "integer",  
              "format": "int32"  
            }  
          },  
          {  
            "name": "decisionId",  
            "in": "path",  
            "required": true,  
            "schema": {  
              "type": "integer",  
              "format": "int32"  
            }  
          },  
          {  
            "name": "stipulationId",  
            "in": "path",  
            "required": true,  
            "schema": {  
              "type": "integer",  
              "format": "int32"  
            }  
          }  
        ],  
        "responses": {  
          "200": {  
            "description": "Success",  
            "content": {  
              "application/json": {  
                "schema": {  
                  "$ref": "#/components/schemas/DecisionStipulation"  
                }  
              },  
              "text/json": {  
                "schema": {  
                  "$ref": "#/components/schemas/DecisionStipulation"  
                }  
              },  
              "application/xml": {  
                "schema": {  
                  "$ref": "#/components/schemas/DecisionStipulation"  
                }  
              },  
              "text/xml": {  
                "schema": {  
                  "$ref": "#/components/schemas/DecisionStipulation"  
                }  
              }  
            }  
          },  
          "404": {  
            "description": "Not Found"  
          }  
        }  
      }  
    },  
    "/v1/applications/{applicationId}/funding/current": {  
      "get": {  
        "tags": [  
          "Application"  
        ],  
        "description": "<b>SSO Permission Required</b>: Funding - View",  
        "parameters": [  
          {  
            "name": "CUDC.Lender",  
            "in": "header",  
            "schema": {  
              "type": "string"  
            }  
          },  
          {  
            "name": "applicationId",  
            "in": "path",  
            "required": true,  
            "schema": {  
              "type": "integer",  
              "format": "int32"  
            }  
          }  
        ],  
        "responses": {  
          "200": {  
            "description": "Success",  
            "content": {  
              "application/json": {  
                "schema": {  
                  "$ref": "#/components/schemas/Funding"  
                }  
              },  
              "text/json": {  
                "schema": {  
                  "$ref": "#/components/schemas/Funding"  
                }  
              },  
              "application/xml": {  
                "schema": {  
                  "$ref": "#/components/schemas/Funding"  
                }  
              },  
              "text/xml": {  
                "schema": {  
                  "$ref": "#/components/schemas/Funding"  
                }  
              }  
            }  
          },  
          "404": {  
            "description": "Not Found"  
          }  
        }  
      }  
    }  
  },  
  "components": {  
    "schemas": {  
      "Address": {  
        "type": "object",  
        "properties": {  
          "id": {  
            "type": "integer",  
            "format": "int32"  
          },  
          "type": {  
            "type": "string",  
            "nullable": true  
          },  
          "addressLine1": {  
            "type": "string",  
            "nullable": true  
          },  
          "addressLine2": {  
            "type": "string",  
            "nullable": true  
          },  
          "city": {  
            "type": "string",  
            "nullable": true  
          },  
          "state": {  
            "type": "string",  
            "nullable": true  
          },  
          "internationalStateProvince": {  
            "type": "string",  
            "nullable": true  
          },  
          "zip": {  
            "type": "string",  
            "nullable": true  
          },  
          "country": {  
            "type": "string",  
            "nullable": true  
          }  
        },  
        "additionalProperties": false  
      },  
      "Applicant": {  
        "type": "object",  
        "properties": {  
          "id": {  
            "type": "integer",  
            "format": "int32"  
          },  
          "type": {  
            "type": "string",  
            "nullable": true  
          },  
          "firstName": {  
            "type": "string",  
            "nullable": true  
          },  
          "middleName": {  
            "type": "string",  
            "nullable": true  
          },  
          "lastName": {  
            "type": "string",  
            "nullable": true  
          },  
          "suffix": {  
            "type": "string",  
            "nullable": true  
          },  
          "tin": {  
            "type": "string",  
            "nullable": true  
          },  
          "emailAddresses": {  
            "type": "array",  
            "items": {  
              "$ref": "#/components/schemas/Email"  
            },  
            "nullable": true  
          },  
          "addresses": {  
            "type": "array",  
            "items": {  
              "$ref": "#/components/schemas/Address"  
            },  
            "nullable": true  
          },  
          "phoneNumbers": {  
            "type": "array",  
            "items": {  
              "$ref": "#/components/schemas/PhoneNumber"  
            },  
            "nullable": true  
          }  
        },  
        "additionalProperties": false  
      },  
      "ApplicantBasic": {  
        "type": "object",  
        "properties": {  
          "id": {  
            "type": "integer",  
            "format": "int32"  
          },  
          "type": {  
            "type": "string",  
            "nullable": true  
          },  
          "firstName": {  
            "type": "string",  
            "nullable": true  
          },  
          "middleName": {  
            "type": "string",  
            "nullable": true  
          },  
          "lastName": {  
            "type": "string",  
            "nullable": true  
          },  
          "suffix": {  
            "type": "string",  
            "nullable": true  
          }  
        },  
        "additionalProperties": false  
      },  
      "ApplicantsResponse": {  
        "type": "object",  
        "properties": {  
          "applicationId": {  
            "type": "integer",  
            "format": "int32"  
          },  
          "applicants": {  
            "type": "array",  
            "items": {  
              "$ref": "#/components/schemas/Applicant"  
            },  
            "nullable": true  
          }  
        },  
        "additionalProperties": false  
      },  
      "ApplicationBasic": {  
        "type": "object",  
        "properties": {  
          "id": {  
            "type": "integer",  
            "format": "int32"  
          },  
          "decisionId": {  
            "type": "integer",  
            "format": "int32",  
            "nullable": true  
          },  
          "fundingId": {  
            "type": "integer",  
            "format": "int32",  
            "nullable": true  
          },  
          "status": {  
            "type": "string",  
            "nullable": true  
          },  
          "stage": {  
            "type": "string",  
            "nullable": true  
          },  
          "queueName": {  
            "type": "string",  
            "nullable": true  
          },  
          "productType": {  
            "type": "string",  
            "nullable": true  
          },  
          "transactionType": {  
            "type": "string",  
            "nullable": true  
          },  
          "loanPurpose": {  
            "type": "string",  
            "nullable": true  
          },  
          "submittedBy": {  
            "type": "string",  
            "nullable": true  
          },  
          "applicants": {  
            "type": "array",  
            "items": {  
              "$ref": "#/components/schemas/ApplicantBasic"  
            },  
            "nullable": true  
          },  
          "collaterals": {  
            "type": "array",  
            "items": {  
              "$ref": "#/components/schemas/CollateralVehicle"  
            },  
            "nullable": true  
          }  
        },  
        "additionalProperties": false  
      },  
      "CollateralVehicle": {  
        "type": "object",  
        "properties": {  
          "id": {  
            "type": "integer",  
            "format": "int32"  
          },  
          "type": {  
            "type": "string",  
            "nullable": true  
          },  
          "make": {  
            "type": "string",  
            "nullable": true  
          },  
          "model": {  
            "type": "string",  
            "nullable": true  
          },  
          "year": {  
            "type": "string",  
            "nullable": true  
          },  
          "purchasePrice": {  
            "type": "number",  
            "format": "double",  
            "nullable": true  
          },  
          "valuationType": {  
            "type": "string",  
            "nullable": true  
          },  
          "valuationAmount": {  
            "type": "number",  
            "format": "double",  
            "nullable": true  
          }  
        },  
        "additionalProperties": false  
      },  
      "Decision": {  
        "type": "object",  
        "properties": {  
          "id": {  
            "type": "integer",  
            "format": "int32"  
          },  
          "applicationId": {  
            "type": "integer",  
            "format": "int32"  
          },  
          "decisionDate": {  
            "type": "string",  
            "format": "date-time"  
          },  
          "amount": {  
            "type": "number",  
            "format": "double",  
            "nullable": true  
          },  
          "rate": {  
            "type": "number",  
            "format": "double",  
            "nullable": true  
          },  
          "termMonths": {  
            "type": "integer",  
            "format": "int32",  
            "nullable": true  
          },  
          "tier": {  
            "type": "string",  
            "nullable": true  
          },  
          "policy": {  
            "type": "string",  
            "nullable": true  
          },  
          "queueName": {  
            "type": "string",  
            "nullable": true  
          },  
          "status": {  
            "type": "string",  
            "nullable": true  
          },  
          "decisionedBy": {  
            "type": "string",  
            "nullable": true  
          },  
          "reasons": {  
            "type": "array",  
            "items": {  
              "$ref": "#/components/schemas/DecisionReason"  
            },  
            "nullable": true  
          },  
          "stipulations": {  
            "type": "array",  
            "items": {  
              "$ref": "#/components/schemas/DecisionStipulation"  
            },  
            "nullable": true  
          }  
        },  
        "additionalProperties": false  
      },  
      "DecisionReason": {  
        "type": "object",  
        "properties": {  
          "id": {  
            "type": "integer",  
            "format": "int32",  
            "nullable": true  
          },  
          "decisionId": {  
            "type": "integer",  
            "format": "int32"  
          },  
          "description": {  
            "type": "string",  
            "nullable": true  
          },  
          "code": {  
            "type": "string",  
            "nullable": true  
          },  
          "isCounterJustification": {  
            "type": "boolean"  
          }  
        },  
        "additionalProperties": false  
      },  
      "DecisionStipulation": {  
        "type": "object",  
        "properties": {  
          "id": {  
            "type": "integer",  
            "format": "int32"  
          },  
          "applicationId": {  
            "type": "integer",  
            "format": "int32"  
          },  
          "decisionId": {  
            "type": "integer",  
            "format": "int32"  
          },  
          "description": {  
            "type": "string",  
            "nullable": true  
          },  
          "isCompleted": {  
            "type": "boolean"  
          },  
          "completedOn": {  
            "type": "string",  
            "format": "date-time",  
            "nullable": true  
          },  
          "isWaived": {  
            "type": "boolean"  
          }  
        },  
        "additionalProperties": false  
      },  
      "Email": {  
        "type": "object",  
        "properties": {  
          "type": {  
            "type": "string",  
            "nullable": true  
          },  
          "emailAddress": {  
            "type": "string",  
            "nullable": true  
          }  
        },  
        "additionalProperties": false  
      },  
      "Funding": {  
        "type": "object",  
        "properties": {  
          "id": {  
            "type": "integer",  
            "format": "int32"  
          },  
          "applicationId": {  
            "type": "integer",  
            "format": "int32"  
          },  
          "sellerCode": {  
            "type": "string",  
            "nullable": true  
          },  
          "loanAmount": {  
            "type": "number",  
            "format": "double",  
            "nullable": true  
          },  
          "netLoanAmount": {  
            "type": "number",  
            "format": "double",  
            "nullable": true  
          },  
          "sellerAdminFee": {  
            "type": "number",  
            "format": "double",  
            "nullable": true  
          },  
          "netSellerAdminFee": {  
            "type": "number",  
            "format": "double",  
            "nullable": true  
          },  
          "totalProceeds": {  
            "type": "number",  
            "format": "double",  
            "nullable": true  
          },  
          "vin": {  
            "type": "string",  
            "nullable": true  
          },  
          "method": {  
            "type": "string",  
            "nullable": true  
          },  
          "tier": {  
            "type": "string",  
            "nullable": true  
          },  
          "rate": {  
            "type": "number",  
            "format": "double",  
            "nullable": true  
          },  
          "termMonths": {  
            "type": "integer",  
            "format": "int32",  
            "nullable": true  
          },  
          "fundedDate": {  
            "type": "string",  
            "format": "date-time"  
          },  
          "fundedBy": {  
            "type": "string",  
            "nullable": true  
          }  
        },  
        "additionalProperties": false  
      },  
      "PhoneNumber": {  
        "type": "object",  
        "properties": {  
          "type": {  
            "type": "string",  
            "nullable": true  
          },  
          "number": {  
            "type": "string",  
            "nullable": true  
          },  
          "extension": {  
            "type": "string",  
            "nullable": true  
          }  
        },  
        "additionalProperties": false  
      }  
    },  
    "securitySchemes": {  
      "Basic": {  
        "type": "http",  
        "description": "",  
        "scheme": "Basic"  
      }  
    }  
  },  
  "security": [  
    {  
      "Basic": []  
    }  
  ]  
}  
  

-------------------------------------------

Azure API Management
Azure API Management
An Azure service that provides a hybrid, multi-cloud management platform for APIs.
2,447 questions
{count} votes

1 answer

Sort by: Most helpful
  1. Ali Shemirani 1 Reputation point
    2022-10-07T05:07:40.027+00:00

    Here are a few screenshot from the error I get. so after ARM template generation and running "apim-common-dev-01-parameters.json" through the pipeline I get error in screenshot "Error1.png" and it complains a required "type" property is missing in the generated file so I have to edit the file and replace it with "type": "string" so it doesn't complain

    The error message I receive in Error2.png is when I fixed above and run "loan-details1.api.template.json" file through the pipeline and I get the error that the parameter is missing, so I had to add another override and have the same value passed in the pipeline.

    With these changes I could get the pipeline to work but that is not expected.

    Can you please tell how you ran the pipeline that you do not encounter these issues?248347-arm1.png

    248402-arm.png248384-error1.png248220-error2.png


Your answer

Answers can be marked as Accepted Answers by the question author, which helps users to know the answer solved the author's problem.