{
  "name": "Config Properties Deprecated",
  "description": "",
  "version": "4.7.3",
  "vendor": "Mulesoft",
  "minMuleVersion": "4.1.1",
  "supportedJavaVersions": [
    "1.8",
    "11",
    "17"
  ],
  "category": "COMMUNITY",
  "xmlDsl": {
    "prefix": "config-properties-deprecated",
    "namespace": "http://www.mulesoft.org/schema/mule/config-properties-deprecated",
    "schemaLocation": "http://www.mulesoft.org/schema/mule/config-properties-deprecated/current/mule-config-properties-deprecated.xsd",
    "schemaVersion": "4.7.3",
    "xsdFileName": "mule-config-properties-deprecated.xsd"
  },
  "resources": [
    "META-INF/services/org.mule.runtime.config.api.dsl.model.properties.ConfigurationPropertiesProviderFactory"
  ],
  "subTypes": [],
  "privilegedPackages": [],
  "privilegedArtifacts": [],
  "externalLibraries": [],
  "importedTypes": [],
  "configurations": [
    {
      "stereotype": {
        "type": "CONFIG",
        "namespace": "CONFIG-PROPERTIES-DEPRECATED",
        "parent": {
          "type": "MODULE_CONFIG",
          "namespace": "MULE"
        }
      },
      "parameterGroupModels": [
        {
          "parameters": [
            {
              "type": {
                "format": "java",
                "type": "String"
              },
              "hasDynamicType": false,
              "required": true,
              "isConfigOverride": false,
              "isComponentId": true,
              "fieldValueProviderModels": [],
              "expressionSupport": "NOT_SUPPORTED",
              "role": "BEHAVIOUR",
              "dslConfiguration": {
                "allowsInlineDefinition": false,
                "allowsReferences": false,
                "allowTopLevelDefinition": false
              },
              "layoutModel": {
                "password": false,
                "text": false,
                "query": false,
                "order": 2
              },
              "allowedStereotypeModels": [],
              "semanticTerms": [],
              "name": "name",
              "description": "The identifier of this element used to reference it in other components",
              "modelProperties": {}
            },
            {
              "type": {
                "format": "java",
                "type": "Object",
                "annotations": {
                  "typeId": "org.mule.runtime.extension.api.runtime.ExpirationPolicy",
                  "classInformation": {
                    "classname": "org.mule.runtime.extension.api.runtime.ExpirationPolicy",
                    "hasDefaultConstructor": false,
                    "isInterface": true,
                    "isInstantiable": false,
                    "isAbstract": true,
                    "isFinal": false,
                    "implementedInterfaces": [],
                    "parent": "",
                    "genericTypes": [],
                    "isMap": false
                  },
                  "infrastructureType": {},
                  "description": {
                    "value": "Configures the minimum amount of time that a dynamic configuration instance can remain idle before the runtime considers it eligible for expiration. This does not mean that the platform will expire the instance at the exact moment that it becomes eligible. The runtime will actually purge the instances when it sees it fit."
                  },
                  "typeDsl": {
                    "allowInlineDefinition": true,
                    "allowTopLevelDefinition": false
                  }
                },
                "fields": [
                  {
                    "key": {
                      "name": "maxIdleTime"
                    },
                    "model": {
                      "type": "Number",
                      "annotations": {
                        "int": {},
                        "classInformation": {
                          "classname": "java.lang.Long",
                          "hasDefaultConstructor": false,
                          "isInterface": false,
                          "isInstantiable": false,
                          "isAbstract": false,
                          "isFinal": true,
                          "implementedInterfaces": [],
                          "parent": "java.lang.Number",
                          "genericTypes": [],
                          "isMap": false
                        },
                        "default": "5"
                      }
                    },
                    "annotations": {
                      "description": {
                        "value": "A scalar time value for the maximum amount of time a dynamic configuration instance should be allowed to be idle before it\u0027s considered eligible for expiration"
                      },
                      "expressionSupport": {
                        "value": "NOT_SUPPORTED"
                      }
                    }
                  },
                  {
                    "key": {
                      "name": "timeUnit"
                    },
                    "model": {
                      "type": "String",
                      "annotations": {
                        "enum": {
                          "type": "[Ljava.lang.String;",
                          "values": [
                            "NANOSECONDS",
                            "MICROSECONDS",
                            "MILLISECONDS",
                            "SECONDS",
                            "MINUTES",
                            "HOURS",
                            "DAYS"
                          ]
                        },
                        "default": "MINUTES"
                      }
                    },
                    "annotations": {
                      "description": {
                        "value": "A time unit that qualifies the maxIdleTime attribute"
                      },
                      "expressionSupport": {
                        "value": "NOT_SUPPORTED"
                      }
                    }
                  }
                ]
              },
              "hasDynamicType": false,
              "required": false,
              "isConfigOverride": false,
              "isComponentId": false,
              "fieldValueProviderModels": [],
              "expressionSupport": "NOT_SUPPORTED",
              "role": "BEHAVIOUR",
              "dslConfiguration": {
                "allowsInlineDefinition": true,
                "allowsReferences": false,
                "allowTopLevelDefinition": false
              },
              "layoutModel": {
                "password": false,
                "text": false,
                "query": false,
                "order": 1,
                "tabName": "Advanced"
              },
              "allowedStereotypeModels": [],
              "semanticTerms": [],
              "name": "expirationPolicy",
              "description": "Configures the minimum amount of time that a dynamic configuration instance can remain idle before the runtime considers it eligible for expiration. This does not mean that the platform will expire the instance at the exact moment that it becomes eligible. The runtime will actually purge the instances when it sees it fit.",
              "modelProperties": {
                "org.mule.runtime.extension.api.property.QNameModelProperty": {
                  "value": {
                    "namespaceURI": "http://www.mulesoft.org/schema/mule/core",
                    "localPart": "expiration-policy",
                    "prefix": "mule"
                  }
                },
                "org.mule.runtime.extension.api.property.InfrastructureParameterModelProperty": {
                  "sequence": 4
                }
              }
            }
          ],
          "exclusiveParametersModels": [],
          "layoutModel": {
            "password": false,
            "text": false,
            "query": false,
            "order": 1
          },
          "showInDsl": false,
          "name": "General",
          "description": "",
          "modelProperties": {}
        }
      ],
      "externalLibraryModels": [],
      "minMuleVersion": "4.1.1",
      "operations": [],
      "connectionProviders": [
        {
          "connectionManagementType": "NONE",
          "externalLibraryModels": [],
          "supportsConnectivityTesting": false,
          "semanticTerms": [],
          "stereotype": {
            "type": "PROVIDER",
            "namespace": "CONFIG-PROPERTIES-DEPRECATED",
            "parent": {
              "type": "CONNECTION",
              "namespace": "MULE"
            }
          },
          "minMuleVersion": "4.1.1",
          "parameterGroupModels": [
            {
              "parameters": [
                {
                  "type": {
                    "format": "java",
                    "type": "@ref:org.mule.test.complex.config.properties.deprecated.extension.connection.SomePojo"
                  },
                  "hasDynamicType": false,
                  "required": true,
                  "isConfigOverride": false,
                  "isComponentId": false,
                  "fieldValueProviderModels": [],
                  "expressionSupport": "SUPPORTED",
                  "role": "BEHAVIOUR",
                  "dslConfiguration": {
                    "allowsInlineDefinition": true,
                    "allowsReferences": true,
                    "allowTopLevelDefinition": false
                  },
                  "layoutModel": {
                    "password": false,
                    "text": false,
                    "query": false,
                    "order": 1
                  },
                  "allowedStereotypeModels": [],
                  "semanticTerms": [],
                  "name": "nestedPojo",
                  "description": "",
                  "modelProperties": {}
                },
                {
                  "type": {
                    "format": "java",
                    "type": "Array",
                    "annotations": {
                      "classInformation": {
                        "classname": "java.util.List",
                        "hasDefaultConstructor": false,
                        "isInterface": true,
                        "isInstantiable": false,
                        "isAbstract": true,
                        "isFinal": false,
                        "implementedInterfaces": [],
                        "parent": "",
                        "genericTypes": [
                          "java.lang.String"
                        ],
                        "isMap": false
                      }
                    },
                    "item": {
                      "type": "String"
                    }
                  },
                  "hasDynamicType": false,
                  "required": true,
                  "isConfigOverride": false,
                  "isComponentId": false,
                  "fieldValueProviderModels": [],
                  "expressionSupport": "SUPPORTED",
                  "role": "BEHAVIOUR",
                  "dslConfiguration": {
                    "allowsInlineDefinition": true,
                    "allowsReferences": true,
                    "allowTopLevelDefinition": false
                  },
                  "layoutModel": {
                    "password": false,
                    "text": false,
                    "query": false,
                    "order": 2
                  },
                  "allowedStereotypeModels": [],
                  "semanticTerms": [],
                  "name": "listedTexts",
                  "description": "",
                  "modelProperties": {}
                },
                {
                  "type": {
                    "format": "java",
                    "type": "Array",
                    "annotations": {
                      "classInformation": {
                        "classname": "java.util.List",
                        "hasDefaultConstructor": false,
                        "isInterface": true,
                        "isInstantiable": false,
                        "isAbstract": true,
                        "isFinal": false,
                        "implementedInterfaces": [],
                        "parent": "",
                        "genericTypes": [
                          "org.mule.test.complex.config.properties.deprecated.extension.connection.SomePojo"
                        ],
                        "isMap": false
                      }
                    },
                    "item": {
                      "type": "@ref:org.mule.test.complex.config.properties.deprecated.extension.connection.SomePojo"
                    }
                  },
                  "hasDynamicType": false,
                  "required": true,
                  "isConfigOverride": false,
                  "isComponentId": false,
                  "fieldValueProviderModels": [],
                  "expressionSupport": "SUPPORTED",
                  "role": "BEHAVIOUR",
                  "dslConfiguration": {
                    "allowsInlineDefinition": true,
                    "allowsReferences": true,
                    "allowTopLevelDefinition": false
                  },
                  "layoutModel": {
                    "password": false,
                    "text": false,
                    "query": false,
                    "order": 3
                  },
                  "allowedStereotypeModels": [],
                  "semanticTerms": [],
                  "name": "listedPojos",
                  "description": "",
                  "modelProperties": {}
                },
                {
                  "type": {
                    "format": "java",
                    "type": "Object",
                    "annotations": {
                      "classInformation": {
                        "classname": "java.util.Map",
                        "hasDefaultConstructor": false,
                        "isInterface": true,
                        "isInstantiable": false,
                        "isAbstract": true,
                        "isFinal": false,
                        "implementedInterfaces": [],
                        "parent": "",
                        "genericTypes": [
                          "java.lang.String",
                          "org.mule.test.complex.config.properties.deprecated.extension.connection.SomePojo"
                        ],
                        "isMap": true
                      }
                    },
                    "open": {
                      "type": "@ref:org.mule.test.complex.config.properties.deprecated.extension.connection.SomePojo"
                    },
                    "fields": []
                  },
                  "hasDynamicType": false,
                  "required": true,
                  "isConfigOverride": false,
                  "isComponentId": false,
                  "fieldValueProviderModels": [],
                  "expressionSupport": "SUPPORTED",
                  "role": "BEHAVIOUR",
                  "dslConfiguration": {
                    "allowsInlineDefinition": true,
                    "allowsReferences": true,
                    "allowTopLevelDefinition": false
                  },
                  "layoutModel": {
                    "password": false,
                    "text": false,
                    "query": false,
                    "order": 4
                  },
                  "allowedStereotypeModels": [],
                  "semanticTerms": [],
                  "name": "mappedPojos",
                  "description": "",
                  "modelProperties": {}
                }
              ],
              "exclusiveParametersModels": [],
              "layoutModel": {
                "password": false,
                "text": false,
                "query": false,
                "order": 1
              },
              "showInDsl": false,
              "name": "General",
              "description": "",
              "modelProperties": {}
            },
            {
              "parameters": [
                {
                  "type": {
                    "format": "java",
                    "type": "Object",
                    "annotations": {
                      "typeId": "Reconnection",
                      "infrastructureType": {}
                    },
                    "fields": [
                      {
                        "key": {
                          "name": "failsDeployment"
                        },
                        "model": {
                          "type": "Boolean",
                          "annotations": {
                            "default": "false"
                          }
                        },
                        "annotations": {
                          "description": {
                            "value": "When the application is deployed, a connectivity test is performed on all connectors. If set to true, deployment will fail if the test doesn\u0027t pass after exhausting the associated reconnection strategy"
                          }
                        }
                      },
                      {
                        "key": {
                          "name": "reconnectionStrategy"
                        },
                        "model": {
                          "type": "Union",
                          "annotations": {
                            "typeId": "ReconnectionStrategy",
                            "infrastructureType": {}
                          },
                          "of": [
                            {
                              "type": "Object",
                              "annotations": {
                                "typeId": "reconnect",
                                "infrastructureType": {}
                              },
                              "fields": [
                                {
                                  "key": {
                                    "name": "frequency"
                                  },
                                  "model": {
                                    "type": "Number",
                                    "annotations": {
                                      "int": {},
                                      "classInformation": {
                                        "classname": "java.lang.Long",
                                        "hasDefaultConstructor": false,
                                        "isInterface": false,
                                        "isInstantiable": false,
                                        "isAbstract": false,
                                        "isFinal": true,
                                        "implementedInterfaces": [],
                                        "parent": "java.lang.Number",
                                        "genericTypes": [],
                                        "isMap": false
                                      },
                                      "default": "2000"
                                    }
                                  },
                                  "annotations": {
                                    "description": {
                                      "value": "How often (in ms) to reconnect"
                                    }
                                  }
                                },
                                {
                                  "key": {
                                    "name": "blocking"
                                  },
                                  "model": {
                                    "type": "Boolean",
                                    "annotations": {
                                      "default": "true"
                                    }
                                  },
                                  "annotations": {
                                    "description": {
                                      "value": "If false, the reconnection strategy will run in a separate, non-blocking thread"
                                    }
                                  }
                                },
                                {
                                  "key": {
                                    "name": "count"
                                  },
                                  "model": {
                                    "type": "Number",
                                    "annotations": {
                                      "int": {},
                                      "default": "2"
                                    }
                                  },
                                  "annotations": {
                                    "description": {
                                      "value": "How many reconnection attempts to make"
                                    }
                                  }
                                }
                              ]
                            },
                            {
                              "type": "Object",
                              "annotations": {
                                "typeId": "reconnect-forever",
                                "infrastructureType": {}
                              },
                              "fields": [
                                {
                                  "key": {
                                    "name": "frequency"
                                  },
                                  "model": {
                                    "type": "Number",
                                    "annotations": {
                                      "int": {},
                                      "classInformation": {
                                        "classname": "java.lang.Long",
                                        "hasDefaultConstructor": false,
                                        "isInterface": false,
                                        "isInstantiable": false,
                                        "isAbstract": false,
                                        "isFinal": true,
                                        "implementedInterfaces": [],
                                        "parent": "java.lang.Number",
                                        "genericTypes": [],
                                        "isMap": false
                                      },
                                      "default": "2000"
                                    }
                                  },
                                  "annotations": {
                                    "description": {
                                      "value": "How often (in ms) to reconnect"
                                    }
                                  }
                                },
                                {
                                  "key": {
                                    "name": "blocking"
                                  },
                                  "model": {
                                    "type": "Boolean",
                                    "annotations": {
                                      "default": "true"
                                    }
                                  },
                                  "annotations": {
                                    "description": {
                                      "value": "If false, the reconnection strategy will run in a separate, non-blocking thread"
                                    }
                                  }
                                }
                              ]
                            }
                          ]
                        },
                        "annotations": {
                          "description": {
                            "value": "The reconnection strategy to use"
                          }
                        }
                      }
                    ]
                  },
                  "hasDynamicType": false,
                  "required": false,
                  "isConfigOverride": false,
                  "isComponentId": false,
                  "fieldValueProviderModels": [],
                  "expressionSupport": "NOT_SUPPORTED",
                  "role": "BEHAVIOUR",
                  "dslConfiguration": {
                    "allowsInlineDefinition": true,
                    "allowsReferences": false,
                    "allowTopLevelDefinition": false
                  },
                  "layoutModel": {
                    "password": false,
                    "text": false,
                    "query": false,
                    "order": 5,
                    "tabName": "Advanced"
                  },
                  "allowedStereotypeModels": [],
                  "semanticTerms": [],
                  "name": "reconnection",
                  "description": "When the application is deployed, a connectivity test is performed on all connectors. If set to true, deployment will fail if the test doesn\u0027t pass after exhausting the associated reconnection strategy",
                  "modelProperties": {
                    "org.mule.runtime.extension.api.property.QNameModelProperty": {
                      "value": {
                        "namespaceURI": "http://www.mulesoft.org/schema/mule/core",
                        "localPart": "reconnection",
                        "prefix": "mule"
                      }
                    },
                    "org.mule.runtime.extension.api.property.InfrastructureParameterModelProperty": {
                      "sequence": 3
                    }
                  }
                }
              ],
              "exclusiveParametersModels": [],
              "layoutModel": {
                "password": false,
                "text": false,
                "query": false,
                "order": 2
              },
              "showInDsl": false,
              "name": "Connection",
              "description": "",
              "modelProperties": {}
            }
          ],
          "name": "provider",
          "description": "",
          "modelProperties": {
            "requiredForMetadata": {
              "requiredParameters": [
                "nestedPojo",
                "listedTexts",
                "listedPojos",
                "mappedPojos"
              ]
            }
          }
        }
      ],
      "messageSources": [],
      "name": "config",
      "description": "Default configuration",
      "modelProperties": {
        "requiredForMetadata": {
          "requiredParameters": [
            "name"
          ]
        }
      }
    }
  ],
  "operations": [],
  "functions": [],
  "constructs": [],
  "connectionProviders": [],
  "messageSources": [],
  "artifactCoordinates": {
    "artifact id": "test-config-properties-extension-deprecated-complex",
    "group id": "org.mule.tests.extensions",
    "version": "4.7.3"
  },
  "notifications": [],
  "errors": [
    {
      "error": "CONFIG-PROPERTIES-DEPRECATED:CONNECTIVITY",
      "parent": "MULE:CONNECTIVITY",
      "handleable": true
    },
    {
      "error": "MULE:CONNECTIVITY",
      "parent": "MULE:ANY",
      "handleable": true
    },
    {
      "error": "MULE:ANY",
      "handleable": true
    },
    {
      "error": "CONFIG-PROPERTIES-DEPRECATED:RETRY_EXHAUSTED",
      "parent": "MULE:RETRY_EXHAUSTED",
      "handleable": true
    },
    {
      "error": "MULE:RETRY_EXHAUSTED",
      "parent": "MULE:ANY",
      "handleable": true
    }
  ],
  "modelProperties": {},
  "types": [
    {
      "format": "java",
      "type": "Object",
      "annotations": {
        "typeId": "org.mule.test.complex.config.properties.deprecated.extension.ComplexConfigurationPropertiesProviderFactory",
        "classInformation": {
          "classname": "org.mule.test.complex.config.properties.deprecated.extension.ComplexConfigurationPropertiesProviderFactory",
          "hasDefaultConstructor": true,
          "isInterface": false,
          "isInstantiable": true,
          "isAbstract": false,
          "isFinal": false,
          "implementedInterfaces": [
            "org.mule.runtime.config.api.dsl.model.properties.ConfigurationPropertiesProviderFactory"
          ],
          "parent": "",
          "genericTypes": [],
          "isMap": false
        },
        "typeAlias": {
          "value": "ComplexConfigurationPropertiesProviderFactory"
        }
      },
      "fields": [
        {
          "key": {
            "name": "supportedComponentIdentifier"
          },
          "model": {
            "type": "Object",
            "annotations": {
              "typeId": "org.mule.runtime.api.component.ComponentIdentifier",
              "classInformation": {
                "classname": "org.mule.runtime.api.component.ComponentIdentifier",
                "hasDefaultConstructor": false,
                "isInterface": true,
                "isInstantiable": false,
                "isAbstract": true,
                "isFinal": false,
                "implementedInterfaces": [],
                "parent": "",
                "genericTypes": [],
                "isMap": false
              },
              "typeAlias": {
                "value": "ComponentIdentifier"
              }
            },
            "fields": []
          },
          "annotations": {
            "visibility": "READ_ONLY"
          }
        }
      ]
    },
    {
      "format": "java",
      "type": "Object",
      "annotations": {
        "typeId": "org.mule.test.complex.config.properties.deprecated.extension.connection.SomePojo",
        "classInformation": {
          "classname": "org.mule.test.complex.config.properties.deprecated.extension.connection.SomePojo",
          "hasDefaultConstructor": true,
          "isInterface": false,
          "isInstantiable": true,
          "isAbstract": false,
          "isFinal": false,
          "implementedInterfaces": [],
          "parent": "",
          "genericTypes": [],
          "isMap": false
        },
        "typeAlias": {
          "value": "SomePojo"
        }
      },
      "fields": [
        {
          "key": {
            "name": "textValue"
          },
          "model": {
            "type": "String"
          }
        }
      ]
    }
  ]
}
