{
  "name": "Amazon S3",
  "description": "",
  "version": "5.7.1",
  "vendor": "Mulesoft",
  "category": "SELECT",
  "xmlDsl": {
    "prefix": "s3",
    "namespace": "http://www.mulesoft.org/schema/mule/s3",
    "schemaLocation": "http://www.mulesoft.org/schema/mule/s3/current/mule-s3.xsd",
    "schemaVersion": "5.7.1",
    "xsdFileName": "mule-s3.xsd"
  },
  "resources": [],
  "subTypes": [],
  "privilegedPackages": [],
  "privilegedArtifacts": [],
  "externalLibraries": [],
  "importedTypes": [
    {
      "format": "java",
      "type": "Object",
      "annotations": {
        "typeId": "org.mule.runtime.api.store.ObjectStore",
        "extensibleType": {},
        "typeAlias": {
          "value": "ObjectStore"
        },
        "classInformation": {
          "classname": "org.mule.runtime.api.store.ObjectStore",
          "hasDefaultConstructor": false,
          "isInterface": true,
          "isInstantiable": false,
          "isAbstract": true,
          "isFinal": false,
          "implementedInterfaces": [],
          "parent": "",
          "genericTypes": [],
          "isMap": false
        }
      },
      "fields": []
    },
    {
      "format": "java",
      "type": "Object",
      "annotations": {
        "typeId": "org.mule.runtime.core.api.source.scheduler.Scheduler",
        "classInformation": {
          "classname": "org.mule.runtime.core.api.source.scheduler.Scheduler",
          "hasDefaultConstructor": false,
          "isInterface": true,
          "isInstantiable": false,
          "isAbstract": true,
          "isFinal": false,
          "implementedInterfaces": [],
          "parent": "",
          "genericTypes": [],
          "isMap": false
        },
        "typeAlias": {
          "value": "scheduling-strategy"
        }
      },
      "fields": []
    }
  ],
  "configurations": [
    {
      "stereotype": {
        "type": "CONFIG",
        "namespace": "S3",
        "parent": {
          "type": "MODULE_CONFIG",
          "namespace": "MULE"
        }
      },
      "parameterGroupModels": [
        {
          "parameters": [
            {
              "type": {
                "format": "java",
                "type": "Object",
                "annotations": {
                  "typeId": "org.mule.runtime.extension.api.runtime.ExpirationPolicy",
                  "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": [
                            "java.lang.Comparable"
                          ],
                          "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,
              "expressionSupport": "NOT_SUPPORTED",
              "role": "BEHAVIOUR",
              "dslConfiguration": {
                "allowsInlineDefinition": true,
                "allowsReferences": false,
                "allowTopLevelDefinition": false
              },
              "layoutModel": {
                "password": false,
                "text": false,
                "query": false,
                "order": 1,
                "tabName": "Advanced"
              },
              "allowedStereotypeModels": [],
              "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": [],
      "operations": [
        {
          "blocking": true,
          "executionType": "BLOCKING",
          "output": {
            "type": {
              "format": "java",
              "type": "Void"
            },
            "hasDynamicType": false,
            "description": "",
            "modelProperties": {}
          },
          "outputAttributes": {
            "type": {
              "format": "java",
              "type": "Void"
            },
            "hasDynamicType": false,
            "description": "",
            "modelProperties": {}
          },
          "transactional": false,
          "requiresConnection": true,
          "supportsStreaming": false,
          "notifications": [],
          "nestedComponents": [],
          "errors": [
            "S3:INVALID_RANGE",
            "S3:SERVICE_UNAVAILABLE",
            "S3:REQUEST_TIME_TOO_SKEWED",
            "S3:REDIRECT",
            "S3:INVALID_STORAGE_CLASS",
            "S3:MAX_MESSAGE_LENGTH_EXCEEDED",
            "S3:REQUEST_IS_NOT_MULTI_PART_CONTENT",
            "S3:UNEXPECTED_CONTENT",
            "S3:ENTITY_TOO_SMALL",
            "S3:NO_SUCH_BUCKET",
            "S3:INVALID_PART",
            "S3:INVALID_SOAP_REQUEST",
            "S3:NO_SUCH_VERSION",
            "S3:METADATA_TOO_LARGE",
            "S3:PRECONDITION_FAILED",
            "S3:BUCKET_ALREADY_EXISTS",
            "S3:AMBIGUOUS_GRANT_BY_EMAIL_ADDRESS",
            "S3:MISSING_SECURITY_ELEMENT",
            "S3:INVALID_URI",
            "S3:NOT_SIGNED_UP",
            "S3:INVALID_ADDRESSING_HEADER",
            "S3:MAX_POST_PRE_DATA_LENGTH_EXCEEDED_ERROR",
            "S3:ILLEGAL_VERSIONING_CONFIGURATION_EXCEPTION",
            "S3:INVALID_PAYER",
            "S3:NO_SUCH_BUCKET_POLICY",
            "S3:INVALID_SECURITY",
            "S3:OPERATION_ABORTED",
            "S3:INVALID_ACCESS_KEY_ID",
            "S3:INVALID_LOCATION_CONSTRAINT",
            "S3:INLINE_DATA_TOO_LARGE",
            "S3:SIGNATURE_DOES_NOT_MATCH",
            "S3:UNRESOLVABLE_GRANT_BY_EMAIL_ADDRESS",
            "S3:NO_SUCH_LIFECYCLE_CONFIGURATION",
            "S3:KEY_TOO_LONG",
            "S3:INVALID_BUCKET_NAME",
            "S3:INVALID_TOKEN",
            "S3:TEMPORARY_REDIRECT",
            "S3:BUCKET_NOT_EMPTY",
            "S3:BAD_DIGEST",
            "S3:CROSS_LOCATION_LOGGING_PROHIBITED",
            "S3:MALFORMED_POST_REQUEST",
            "S3:REQUEST_TIMEOUT",
            "S3:TOO_MANY_BUCKETS",
            "S3:NO_SUCH_KEY",
            "S3:MISSING_ATTACHMENT",
            "S3:INVALID_BUCKET_STATE",
            "S3:RETRY_EXHAUSTED",
            "S3:INVALID_PART_ORDER",
            "S3:INVALID_RESPONSE_PRESIGNEDURL_MALFORMED",
            "S3:INVALID_POLICY_DOCUMENT",
            "S3:MALFORMED_XML",
            "S3:ACCOUNT_PROBLEM",
            "S3:USER_KEY_MUST_BE_SPECIFIED",
            "S3:MISSING_CONTENT_LENGTH",
            "S3:INVALID_DIGEST",
            "S3:ACCESS_DENIED",
            "S3:MISSING_REQUEST_BODY_ERROR",
            "S3:REQUEST_TORRENT_OF_BUCKET_ERROR",
            "S3:TOKEN_REFRESH_REQUIRED",
            "S3:NO_LOGGING_STATUS_FOR_KEY",
            "S3:RESTORE_ALREADY_IN_PROGRESS",
            "S3:INVALID_OBJECT_STATE",
            "S3:CONNECTIVITY",
            "S3:INVALID_ENCRYPTION_ALGORITHM_ERROR",
            "S3:PERMANENT_REDIRECT",
            "S3:INVALID_REQUEST",
            "S3:INCORRECT_NUMBER_OF_FILES_IN_POST_REQUEST",
            "S3:UNKNOWN",
            "S3:MALFORMED_ACL_ERROR",
            "S3:CREDENTIALS_NOT_SUPPORTED",
            "S3:NOT_IMPLEMENTED",
            "S3:INVALID_ARGUMENT",
            "S3:INVALID_TARGET_BUCKET_FOR_LOGGING",
            "S3:NO_SUCH_UPLOAD",
            "S3:INTERNAL_ERROR",
            "S3:SLOW_DOWN",
            "S3:ENTITY_TOO_LARGE",
            "S3:METHOD_NOT_ALLOWED",
            "S3:EXPIRED_TOKEN",
            "S3:MISSING_SECURITY_HEADER",
            "S3:BUCKET_ALREADY_OWNED_BY_YOU",
            "S3:INCOMPLETE_BODY"
          ],
          "stereotype": {
            "type": "PROCESSOR",
            "namespace": "MULE"
          },
          "parameterGroupModels": [
            {
              "parameters": [
                {
                  "type": {
                    "format": "java",
                    "type": "String"
                  },
                  "hasDynamicType": false,
                  "required": true,
                  "isConfigOverride": false,
                  "expressionSupport": "SUPPORTED",
                  "role": "BEHAVIOUR",
                  "dslConfiguration": {
                    "allowsInlineDefinition": true,
                    "allowsReferences": true,
                    "allowTopLevelDefinition": false
                  },
                  "layoutModel": {
                    "password": false,
                    "text": false,
                    "query": false,
                    "order": 1
                  },
                  "allowedStereotypeModels": [],
                  "name": "bucketName",
                  "description": "the name of the bucket containing the multipart upload to abort.",
                  "modelProperties": {}
                },
                {
                  "type": {
                    "format": "java",
                    "type": "String"
                  },
                  "hasDynamicType": false,
                  "required": true,
                  "isConfigOverride": false,
                  "expressionSupport": "SUPPORTED",
                  "role": "BEHAVIOUR",
                  "dslConfiguration": {
                    "allowsInlineDefinition": true,
                    "allowsReferences": true,
                    "allowTopLevelDefinition": false
                  },
                  "layoutModel": {
                    "password": false,
                    "text": false,
                    "query": false,
                    "order": 2
                  },
                  "allowedStereotypeModels": [],
                  "name": "key",
                  "description": "the key of the multipart upload to abort.",
                  "modelProperties": {}
                },
                {
                  "type": {
                    "format": "java",
                    "type": "String"
                  },
                  "hasDynamicType": false,
                  "required": true,
                  "isConfigOverride": false,
                  "expressionSupport": "SUPPORTED",
                  "role": "BEHAVIOUR",
                  "dslConfiguration": {
                    "allowsInlineDefinition": true,
                    "allowsReferences": true,
                    "allowTopLevelDefinition": false
                  },
                  "layoutModel": {
                    "password": false,
                    "text": false,
                    "query": false,
                    "order": 3
                  },
                  "allowedStereotypeModels": [],
                  "name": "uploadId",
                  "description": "the ID of the upload to abort.",
                  "modelProperties": {}
                }
              ],
              "exclusiveParametersModels": [],
              "layoutModel": {
                "password": false,
                "text": false,
                "query": false,
                "order": 1
              },
              "showInDsl": false,
              "name": "General",
              "description": "",
              "modelProperties": {}
            },
            {
              "parameters": [
                {
                  "type": {
                    "format": "java",
                    "type": "Union",
                    "annotations": {
                      "typeId": "ReconnectionStrategy"
                    },
                    "of": [
                      {
                        "type": "Object",
                        "annotations": {
                          "typeId": "reconnect"
                        },
                        "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": [
                                    "java.lang.Comparable"
                                  ],
                                  "parent": "java.lang.Number",
                                  "genericTypes": [],
                                  "isMap": false
                                },
                                "default": "2000"
                              }
                            },
                            "annotations": {
                              "description": {
                                "value": "How often (in ms) to reconnect"
                              }
                            }
                          },
                          {
                            "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"
                        },
                        "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": [
                                    "java.lang.Comparable"
                                  ],
                                  "parent": "java.lang.Number",
                                  "genericTypes": [],
                                  "isMap": false
                                },
                                "default": "2000"
                              }
                            },
                            "annotations": {
                              "description": {
                                "value": "How often (in ms) to reconnect"
                              }
                            }
                          }
                        ]
                      }
                    ]
                  },
                  "hasDynamicType": false,
                  "required": false,
                  "isConfigOverride": false,
                  "expressionSupport": "NOT_SUPPORTED",
                  "role": "BEHAVIOUR",
                  "dslConfiguration": {
                    "allowsInlineDefinition": true,
                    "allowsReferences": false,
                    "allowTopLevelDefinition": false
                  },
                  "layoutModel": {
                    "password": false,
                    "text": false,
                    "query": false,
                    "order": 4,
                    "tabName": "Advanced"
                  },
                  "allowedStereotypeModels": [],
                  "name": "reconnectionStrategy",
                  "description": "A retry strategy in case of connectivity errors",
                  "modelProperties": {
                    "org.mule.runtime.extension.api.property.QNameModelProperty": {
                      "value": {
                        "namespaceURI": "http://www.mulesoft.org/schema/mule/core",
                        "localPart": "abstract-reconnection-strategy",
                        "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": "abortMultipartUpload",
          "description": "Aborts a multipart upload. After a multipart upload is aborted, no additional parts can be uploaded using that upload ID. The storage consumed by any previously uploaded parts will be freed. However, if any part uploads are currently in progress, those part uploads may or may not succeed. As a result, it may be necessary to abort a given multipart upload multiple times in order to completely free all storage consumed by all parts.",
          "modelProperties": {},
          "kind": "operation"
        },
        {
          "blocking": true,
          "executionType": "BLOCKING",
          "output": {
            "type": {
              "format": "java",
              "type": "@ref:org.mule.extension.s3.api.model.CompleteMultipartUploadResult"
            },
            "hasDynamicType": false,
            "description": "",
            "modelProperties": {}
          },
          "outputAttributes": {
            "type": {
              "format": "java",
              "type": "Void"
            },
            "hasDynamicType": false,
            "description": "",
            "modelProperties": {}
          },
          "transactional": false,
          "requiresConnection": true,
          "supportsStreaming": false,
          "notifications": [],
          "nestedComponents": [],
          "errors": [
            "S3:INVALID_RANGE",
            "S3:SERVICE_UNAVAILABLE",
            "S3:REQUEST_TIME_TOO_SKEWED",
            "S3:REDIRECT",
            "S3:INVALID_STORAGE_CLASS",
            "S3:MAX_MESSAGE_LENGTH_EXCEEDED",
            "S3:REQUEST_IS_NOT_MULTI_PART_CONTENT",
            "S3:UNEXPECTED_CONTENT",
            "S3:ENTITY_TOO_SMALL",
            "S3:NO_SUCH_BUCKET",
            "S3:INVALID_PART",
            "S3:INVALID_SOAP_REQUEST",
            "S3:NO_SUCH_VERSION",
            "S3:METADATA_TOO_LARGE",
            "S3:PRECONDITION_FAILED",
            "S3:BUCKET_ALREADY_EXISTS",
            "S3:AMBIGUOUS_GRANT_BY_EMAIL_ADDRESS",
            "S3:MISSING_SECURITY_ELEMENT",
            "S3:INVALID_URI",
            "S3:NOT_SIGNED_UP",
            "S3:INVALID_ADDRESSING_HEADER",
            "S3:MAX_POST_PRE_DATA_LENGTH_EXCEEDED_ERROR",
            "S3:ILLEGAL_VERSIONING_CONFIGURATION_EXCEPTION",
            "S3:INVALID_PAYER",
            "S3:NO_SUCH_BUCKET_POLICY",
            "S3:INVALID_SECURITY",
            "S3:OPERATION_ABORTED",
            "S3:INVALID_ACCESS_KEY_ID",
            "S3:INVALID_LOCATION_CONSTRAINT",
            "S3:INLINE_DATA_TOO_LARGE",
            "S3:SIGNATURE_DOES_NOT_MATCH",
            "S3:UNRESOLVABLE_GRANT_BY_EMAIL_ADDRESS",
            "S3:NO_SUCH_LIFECYCLE_CONFIGURATION",
            "S3:KEY_TOO_LONG",
            "S3:INVALID_BUCKET_NAME",
            "S3:INVALID_TOKEN",
            "S3:TEMPORARY_REDIRECT",
            "S3:BUCKET_NOT_EMPTY",
            "S3:BAD_DIGEST",
            "S3:CROSS_LOCATION_LOGGING_PROHIBITED",
            "S3:MALFORMED_POST_REQUEST",
            "S3:REQUEST_TIMEOUT",
            "S3:TOO_MANY_BUCKETS",
            "S3:NO_SUCH_KEY",
            "S3:MISSING_ATTACHMENT",
            "S3:INVALID_BUCKET_STATE",
            "S3:RETRY_EXHAUSTED",
            "S3:INVALID_PART_ORDER",
            "S3:INVALID_RESPONSE_PRESIGNEDURL_MALFORMED",
            "S3:INVALID_POLICY_DOCUMENT",
            "S3:MALFORMED_XML",
            "S3:ACCOUNT_PROBLEM",
            "S3:USER_KEY_MUST_BE_SPECIFIED",
            "S3:MISSING_CONTENT_LENGTH",
            "S3:INVALID_DIGEST",
            "S3:ACCESS_DENIED",
            "S3:MISSING_REQUEST_BODY_ERROR",
            "S3:REQUEST_TORRENT_OF_BUCKET_ERROR",
            "S3:TOKEN_REFRESH_REQUIRED",
            "S3:NO_LOGGING_STATUS_FOR_KEY",
            "S3:RESTORE_ALREADY_IN_PROGRESS",
            "S3:INVALID_OBJECT_STATE",
            "S3:CONNECTIVITY",
            "S3:INVALID_ENCRYPTION_ALGORITHM_ERROR",
            "S3:PERMANENT_REDIRECT",
            "S3:INVALID_REQUEST",
            "S3:INCORRECT_NUMBER_OF_FILES_IN_POST_REQUEST",
            "S3:UNKNOWN",
            "S3:MALFORMED_ACL_ERROR",
            "S3:CREDENTIALS_NOT_SUPPORTED",
            "S3:NOT_IMPLEMENTED",
            "S3:INVALID_ARGUMENT",
            "S3:INVALID_TARGET_BUCKET_FOR_LOGGING",
            "S3:NO_SUCH_UPLOAD",
            "S3:INTERNAL_ERROR",
            "S3:SLOW_DOWN",
            "S3:ENTITY_TOO_LARGE",
            "S3:METHOD_NOT_ALLOWED",
            "S3:EXPIRED_TOKEN",
            "S3:MISSING_SECURITY_HEADER",
            "S3:BUCKET_ALREADY_OWNED_BY_YOU",
            "S3:INCOMPLETE_BODY"
          ],
          "stereotype": {
            "type": "PROCESSOR",
            "namespace": "MULE"
          },
          "parameterGroupModels": [
            {
              "parameters": [
                {
                  "type": {
                    "format": "java",
                    "type": "String"
                  },
                  "hasDynamicType": false,
                  "required": true,
                  "isConfigOverride": false,
                  "expressionSupport": "SUPPORTED",
                  "role": "BEHAVIOUR",
                  "dslConfiguration": {
                    "allowsInlineDefinition": true,
                    "allowsReferences": true,
                    "allowTopLevelDefinition": false
                  },
                  "layoutModel": {
                    "password": false,
                    "text": false,
                    "query": false,
                    "order": 1
                  },
                  "allowedStereotypeModels": [],
                  "name": "bucketName",
                  "description": "the name of the bucket containing the multipart upload to complete.",
                  "modelProperties": {}
                },
                {
                  "type": {
                    "format": "java",
                    "type": "String"
                  },
                  "hasDynamicType": false,
                  "required": true,
                  "isConfigOverride": false,
                  "expressionSupport": "SUPPORTED",
                  "role": "BEHAVIOUR",
                  "dslConfiguration": {
                    "allowsInlineDefinition": true,
                    "allowsReferences": true,
                    "allowTopLevelDefinition": false
                  },
                  "layoutModel": {
                    "password": false,
                    "text": false,
                    "query": false,
                    "order": 2
                  },
                  "allowedStereotypeModels": [],
                  "name": "key",
                  "description": "the key under which the multipart upload to complete is stored.",
                  "modelProperties": {}
                },
                {
                  "type": {
                    "format": "java",
                    "type": "String"
                  },
                  "hasDynamicType": false,
                  "required": true,
                  "isConfigOverride": false,
                  "expressionSupport": "SUPPORTED",
                  "role": "BEHAVIOUR",
                  "dslConfiguration": {
                    "allowsInlineDefinition": true,
                    "allowsReferences": true,
                    "allowTopLevelDefinition": false
                  },
                  "layoutModel": {
                    "password": false,
                    "text": false,
                    "query": false,
                    "order": 3
                  },
                  "allowedStereotypeModels": [],
                  "name": "uploadId",
                  "description": "the ID of the multipart upload to complete.",
                  "modelProperties": {}
                },
                {
                  "type": {
                    "format": "java",
                    "type": "Array",
                    "annotations": {
                      "classInformation": {
                        "classname": "java.util.List",
                        "hasDefaultConstructor": false,
                        "isInterface": true,
                        "isInstantiable": false,
                        "isAbstract": true,
                        "isFinal": false,
                        "implementedInterfaces": [
                          "java.util.Collection"
                        ],
                        "parent": "",
                        "genericTypes": [
                          "org.mule.extension.s3.api.model.PartETag"
                        ],
                        "isMap": false
                      }
                    },
                    "item": {
                      "type": "@ref:org.mule.extension.s3.api.model.PartETag"
                    }
                  },
                  "hasDynamicType": false,
                  "required": false,
                  "isConfigOverride": false,
                  "expressionSupport": "SUPPORTED",
                  "defaultValue": "#[payload]",
                  "role": "PRIMARY_CONTENT",
                  "dslConfiguration": {
                    "allowsInlineDefinition": true,
                    "allowsReferences": false,
                    "allowTopLevelDefinition": false
                  },
                  "layoutModel": {
                    "password": false,
                    "text": false,
                    "query": false,
                    "order": 4
                  },
                  "allowedStereotypeModels": [],
                  "name": "partETags",
                  "displayModel": {
                    "displayName": "Part ETags",
                    "summary": "The list of part numbers and ETags that identify the individual parts of the multipart upload to complete."
                  },
                  "description": "the list of part numbers and ETags that identify the individual parts of the multipart upload to complete.",
                  "modelProperties": {}
                }
              ],
              "exclusiveParametersModels": [],
              "layoutModel": {
                "password": false,
                "text": false,
                "query": false,
                "order": 1
              },
              "showInDsl": false,
              "name": "General",
              "description": "",
              "modelProperties": {}
            },
            {
              "parameters": [
                {
                  "type": {
                    "format": "java",
                    "type": "String"
                  },
                  "hasDynamicType": false,
                  "required": false,
                  "isConfigOverride": false,
                  "expressionSupport": "NOT_SUPPORTED",
                  "role": "BEHAVIOUR",
                  "dslConfiguration": {
                    "allowsInlineDefinition": true,
                    "allowsReferences": true,
                    "allowTopLevelDefinition": false
                  },
                  "layoutModel": {
                    "password": false,
                    "text": false,
                    "query": false,
                    "order": 5,
                    "tabName": "Advanced"
                  },
                  "allowedStereotypeModels": [],
                  "name": "target",
                  "displayModel": {
                    "displayName": "Target Variable"
                  },
                  "description": "The name of a variable on which the operation\u0027s output will be placed",
                  "modelProperties": {}
                },
                {
                  "type": {
                    "format": "java",
                    "type": "String"
                  },
                  "hasDynamicType": false,
                  "required": false,
                  "isConfigOverride": false,
                  "expressionSupport": "REQUIRED",
                  "defaultValue": "#[payload]",
                  "role": "BEHAVIOUR",
                  "dslConfiguration": {
                    "allowsInlineDefinition": true,
                    "allowsReferences": true,
                    "allowTopLevelDefinition": false
                  },
                  "layoutModel": {
                    "password": false,
                    "text": false,
                    "query": false,
                    "order": 6,
                    "tabName": "Advanced"
                  },
                  "allowedStereotypeModels": [],
                  "name": "targetValue",
                  "displayModel": {
                    "displayName": "Target Value"
                  },
                  "description": "An expression that will be evaluated against the operation\u0027s output and the outcome of that expression will be stored in the target variable",
                  "modelProperties": {}
                }
              ],
              "exclusiveParametersModels": [],
              "layoutModel": {
                "password": false,
                "text": false,
                "query": false,
                "order": 2
              },
              "showInDsl": false,
              "name": "Output",
              "description": "",
              "modelProperties": {}
            },
            {
              "parameters": [
                {
                  "type": {
                    "format": "java",
                    "type": "Union",
                    "annotations": {
                      "typeId": "ReconnectionStrategy"
                    },
                    "of": [
                      {
                        "type": "Object",
                        "annotations": {
                          "typeId": "reconnect"
                        },
                        "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": [
                                    "java.lang.Comparable"
                                  ],
                                  "parent": "java.lang.Number",
                                  "genericTypes": [],
                                  "isMap": false
                                },
                                "default": "2000"
                              }
                            },
                            "annotations": {
                              "description": {
                                "value": "How often (in ms) to reconnect"
                              }
                            }
                          },
                          {
                            "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"
                        },
                        "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": [
                                    "java.lang.Comparable"
                                  ],
                                  "parent": "java.lang.Number",
                                  "genericTypes": [],
                                  "isMap": false
                                },
                                "default": "2000"
                              }
                            },
                            "annotations": {
                              "description": {
                                "value": "How often (in ms) to reconnect"
                              }
                            }
                          }
                        ]
                      }
                    ]
                  },
                  "hasDynamicType": false,
                  "required": false,
                  "isConfigOverride": false,
                  "expressionSupport": "NOT_SUPPORTED",
                  "role": "BEHAVIOUR",
                  "dslConfiguration": {
                    "allowsInlineDefinition": true,
                    "allowsReferences": false,
                    "allowTopLevelDefinition": false
                  },
                  "layoutModel": {
                    "password": false,
                    "text": false,
                    "query": false,
                    "order": 7,
                    "tabName": "Advanced"
                  },
                  "allowedStereotypeModels": [],
                  "name": "reconnectionStrategy",
                  "description": "A retry strategy in case of connectivity errors",
                  "modelProperties": {
                    "org.mule.runtime.extension.api.property.QNameModelProperty": {
                      "value": {
                        "namespaceURI": "http://www.mulesoft.org/schema/mule/core",
                        "localPart": "abstract-reconnection-strategy",
                        "prefix": "mule"
                      }
                    },
                    "org.mule.runtime.extension.api.property.InfrastructureParameterModelProperty": {
                      "sequence": 3
                    }
                  }
                }
              ],
              "exclusiveParametersModels": [],
              "layoutModel": {
                "password": false,
                "text": false,
                "query": false,
                "order": 3
              },
              "showInDsl": false,
              "name": "Connection",
              "description": "",
              "modelProperties": {}
            }
          ],
          "name": "completeMultipartUpload",
          "description": "Completes a multipart upload by assembling previously uploaded parts.",
          "modelProperties": {},
          "kind": "operation"
        },
        {
          "blocking": true,
          "executionType": "BLOCKING",
          "output": {
            "type": {
              "format": "java",
              "type": "@ref:org.mule.extension.s3.api.model.ObjectResult"
            },
            "hasDynamicType": false,
            "description": "",
            "modelProperties": {}
          },
          "outputAttributes": {
            "type": {
              "format": "java",
              "type": "Void"
            },
            "hasDynamicType": false,
            "description": "",
            "modelProperties": {}
          },
          "transactional": false,
          "requiresConnection": true,
          "supportsStreaming": false,
          "notifications": [],
          "nestedComponents": [],
          "errors": [
            "S3:INVALID_RANGE",
            "S3:SERVICE_UNAVAILABLE",
            "S3:REQUEST_TIME_TOO_SKEWED",
            "S3:REDIRECT",
            "S3:INVALID_STORAGE_CLASS",
            "S3:MAX_MESSAGE_LENGTH_EXCEEDED",
            "S3:REQUEST_IS_NOT_MULTI_PART_CONTENT",
            "S3:UNEXPECTED_CONTENT",
            "S3:ENTITY_TOO_SMALL",
            "S3:NO_SUCH_BUCKET",
            "S3:INVALID_PART",
            "S3:INVALID_SOAP_REQUEST",
            "S3:NO_SUCH_VERSION",
            "S3:METADATA_TOO_LARGE",
            "S3:PRECONDITION_FAILED",
            "S3:BUCKET_ALREADY_EXISTS",
            "S3:AMBIGUOUS_GRANT_BY_EMAIL_ADDRESS",
            "S3:MISSING_SECURITY_ELEMENT",
            "S3:INVALID_URI",
            "S3:NOT_SIGNED_UP",
            "S3:INVALID_ADDRESSING_HEADER",
            "S3:MAX_POST_PRE_DATA_LENGTH_EXCEEDED_ERROR",
            "S3:ILLEGAL_VERSIONING_CONFIGURATION_EXCEPTION",
            "S3:INVALID_PAYER",
            "S3:NO_SUCH_BUCKET_POLICY",
            "S3:INVALID_SECURITY",
            "S3:OPERATION_ABORTED",
            "S3:INVALID_ACCESS_KEY_ID",
            "S3:INVALID_LOCATION_CONSTRAINT",
            "S3:INLINE_DATA_TOO_LARGE",
            "S3:SIGNATURE_DOES_NOT_MATCH",
            "S3:UNRESOLVABLE_GRANT_BY_EMAIL_ADDRESS",
            "S3:NO_SUCH_LIFECYCLE_CONFIGURATION",
            "S3:KEY_TOO_LONG",
            "S3:INVALID_BUCKET_NAME",
            "S3:INVALID_TOKEN",
            "S3:TEMPORARY_REDIRECT",
            "S3:BUCKET_NOT_EMPTY",
            "S3:BAD_DIGEST",
            "S3:CROSS_LOCATION_LOGGING_PROHIBITED",
            "S3:MALFORMED_POST_REQUEST",
            "S3:REQUEST_TIMEOUT",
            "S3:TOO_MANY_BUCKETS",
            "S3:NO_SUCH_KEY",
            "S3:MISSING_ATTACHMENT",
            "S3:INVALID_BUCKET_STATE",
            "S3:RETRY_EXHAUSTED",
            "S3:INVALID_PART_ORDER",
            "S3:INVALID_RESPONSE_PRESIGNEDURL_MALFORMED",
            "S3:INVALID_POLICY_DOCUMENT",
            "S3:MALFORMED_XML",
            "S3:ACCOUNT_PROBLEM",
            "S3:USER_KEY_MUST_BE_SPECIFIED",
            "S3:MISSING_CONTENT_LENGTH",
            "S3:INVALID_DIGEST",
            "S3:ACCESS_DENIED",
            "S3:MISSING_REQUEST_BODY_ERROR",
            "S3:REQUEST_TORRENT_OF_BUCKET_ERROR",
            "S3:TOKEN_REFRESH_REQUIRED",
            "S3:NO_LOGGING_STATUS_FOR_KEY",
            "S3:RESTORE_ALREADY_IN_PROGRESS",
            "S3:INVALID_OBJECT_STATE",
            "S3:CONNECTIVITY",
            "S3:INVALID_ENCRYPTION_ALGORITHM_ERROR",
            "S3:PERMANENT_REDIRECT",
            "S3:INVALID_REQUEST",
            "S3:INCORRECT_NUMBER_OF_FILES_IN_POST_REQUEST",
            "S3:UNKNOWN",
            "S3:MALFORMED_ACL_ERROR",
            "S3:CREDENTIALS_NOT_SUPPORTED",
            "S3:NOT_IMPLEMENTED",
            "S3:INVALID_ARGUMENT",
            "S3:INVALID_TARGET_BUCKET_FOR_LOGGING",
            "S3:NO_SUCH_UPLOAD",
            "S3:INTERNAL_ERROR",
            "S3:SLOW_DOWN",
            "S3:ENTITY_TOO_LARGE",
            "S3:METHOD_NOT_ALLOWED",
            "S3:EXPIRED_TOKEN",
            "S3:MISSING_SECURITY_HEADER",
            "S3:BUCKET_ALREADY_OWNED_BY_YOU",
            "S3:INCOMPLETE_BODY"
          ],
          "stereotype": {
            "type": "PROCESSOR",
            "namespace": "MULE"
          },
          "parameterGroupModels": [
            {
              "parameters": [
                {
                  "type": {
                    "format": "java",
                    "type": "String"
                  },
                  "hasDynamicType": false,
                  "required": true,
                  "isConfigOverride": false,
                  "expressionSupport": "SUPPORTED",
                  "role": "BEHAVIOUR",
                  "dslConfiguration": {
                    "allowsInlineDefinition": true,
                    "allowsReferences": true,
                    "allowTopLevelDefinition": false
                  },
                  "layoutModel": {
                    "password": false,
                    "text": false,
                    "query": false,
                    "order": 1,
                    "tabName": "General"
                  },
                  "allowedStereotypeModels": [],
                  "name": "sourceBucketName",
                  "description": "the source object\u0027s bucket",
                  "modelProperties": {}
                },
                {
                  "type": {
                    "format": "java",
                    "type": "String"
                  },
                  "hasDynamicType": false,
                  "required": true,
                  "isConfigOverride": false,
                  "expressionSupport": "SUPPORTED",
                  "role": "BEHAVIOUR",
                  "dslConfiguration": {
                    "allowsInlineDefinition": true,
                    "allowsReferences": true,
                    "allowTopLevelDefinition": false
                  },
                  "layoutModel": {
                    "password": false,
                    "text": false,
                    "query": false,
                    "order": 2,
                    "tabName": "General"
                  },
                  "allowedStereotypeModels": [],
                  "name": "sourceKey",
                  "description": "the source object\u0027s key",
                  "modelProperties": {}
                },
                {
                  "type": {
                    "format": "java",
                    "type": "String"
                  },
                  "hasDynamicType": false,
                  "required": false,
                  "isConfigOverride": false,
                  "expressionSupport": "SUPPORTED",
                  "role": "BEHAVIOUR",
                  "dslConfiguration": {
                    "allowsInlineDefinition": true,
                    "allowsReferences": true,
                    "allowTopLevelDefinition": false
                  },
                  "layoutModel": {
                    "password": false,
                    "text": false,
                    "query": false,
                    "order": 3,
                    "tabName": "General"
                  },
                  "allowedStereotypeModels": [],
                  "name": "sourceVersionId",
                  "displayModel": {
                    "summary": "The specific version of the source object to copy, if versioning is enabled. "
                  },
                  "description": "the specific version of the source object to copy, if versioning is enabled.",
                  "modelProperties": {}
                },
                {
                  "type": {
                    "format": "java",
                    "type": "String"
                  },
                  "hasDynamicType": false,
                  "required": false,
                  "isConfigOverride": false,
                  "expressionSupport": "SUPPORTED",
                  "role": "BEHAVIOUR",
                  "dslConfiguration": {
                    "allowsInlineDefinition": true,
                    "allowsReferences": true,
                    "allowTopLevelDefinition": false
                  },
                  "layoutModel": {
                    "password": false,
                    "text": false,
                    "query": false,
                    "order": 4,
                    "tabName": "General"
                  },
                  "allowedStereotypeModels": [],
                  "name": "destinationBucketName",
                  "displayModel": {
                    "summary": "The destination object\u0027s bucket. If none provided, object is copied within the same bucket."
                  },
                  "description": "the destination object\u0027s bucket. If none provided, object is copied within the same bucket.",
                  "modelProperties": {}
                },
                {
                  "type": {
                    "format": "java",
                    "type": "String"
                  },
                  "hasDynamicType": false,
                  "required": true,
                  "isConfigOverride": false,
                  "expressionSupport": "SUPPORTED",
                  "role": "BEHAVIOUR",
                  "dslConfiguration": {
                    "allowsInlineDefinition": true,
                    "allowsReferences": true,
                    "allowTopLevelDefinition": false
                  },
                  "layoutModel": {
                    "password": false,
                    "text": false,
                    "query": false,
                    "order": 5,
                    "tabName": "General"
                  },
                  "allowedStereotypeModels": [],
                  "name": "destinationKey",
                  "description": "the destination object\u0027s key",
                  "modelProperties": {}
                },
                {
                  "type": {
                    "format": "java",
                    "type": "String",
                    "annotations": {
                      "typeId": "org.mule.extension.s3.api.model.CannedAccessControlList",
                      "enum": {
                        "type": "[Ljava.lang.String;",
                        "values": [
                          "PRIVATE",
                          "PUBLIC_READ",
                          "PUBLIC_READ_WRITE",
                          "AUTHENTICATED_READ",
                          "LOG_DELIVERY_WRITE",
                          "BUCKET_OWNER_READ",
                          "BUCKET_OWNER_FULL_CONTROL"
                        ]
                      }
                    }
                  },
                  "hasDynamicType": false,
                  "required": false,
                  "isConfigOverride": false,
                  "expressionSupport": "SUPPORTED",
                  "defaultValue": "PRIVATE",
                  "role": "BEHAVIOUR",
                  "dslConfiguration": {
                    "allowsInlineDefinition": true,
                    "allowsReferences": true,
                    "allowTopLevelDefinition": false
                  },
                  "layoutModel": {
                    "password": false,
                    "text": false,
                    "query": false,
                    "order": 6,
                    "tabName": "General"
                  },
                  "allowedStereotypeModels": [],
                  "name": "destinationAcl",
                  "displayModel": {
                    "displayName": "Canned ACL"
                  },
                  "description": "the acl of the destination object.",
                  "modelProperties": {}
                },
                {
                  "type": {
                    "format": "java",
                    "type": "String",
                    "annotations": {
                      "typeId": "org.mule.extension.s3.api.model.StorageClass",
                      "enum": {
                        "type": "[Ljava.lang.String;",
                        "values": [
                          "STANDARD",
                          "STANDARD_IA",
                          "INTELLIGENT_TIERING",
                          "ONEZONE_IA",
                          "REDUCED_REDUNDANCY",
                          "GLACIER"
                        ]
                      }
                    }
                  },
                  "hasDynamicType": false,
                  "required": false,
                  "isConfigOverride": false,
                  "expressionSupport": "SUPPORTED",
                  "defaultValue": "STANDARD",
                  "role": "BEHAVIOUR",
                  "dslConfiguration": {
                    "allowsInlineDefinition": true,
                    "allowsReferences": true,
                    "allowTopLevelDefinition": false
                  },
                  "layoutModel": {
                    "password": false,
                    "text": false,
                    "query": false,
                    "order": 7,
                    "tabName": "General"
                  },
                  "allowedStereotypeModels": [],
                  "name": "destinationStorageClass",
                  "displayModel": {
                    "summary": "One of {@link StorageClass} enumerated values, defaults to {@link StorageClass#STANDARD}"
                  },
                  "description": "one of StorageClass enumerated values, defaults to StorageClass#STANDARD",
                  "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",
                          "java.lang.String"
                        ],
                        "isMap": true
                      }
                    },
                    "open": {
                      "type": "String"
                    },
                    "fields": []
                  },
                  "hasDynamicType": false,
                  "required": false,
                  "isConfigOverride": false,
                  "expressionSupport": "SUPPORTED",
                  "role": "BEHAVIOUR",
                  "dslConfiguration": {
                    "allowsInlineDefinition": true,
                    "allowsReferences": true,
                    "allowTopLevelDefinition": false
                  },
                  "layoutModel": {
                    "password": false,
                    "text": false,
                    "query": false,
                    "order": 8,
                    "tabName": "General"
                  },
                  "allowedStereotypeModels": [],
                  "name": "destinationUserMetadata",
                  "displayModel": {
                    "summary": "The new metadata of the destination object. If specified, overrides that copied from the source object"
                  },
                  "description": "the new metadata of the destination object. If specified, overrides that copied from the source object",
                  "modelProperties": {}
                },
                {
                  "type": {
                    "format": "java",
                    "type": "DateTime",
                    "annotations": {
                      "typeId": "java.time.LocalDateTime"
                    }
                  },
                  "hasDynamicType": false,
                  "required": false,
                  "isConfigOverride": false,
                  "expressionSupport": "SUPPORTED",
                  "role": "BEHAVIOUR",
                  "dslConfiguration": {
                    "allowsInlineDefinition": true,
                    "allowsReferences": true,
                    "allowTopLevelDefinition": false
                  },
                  "layoutModel": {
                    "password": false,
                    "text": false,
                    "query": false,
                    "order": 9,
                    "tabName": "General"
                  },
                  "allowedStereotypeModels": [],
                  "name": "modifiedSince",
                  "displayModel": {
                    "summary": "The modified constraint that restricts this request to executing only if the object has been modified after the specified date. "
                  },
                  "description": "The modified constraint that restricts this request to executing only if the object has been modified after the specified date.",
                  "modelProperties": {}
                },
                {
                  "type": {
                    "format": "java",
                    "type": "DateTime",
                    "annotations": {
                      "typeId": "java.time.LocalDateTime"
                    }
                  },
                  "hasDynamicType": false,
                  "required": false,
                  "isConfigOverride": false,
                  "expressionSupport": "SUPPORTED",
                  "role": "BEHAVIOUR",
                  "dslConfiguration": {
                    "allowsInlineDefinition": true,
                    "allowsReferences": true,
                    "allowTopLevelDefinition": false
                  },
                  "layoutModel": {
                    "password": false,
                    "text": false,
                    "query": false,
                    "order": 10,
                    "tabName": "General"
                  },
                  "allowedStereotypeModels": [],
                  "name": "unmodifiedSince",
                  "displayModel": {
                    "summary": "The unmodified constraint that restricts this request to executing only if the object has not been modified after this date. "
                  },
                  "description": "The unmodified constraint that restricts this request to executing only if the object has not been modified after this date.",
                  "modelProperties": {}
                },
                {
                  "type": {
                    "format": "java",
                    "type": "String"
                  },
                  "hasDynamicType": false,
                  "required": false,
                  "isConfigOverride": false,
                  "expressionSupport": "SUPPORTED",
                  "role": "BEHAVIOUR",
                  "dslConfiguration": {
                    "allowsInlineDefinition": true,
                    "allowsReferences": true,
                    "allowTopLevelDefinition": false
                  },
                  "layoutModel": {
                    "password": false,
                    "text": false,
                    "query": false,
                    "order": 11,
                    "tabName": "General"
                  },
                  "allowedStereotypeModels": [],
                  "name": "encryption",
                  "description": "Encryption method for server-side encryption. Supported value AES256.",
                  "modelProperties": {}
                },
                {
                  "type": {
                    "format": "java",
                    "type": "String"
                  },
                  "hasDynamicType": false,
                  "required": false,
                  "isConfigOverride": false,
                  "expressionSupport": "SUPPORTED",
                  "role": "BEHAVIOUR",
                  "dslConfiguration": {
                    "allowsInlineDefinition": true,
                    "allowsReferences": true,
                    "allowTopLevelDefinition": false
                  },
                  "layoutModel": {
                    "password": false,
                    "text": false,
                    "query": false,
                    "order": 12,
                    "tabName": "General"
                  },
                  "allowedStereotypeModels": [],
                  "name": "contentType",
                  "description": "the destination object\u0027s Content-Type HTTP header",
                  "modelProperties": {}
                }
              ],
              "exclusiveParametersModels": [],
              "layoutModel": {
                "password": false,
                "text": false,
                "query": false,
                "order": 1
              },
              "showInDsl": false,
              "name": "General",
              "description": "",
              "modelProperties": {}
            },
            {
              "parameters": [
                {
                  "type": {
                    "format": "java",
                    "type": "String"
                  },
                  "hasDynamicType": false,
                  "required": false,
                  "isConfigOverride": false,
                  "expressionSupport": "NOT_SUPPORTED",
                  "role": "BEHAVIOUR",
                  "dslConfiguration": {
                    "allowsInlineDefinition": true,
                    "allowsReferences": true,
                    "allowTopLevelDefinition": false
                  },
                  "layoutModel": {
                    "password": false,
                    "text": false,
                    "query": false,
                    "order": 13,
                    "tabName": "Advanced"
                  },
                  "allowedStereotypeModels": [],
                  "name": "target",
                  "displayModel": {
                    "displayName": "Target Variable"
                  },
                  "description": "The name of a variable on which the operation\u0027s output will be placed",
                  "modelProperties": {}
                },
                {
                  "type": {
                    "format": "java",
                    "type": "String"
                  },
                  "hasDynamicType": false,
                  "required": false,
                  "isConfigOverride": false,
                  "expressionSupport": "REQUIRED",
                  "defaultValue": "#[payload]",
                  "role": "BEHAVIOUR",
                  "dslConfiguration": {
                    "allowsInlineDefinition": true,
                    "allowsReferences": true,
                    "allowTopLevelDefinition": false
                  },
                  "layoutModel": {
                    "password": false,
                    "text": false,
                    "query": false,
                    "order": 14,
                    "tabName": "Advanced"
                  },
                  "allowedStereotypeModels": [],
                  "name": "targetValue",
                  "displayModel": {
                    "displayName": "Target Value"
                  },
                  "description": "An expression that will be evaluated against the operation\u0027s output and the outcome of that expression will be stored in the target variable",
                  "modelProperties": {}
                }
              ],
              "exclusiveParametersModels": [],
              "layoutModel": {
                "password": false,
                "text": false,
                "query": false,
                "order": 2
              },
              "showInDsl": false,
              "name": "Output",
              "description": "",
              "modelProperties": {}
            },
            {
              "parameters": [
                {
                  "type": {
                    "format": "java",
                    "type": "Union",
                    "annotations": {
                      "typeId": "ReconnectionStrategy"
                    },
                    "of": [
                      {
                        "type": "Object",
                        "annotations": {
                          "typeId": "reconnect"
                        },
                        "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": [
                                    "java.lang.Comparable"
                                  ],
                                  "parent": "java.lang.Number",
                                  "genericTypes": [],
                                  "isMap": false
                                },
                                "default": "2000"
                              }
                            },
                            "annotations": {
                              "description": {
                                "value": "How often (in ms) to reconnect"
                              }
                            }
                          },
                          {
                            "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"
                        },
                        "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": [
                                    "java.lang.Comparable"
                                  ],
                                  "parent": "java.lang.Number",
                                  "genericTypes": [],
                                  "isMap": false
                                },
                                "default": "2000"
                              }
                            },
                            "annotations": {
                              "description": {
                                "value": "How often (in ms) to reconnect"
                              }
                            }
                          }
                        ]
                      }
                    ]
                  },
                  "hasDynamicType": false,
                  "required": false,
                  "isConfigOverride": false,
                  "expressionSupport": "NOT_SUPPORTED",
                  "role": "BEHAVIOUR",
                  "dslConfiguration": {
                    "allowsInlineDefinition": true,
                    "allowsReferences": false,
                    "allowTopLevelDefinition": false
                  },
                  "layoutModel": {
                    "password": false,
                    "text": false,
                    "query": false,
                    "order": 15,
                    "tabName": "Advanced"
                  },
                  "allowedStereotypeModels": [],
                  "name": "reconnectionStrategy",
                  "description": "A retry strategy in case of connectivity errors",
                  "modelProperties": {
                    "org.mule.runtime.extension.api.property.QNameModelProperty": {
                      "value": {
                        "namespaceURI": "http://www.mulesoft.org/schema/mule/core",
                        "localPart": "abstract-reconnection-strategy",
                        "prefix": "mule"
                      }
                    },
                    "org.mule.runtime.extension.api.property.InfrastructureParameterModelProperty": {
                      "sequence": 3
                    }
                  }
                }
              ],
              "exclusiveParametersModels": [],
              "layoutModel": {
                "password": false,
                "text": false,
                "query": false,
                "order": 3
              },
              "showInDsl": false,
              "name": "Connection",
              "description": "",
              "modelProperties": {}
            }
          ],
          "name": "copyObject",
          "description": "Copies a source object to a new destination; to copy an object, the caller\u0027s account must have read access to the source object and write access to the destination bucket. By default, all object metadata for the source object are copied to the new destination object, unless new object metadata in the specified is provided. The AccessControlList is not copied to the new object, and, unless another ACL specified, PRIVATE is assumed. If no destination bucket is specified, the same that the source bucket is used - local copy. Destination object\u0027s Content-Type http header would be set with the specified value and if it is passed null, then the default MIME type \u0027application/octet-stream\u0027 would be set.",
          "modelProperties": {},
          "kind": "operation"
        },
        {
          "blocking": true,
          "executionType": "BLOCKING",
          "output": {
            "type": {
              "format": "java",
              "type": "@ref:org.mule.extension.s3.api.model.Bucket"
            },
            "hasDynamicType": false,
            "description": "",
            "modelProperties": {}
          },
          "outputAttributes": {
            "type": {
              "format": "java",
              "type": "Void"
            },
            "hasDynamicType": false,
            "description": "",
            "modelProperties": {}
          },
          "transactional": false,
          "requiresConnection": true,
          "supportsStreaming": false,
          "notifications": [],
          "nestedComponents": [],
          "errors": [
            "S3:INVALID_RANGE",
            "S3:SERVICE_UNAVAILABLE",
            "S3:REQUEST_TIME_TOO_SKEWED",
            "S3:REDIRECT",
            "S3:INVALID_STORAGE_CLASS",
            "S3:MAX_MESSAGE_LENGTH_EXCEEDED",
            "S3:REQUEST_IS_NOT_MULTI_PART_CONTENT",
            "S3:UNEXPECTED_CONTENT",
            "S3:ENTITY_TOO_SMALL",
            "S3:NO_SUCH_BUCKET",
            "S3:INVALID_PART",
            "S3:INVALID_SOAP_REQUEST",
            "S3:NO_SUCH_VERSION",
            "S3:METADATA_TOO_LARGE",
            "S3:PRECONDITION_FAILED",
            "S3:BUCKET_ALREADY_EXISTS",
            "S3:AMBIGUOUS_GRANT_BY_EMAIL_ADDRESS",
            "S3:MISSING_SECURITY_ELEMENT",
            "S3:INVALID_URI",
            "S3:NOT_SIGNED_UP",
            "S3:INVALID_ADDRESSING_HEADER",
            "S3:MAX_POST_PRE_DATA_LENGTH_EXCEEDED_ERROR",
            "S3:ILLEGAL_VERSIONING_CONFIGURATION_EXCEPTION",
            "S3:INVALID_PAYER",
            "S3:NO_SUCH_BUCKET_POLICY",
            "S3:INVALID_SECURITY",
            "S3:OPERATION_ABORTED",
            "S3:INVALID_ACCESS_KEY_ID",
            "S3:INVALID_LOCATION_CONSTRAINT",
            "S3:INLINE_DATA_TOO_LARGE",
            "S3:SIGNATURE_DOES_NOT_MATCH",
            "S3:UNRESOLVABLE_GRANT_BY_EMAIL_ADDRESS",
            "S3:NO_SUCH_LIFECYCLE_CONFIGURATION",
            "S3:KEY_TOO_LONG",
            "S3:INVALID_BUCKET_NAME",
            "S3:INVALID_TOKEN",
            "S3:TEMPORARY_REDIRECT",
            "S3:BUCKET_NOT_EMPTY",
            "S3:BAD_DIGEST",
            "S3:CROSS_LOCATION_LOGGING_PROHIBITED",
            "S3:MALFORMED_POST_REQUEST",
            "S3:REQUEST_TIMEOUT",
            "S3:TOO_MANY_BUCKETS",
            "S3:NO_SUCH_KEY",
            "S3:MISSING_ATTACHMENT",
            "S3:INVALID_BUCKET_STATE",
            "S3:RETRY_EXHAUSTED",
            "S3:INVALID_PART_ORDER",
            "S3:INVALID_RESPONSE_PRESIGNEDURL_MALFORMED",
            "S3:INVALID_POLICY_DOCUMENT",
            "S3:MALFORMED_XML",
            "S3:ACCOUNT_PROBLEM",
            "S3:USER_KEY_MUST_BE_SPECIFIED",
            "S3:MISSING_CONTENT_LENGTH",
            "S3:INVALID_DIGEST",
            "S3:ACCESS_DENIED",
            "S3:MISSING_REQUEST_BODY_ERROR",
            "S3:REQUEST_TORRENT_OF_BUCKET_ERROR",
            "S3:TOKEN_REFRESH_REQUIRED",
            "S3:NO_LOGGING_STATUS_FOR_KEY",
            "S3:RESTORE_ALREADY_IN_PROGRESS",
            "S3:INVALID_OBJECT_STATE",
            "S3:CONNECTIVITY",
            "S3:INVALID_ENCRYPTION_ALGORITHM_ERROR",
            "S3:PERMANENT_REDIRECT",
            "S3:INVALID_REQUEST",
            "S3:INCORRECT_NUMBER_OF_FILES_IN_POST_REQUEST",
            "S3:UNKNOWN",
            "S3:MALFORMED_ACL_ERROR",
            "S3:CREDENTIALS_NOT_SUPPORTED",
            "S3:NOT_IMPLEMENTED",
            "S3:INVALID_ARGUMENT",
            "S3:INVALID_TARGET_BUCKET_FOR_LOGGING",
            "S3:NO_SUCH_UPLOAD",
            "S3:INTERNAL_ERROR",
            "S3:SLOW_DOWN",
            "S3:ENTITY_TOO_LARGE",
            "S3:METHOD_NOT_ALLOWED",
            "S3:EXPIRED_TOKEN",
            "S3:MISSING_SECURITY_HEADER",
            "S3:BUCKET_ALREADY_OWNED_BY_YOU",
            "S3:INCOMPLETE_BODY"
          ],
          "stereotype": {
            "type": "PROCESSOR",
            "namespace": "MULE"
          },
          "parameterGroupModels": [
            {
              "parameters": [
                {
                  "type": {
                    "format": "java",
                    "type": "String"
                  },
                  "hasDynamicType": false,
                  "required": true,
                  "isConfigOverride": false,
                  "expressionSupport": "SUPPORTED",
                  "role": "BEHAVIOUR",
                  "dslConfiguration": {
                    "allowsInlineDefinition": true,
                    "allowsReferences": true,
                    "allowTopLevelDefinition": false
                  },
                  "layoutModel": {
                    "password": false,
                    "text": false,
                    "query": false,
                    "order": 1
                  },
                  "allowedStereotypeModels": [],
                  "name": "bucketName",
                  "description": "The bucket to create. It must not exist yet.",
                  "modelProperties": {}
                },
                {
                  "type": {
                    "format": "java",
                    "type": "String"
                  },
                  "hasDynamicType": false,
                  "required": false,
                  "isConfigOverride": false,
                  "valueProviderModel": {
                    "actingParameters": [],
                    "partOrder": 1,
                    "providerName": "region",
                    "requiresConfiguration": false,
                    "requiresConnection": false,
                    "isOpen": true
                  },
                  "expressionSupport": "SUPPORTED",
                  "defaultValue": "US_STANDARD",
                  "role": "BEHAVIOUR",
                  "dslConfiguration": {
                    "allowsInlineDefinition": true,
                    "allowsReferences": true,
                    "allowTopLevelDefinition": false
                  },
                  "layoutModel": {
                    "password": false,
                    "text": false,
                    "query": false,
                    "order": 2
                  },
                  "allowedStereotypeModels": [],
                  "name": "region",
                  "description": "the region where to create the new bucket",
                  "modelProperties": {}
                },
                {
                  "type": {
                    "format": "java",
                    "type": "String",
                    "annotations": {
                      "typeId": "org.mule.extension.s3.api.model.CannedAccessControlList",
                      "enum": {
                        "type": "[Ljava.lang.String;",
                        "values": [
                          "PRIVATE",
                          "PUBLIC_READ",
                          "PUBLIC_READ_WRITE",
                          "AUTHENTICATED_READ",
                          "LOG_DELIVERY_WRITE",
                          "BUCKET_OWNER_READ",
                          "BUCKET_OWNER_FULL_CONTROL"
                        ]
                      }
                    }
                  },
                  "hasDynamicType": false,
                  "required": false,
                  "isConfigOverride": false,
                  "expressionSupport": "SUPPORTED",
                  "defaultValue": "PRIVATE",
                  "role": "BEHAVIOUR",
                  "dslConfiguration": {
                    "allowsInlineDefinition": true,
                    "allowsReferences": true,
                    "allowTopLevelDefinition": false
                  },
                  "layoutModel": {
                    "password": false,
                    "text": false,
                    "query": false,
                    "order": 3
                  },
                  "allowedStereotypeModels": [],
                  "name": "acl",
                  "displayModel": {
                    "displayName": "Canned ACL"
                  },
                  "description": "the access control list of the new bucket",
                  "modelProperties": {}
                }
              ],
              "exclusiveParametersModels": [],
              "layoutModel": {
                "password": false,
                "text": false,
                "query": false,
                "order": 1
              },
              "showInDsl": false,
              "name": "General",
              "description": "",
              "modelProperties": {}
            },
            {
              "parameters": [
                {
                  "type": {
                    "format": "java",
                    "type": "String"
                  },
                  "hasDynamicType": false,
                  "required": false,
                  "isConfigOverride": false,
                  "expressionSupport": "NOT_SUPPORTED",
                  "role": "BEHAVIOUR",
                  "dslConfiguration": {
                    "allowsInlineDefinition": true,
                    "allowsReferences": true,
                    "allowTopLevelDefinition": false
                  },
                  "layoutModel": {
                    "password": false,
                    "text": false,
                    "query": false,
                    "order": 4,
                    "tabName": "Advanced"
                  },
                  "allowedStereotypeModels": [],
                  "name": "target",
                  "displayModel": {
                    "displayName": "Target Variable"
                  },
                  "description": "The name of a variable on which the operation\u0027s output will be placed",
                  "modelProperties": {}
                },
                {
                  "type": {
                    "format": "java",
                    "type": "String"
                  },
                  "hasDynamicType": false,
                  "required": false,
                  "isConfigOverride": false,
                  "expressionSupport": "REQUIRED",
                  "defaultValue": "#[payload]",
                  "role": "BEHAVIOUR",
                  "dslConfiguration": {
                    "allowsInlineDefinition": true,
                    "allowsReferences": true,
                    "allowTopLevelDefinition": false
                  },
                  "layoutModel": {
                    "password": false,
                    "text": false,
                    "query": false,
                    "order": 5,
                    "tabName": "Advanced"
                  },
                  "allowedStereotypeModels": [],
                  "name": "targetValue",
                  "displayModel": {
                    "displayName": "Target Value"
                  },
                  "description": "An expression that will be evaluated against the operation\u0027s output and the outcome of that expression will be stored in the target variable",
                  "modelProperties": {}
                }
              ],
              "exclusiveParametersModels": [],
              "layoutModel": {
                "password": false,
                "text": false,
                "query": false,
                "order": 2
              },
              "showInDsl": false,
              "name": "Output",
              "description": "",
              "modelProperties": {}
            },
            {
              "parameters": [
                {
                  "type": {
                    "format": "java",
                    "type": "Union",
                    "annotations": {
                      "typeId": "ReconnectionStrategy"
                    },
                    "of": [
                      {
                        "type": "Object",
                        "annotations": {
                          "typeId": "reconnect"
                        },
                        "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": [
                                    "java.lang.Comparable"
                                  ],
                                  "parent": "java.lang.Number",
                                  "genericTypes": [],
                                  "isMap": false
                                },
                                "default": "2000"
                              }
                            },
                            "annotations": {
                              "description": {
                                "value": "How often (in ms) to reconnect"
                              }
                            }
                          },
                          {
                            "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"
                        },
                        "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": [
                                    "java.lang.Comparable"
                                  ],
                                  "parent": "java.lang.Number",
                                  "genericTypes": [],
                                  "isMap": false
                                },
                                "default": "2000"
                              }
                            },
                            "annotations": {
                              "description": {
                                "value": "How often (in ms) to reconnect"
                              }
                            }
                          }
                        ]
                      }
                    ]
                  },
                  "hasDynamicType": false,
                  "required": false,
                  "isConfigOverride": false,
                  "expressionSupport": "NOT_SUPPORTED",
                  "role": "BEHAVIOUR",
                  "dslConfiguration": {
                    "allowsInlineDefinition": true,
                    "allowsReferences": false,
                    "allowTopLevelDefinition": false
                  },
                  "layoutModel": {
                    "password": false,
                    "text": false,
                    "query": false,
                    "order": 6,
                    "tabName": "Advanced"
                  },
                  "allowedStereotypeModels": [],
                  "name": "reconnectionStrategy",
                  "description": "A retry strategy in case of connectivity errors",
                  "modelProperties": {
                    "org.mule.runtime.extension.api.property.QNameModelProperty": {
                      "value": {
                        "namespaceURI": "http://www.mulesoft.org/schema/mule/core",
                        "localPart": "abstract-reconnection-strategy",
                        "prefix": "mule"
                      }
                    },
                    "org.mule.runtime.extension.api.property.InfrastructureParameterModelProperty": {
                      "sequence": 3
                    }
                  }
                }
              ],
              "exclusiveParametersModels": [],
              "layoutModel": {
                "password": false,
                "text": false,
                "query": false,
                "order": 3
              },
              "showInDsl": false,
              "name": "Connection",
              "description": "",
              "modelProperties": {}
            }
          ],
          "name": "createBucket",
          "description": "Creates a new bucket; connector must not be configured as anonymous for this operation to succeed. Bucket names must be unique across all of Amazon S3, that is, among all their users. Bucket ownership is similar to the ownership of Internet domain names. Within Amazon S3, only a single user owns each bucket. Once a uniquely named bucket is created in Amazon S3, organize and name the objects within the bucket in any way. Ownership of the bucket is retained as long as the owner has an Amazon S3 account. To conform with DNS requirements, buckets names must: not contain underscores, be between 3 and 63 characters long, not end with a dash, not contain adjacent periods, not contain dashes next to periods and not contain uppercase characters. Do not make bucket create or delete calls in the high availability code path of an application. Create or delete buckets in a separate initialization or setup.",
          "modelProperties": {},
          "kind": "operation"
        },
        {
          "blocking": true,
          "executionType": "BLOCKING",
          "output": {
            "type": {
              "format": "java",
              "type": "@ref:org.mule.extension.s3.api.model.ObjectResult"
            },
            "hasDynamicType": false,
            "description": "",
            "modelProperties": {}
          },
          "outputAttributes": {
            "type": {
              "format": "java",
              "type": "Void"
            },
            "hasDynamicType": false,
            "description": "",
            "modelProperties": {}
          },
          "transactional": false,
          "requiresConnection": true,
          "supportsStreaming": false,
          "notifications": [],
          "nestedComponents": [],
          "errors": [
            "S3:INVALID_RANGE",
            "S3:SERVICE_UNAVAILABLE",
            "S3:REQUEST_TIME_TOO_SKEWED",
            "S3:REDIRECT",
            "S3:INVALID_STORAGE_CLASS",
            "S3:MAX_MESSAGE_LENGTH_EXCEEDED",
            "S3:REQUEST_IS_NOT_MULTI_PART_CONTENT",
            "S3:UNEXPECTED_CONTENT",
            "S3:ENTITY_TOO_SMALL",
            "S3:NO_SUCH_BUCKET",
            "S3:INVALID_PART",
            "S3:INVALID_SOAP_REQUEST",
            "S3:NO_SUCH_VERSION",
            "S3:METADATA_TOO_LARGE",
            "S3:PRECONDITION_FAILED",
            "S3:BUCKET_ALREADY_EXISTS",
            "S3:AMBIGUOUS_GRANT_BY_EMAIL_ADDRESS",
            "S3:MISSING_SECURITY_ELEMENT",
            "S3:INVALID_URI",
            "S3:NOT_SIGNED_UP",
            "S3:INVALID_ADDRESSING_HEADER",
            "S3:MAX_POST_PRE_DATA_LENGTH_EXCEEDED_ERROR",
            "S3:ILLEGAL_VERSIONING_CONFIGURATION_EXCEPTION",
            "S3:INVALID_PAYER",
            "S3:NO_SUCH_BUCKET_POLICY",
            "S3:INVALID_SECURITY",
            "S3:OPERATION_ABORTED",
            "S3:INVALID_ACCESS_KEY_ID",
            "S3:INVALID_LOCATION_CONSTRAINT",
            "S3:INLINE_DATA_TOO_LARGE",
            "S3:SIGNATURE_DOES_NOT_MATCH",
            "S3:UNRESOLVABLE_GRANT_BY_EMAIL_ADDRESS",
            "S3:NO_SUCH_LIFECYCLE_CONFIGURATION",
            "S3:KEY_TOO_LONG",
            "S3:INVALID_BUCKET_NAME",
            "S3:INVALID_TOKEN",
            "S3:TEMPORARY_REDIRECT",
            "S3:BUCKET_NOT_EMPTY",
            "S3:BAD_DIGEST",
            "S3:CROSS_LOCATION_LOGGING_PROHIBITED",
            "S3:MALFORMED_POST_REQUEST",
            "S3:REQUEST_TIMEOUT",
            "S3:TOO_MANY_BUCKETS",
            "S3:NO_SUCH_KEY",
            "S3:MISSING_ATTACHMENT",
            "S3:INVALID_BUCKET_STATE",
            "S3:RETRY_EXHAUSTED",
            "S3:INVALID_PART_ORDER",
            "S3:INVALID_RESPONSE_PRESIGNEDURL_MALFORMED",
            "S3:INVALID_POLICY_DOCUMENT",
            "S3:MALFORMED_XML",
            "S3:ACCOUNT_PROBLEM",
            "S3:USER_KEY_MUST_BE_SPECIFIED",
            "S3:MISSING_CONTENT_LENGTH",
            "S3:INVALID_DIGEST",
            "S3:ACCESS_DENIED",
            "S3:MISSING_REQUEST_BODY_ERROR",
            "S3:REQUEST_TORRENT_OF_BUCKET_ERROR",
            "S3:TOKEN_REFRESH_REQUIRED",
            "S3:NO_LOGGING_STATUS_FOR_KEY",
            "S3:RESTORE_ALREADY_IN_PROGRESS",
            "S3:INVALID_OBJECT_STATE",
            "S3:CONNECTIVITY",
            "S3:INVALID_ENCRYPTION_ALGORITHM_ERROR",
            "S3:PERMANENT_REDIRECT",
            "S3:INVALID_REQUEST",
            "S3:INCORRECT_NUMBER_OF_FILES_IN_POST_REQUEST",
            "S3:UNKNOWN",
            "S3:MALFORMED_ACL_ERROR",
            "S3:CREDENTIALS_NOT_SUPPORTED",
            "S3:NOT_IMPLEMENTED",
            "S3:INVALID_ARGUMENT",
            "S3:INVALID_TARGET_BUCKET_FOR_LOGGING",
            "S3:NO_SUCH_UPLOAD",
            "S3:INTERNAL_ERROR",
            "S3:SLOW_DOWN",
            "S3:ENTITY_TOO_LARGE",
            "S3:METHOD_NOT_ALLOWED",
            "S3:EXPIRED_TOKEN",
            "S3:MISSING_SECURITY_HEADER",
            "S3:BUCKET_ALREADY_OWNED_BY_YOU",
            "S3:INCOMPLETE_BODY"
          ],
          "stereotype": {
            "type": "PROCESSOR",
            "namespace": "MULE"
          },
          "parameterGroupModels": [
            {
              "parameters": [
                {
                  "type": {
                    "format": "java",
                    "type": "String"
                  },
                  "hasDynamicType": false,
                  "required": true,
                  "isConfigOverride": false,
                  "expressionSupport": "SUPPORTED",
                  "role": "BEHAVIOUR",
                  "dslConfiguration": {
                    "allowsInlineDefinition": true,
                    "allowsReferences": true,
                    "allowTopLevelDefinition": false
                  },
                  "layoutModel": {
                    "password": false,
                    "text": false,
                    "query": false,
                    "order": 1
                  },
                  "allowedStereotypeModels": [],
                  "name": "bucketName",
                  "description": "the object\u0027s bucket",
                  "modelProperties": {}
                },
                {
                  "type": {
                    "format": "java",
                    "type": "String"
                  },
                  "hasDynamicType": false,
                  "required": true,
                  "isConfigOverride": false,
                  "expressionSupport": "SUPPORTED",
                  "role": "BEHAVIOUR",
                  "dslConfiguration": {
                    "allowsInlineDefinition": true,
                    "allowsReferences": true,
                    "allowTopLevelDefinition": false
                  },
                  "layoutModel": {
                    "password": false,
                    "text": false,
                    "query": false,
                    "order": 2
                  },
                  "allowedStereotypeModels": [],
                  "name": "key",
                  "description": "the object\u0027s key",
                  "modelProperties": {}
                },
                {
                  "type": {
                    "format": "java",
                    "type": "Binary",
                    "annotations": {
                      "classInformation": {
                        "classname": "java.io.InputStream",
                        "hasDefaultConstructor": true,
                        "isInterface": false,
                        "isInstantiable": false,
                        "isAbstract": true,
                        "isFinal": false,
                        "implementedInterfaces": [
                          "java.io.Closeable"
                        ],
                        "parent": "",
                        "genericTypes": [],
                        "isMap": false
                      }
                    }
                  },
                  "hasDynamicType": false,
                  "required": false,
                  "isConfigOverride": false,
                  "expressionSupport": "SUPPORTED",
                  "defaultValue": "#[payload]",
                  "role": "PRIMARY_CONTENT",
                  "dslConfiguration": {
                    "allowsInlineDefinition": true,
                    "allowsReferences": false,
                    "allowTopLevelDefinition": false
                  },
                  "layoutModel": {
                    "password": false,
                    "text": false,
                    "query": false,
                    "order": 3
                  },
                  "allowedStereotypeModels": [],
                  "name": "objectContent",
                  "displayModel": {
                    "summary": "The content to be uploaded to S3, capable of creating a {@link PutObjectRequest}."
                  },
                  "description": "the content to be uploaded to S3, capable of creating a PutObjectRequest.",
                  "modelProperties": {}
                },
                {
                  "type": {
                    "format": "java",
                    "type": "String",
                    "annotations": {
                      "typeId": "org.mule.extension.s3.api.model.CannedAccessControlList",
                      "enum": {
                        "type": "[Ljava.lang.String;",
                        "values": [
                          "PRIVATE",
                          "PUBLIC_READ",
                          "PUBLIC_READ_WRITE",
                          "AUTHENTICATED_READ",
                          "LOG_DELIVERY_WRITE",
                          "BUCKET_OWNER_READ",
                          "BUCKET_OWNER_FULL_CONTROL"
                        ]
                      }
                    }
                  },
                  "hasDynamicType": false,
                  "required": false,
                  "isConfigOverride": false,
                  "expressionSupport": "SUPPORTED",
                  "defaultValue": "PRIVATE",
                  "role": "BEHAVIOUR",
                  "dslConfiguration": {
                    "allowsInlineDefinition": true,
                    "allowsReferences": true,
                    "allowTopLevelDefinition": false
                  },
                  "layoutModel": {
                    "password": false,
                    "text": false,
                    "query": false,
                    "order": 4
                  },
                  "allowedStereotypeModels": [],
                  "name": "acl",
                  "displayModel": {
                    "displayName": "Canned ACL"
                  },
                  "description": "the access control list of the new object",
                  "modelProperties": {}
                },
                {
                  "type": {
                    "format": "java",
                    "type": "String"
                  },
                  "hasDynamicType": false,
                  "required": false,
                  "isConfigOverride": false,
                  "expressionSupport": "SUPPORTED",
                  "role": "BEHAVIOUR",
                  "dslConfiguration": {
                    "allowsInlineDefinition": true,
                    "allowsReferences": true,
                    "allowTopLevelDefinition": false
                  },
                  "layoutModel": {
                    "password": false,
                    "text": false,
                    "query": false,
                    "order": 5
                  },
                  "allowedStereotypeModels": [],
                  "name": "kmsMasterKey",
                  "description": "Encrypt objects uploaded to S3 buckets with AWS KMS master key",
                  "modelProperties": {}
                }
              ],
              "exclusiveParametersModels": [],
              "layoutModel": {
                "password": false,
                "text": false,
                "query": false,
                "order": 1
              },
              "showInDsl": false,
              "name": "General",
              "description": "",
              "modelProperties": {}
            },
            {
              "parameters": [
                {
                  "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",
                          "java.lang.String"
                        ],
                        "isMap": true
                      }
                    },
                    "open": {
                      "type": "String"
                    },
                    "fields": []
                  },
                  "hasDynamicType": false,
                  "required": false,
                  "isConfigOverride": false,
                  "expressionSupport": "SUPPORTED",
                  "role": "BEHAVIOUR",
                  "dslConfiguration": {
                    "allowsInlineDefinition": true,
                    "allowsReferences": true,
                    "allowTopLevelDefinition": false
                  },
                  "layoutModel": {
                    "password": false,
                    "text": false,
                    "query": false,
                    "order": 6
                  },
                  "allowedStereotypeModels": [],
                  "name": "userMetadata",
                  "description": "",
                  "modelProperties": {}
                },
                {
                  "type": {
                    "format": "java",
                    "type": "DateTime",
                    "annotations": {
                      "typeId": "java.time.LocalDateTime"
                    }
                  },
                  "hasDynamicType": false,
                  "required": false,
                  "isConfigOverride": false,
                  "expressionSupport": "SUPPORTED",
                  "role": "BEHAVIOUR",
                  "dslConfiguration": {
                    "allowsInlineDefinition": true,
                    "allowsReferences": true,
                    "allowTopLevelDefinition": false
                  },
                  "layoutModel": {
                    "password": false,
                    "text": false,
                    "query": false,
                    "order": 7
                  },
                  "allowedStereotypeModels": [],
                  "name": "lastModified",
                  "description": "",
                  "modelProperties": {}
                },
                {
                  "type": {
                    "format": "java",
                    "type": "Number",
                    "annotations": {
                      "classInformation": {
                        "classname": "java.lang.Long",
                        "hasDefaultConstructor": false,
                        "isInterface": false,
                        "isInstantiable": false,
                        "isAbstract": false,
                        "isFinal": true,
                        "implementedInterfaces": [
                          "java.lang.Comparable"
                        ],
                        "parent": "java.lang.Number",
                        "genericTypes": [],
                        "isMap": false
                      },
                      "int": {}
                    }
                  },
                  "hasDynamicType": false,
                  "required": false,
                  "isConfigOverride": false,
                  "expressionSupport": "SUPPORTED",
                  "defaultValue": "0",
                  "role": "BEHAVIOUR",
                  "dslConfiguration": {
                    "allowsInlineDefinition": true,
                    "allowsReferences": true,
                    "allowTopLevelDefinition": false
                  },
                  "layoutModel": {
                    "password": false,
                    "text": false,
                    "query": false,
                    "order": 8
                  },
                  "allowedStereotypeModels": [],
                  "name": "contentLength",
                  "displayModel": {
                    "summary": "The Content-Length HTTP header indicating the size of the associated object in bytes.",
                    "example": "3495"
                  },
                  "description": "",
                  "modelProperties": {}
                },
                {
                  "type": {
                    "format": "java",
                    "type": "String"
                  },
                  "hasDynamicType": false,
                  "required": false,
                  "isConfigOverride": false,
                  "expressionSupport": "SUPPORTED",
                  "role": "BEHAVIOUR",
                  "dslConfiguration": {
                    "allowsInlineDefinition": true,
                    "allowsReferences": true,
                    "allowTopLevelDefinition": false
                  },
                  "layoutModel": {
                    "password": false,
                    "text": false,
                    "query": false,
                    "order": 9
                  },
                  "allowedStereotypeModels": [],
                  "name": "contentType",
                  "displayModel": {
                    "summary": "The Content-Type HTTP header indicating the type of content stored in the associated object.",
                    "example": "text/html; charset\u003dISO-8859-4"
                  },
                  "description": "",
                  "modelProperties": {}
                },
                {
                  "type": {
                    "format": "java",
                    "type": "String"
                  },
                  "hasDynamicType": false,
                  "required": false,
                  "isConfigOverride": false,
                  "expressionSupport": "SUPPORTED",
                  "role": "BEHAVIOUR",
                  "dslConfiguration": {
                    "allowsInlineDefinition": true,
                    "allowsReferences": true,
                    "allowTopLevelDefinition": false
                  },
                  "layoutModel": {
                    "password": false,
                    "text": false,
                    "query": false,
                    "order": 10
                  },
                  "allowedStereotypeModels": [],
                  "name": "contentLanguage",
                  "displayModel": {
                    "summary": "The Content-Language HTTP header which describes the natural language(s) of the intended audience for the enclosed entity.",
                    "example": "en"
                  },
                  "description": "",
                  "modelProperties": {}
                },
                {
                  "type": {
                    "format": "java",
                    "type": "String"
                  },
                  "hasDynamicType": false,
                  "required": false,
                  "isConfigOverride": false,
                  "expressionSupport": "SUPPORTED",
                  "role": "BEHAVIOUR",
                  "dslConfiguration": {
                    "allowsInlineDefinition": true,
                    "allowsReferences": true,
                    "allowTopLevelDefinition": false
                  },
                  "layoutModel": {
                    "password": false,
                    "text": false,
                    "query": false,
                    "order": 11
                  },
                  "allowedStereotypeModels": [],
                  "name": "contentEncoding",
                  "displayModel": {
                    "summary": "The optional Content-Encoding HTTP header specifying what content encodings have been applied to the object and what decoding mechanisms must be applied in order to obtain the media-type referenced by the Content-Type field.",
                    "example": "gzip"
                  },
                  "description": "",
                  "modelProperties": {}
                },
                {
                  "type": {
                    "format": "java",
                    "type": "String"
                  },
                  "hasDynamicType": false,
                  "required": false,
                  "isConfigOverride": false,
                  "expressionSupport": "SUPPORTED",
                  "role": "BEHAVIOUR",
                  "dslConfiguration": {
                    "allowsInlineDefinition": true,
                    "allowsReferences": true,
                    "allowTopLevelDefinition": false
                  },
                  "layoutModel": {
                    "password": false,
                    "text": false,
                    "query": false,
                    "order": 12
                  },
                  "allowedStereotypeModels": [],
                  "name": "cacheControl",
                  "displayModel": {
                    "summary": "The optional Cache-Control HTTP header which allows the user to specify caching behavior along the HTTP request/reply chain.",
                    "example": "public, max-age\u003d31536000"
                  },
                  "description": "",
                  "modelProperties": {}
                },
                {
                  "type": {
                    "format": "java",
                    "type": "String"
                  },
                  "hasDynamicType": false,
                  "required": false,
                  "isConfigOverride": false,
                  "expressionSupport": "SUPPORTED",
                  "role": "BEHAVIOUR",
                  "dslConfiguration": {
                    "allowsInlineDefinition": true,
                    "allowsReferences": true,
                    "allowTopLevelDefinition": false
                  },
                  "layoutModel": {
                    "password": false,
                    "text": false,
                    "query": false,
                    "order": 13
                  },
                  "allowedStereotypeModels": [],
                  "name": "contentMD5",
                  "displayModel": {
                    "summary": "The base64 encoded 128-bit MD5 digest of the associated object (content - not including headers) according to RFC 1864.",
                    "example": "md5-digest"
                  },
                  "description": "",
                  "modelProperties": {}
                },
                {
                  "type": {
                    "format": "java",
                    "type": "String"
                  },
                  "hasDynamicType": false,
                  "required": false,
                  "isConfigOverride": false,
                  "expressionSupport": "SUPPORTED",
                  "role": "BEHAVIOUR",
                  "dslConfiguration": {
                    "allowsInlineDefinition": true,
                    "allowsReferences": true,
                    "allowTopLevelDefinition": false
                  },
                  "layoutModel": {
                    "password": false,
                    "text": false,
                    "query": false,
                    "order": 14
                  },
                  "allowedStereotypeModels": [],
                  "name": "contentDisposition",
                  "displayModel": {
                    "summary": "The optional Content-Disposition HTTP header, which specifies presentational information such as the recommended filename for the object to be saved as.",
                    "example": "attachment"
                  },
                  "description": "",
                  "modelProperties": {}
                },
                {
                  "type": {
                    "format": "java",
                    "type": "String"
                  },
                  "hasDynamicType": false,
                  "required": false,
                  "isConfigOverride": false,
                  "expressionSupport": "SUPPORTED",
                  "role": "BEHAVIOUR",
                  "dslConfiguration": {
                    "allowsInlineDefinition": true,
                    "allowsReferences": true,
                    "allowTopLevelDefinition": false
                  },
                  "layoutModel": {
                    "password": false,
                    "text": false,
                    "query": false,
                    "order": 15
                  },
                  "allowedStereotypeModels": [],
                  "name": "etag",
                  "displayModel": {
                    "summary": "The entity tag is a hash of the object.",
                    "example": "xyzzy"
                  },
                  "description": "",
                  "modelProperties": {}
                },
                {
                  "type": {
                    "format": "java",
                    "type": "String"
                  },
                  "hasDynamicType": false,
                  "required": false,
                  "isConfigOverride": false,
                  "expressionSupport": "SUPPORTED",
                  "role": "BEHAVIOUR",
                  "dslConfiguration": {
                    "allowsInlineDefinition": true,
                    "allowsReferences": true,
                    "allowTopLevelDefinition": false
                  },
                  "layoutModel": {
                    "password": false,
                    "text": false,
                    "query": false,
                    "order": 16
                  },
                  "allowedStereotypeModels": [],
                  "name": "versionId",
                  "displayModel": {
                    "summary": "The version ID of the associated Amazon S3 object if available.",
                    "example": "111111"
                  },
                  "description": "",
                  "modelProperties": {}
                },
                {
                  "type": {
                    "format": "java",
                    "type": "String"
                  },
                  "hasDynamicType": false,
                  "required": false,
                  "isConfigOverride": false,
                  "expressionSupport": "SUPPORTED",
                  "role": "BEHAVIOUR",
                  "dslConfiguration": {
                    "allowsInlineDefinition": true,
                    "allowsReferences": true,
                    "allowTopLevelDefinition": false
                  },
                  "layoutModel": {
                    "password": false,
                    "text": false,
                    "query": false,
                    "order": 17
                  },
                  "allowedStereotypeModels": [],
                  "name": "sseAlgorithm",
                  "displayModel": {
                    "summary": "Specifies the server-side encryption algorithm to use when Amazon S3 creates an object.",
                    "example": "aws:kms"
                  },
                  "description": "",
                  "modelProperties": {}
                },
                {
                  "type": {
                    "format": "java",
                    "type": "String"
                  },
                  "hasDynamicType": false,
                  "required": false,
                  "isConfigOverride": false,
                  "expressionSupport": "SUPPORTED",
                  "role": "BEHAVIOUR",
                  "dslConfiguration": {
                    "allowsInlineDefinition": true,
                    "allowsReferences": true,
                    "allowTopLevelDefinition": false
                  },
                  "layoutModel": {
                    "password": false,
                    "text": false,
                    "query": false,
                    "order": 18
                  },
                  "allowedStereotypeModels": [],
                  "name": "sseCustomerAlgorithm",
                  "displayModel": {
                    "summary": "Specifies the algorithm to use to when encrypting the object.",
                    "example": "AES256"
                  },
                  "description": "",
                  "modelProperties": {}
                },
                {
                  "type": {
                    "format": "java",
                    "type": "String"
                  },
                  "hasDynamicType": false,
                  "required": false,
                  "isConfigOverride": false,
                  "expressionSupport": "SUPPORTED",
                  "role": "BEHAVIOUR",
                  "dslConfiguration": {
                    "allowsInlineDefinition": true,
                    "allowsReferences": true,
                    "allowTopLevelDefinition": false
                  },
                  "layoutModel": {
                    "password": false,
                    "text": false,
                    "query": false,
                    "order": 19
                  },
                  "allowedStereotypeModels": [],
                  "name": "sseCustomerKeyMd5",
                  "displayModel": {
                    "summary": "Specifies the base64-encoded 128-bit MD5 digest of the encryption key according to RFC 1321. Amazon S3 uses this header for a message integrity check to ensure that the encryption key was transmitted without error.",
                    "example": "base64-encoded_128-bit_MD5_digest_of_the_encryption_key"
                  },
                  "description": "",
                  "modelProperties": {}
                },
                {
                  "type": {
                    "format": "java",
                    "type": "DateTime",
                    "annotations": {
                      "typeId": "java.time.LocalDateTime"
                    }
                  },
                  "hasDynamicType": false,
                  "required": false,
                  "isConfigOverride": false,
                  "expressionSupport": "SUPPORTED",
                  "role": "BEHAVIOUR",
                  "dslConfiguration": {
                    "allowsInlineDefinition": true,
                    "allowsReferences": true,
                    "allowTopLevelDefinition": false
                  },
                  "layoutModel": {
                    "password": false,
                    "text": false,
                    "query": false,
                    "order": 20
                  },
                  "allowedStereotypeModels": [],
                  "name": "expirationTime",
                  "displayModel": {
                    "summary": "The expiration time for the object."
                  },
                  "description": "",
                  "modelProperties": {}
                },
                {
                  "type": {
                    "format": "java",
                    "type": "String"
                  },
                  "hasDynamicType": false,
                  "required": false,
                  "isConfigOverride": false,
                  "expressionSupport": "SUPPORTED",
                  "role": "BEHAVIOUR",
                  "dslConfiguration": {
                    "allowsInlineDefinition": true,
                    "allowsReferences": true,
                    "allowTopLevelDefinition": false
                  },
                  "layoutModel": {
                    "password": false,
                    "text": false,
                    "query": false,
                    "order": 21
                  },
                  "allowedStereotypeModels": [],
                  "name": "expirationTimeRuleId",
                  "displayModel": {
                    "summary": "The rule ID of object\u0027s expiration configuration.",
                    "example": "This_is_expiration_time_rule_id"
                  },
                  "description": "",
                  "modelProperties": {}
                },
                {
                  "type": {
                    "format": "java",
                    "type": "DateTime",
                    "annotations": {
                      "typeId": "java.time.LocalDateTime"
                    }
                  },
                  "hasDynamicType": false,
                  "required": false,
                  "isConfigOverride": false,
                  "expressionSupport": "SUPPORTED",
                  "role": "BEHAVIOUR",
                  "dslConfiguration": {
                    "allowsInlineDefinition": true,
                    "allowsReferences": true,
                    "allowTopLevelDefinition": false
                  },
                  "layoutModel": {
                    "password": false,
                    "text": false,
                    "query": false,
                    "order": 22
                  },
                  "allowedStereotypeModels": [],
                  "name": "restoreExpirationTime",
                  "displayModel": {
                    "summary": "The new restore expiration time for the object."
                  },
                  "description": "",
                  "modelProperties": {}
                },
                {
                  "type": {
                    "format": "java",
                    "type": "Boolean",
                    "annotations": {
                      "typeId": "boolean"
                    }
                  },
                  "hasDynamicType": false,
                  "required": false,
                  "isConfigOverride": false,
                  "expressionSupport": "SUPPORTED",
                  "defaultValue": "false",
                  "role": "BEHAVIOUR",
                  "dslConfiguration": {
                    "allowsInlineDefinition": true,
                    "allowsReferences": true,
                    "allowTopLevelDefinition": false
                  },
                  "layoutModel": {
                    "password": false,
                    "text": false,
                    "query": false,
                    "order": 23
                  },
                  "allowedStereotypeModels": [],
                  "name": "ongoingRestore",
                  "displayModel": {
                    "summary": "Sets the boolean value which indicates whether there is ongoing restore request.",
                    "example": "false"
                  },
                  "description": "",
                  "modelProperties": {}
                },
                {
                  "type": {
                    "format": "java",
                    "type": "DateTime",
                    "annotations": {
                      "typeId": "java.time.LocalDateTime"
                    }
                  },
                  "hasDynamicType": false,
                  "required": false,
                  "isConfigOverride": false,
                  "expressionSupport": "SUPPORTED",
                  "role": "BEHAVIOUR",
                  "dslConfiguration": {
                    "allowsInlineDefinition": true,
                    "allowsReferences": true,
                    "allowTopLevelDefinition": false
                  },
                  "layoutModel": {
                    "password": false,
                    "text": false,
                    "query": false,
                    "order": 24
                  },
                  "allowedStereotypeModels": [],
                  "name": "httpExpiresDate",
                  "displayModel": {
                    "summary": "Set the date when the object is no longer cacheable."
                  },
                  "description": "",
                  "modelProperties": {}
                },
                {
                  "type": {
                    "format": "java",
                    "type": "String",
                    "annotations": {
                      "typeId": "org.mule.extension.s3.api.model.StorageClass",
                      "enum": {
                        "type": "[Ljava.lang.String;",
                        "values": [
                          "STANDARD",
                          "STANDARD_IA",
                          "INTELLIGENT_TIERING",
                          "ONEZONE_IA",
                          "REDUCED_REDUNDANCY",
                          "GLACIER"
                        ]
                      }
                    }
                  },
                  "hasDynamicType": false,
                  "required": false,
                  "isConfigOverride": false,
                  "expressionSupport": "SUPPORTED",
                  "defaultValue": "STANDARD",
                  "role": "BEHAVIOUR",
                  "dslConfiguration": {
                    "allowsInlineDefinition": true,
                    "allowsReferences": true,
                    "allowTopLevelDefinition": false
                  },
                  "layoutModel": {
                    "password": false,
                    "text": false,
                    "query": false,
                    "order": 25
                  },
                  "allowedStereotypeModels": [],
                  "name": "storageClass",
                  "displayModel": {
                    "summary": "The storage class of the object."
                  },
                  "description": "",
                  "modelProperties": {}
                },
                {
                  "type": {
                    "format": "java",
                    "type": "String"
                  },
                  "hasDynamicType": false,
                  "required": false,
                  "isConfigOverride": false,
                  "expressionSupport": "SUPPORTED",
                  "role": "BEHAVIOUR",
                  "dslConfiguration": {
                    "allowsInlineDefinition": true,
                    "allowsReferences": true,
                    "allowTopLevelDefinition": false
                  },
                  "layoutModel": {
                    "password": false,
                    "text": false,
                    "query": false,
                    "order": 26
                  },
                  "allowedStereotypeModels": [],
                  "name": "sseAwsKmsKeyId",
                  "displayModel": {
                    "summary": "the AWS Key Management System key id used for Server Side Encryption of the Amazon S3 object.",
                    "example": "testkey"
                  },
                  "description": "",
                  "modelProperties": {}
                },
                {
                  "type": {
                    "format": "java",
                    "type": "Boolean",
                    "annotations": {
                      "typeId": "boolean"
                    }
                  },
                  "hasDynamicType": false,
                  "required": false,
                  "isConfigOverride": false,
                  "expressionSupport": "SUPPORTED",
                  "defaultValue": "false",
                  "role": "BEHAVIOUR",
                  "dslConfiguration": {
                    "allowsInlineDefinition": true,
                    "allowsReferences": true,
                    "allowTopLevelDefinition": false
                  },
                  "layoutModel": {
                    "password": false,
                    "text": false,
                    "query": false,
                    "order": 27
                  },
                  "allowedStereotypeModels": [],
                  "name": "requesterCharged",
                  "displayModel": {
                    "summary": "If a bucket is enabled for Requester Pays, then any attempt of operation from it without Requester Pays enabled will result in a 403 error and the bucket owner will be charged for the request. Enabling Requester Pays disables the ability to have anonymous access to bucket.",
                    "example": "false"
                  },
                  "description": "",
                  "modelProperties": {}
                },
                {
                  "type": {
                    "format": "java",
                    "type": "String"
                  },
                  "hasDynamicType": false,
                  "required": false,
                  "isConfigOverride": false,
                  "expressionSupport": "SUPPORTED",
                  "role": "BEHAVIOUR",
                  "dslConfiguration": {
                    "allowsInlineDefinition": true,
                    "allowsReferences": true,
                    "allowTopLevelDefinition": false
                  },
                  "layoutModel": {
                    "password": false,
                    "text": false,
                    "query": false,
                    "order": 28
                  },
                  "allowedStereotypeModels": [],
                  "name": "replicationStatus",
                  "displayModel": {
                    "summary": "The replication status of the object if it is from a bucket that is the source or destination in a cross-region replication.",
                    "example": "COMPLETED"
                  },
                  "description": "",
                  "modelProperties": {}
                }
              ],
              "exclusiveParametersModels": [],
              "layoutModel": {
                "password": false,
                "text": false,
                "query": false,
                "order": 2
              },
              "showInDsl": false,
              "name": "Metadata",
              "description": "",
              "modelProperties": {}
            },
            {
              "parameters": [
                {
                  "type": {
                    "format": "java",
                    "type": "String"
                  },
                  "hasDynamicType": false,
                  "required": false,
                  "isConfigOverride": false,
                  "expressionSupport": "NOT_SUPPORTED",
                  "role": "BEHAVIOUR",
                  "dslConfiguration": {
                    "allowsInlineDefinition": true,
                    "allowsReferences": true,
                    "allowTopLevelDefinition": false
                  },
                  "layoutModel": {
                    "password": false,
                    "text": false,
                    "query": false,
                    "order": 29,
                    "tabName": "Advanced"
                  },
                  "allowedStereotypeModels": [],
                  "name": "target",
                  "displayModel": {
                    "displayName": "Target Variable"
                  },
                  "description": "The name of a variable on which the operation\u0027s output will be placed",
                  "modelProperties": {}
                },
                {
                  "type": {
                    "format": "java",
                    "type": "String"
                  },
                  "hasDynamicType": false,
                  "required": false,
                  "isConfigOverride": false,
                  "expressionSupport": "REQUIRED",
                  "defaultValue": "#[payload]",
                  "role": "BEHAVIOUR",
                  "dslConfiguration": {
                    "allowsInlineDefinition": true,
                    "allowsReferences": true,
                    "allowTopLevelDefinition": false
                  },
                  "layoutModel": {
                    "password": false,
                    "text": false,
                    "query": false,
                    "order": 30,
                    "tabName": "Advanced"
                  },
                  "allowedStereotypeModels": [],
                  "name": "targetValue",
                  "displayModel": {
                    "displayName": "Target Value"
                  },
                  "description": "An expression that will be evaluated against the operation\u0027s output and the outcome of that expression will be stored in the target variable",
                  "modelProperties": {}
                }
              ],
              "exclusiveParametersModels": [],
              "layoutModel": {
                "password": false,
                "text": false,
                "query": false,
                "order": 3
              },
              "showInDsl": false,
              "name": "Output",
              "description": "",
              "modelProperties": {}
            },
            {
              "parameters": [
                {
                  "type": {
                    "format": "java",
                    "type": "Union",
                    "annotations": {
                      "typeId": "ReconnectionStrategy"
                    },
                    "of": [
                      {
                        "type": "Object",
                        "annotations": {
                          "typeId": "reconnect"
                        },
                        "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": [
                                    "java.lang.Comparable"
                                  ],
                                  "parent": "java.lang.Number",
                                  "genericTypes": [],
                                  "isMap": false
                                },
                                "default": "2000"
                              }
                            },
                            "annotations": {
                              "description": {
                                "value": "How often (in ms) to reconnect"
                              }
                            }
                          },
                          {
                            "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"
                        },
                        "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": [
                                    "java.lang.Comparable"
                                  ],
                                  "parent": "java.lang.Number",
                                  "genericTypes": [],
                                  "isMap": false
                                },
                                "default": "2000"
                              }
                            },
                            "annotations": {
                              "description": {
                                "value": "How often (in ms) to reconnect"
                              }
                            }
                          }
                        ]
                      }
                    ]
                  },
                  "hasDynamicType": false,
                  "required": false,
                  "isConfigOverride": false,
                  "expressionSupport": "NOT_SUPPORTED",
                  "role": "BEHAVIOUR",
                  "dslConfiguration": {
                    "allowsInlineDefinition": true,
                    "allowsReferences": false,
                    "allowTopLevelDefinition": false
                  },
                  "layoutModel": {
                    "password": false,
                    "text": false,
                    "query": false,
                    "order": 31,
                    "tabName": "Advanced"
                  },
                  "allowedStereotypeModels": [],
                  "name": "reconnectionStrategy",
                  "description": "A retry strategy in case of connectivity errors",
                  "modelProperties": {
                    "org.mule.runtime.extension.api.property.QNameModelProperty": {
                      "value": {
                        "namespaceURI": "http://www.mulesoft.org/schema/mule/core",
                        "localPart": "abstract-reconnection-strategy",
                        "prefix": "mule"
                      }
                    },
                    "org.mule.runtime.extension.api.property.InfrastructureParameterModelProperty": {
                      "sequence": 3
                    }
                  }
                }
              ],
              "exclusiveParametersModels": [],
              "layoutModel": {
                "password": false,
                "text": false,
                "query": false,
                "order": 4
              },
              "showInDsl": false,
              "name": "Connection",
              "description": "",
              "modelProperties": {}
            }
          ],
          "name": "createObject",
          "description": "Uploads an object to S3. Supported contents are InputStreams, Strings, byte arrays and Files.",
          "modelProperties": {},
          "kind": "operation"
        },
        {
          "blocking": true,
          "executionType": "BLOCKING",
          "output": {
            "type": {
              "format": {
                "id": "text/plain",
                "label": "text/plain",
                "validMimeTypes": [
                  "text/plain"
                ]
              },
              "type": "String"
            },
            "hasDynamicType": false,
            "description": "",
            "modelProperties": {}
          },
          "outputAttributes": {
            "type": {
              "format": "java",
              "type": "Void"
            },
            "hasDynamicType": false,
            "description": "",
            "modelProperties": {}
          },
          "transactional": false,
          "requiresConnection": true,
          "supportsStreaming": false,
          "notifications": [],
          "nestedComponents": [],
          "errors": [
            "S3:INVALID_RANGE",
            "S3:SERVICE_UNAVAILABLE",
            "S3:REQUEST_TIME_TOO_SKEWED",
            "S3:REDIRECT",
            "S3:INVALID_STORAGE_CLASS",
            "S3:MAX_MESSAGE_LENGTH_EXCEEDED",
            "S3:REQUEST_IS_NOT_MULTI_PART_CONTENT",
            "S3:UNEXPECTED_CONTENT",
            "S3:ENTITY_TOO_SMALL",
            "S3:NO_SUCH_BUCKET",
            "S3:INVALID_PART",
            "S3:INVALID_SOAP_REQUEST",
            "S3:NO_SUCH_VERSION",
            "S3:METADATA_TOO_LARGE",
            "S3:PRECONDITION_FAILED",
            "S3:BUCKET_ALREADY_EXISTS",
            "S3:AMBIGUOUS_GRANT_BY_EMAIL_ADDRESS",
            "S3:MISSING_SECURITY_ELEMENT",
            "S3:INVALID_URI",
            "S3:NOT_SIGNED_UP",
            "S3:INVALID_ADDRESSING_HEADER",
            "S3:MAX_POST_PRE_DATA_LENGTH_EXCEEDED_ERROR",
            "S3:ILLEGAL_VERSIONING_CONFIGURATION_EXCEPTION",
            "S3:INVALID_PAYER",
            "S3:NO_SUCH_BUCKET_POLICY",
            "S3:INVALID_SECURITY",
            "S3:OPERATION_ABORTED",
            "S3:INVALID_ACCESS_KEY_ID",
            "S3:INVALID_LOCATION_CONSTRAINT",
            "S3:INLINE_DATA_TOO_LARGE",
            "S3:SIGNATURE_DOES_NOT_MATCH",
            "S3:UNRESOLVABLE_GRANT_BY_EMAIL_ADDRESS",
            "S3:NO_SUCH_LIFECYCLE_CONFIGURATION",
            "S3:KEY_TOO_LONG",
            "S3:INVALID_BUCKET_NAME",
            "S3:INVALID_TOKEN",
            "S3:TEMPORARY_REDIRECT",
            "S3:BUCKET_NOT_EMPTY",
            "S3:BAD_DIGEST",
            "S3:CROSS_LOCATION_LOGGING_PROHIBITED",
            "S3:MALFORMED_POST_REQUEST",
            "S3:REQUEST_TIMEOUT",
            "S3:TOO_MANY_BUCKETS",
            "S3:NO_SUCH_KEY",
            "S3:MISSING_ATTACHMENT",
            "S3:INVALID_BUCKET_STATE",
            "S3:RETRY_EXHAUSTED",
            "S3:INVALID_PART_ORDER",
            "S3:INVALID_RESPONSE_PRESIGNEDURL_MALFORMED",
            "S3:INVALID_POLICY_DOCUMENT",
            "S3:MALFORMED_XML",
            "S3:ACCOUNT_PROBLEM",
            "S3:USER_KEY_MUST_BE_SPECIFIED",
            "S3:MISSING_CONTENT_LENGTH",
            "S3:INVALID_DIGEST",
            "S3:ACCESS_DENIED",
            "S3:MISSING_REQUEST_BODY_ERROR",
            "S3:REQUEST_TORRENT_OF_BUCKET_ERROR",
            "S3:TOKEN_REFRESH_REQUIRED",
            "S3:NO_LOGGING_STATUS_FOR_KEY",
            "S3:RESTORE_ALREADY_IN_PROGRESS",
            "S3:INVALID_OBJECT_STATE",
            "S3:CONNECTIVITY",
            "S3:INVALID_ENCRYPTION_ALGORITHM_ERROR",
            "S3:PERMANENT_REDIRECT",
            "S3:INVALID_REQUEST",
            "S3:INCORRECT_NUMBER_OF_FILES_IN_POST_REQUEST",
            "S3:UNKNOWN",
            "S3:MALFORMED_ACL_ERROR",
            "S3:CREDENTIALS_NOT_SUPPORTED",
            "S3:NOT_IMPLEMENTED",
            "S3:INVALID_ARGUMENT",
            "S3:INVALID_TARGET_BUCKET_FOR_LOGGING",
            "S3:NO_SUCH_UPLOAD",
            "S3:INTERNAL_ERROR",
            "S3:SLOW_DOWN",
            "S3:ENTITY_TOO_LARGE",
            "S3:METHOD_NOT_ALLOWED",
            "S3:EXPIRED_TOKEN",
            "S3:MISSING_SECURITY_HEADER",
            "S3:BUCKET_ALREADY_OWNED_BY_YOU",
            "S3:INCOMPLETE_BODY"
          ],
          "stereotype": {
            "type": "PROCESSOR",
            "namespace": "MULE"
          },
          "parameterGroupModels": [
            {
              "parameters": [
                {
                  "type": {
                    "format": "java",
                    "type": "String"
                  },
                  "hasDynamicType": false,
                  "required": true,
                  "isConfigOverride": false,
                  "expressionSupport": "SUPPORTED",
                  "role": "BEHAVIOUR",
                  "dslConfiguration": {
                    "allowsInlineDefinition": true,
                    "allowsReferences": true,
                    "allowTopLevelDefinition": false
                  },
                  "layoutModel": {
                    "password": false,
                    "text": false,
                    "query": false,
                    "order": 1
                  },
                  "allowedStereotypeModels": [],
                  "name": "bucketName",
                  "description": "the name of the bucket involved in this request.",
                  "modelProperties": {}
                },
                {
                  "type": {
                    "format": "java",
                    "type": "String"
                  },
                  "hasDynamicType": false,
                  "required": true,
                  "isConfigOverride": false,
                  "expressionSupport": "SUPPORTED",
                  "role": "BEHAVIOUR",
                  "dslConfiguration": {
                    "allowsInlineDefinition": true,
                    "allowsReferences": true,
                    "allowTopLevelDefinition": false
                  },
                  "layoutModel": {
                    "password": false,
                    "text": false,
                    "query": false,
                    "order": 2
                  },
                  "allowedStereotypeModels": [],
                  "name": "key",
                  "description": "the key of the object involved in this request.",
                  "modelProperties": {}
                },
                {
                  "type": {
                    "format": "java",
                    "type": "DateTime",
                    "annotations": {
                      "typeId": "java.time.LocalDateTime"
                    }
                  },
                  "hasDynamicType": false,
                  "required": false,
                  "isConfigOverride": false,
                  "expressionSupport": "SUPPORTED",
                  "role": "BEHAVIOUR",
                  "dslConfiguration": {
                    "allowsInlineDefinition": true,
                    "allowsReferences": true,
                    "allowTopLevelDefinition": false
                  },
                  "layoutModel": {
                    "password": false,
                    "text": false,
                    "query": false,
                    "order": 3
                  },
                  "allowedStereotypeModels": [],
                  "name": "expiration",
                  "displayModel": {
                    "summary": "The expiration date at which point the new pre-signed URL will no longer be accepted by Amazon S3."
                  },
                  "description": "the expiration date at which point the new pre-signed URL will no longer be accepted by Amazon S3.",
                  "modelProperties": {}
                },
                {
                  "type": {
                    "format": "java",
                    "type": "String"
                  },
                  "hasDynamicType": false,
                  "required": false,
                  "isConfigOverride": false,
                  "expressionSupport": "SUPPORTED",
                  "role": "BEHAVIOUR",
                  "dslConfiguration": {
                    "allowsInlineDefinition": true,
                    "allowsReferences": true,
                    "allowTopLevelDefinition": false
                  },
                  "layoutModel": {
                    "password": false,
                    "text": false,
                    "query": false,
                    "order": 4
                  },
                  "allowedStereotypeModels": [],
                  "name": "contentMd5",
                  "displayModel": {
                    "displayName": "Content MD5"
                  },
                  "description": "the expected content-md5 header of the request.",
                  "modelProperties": {}
                },
                {
                  "type": {
                    "format": "java",
                    "type": "String"
                  },
                  "hasDynamicType": false,
                  "required": false,
                  "isConfigOverride": false,
                  "expressionSupport": "SUPPORTED",
                  "role": "BEHAVIOUR",
                  "dslConfiguration": {
                    "allowsInlineDefinition": true,
                    "allowsReferences": true,
                    "allowTopLevelDefinition": false
                  },
                  "layoutModel": {
                    "password": false,
                    "text": false,
                    "query": false,
                    "order": 5
                  },
                  "allowedStereotypeModels": [],
                  "name": "contentType",
                  "description": "the expected content-type of the request.",
                  "modelProperties": {}
                },
                {
                  "type": {
                    "format": "java",
                    "type": "String",
                    "annotations": {
                      "typeId": "org.mule.extension.s3.api.model.HttpMethod",
                      "enum": {
                        "type": "[Ljava.lang.String;",
                        "values": [
                          "GET",
                          "POST",
                          "PUT",
                          "DELETE",
                          "HEAD",
                          "PATCH"
                        ]
                      }
                    }
                  },
                  "hasDynamicType": false,
                  "required": false,
                  "isConfigOverride": false,
                  "expressionSupport": "SUPPORTED",
                  "defaultValue": "PUT",
                  "role": "BEHAVIOUR",
                  "dslConfiguration": {
                    "allowsInlineDefinition": true,
                    "allowsReferences": true,
                    "allowTopLevelDefinition": false
                  },
                  "layoutModel": {
                    "password": false,
                    "text": false,
                    "query": false,
                    "order": 6
                  },
                  "allowedStereotypeModels": [],
                  "name": "method",
                  "description": "the HTTP method (GET, PUT, DELETE, HEAD) to be used in this request.",
                  "modelProperties": {}
                },
                {
                  "type": {
                    "format": "java",
                    "type": "String",
                    "annotations": {
                      "typeId": "org.mule.extension.s3.api.model.SSEAlgorithm",
                      "enum": {
                        "type": "[Ljava.lang.String;",
                        "values": [
                          "AES256",
                          "KMS"
                        ]
                      }
                    }
                  },
                  "hasDynamicType": false,
                  "required": false,
                  "isConfigOverride": false,
                  "expressionSupport": "SUPPORTED",
                  "role": "BEHAVIOUR",
                  "dslConfiguration": {
                    "allowsInlineDefinition": true,
                    "allowsReferences": true,
                    "allowTopLevelDefinition": false
                  },
                  "layoutModel": {
                    "password": false,
                    "text": false,
                    "query": false,
                    "order": 7
                  },
                  "allowedStereotypeModels": [],
                  "name": "sseS3Encryption",
                  "description": "the encryption method (KMS, AES256) to use for the presigned URL. This field is not allowed for the HTTP GET method. If you set a value for this field and use the HTTP GET method, you will get an error.",
                  "modelProperties": {}
                }
              ],
              "exclusiveParametersModels": [],
              "layoutModel": {
                "password": false,
                "text": false,
                "query": false,
                "order": 1
              },
              "showInDsl": false,
              "name": "General",
              "description": "",
              "modelProperties": {}
            },
            {
              "parameters": [
                {
                  "type": {
                    "format": "java",
                    "type": "String"
                  },
                  "hasDynamicType": false,
                  "required": false,
                  "isConfigOverride": false,
                  "expressionSupport": "NOT_SUPPORTED",
                  "role": "BEHAVIOUR",
                  "dslConfiguration": {
                    "allowsInlineDefinition": true,
                    "allowsReferences": true,
                    "allowTopLevelDefinition": false
                  },
                  "layoutModel": {
                    "password": false,
                    "text": false,
                    "query": false,
                    "order": 8,
                    "tabName": "Advanced"
                  },
                  "allowedStereotypeModels": [],
                  "name": "target",
                  "displayModel": {
                    "displayName": "Target Variable"
                  },
                  "description": "The name of a variable on which the operation\u0027s output will be placed",
                  "modelProperties": {}
                },
                {
                  "type": {
                    "format": "java",
                    "type": "String"
                  },
                  "hasDynamicType": false,
                  "required": false,
                  "isConfigOverride": false,
                  "expressionSupport": "REQUIRED",
                  "defaultValue": "#[payload]",
                  "role": "BEHAVIOUR",
                  "dslConfiguration": {
                    "allowsInlineDefinition": true,
                    "allowsReferences": true,
                    "allowTopLevelDefinition": false
                  },
                  "layoutModel": {
                    "password": false,
                    "text": false,
                    "query": false,
                    "order": 9,
                    "tabName": "Advanced"
                  },
                  "allowedStereotypeModels": [],
                  "name": "targetValue",
                  "displayModel": {
                    "displayName": "Target Value"
                  },
                  "description": "An expression that will be evaluated against the operation\u0027s output and the outcome of that expression will be stored in the target variable",
                  "modelProperties": {}
                }
              ],
              "exclusiveParametersModels": [],
              "layoutModel": {
                "password": false,
                "text": false,
                "query": false,
                "order": 2
              },
              "showInDsl": false,
              "name": "Output",
              "description": "",
              "modelProperties": {}
            },
            {
              "parameters": [
                {
                  "type": {
                    "format": "java",
                    "type": "Union",
                    "annotations": {
                      "typeId": "ReconnectionStrategy"
                    },
                    "of": [
                      {
                        "type": "Object",
                        "annotations": {
                          "typeId": "reconnect"
                        },
                        "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": [
                                    "java.lang.Comparable"
                                  ],
                                  "parent": "java.lang.Number",
                                  "genericTypes": [],
                                  "isMap": false
                                },
                                "default": "2000"
                              }
                            },
                            "annotations": {
                              "description": {
                                "value": "How often (in ms) to reconnect"
                              }
                            }
                          },
                          {
                            "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"
                        },
                        "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": [
                                    "java.lang.Comparable"
                                  ],
                                  "parent": "java.lang.Number",
                                  "genericTypes": [],
                                  "isMap": false
                                },
                                "default": "2000"
                              }
                            },
                            "annotations": {
                              "description": {
                                "value": "How often (in ms) to reconnect"
                              }
                            }
                          }
                        ]
                      }
                    ]
                  },
                  "hasDynamicType": false,
                  "required": false,
                  "isConfigOverride": false,
                  "expressionSupport": "NOT_SUPPORTED",
                  "role": "BEHAVIOUR",
                  "dslConfiguration": {
                    "allowsInlineDefinition": true,
                    "allowsReferences": false,
                    "allowTopLevelDefinition": false
                  },
                  "layoutModel": {
                    "password": false,
                    "text": false,
                    "query": false,
                    "order": 10,
                    "tabName": "Advanced"
                  },
                  "allowedStereotypeModels": [],
                  "name": "reconnectionStrategy",
                  "description": "A retry strategy in case of connectivity errors",
                  "modelProperties": {
                    "org.mule.runtime.extension.api.property.QNameModelProperty": {
                      "value": {
                        "namespaceURI": "http://www.mulesoft.org/schema/mule/core",
                        "localPart": "abstract-reconnection-strategy",
                        "prefix": "mule"
                      }
                    },
                    "org.mule.runtime.extension.api.property.InfrastructureParameterModelProperty": {
                      "sequence": 3
                    }
                  }
                }
              ],
              "exclusiveParametersModels": [],
              "layoutModel": {
                "password": false,
                "text": false,
                "query": false,
                "order": 3
              },
              "showInDsl": false,
              "name": "Connection",
              "description": "",
              "modelProperties": {}
            }
          ],
          "name": "createObjectPresignedUri",
          "description": "Returns a pre-signed URL for accessing an Amazon S3 object. The pre-signed URL can be shared to other users, allowing access to the resource without providing an account\u0027s AWS security credentials.",
          "modelProperties": {},
          "kind": "operation"
        },
        {
          "blocking": true,
          "executionType": "BLOCKING",
          "output": {
            "type": {
              "format": "java",
              "type": "Void"
            },
            "hasDynamicType": false,
            "description": "",
            "modelProperties": {}
          },
          "outputAttributes": {
            "type": {
              "format": "java",
              "type": "Void"
            },
            "hasDynamicType": false,
            "description": "",
            "modelProperties": {}
          },
          "transactional": false,
          "requiresConnection": true,
          "supportsStreaming": false,
          "notifications": [],
          "nestedComponents": [],
          "errors": [
            "S3:INVALID_RANGE",
            "S3:SERVICE_UNAVAILABLE",
            "S3:REQUEST_TIME_TOO_SKEWED",
            "S3:REDIRECT",
            "S3:INVALID_STORAGE_CLASS",
            "S3:MAX_MESSAGE_LENGTH_EXCEEDED",
            "S3:REQUEST_IS_NOT_MULTI_PART_CONTENT",
            "S3:UNEXPECTED_CONTENT",
            "S3:ENTITY_TOO_SMALL",
            "S3:NO_SUCH_BUCKET",
            "S3:INVALID_PART",
            "S3:INVALID_SOAP_REQUEST",
            "S3:NO_SUCH_VERSION",
            "S3:METADATA_TOO_LARGE",
            "S3:PRECONDITION_FAILED",
            "S3:BUCKET_ALREADY_EXISTS",
            "S3:AMBIGUOUS_GRANT_BY_EMAIL_ADDRESS",
            "S3:MISSING_SECURITY_ELEMENT",
            "S3:INVALID_URI",
            "S3:NOT_SIGNED_UP",
            "S3:INVALID_ADDRESSING_HEADER",
            "S3:MAX_POST_PRE_DATA_LENGTH_EXCEEDED_ERROR",
            "S3:ILLEGAL_VERSIONING_CONFIGURATION_EXCEPTION",
            "S3:INVALID_PAYER",
            "S3:NO_SUCH_BUCKET_POLICY",
            "S3:INVALID_SECURITY",
            "S3:OPERATION_ABORTED",
            "S3:INVALID_ACCESS_KEY_ID",
            "S3:INVALID_LOCATION_CONSTRAINT",
            "S3:INLINE_DATA_TOO_LARGE",
            "S3:SIGNATURE_DOES_NOT_MATCH",
            "S3:UNRESOLVABLE_GRANT_BY_EMAIL_ADDRESS",
            "S3:NO_SUCH_LIFECYCLE_CONFIGURATION",
            "S3:KEY_TOO_LONG",
            "S3:INVALID_BUCKET_NAME",
            "S3:INVALID_TOKEN",
            "S3:TEMPORARY_REDIRECT",
            "S3:BUCKET_NOT_EMPTY",
            "S3:BAD_DIGEST",
            "S3:CROSS_LOCATION_LOGGING_PROHIBITED",
            "S3:MALFORMED_POST_REQUEST",
            "S3:REQUEST_TIMEOUT",
            "S3:TOO_MANY_BUCKETS",
            "S3:NO_SUCH_KEY",
            "S3:MISSING_ATTACHMENT",
            "S3:INVALID_BUCKET_STATE",
            "S3:RETRY_EXHAUSTED",
            "S3:INVALID_PART_ORDER",
            "S3:INVALID_RESPONSE_PRESIGNEDURL_MALFORMED",
            "S3:INVALID_POLICY_DOCUMENT",
            "S3:MALFORMED_XML",
            "S3:ACCOUNT_PROBLEM",
            "S3:USER_KEY_MUST_BE_SPECIFIED",
            "S3:MISSING_CONTENT_LENGTH",
            "S3:INVALID_DIGEST",
            "S3:ACCESS_DENIED",
            "S3:MISSING_REQUEST_BODY_ERROR",
            "S3:REQUEST_TORRENT_OF_BUCKET_ERROR",
            "S3:TOKEN_REFRESH_REQUIRED",
            "S3:NO_LOGGING_STATUS_FOR_KEY",
            "S3:RESTORE_ALREADY_IN_PROGRESS",
            "S3:INVALID_OBJECT_STATE",
            "S3:CONNECTIVITY",
            "S3:INVALID_ENCRYPTION_ALGORITHM_ERROR",
            "S3:PERMANENT_REDIRECT",
            "S3:INVALID_REQUEST",
            "S3:INCORRECT_NUMBER_OF_FILES_IN_POST_REQUEST",
            "S3:UNKNOWN",
            "S3:MALFORMED_ACL_ERROR",
            "S3:CREDENTIALS_NOT_SUPPORTED",
            "S3:NOT_IMPLEMENTED",
            "S3:INVALID_ARGUMENT",
            "S3:INVALID_TARGET_BUCKET_FOR_LOGGING",
            "S3:NO_SUCH_UPLOAD",
            "S3:INTERNAL_ERROR",
            "S3:SLOW_DOWN",
            "S3:ENTITY_TOO_LARGE",
            "S3:METHOD_NOT_ALLOWED",
            "S3:EXPIRED_TOKEN",
            "S3:MISSING_SECURITY_HEADER",
            "S3:BUCKET_ALREADY_OWNED_BY_YOU",
            "S3:INCOMPLETE_BODY"
          ],
          "stereotype": {
            "type": "PROCESSOR",
            "namespace": "MULE"
          },
          "parameterGroupModels": [
            {
              "parameters": [
                {
                  "type": {
                    "format": "java",
                    "type": "String"
                  },
                  "hasDynamicType": false,
                  "required": true,
                  "isConfigOverride": false,
                  "expressionSupport": "SUPPORTED",
                  "role": "BEHAVIOUR",
                  "dslConfiguration": {
                    "allowsInlineDefinition": true,
                    "allowsReferences": true,
                    "allowTopLevelDefinition": false
                  },
                  "layoutModel": {
                    "password": false,
                    "text": false,
                    "query": false,
                    "order": 1
                  },
                  "allowedStereotypeModels": [],
                  "name": "bucketName",
                  "description": "the bucket to delete",
                  "modelProperties": {}
                },
                {
                  "type": {
                    "format": "java",
                    "type": "Boolean",
                    "annotations": {
                      "typeId": "boolean"
                    }
                  },
                  "hasDynamicType": false,
                  "required": false,
                  "isConfigOverride": false,
                  "expressionSupport": "SUPPORTED",
                  "defaultValue": "false",
                  "role": "BEHAVIOUR",
                  "dslConfiguration": {
                    "allowsInlineDefinition": true,
                    "allowsReferences": true,
                    "allowTopLevelDefinition": false
                  },
                  "layoutModel": {
                    "password": false,
                    "text": false,
                    "query": false,
                    "order": 2
                  },
                  "allowedStereotypeModels": [],
                  "name": "force",
                  "displayModel": {
                    "summary": "Optional true if the bucket must be deleted even if it is not empty, false if operation should fail in such scenario."
                  },
                  "description": "optional true if the bucket must be deleted even if it is not empty, false if operation should fail in such scenario.",
                  "modelProperties": {}
                }
              ],
              "exclusiveParametersModels": [],
              "layoutModel": {
                "password": false,
                "text": false,
                "query": false,
                "order": 1
              },
              "showInDsl": false,
              "name": "General",
              "description": "",
              "modelProperties": {}
            },
            {
              "parameters": [
                {
                  "type": {
                    "format": "java",
                    "type": "Union",
                    "annotations": {
                      "typeId": "ReconnectionStrategy"
                    },
                    "of": [
                      {
                        "type": "Object",
                        "annotations": {
                          "typeId": "reconnect"
                        },
                        "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": [
                                    "java.lang.Comparable"
                                  ],
                                  "parent": "java.lang.Number",
                                  "genericTypes": [],
                                  "isMap": false
                                },
                                "default": "2000"
                              }
                            },
                            "annotations": {
                              "description": {
                                "value": "How often (in ms) to reconnect"
                              }
                            }
                          },
                          {
                            "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"
                        },
                        "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": [
                                    "java.lang.Comparable"
                                  ],
                                  "parent": "java.lang.Number",
                                  "genericTypes": [],
                                  "isMap": false
                                },
                                "default": "2000"
                              }
                            },
                            "annotations": {
                              "description": {
                                "value": "How often (in ms) to reconnect"
                              }
                            }
                          }
                        ]
                      }
                    ]
                  },
                  "hasDynamicType": false,
                  "required": false,
                  "isConfigOverride": false,
                  "expressionSupport": "NOT_SUPPORTED",
                  "role": "BEHAVIOUR",
                  "dslConfiguration": {
                    "allowsInlineDefinition": true,
                    "allowsReferences": false,
                    "allowTopLevelDefinition": false
                  },
                  "layoutModel": {
                    "password": false,
                    "text": false,
                    "query": false,
                    "order": 3,
                    "tabName": "Advanced"
                  },
                  "allowedStereotypeModels": [],
                  "name": "reconnectionStrategy",
                  "description": "A retry strategy in case of connectivity errors",
                  "modelProperties": {
                    "org.mule.runtime.extension.api.property.QNameModelProperty": {
                      "value": {
                        "namespaceURI": "http://www.mulesoft.org/schema/mule/core",
                        "localPart": "abstract-reconnection-strategy",
                        "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": "deleteBucket",
          "description": "Deletes the specified bucket. All objects (and all object versions, if versioning was ever enabled) in the bucket must be deleted before the bucket itself can be deleted; this restriction can be relaxed by specifying the attribute force\u003d\"true\".",
          "modelProperties": {},
          "kind": "operation"
        },
        {
          "blocking": true,
          "executionType": "BLOCKING",
          "output": {
            "type": {
              "format": "java",
              "type": "Void"
            },
            "hasDynamicType": false,
            "description": "",
            "modelProperties": {}
          },
          "outputAttributes": {
            "type": {
              "format": "java",
              "type": "Void"
            },
            "hasDynamicType": false,
            "description": "",
            "modelProperties": {}
          },
          "transactional": false,
          "requiresConnection": true,
          "supportsStreaming": false,
          "notifications": [],
          "nestedComponents": [],
          "errors": [
            "S3:INVALID_RANGE",
            "S3:SERVICE_UNAVAILABLE",
            "S3:REQUEST_TIME_TOO_SKEWED",
            "S3:REDIRECT",
            "S3:INVALID_STORAGE_CLASS",
            "S3:MAX_MESSAGE_LENGTH_EXCEEDED",
            "S3:REQUEST_IS_NOT_MULTI_PART_CONTENT",
            "S3:UNEXPECTED_CONTENT",
            "S3:ENTITY_TOO_SMALL",
            "S3:NO_SUCH_BUCKET",
            "S3:INVALID_PART",
            "S3:INVALID_SOAP_REQUEST",
            "S3:NO_SUCH_VERSION",
            "S3:METADATA_TOO_LARGE",
            "S3:PRECONDITION_FAILED",
            "S3:BUCKET_ALREADY_EXISTS",
            "S3:AMBIGUOUS_GRANT_BY_EMAIL_ADDRESS",
            "S3:MISSING_SECURITY_ELEMENT",
            "S3:INVALID_URI",
            "S3:NOT_SIGNED_UP",
            "S3:INVALID_ADDRESSING_HEADER",
            "S3:MAX_POST_PRE_DATA_LENGTH_EXCEEDED_ERROR",
            "S3:ILLEGAL_VERSIONING_CONFIGURATION_EXCEPTION",
            "S3:INVALID_PAYER",
            "S3:NO_SUCH_BUCKET_POLICY",
            "S3:INVALID_SECURITY",
            "S3:OPERATION_ABORTED",
            "S3:INVALID_ACCESS_KEY_ID",
            "S3:INVALID_LOCATION_CONSTRAINT",
            "S3:INLINE_DATA_TOO_LARGE",
            "S3:SIGNATURE_DOES_NOT_MATCH",
            "S3:UNRESOLVABLE_GRANT_BY_EMAIL_ADDRESS",
            "S3:NO_SUCH_LIFECYCLE_CONFIGURATION",
            "S3:KEY_TOO_LONG",
            "S3:INVALID_BUCKET_NAME",
            "S3:INVALID_TOKEN",
            "S3:TEMPORARY_REDIRECT",
            "S3:BUCKET_NOT_EMPTY",
            "S3:BAD_DIGEST",
            "S3:CROSS_LOCATION_LOGGING_PROHIBITED",
            "S3:MALFORMED_POST_REQUEST",
            "S3:REQUEST_TIMEOUT",
            "S3:TOO_MANY_BUCKETS",
            "S3:NO_SUCH_KEY",
            "S3:MISSING_ATTACHMENT",
            "S3:INVALID_BUCKET_STATE",
            "S3:RETRY_EXHAUSTED",
            "S3:INVALID_PART_ORDER",
            "S3:INVALID_RESPONSE_PRESIGNEDURL_MALFORMED",
            "S3:INVALID_POLICY_DOCUMENT",
            "S3:MALFORMED_XML",
            "S3:ACCOUNT_PROBLEM",
            "S3:USER_KEY_MUST_BE_SPECIFIED",
            "S3:MISSING_CONTENT_LENGTH",
            "S3:INVALID_DIGEST",
            "S3:ACCESS_DENIED",
            "S3:MISSING_REQUEST_BODY_ERROR",
            "S3:REQUEST_TORRENT_OF_BUCKET_ERROR",
            "S3:TOKEN_REFRESH_REQUIRED",
            "S3:NO_LOGGING_STATUS_FOR_KEY",
            "S3:RESTORE_ALREADY_IN_PROGRESS",
            "S3:INVALID_OBJECT_STATE",
            "S3:CONNECTIVITY",
            "S3:INVALID_ENCRYPTION_ALGORITHM_ERROR",
            "S3:PERMANENT_REDIRECT",
            "S3:INVALID_REQUEST",
            "S3:INCORRECT_NUMBER_OF_FILES_IN_POST_REQUEST",
            "S3:UNKNOWN",
            "S3:MALFORMED_ACL_ERROR",
            "S3:CREDENTIALS_NOT_SUPPORTED",
            "S3:NOT_IMPLEMENTED",
            "S3:INVALID_ARGUMENT",
            "S3:INVALID_TARGET_BUCKET_FOR_LOGGING",
            "S3:NO_SUCH_UPLOAD",
            "S3:INTERNAL_ERROR",
            "S3:SLOW_DOWN",
            "S3:ENTITY_TOO_LARGE",
            "S3:METHOD_NOT_ALLOWED",
            "S3:EXPIRED_TOKEN",
            "S3:MISSING_SECURITY_HEADER",
            "S3:BUCKET_ALREADY_OWNED_BY_YOU",
            "S3:INCOMPLETE_BODY"
          ],
          "stereotype": {
            "type": "PROCESSOR",
            "namespace": "MULE"
          },
          "parameterGroupModels": [
            {
              "parameters": [
                {
                  "type": {
                    "format": "java",
                    "type": "String"
                  },
                  "hasDynamicType": false,
                  "required": true,
                  "isConfigOverride": false,
                  "expressionSupport": "SUPPORTED",
                  "role": "BEHAVIOUR",
                  "dslConfiguration": {
                    "allowsInlineDefinition": true,
                    "allowsReferences": true,
                    "allowTopLevelDefinition": false
                  },
                  "layoutModel": {
                    "password": false,
                    "text": false,
                    "query": false,
                    "order": 1
                  },
                  "allowedStereotypeModels": [],
                  "name": "bucketName",
                  "description": "the bucket to delete Cross Origin Configuration.",
                  "modelProperties": {}
                }
              ],
              "exclusiveParametersModels": [],
              "layoutModel": {
                "password": false,
                "text": false,
                "query": false,
                "order": 1
              },
              "showInDsl": false,
              "name": "General",
              "description": "",
              "modelProperties": {}
            },
            {
              "parameters": [
                {
                  "type": {
                    "format": "java",
                    "type": "Union",
                    "annotations": {
                      "typeId": "ReconnectionStrategy"
                    },
                    "of": [
                      {
                        "type": "Object",
                        "annotations": {
                          "typeId": "reconnect"
                        },
                        "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": [
                                    "java.lang.Comparable"
                                  ],
                                  "parent": "java.lang.Number",
                                  "genericTypes": [],
                                  "isMap": false
                                },
                                "default": "2000"
                              }
                            },
                            "annotations": {
                              "description": {
                                "value": "How often (in ms) to reconnect"
                              }
                            }
                          },
                          {
                            "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"
                        },
                        "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": [
                                    "java.lang.Comparable"
                                  ],
                                  "parent": "java.lang.Number",
                                  "genericTypes": [],
                                  "isMap": false
                                },
                                "default": "2000"
                              }
                            },
                            "annotations": {
                              "description": {
                                "value": "How often (in ms) to reconnect"
                              }
                            }
                          }
                        ]
                      }
                    ]
                  },
                  "hasDynamicType": false,
                  "required": false,
                  "isConfigOverride": false,
                  "expressionSupport": "NOT_SUPPORTED",
                  "role": "BEHAVIOUR",
                  "dslConfiguration": {
                    "allowsInlineDefinition": true,
                    "allowsReferences": false,
                    "allowTopLevelDefinition": false
                  },
                  "layoutModel": {
                    "password": false,
                    "text": false,
                    "query": false,
                    "order": 2,
                    "tabName": "Advanced"
                  },
                  "allowedStereotypeModels": [],
                  "name": "reconnectionStrategy",
                  "description": "A retry strategy in case of connectivity errors",
                  "modelProperties": {
                    "org.mule.runtime.extension.api.property.QNameModelProperty": {
                      "value": {
                        "namespaceURI": "http://www.mulesoft.org/schema/mule/core",
                        "localPart": "abstract-reconnection-strategy",
                        "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": "deleteBucketCorsConfiguration",
          "description": "Deletes the Cross Origin Configuration information set for the bucket. To use this operation, you must have permission to perform the s3:PutCORSConfiguration action. The bucket owner has this permission by default and can grant this permission to others.",
          "modelProperties": {},
          "kind": "operation"
        },
        {
          "blocking": true,
          "executionType": "BLOCKING",
          "output": {
            "type": {
              "format": "java",
              "type": "Void"
            },
            "hasDynamicType": false,
            "description": "",
            "modelProperties": {}
          },
          "outputAttributes": {
            "type": {
              "format": "java",
              "type": "Void"
            },
            "hasDynamicType": false,
            "description": "",
            "modelProperties": {}
          },
          "transactional": false,
          "requiresConnection": true,
          "supportsStreaming": false,
          "notifications": [],
          "nestedComponents": [],
          "errors": [
            "S3:INVALID_RANGE",
            "S3:SERVICE_UNAVAILABLE",
            "S3:REQUEST_TIME_TOO_SKEWED",
            "S3:REDIRECT",
            "S3:INVALID_STORAGE_CLASS",
            "S3:MAX_MESSAGE_LENGTH_EXCEEDED",
            "S3:REQUEST_IS_NOT_MULTI_PART_CONTENT",
            "S3:UNEXPECTED_CONTENT",
            "S3:ENTITY_TOO_SMALL",
            "S3:NO_SUCH_BUCKET",
            "S3:INVALID_PART",
            "S3:INVALID_SOAP_REQUEST",
            "S3:NO_SUCH_VERSION",
            "S3:METADATA_TOO_LARGE",
            "S3:PRECONDITION_FAILED",
            "S3:BUCKET_ALREADY_EXISTS",
            "S3:AMBIGUOUS_GRANT_BY_EMAIL_ADDRESS",
            "S3:MISSING_SECURITY_ELEMENT",
            "S3:INVALID_URI",
            "S3:NOT_SIGNED_UP",
            "S3:INVALID_ADDRESSING_HEADER",
            "S3:MAX_POST_PRE_DATA_LENGTH_EXCEEDED_ERROR",
            "S3:ILLEGAL_VERSIONING_CONFIGURATION_EXCEPTION",
            "S3:INVALID_PAYER",
            "S3:NO_SUCH_BUCKET_POLICY",
            "S3:INVALID_SECURITY",
            "S3:OPERATION_ABORTED",
            "S3:INVALID_ACCESS_KEY_ID",
            "S3:INVALID_LOCATION_CONSTRAINT",
            "S3:INLINE_DATA_TOO_LARGE",
            "S3:SIGNATURE_DOES_NOT_MATCH",
            "S3:UNRESOLVABLE_GRANT_BY_EMAIL_ADDRESS",
            "S3:NO_SUCH_LIFECYCLE_CONFIGURATION",
            "S3:KEY_TOO_LONG",
            "S3:INVALID_BUCKET_NAME",
            "S3:INVALID_TOKEN",
            "S3:TEMPORARY_REDIRECT",
            "S3:BUCKET_NOT_EMPTY",
            "S3:BAD_DIGEST",
            "S3:CROSS_LOCATION_LOGGING_PROHIBITED",
            "S3:MALFORMED_POST_REQUEST",
            "S3:REQUEST_TIMEOUT",
            "S3:TOO_MANY_BUCKETS",
            "S3:NO_SUCH_KEY",
            "S3:MISSING_ATTACHMENT",
            "S3:INVALID_BUCKET_STATE",
            "S3:RETRY_EXHAUSTED",
            "S3:INVALID_PART_ORDER",
            "S3:INVALID_RESPONSE_PRESIGNEDURL_MALFORMED",
            "S3:INVALID_POLICY_DOCUMENT",
            "S3:MALFORMED_XML",
            "S3:ACCOUNT_PROBLEM",
            "S3:USER_KEY_MUST_BE_SPECIFIED",
            "S3:MISSING_CONTENT_LENGTH",
            "S3:INVALID_DIGEST",
            "S3:ACCESS_DENIED",
            "S3:MISSING_REQUEST_BODY_ERROR",
            "S3:REQUEST_TORRENT_OF_BUCKET_ERROR",
            "S3:TOKEN_REFRESH_REQUIRED",
            "S3:NO_LOGGING_STATUS_FOR_KEY",
            "S3:RESTORE_ALREADY_IN_PROGRESS",
            "S3:INVALID_OBJECT_STATE",
            "S3:CONNECTIVITY",
            "S3:INVALID_ENCRYPTION_ALGORITHM_ERROR",
            "S3:PERMANENT_REDIRECT",
            "S3:INVALID_REQUEST",
            "S3:INCORRECT_NUMBER_OF_FILES_IN_POST_REQUEST",
            "S3:UNKNOWN",
            "S3:MALFORMED_ACL_ERROR",
            "S3:CREDENTIALS_NOT_SUPPORTED",
            "S3:NOT_IMPLEMENTED",
            "S3:INVALID_ARGUMENT",
            "S3:INVALID_TARGET_BUCKET_FOR_LOGGING",
            "S3:NO_SUCH_UPLOAD",
            "S3:INTERNAL_ERROR",
            "S3:SLOW_DOWN",
            "S3:ENTITY_TOO_LARGE",
            "S3:METHOD_NOT_ALLOWED",
            "S3:EXPIRED_TOKEN",
            "S3:MISSING_SECURITY_HEADER",
            "S3:BUCKET_ALREADY_OWNED_BY_YOU",
            "S3:INCOMPLETE_BODY"
          ],
          "stereotype": {
            "type": "PROCESSOR",
            "namespace": "MULE"
          },
          "parameterGroupModels": [
            {
              "parameters": [
                {
                  "type": {
                    "format": "java",
                    "type": "String"
                  },
                  "hasDynamicType": false,
                  "required": true,
                  "isConfigOverride": false,
                  "expressionSupport": "SUPPORTED",
                  "role": "BEHAVIOUR",
                  "dslConfiguration": {
                    "allowsInlineDefinition": true,
                    "allowsReferences": true,
                    "allowTopLevelDefinition": false
                  },
                  "layoutModel": {
                    "password": false,
                    "text": false,
                    "query": false,
                    "order": 1
                  },
                  "allowedStereotypeModels": [],
                  "name": "bucketName",
                  "description": "the bucket whose lifecycle configuration to delete.",
                  "modelProperties": {}
                }
              ],
              "exclusiveParametersModels": [],
              "layoutModel": {
                "password": false,
                "text": false,
                "query": false,
                "order": 1
              },
              "showInDsl": false,
              "name": "General",
              "description": "",
              "modelProperties": {}
            },
            {
              "parameters": [
                {
                  "type": {
                    "format": "java",
                    "type": "Union",
                    "annotations": {
                      "typeId": "ReconnectionStrategy"
                    },
                    "of": [
                      {
                        "type": "Object",
                        "annotations": {
                          "typeId": "reconnect"
                        },
                        "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": [
                                    "java.lang.Comparable"
                                  ],
                                  "parent": "java.lang.Number",
                                  "genericTypes": [],
                                  "isMap": false
                                },
                                "default": "2000"
                              }
                            },
                            "annotations": {
                              "description": {
                                "value": "How often (in ms) to reconnect"
                              }
                            }
                          },
                          {
                            "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"
                        },
                        "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": [
                                    "java.lang.Comparable"
                                  ],
                                  "parent": "java.lang.Number",
                                  "genericTypes": [],
                                  "isMap": false
                                },
                                "default": "2000"
                              }
                            },
                            "annotations": {
                              "description": {
                                "value": "How often (in ms) to reconnect"
                              }
                            }
                          }
                        ]
                      }
                    ]
                  },
                  "hasDynamicType": false,
                  "required": false,
                  "isConfigOverride": false,
                  "expressionSupport": "NOT_SUPPORTED",
                  "role": "BEHAVIOUR",
                  "dslConfiguration": {
                    "allowsInlineDefinition": true,
                    "allowsReferences": false,
                    "allowTopLevelDefinition": false
                  },
                  "layoutModel": {
                    "password": false,
                    "text": false,
                    "query": false,
                    "order": 2,
                    "tabName": "Advanced"
                  },
                  "allowedStereotypeModels": [],
                  "name": "reconnectionStrategy",
                  "description": "A retry strategy in case of connectivity errors",
                  "modelProperties": {
                    "org.mule.runtime.extension.api.property.QNameModelProperty": {
                      "value": {
                        "namespaceURI": "http://www.mulesoft.org/schema/mule/core",
                        "localPart": "abstract-reconnection-strategy",
                        "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": "deleteBucketLifecycleConfiguration",
          "description": "Deletes the lifecycle configuration from the specified bucket. Amazon S3 removes all the lifecycle configuration rules in the lifecycle subresource associated with the bucket. Your objects never expire, and Amazon S3 no longer automatically deletes any objects on the basis of rules contained in the deleted lifecycle configuration.",
          "modelProperties": {},
          "kind": "operation"
        },
        {
          "blocking": true,
          "executionType": "BLOCKING",
          "output": {
            "type": {
              "format": "java",
              "type": "Void"
            },
            "hasDynamicType": false,
            "description": "",
            "modelProperties": {}
          },
          "outputAttributes": {
            "type": {
              "format": "java",
              "type": "Void"
            },
            "hasDynamicType": false,
            "description": "",
            "modelProperties": {}
          },
          "transactional": false,
          "requiresConnection": true,
          "supportsStreaming": false,
          "notifications": [],
          "nestedComponents": [],
          "errors": [
            "S3:INVALID_RANGE",
            "S3:SERVICE_UNAVAILABLE",
            "S3:REQUEST_TIME_TOO_SKEWED",
            "S3:REDIRECT",
            "S3:INVALID_STORAGE_CLASS",
            "S3:MAX_MESSAGE_LENGTH_EXCEEDED",
            "S3:REQUEST_IS_NOT_MULTI_PART_CONTENT",
            "S3:UNEXPECTED_CONTENT",
            "S3:ENTITY_TOO_SMALL",
            "S3:NO_SUCH_BUCKET",
            "S3:INVALID_PART",
            "S3:INVALID_SOAP_REQUEST",
            "S3:NO_SUCH_VERSION",
            "S3:METADATA_TOO_LARGE",
            "S3:PRECONDITION_FAILED",
            "S3:BUCKET_ALREADY_EXISTS",
            "S3:AMBIGUOUS_GRANT_BY_EMAIL_ADDRESS",
            "S3:MISSING_SECURITY_ELEMENT",
            "S3:INVALID_URI",
            "S3:NOT_SIGNED_UP",
            "S3:INVALID_ADDRESSING_HEADER",
            "S3:MAX_POST_PRE_DATA_LENGTH_EXCEEDED_ERROR",
            "S3:ILLEGAL_VERSIONING_CONFIGURATION_EXCEPTION",
            "S3:INVALID_PAYER",
            "S3:NO_SUCH_BUCKET_POLICY",
            "S3:INVALID_SECURITY",
            "S3:OPERATION_ABORTED",
            "S3:INVALID_ACCESS_KEY_ID",
            "S3:INVALID_LOCATION_CONSTRAINT",
            "S3:INLINE_DATA_TOO_LARGE",
            "S3:SIGNATURE_DOES_NOT_MATCH",
            "S3:UNRESOLVABLE_GRANT_BY_EMAIL_ADDRESS",
            "S3:NO_SUCH_LIFECYCLE_CONFIGURATION",
            "S3:KEY_TOO_LONG",
            "S3:INVALID_BUCKET_NAME",
            "S3:INVALID_TOKEN",
            "S3:TEMPORARY_REDIRECT",
            "S3:BUCKET_NOT_EMPTY",
            "S3:BAD_DIGEST",
            "S3:CROSS_LOCATION_LOGGING_PROHIBITED",
            "S3:MALFORMED_POST_REQUEST",
            "S3:REQUEST_TIMEOUT",
            "S3:TOO_MANY_BUCKETS",
            "S3:NO_SUCH_KEY",
            "S3:MISSING_ATTACHMENT",
            "S3:INVALID_BUCKET_STATE",
            "S3:RETRY_EXHAUSTED",
            "S3:INVALID_PART_ORDER",
            "S3:INVALID_RESPONSE_PRESIGNEDURL_MALFORMED",
            "S3:INVALID_POLICY_DOCUMENT",
            "S3:MALFORMED_XML",
            "S3:ACCOUNT_PROBLEM",
            "S3:USER_KEY_MUST_BE_SPECIFIED",
            "S3:MISSING_CONTENT_LENGTH",
            "S3:INVALID_DIGEST",
            "S3:ACCESS_DENIED",
            "S3:MISSING_REQUEST_BODY_ERROR",
            "S3:REQUEST_TORRENT_OF_BUCKET_ERROR",
            "S3:TOKEN_REFRESH_REQUIRED",
            "S3:NO_LOGGING_STATUS_FOR_KEY",
            "S3:RESTORE_ALREADY_IN_PROGRESS",
            "S3:INVALID_OBJECT_STATE",
            "S3:CONNECTIVITY",
            "S3:INVALID_ENCRYPTION_ALGORITHM_ERROR",
            "S3:PERMANENT_REDIRECT",
            "S3:INVALID_REQUEST",
            "S3:INCORRECT_NUMBER_OF_FILES_IN_POST_REQUEST",
            "S3:UNKNOWN",
            "S3:MALFORMED_ACL_ERROR",
            "S3:CREDENTIALS_NOT_SUPPORTED",
            "S3:NOT_IMPLEMENTED",
            "S3:INVALID_ARGUMENT",
            "S3:INVALID_TARGET_BUCKET_FOR_LOGGING",
            "S3:NO_SUCH_UPLOAD",
            "S3:INTERNAL_ERROR",
            "S3:SLOW_DOWN",
            "S3:ENTITY_TOO_LARGE",
            "S3:METHOD_NOT_ALLOWED",
            "S3:EXPIRED_TOKEN",
            "S3:MISSING_SECURITY_HEADER",
            "S3:BUCKET_ALREADY_OWNED_BY_YOU",
            "S3:INCOMPLETE_BODY"
          ],
          "stereotype": {
            "type": "PROCESSOR",
            "namespace": "MULE"
          },
          "parameterGroupModels": [
            {
              "parameters": [
                {
                  "type": {
                    "format": "java",
                    "type": "String"
                  },
                  "hasDynamicType": false,
                  "required": true,
                  "isConfigOverride": false,
                  "expressionSupport": "SUPPORTED",
                  "role": "BEHAVIOUR",
                  "dslConfiguration": {
                    "allowsInlineDefinition": true,
                    "allowsReferences": true,
                    "allowTopLevelDefinition": false
                  },
                  "layoutModel": {
                    "password": false,
                    "text": false,
                    "query": false,
                    "order": 1
                  },
                  "allowedStereotypeModels": [],
                  "name": "bucketName",
                  "description": "the bucket whose policy to delete",
                  "modelProperties": {}
                }
              ],
              "exclusiveParametersModels": [],
              "layoutModel": {
                "password": false,
                "text": false,
                "query": false,
                "order": 1
              },
              "showInDsl": false,
              "name": "General",
              "description": "",
              "modelProperties": {}
            },
            {
              "parameters": [
                {
                  "type": {
                    "format": "java",
                    "type": "Union",
                    "annotations": {
                      "typeId": "ReconnectionStrategy"
                    },
                    "of": [
                      {
                        "type": "Object",
                        "annotations": {
                          "typeId": "reconnect"
                        },
                        "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": [
                                    "java.lang.Comparable"
                                  ],
                                  "parent": "java.lang.Number",
                                  "genericTypes": [],
                                  "isMap": false
                                },
                                "default": "2000"
                              }
                            },
                            "annotations": {
                              "description": {
                                "value": "How often (in ms) to reconnect"
                              }
                            }
                          },
                          {
                            "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"
                        },
                        "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": [
                                    "java.lang.Comparable"
                                  ],
                                  "parent": "java.lang.Number",
                                  "genericTypes": [],
                                  "isMap": false
                                },
                                "default": "2000"
                              }
                            },
                            "annotations": {
                              "description": {
                                "value": "How often (in ms) to reconnect"
                              }
                            }
                          }
                        ]
                      }
                    ]
                  },
                  "hasDynamicType": false,
                  "required": false,
                  "isConfigOverride": false,
                  "expressionSupport": "NOT_SUPPORTED",
                  "role": "BEHAVIOUR",
                  "dslConfiguration": {
                    "allowsInlineDefinition": true,
                    "allowsReferences": false,
                    "allowTopLevelDefinition": false
                  },
                  "layoutModel": {
                    "password": false,
                    "text": false,
                    "query": false,
                    "order": 2,
                    "tabName": "Advanced"
                  },
                  "allowedStereotypeModels": [],
                  "name": "reconnectionStrategy",
                  "description": "A retry strategy in case of connectivity errors",
                  "modelProperties": {
                    "org.mule.runtime.extension.api.property.QNameModelProperty": {
                      "value": {
                        "namespaceURI": "http://www.mulesoft.org/schema/mule/core",
                        "localPart": "abstract-reconnection-strategy",
                        "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": "deleteBucketPolicy",
          "description": "Deletes the bucket\u0027s policy. Only the owner of the bucket can delete the bucket policy. Bucket policies provide access control management at the bucket level for both the bucket resource and contained object resources.",
          "modelProperties": {},
          "kind": "operation"
        },
        {
          "blocking": true,
          "executionType": "BLOCKING",
          "output": {
            "type": {
              "format": "java",
              "type": "Void"
            },
            "hasDynamicType": false,
            "description": "",
            "modelProperties": {}
          },
          "outputAttributes": {
            "type": {
              "format": "java",
              "type": "Void"
            },
            "hasDynamicType": false,
            "description": "",
            "modelProperties": {}
          },
          "transactional": false,
          "requiresConnection": true,
          "supportsStreaming": false,
          "notifications": [],
          "nestedComponents": [],
          "errors": [
            "S3:INVALID_RANGE",
            "S3:SERVICE_UNAVAILABLE",
            "S3:REQUEST_TIME_TOO_SKEWED",
            "S3:REDIRECT",
            "S3:INVALID_STORAGE_CLASS",
            "S3:MAX_MESSAGE_LENGTH_EXCEEDED",
            "S3:REQUEST_IS_NOT_MULTI_PART_CONTENT",
            "S3:UNEXPECTED_CONTENT",
            "S3:ENTITY_TOO_SMALL",
            "S3:NO_SUCH_BUCKET",
            "S3:INVALID_PART",
            "S3:INVALID_SOAP_REQUEST",
            "S3:NO_SUCH_VERSION",
            "S3:METADATA_TOO_LARGE",
            "S3:PRECONDITION_FAILED",
            "S3:BUCKET_ALREADY_EXISTS",
            "S3:AMBIGUOUS_GRANT_BY_EMAIL_ADDRESS",
            "S3:MISSING_SECURITY_ELEMENT",
            "S3:INVALID_URI",
            "S3:NOT_SIGNED_UP",
            "S3:INVALID_ADDRESSING_HEADER",
            "S3:MAX_POST_PRE_DATA_LENGTH_EXCEEDED_ERROR",
            "S3:ILLEGAL_VERSIONING_CONFIGURATION_EXCEPTION",
            "S3:INVALID_PAYER",
            "S3:NO_SUCH_BUCKET_POLICY",
            "S3:INVALID_SECURITY",
            "S3:OPERATION_ABORTED",
            "S3:INVALID_ACCESS_KEY_ID",
            "S3:INVALID_LOCATION_CONSTRAINT",
            "S3:INLINE_DATA_TOO_LARGE",
            "S3:SIGNATURE_DOES_NOT_MATCH",
            "S3:UNRESOLVABLE_GRANT_BY_EMAIL_ADDRESS",
            "S3:NO_SUCH_LIFECYCLE_CONFIGURATION",
            "S3:KEY_TOO_LONG",
            "S3:INVALID_BUCKET_NAME",
            "S3:INVALID_TOKEN",
            "S3:TEMPORARY_REDIRECT",
            "S3:BUCKET_NOT_EMPTY",
            "S3:BAD_DIGEST",
            "S3:CROSS_LOCATION_LOGGING_PROHIBITED",
            "S3:MALFORMED_POST_REQUEST",
            "S3:REQUEST_TIMEOUT",
            "S3:TOO_MANY_BUCKETS",
            "S3:NO_SUCH_KEY",
            "S3:MISSING_ATTACHMENT",
            "S3:INVALID_BUCKET_STATE",
            "S3:RETRY_EXHAUSTED",
            "S3:INVALID_PART_ORDER",
            "S3:INVALID_RESPONSE_PRESIGNEDURL_MALFORMED",
            "S3:INVALID_POLICY_DOCUMENT",
            "S3:MALFORMED_XML",
            "S3:ACCOUNT_PROBLEM",
            "S3:USER_KEY_MUST_BE_SPECIFIED",
            "S3:MISSING_CONTENT_LENGTH",
            "S3:INVALID_DIGEST",
            "S3:ACCESS_DENIED",
            "S3:MISSING_REQUEST_BODY_ERROR",
            "S3:REQUEST_TORRENT_OF_BUCKET_ERROR",
            "S3:TOKEN_REFRESH_REQUIRED",
            "S3:NO_LOGGING_STATUS_FOR_KEY",
            "S3:RESTORE_ALREADY_IN_PROGRESS",
            "S3:INVALID_OBJECT_STATE",
            "S3:CONNECTIVITY",
            "S3:INVALID_ENCRYPTION_ALGORITHM_ERROR",
            "S3:PERMANENT_REDIRECT",
            "S3:INVALID_REQUEST",
            "S3:INCORRECT_NUMBER_OF_FILES_IN_POST_REQUEST",
            "S3:UNKNOWN",
            "S3:MALFORMED_ACL_ERROR",
            "S3:CREDENTIALS_NOT_SUPPORTED",
            "S3:NOT_IMPLEMENTED",
            "S3:INVALID_ARGUMENT",
            "S3:INVALID_TARGET_BUCKET_FOR_LOGGING",
            "S3:NO_SUCH_UPLOAD",
            "S3:INTERNAL_ERROR",
            "S3:SLOW_DOWN",
            "S3:ENTITY_TOO_LARGE",
            "S3:METHOD_NOT_ALLOWED",
            "S3:EXPIRED_TOKEN",
            "S3:MISSING_SECURITY_HEADER",
            "S3:BUCKET_ALREADY_OWNED_BY_YOU",
            "S3:INCOMPLETE_BODY"
          ],
          "stereotype": {
            "type": "PROCESSOR",
            "namespace": "MULE"
          },
          "parameterGroupModels": [
            {
              "parameters": [
                {
                  "type": {
                    "format": "java",
                    "type": "String"
                  },
                  "hasDynamicType": false,
                  "required": true,
                  "isConfigOverride": false,
                  "expressionSupport": "SUPPORTED",
                  "role": "BEHAVIOUR",
                  "dslConfiguration": {
                    "allowsInlineDefinition": true,
                    "allowsReferences": true,
                    "allowTopLevelDefinition": false
                  },
                  "layoutModel": {
                    "password": false,
                    "text": false,
                    "query": false,
                    "order": 1
                  },
                  "allowedStereotypeModels": [],
                  "name": "bucketName",
                  "description": "the bucket whose tag to delete.",
                  "modelProperties": {}
                }
              ],
              "exclusiveParametersModels": [],
              "layoutModel": {
                "password": false,
                "text": false,
                "query": false,
                "order": 1
              },
              "showInDsl": false,
              "name": "General",
              "description": "",
              "modelProperties": {}
            },
            {
              "parameters": [
                {
                  "type": {
                    "format": "java",
                    "type": "Union",
                    "annotations": {
                      "typeId": "ReconnectionStrategy"
                    },
                    "of": [
                      {
                        "type": "Object",
                        "annotations": {
                          "typeId": "reconnect"
                        },
                        "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": [
                                    "java.lang.Comparable"
                                  ],
                                  "parent": "java.lang.Number",
                                  "genericTypes": [],
                                  "isMap": false
                                },
                                "default": "2000"
                              }
                            },
                            "annotations": {
                              "description": {
                                "value": "How often (in ms) to reconnect"
                              }
                            }
                          },
                          {
                            "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"
                        },
                        "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": [
                                    "java.lang.Comparable"
                                  ],
                                  "parent": "java.lang.Number",
                                  "genericTypes": [],
                                  "isMap": false
                                },
                                "default": "2000"
                              }
                            },
                            "annotations": {
                              "description": {
                                "value": "How often (in ms) to reconnect"
                              }
                            }
                          }
                        ]
                      }
                    ]
                  },
                  "hasDynamicType": false,
                  "required": false,
                  "isConfigOverride": false,
                  "expressionSupport": "NOT_SUPPORTED",
                  "role": "BEHAVIOUR",
                  "dslConfiguration": {
                    "allowsInlineDefinition": true,
                    "allowsReferences": false,
                    "allowTopLevelDefinition": false
                  },
                  "layoutModel": {
                    "password": false,
                    "text": false,
                    "query": false,
                    "order": 2,
                    "tabName": "Advanced"
                  },
                  "allowedStereotypeModels": [],
                  "name": "reconnectionStrategy",
                  "description": "A retry strategy in case of connectivity errors",
                  "modelProperties": {
                    "org.mule.runtime.extension.api.property.QNameModelProperty": {
                      "value": {
                        "namespaceURI": "http://www.mulesoft.org/schema/mule/core",
                        "localPart": "abstract-reconnection-strategy",
                        "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": "deleteBucketTaggingConfiguration",
          "description": "Deletes the tagging configuration associated with the specified bucket. By default, the bucket owner has this permission and can grant this permission to others.",
          "modelProperties": {},
          "kind": "operation"
        },
        {
          "blocking": true,
          "executionType": "BLOCKING",
          "output": {
            "type": {
              "format": "java",
              "type": "Void"
            },
            "hasDynamicType": false,
            "description": "",
            "modelProperties": {}
          },
          "outputAttributes": {
            "type": {
              "format": "java",
              "type": "Void"
            },
            "hasDynamicType": false,
            "description": "",
            "modelProperties": {}
          },
          "transactional": false,
          "requiresConnection": true,
          "supportsStreaming": false,
          "notifications": [],
          "nestedComponents": [],
          "errors": [
            "S3:INVALID_RANGE",
            "S3:SERVICE_UNAVAILABLE",
            "S3:REQUEST_TIME_TOO_SKEWED",
            "S3:REDIRECT",
            "S3:INVALID_STORAGE_CLASS",
            "S3:MAX_MESSAGE_LENGTH_EXCEEDED",
            "S3:REQUEST_IS_NOT_MULTI_PART_CONTENT",
            "S3:UNEXPECTED_CONTENT",
            "S3:ENTITY_TOO_SMALL",
            "S3:NO_SUCH_BUCKET",
            "S3:INVALID_PART",
            "S3:INVALID_SOAP_REQUEST",
            "S3:NO_SUCH_VERSION",
            "S3:METADATA_TOO_LARGE",
            "S3:PRECONDITION_FAILED",
            "S3:BUCKET_ALREADY_EXISTS",
            "S3:AMBIGUOUS_GRANT_BY_EMAIL_ADDRESS",
            "S3:MISSING_SECURITY_ELEMENT",
            "S3:INVALID_URI",
            "S3:NOT_SIGNED_UP",
            "S3:INVALID_ADDRESSING_HEADER",
            "S3:MAX_POST_PRE_DATA_LENGTH_EXCEEDED_ERROR",
            "S3:ILLEGAL_VERSIONING_CONFIGURATION_EXCEPTION",
            "S3:INVALID_PAYER",
            "S3:NO_SUCH_BUCKET_POLICY",
            "S3:INVALID_SECURITY",
            "S3:OPERATION_ABORTED",
            "S3:INVALID_ACCESS_KEY_ID",
            "S3:INVALID_LOCATION_CONSTRAINT",
            "S3:INLINE_DATA_TOO_LARGE",
            "S3:SIGNATURE_DOES_NOT_MATCH",
            "S3:UNRESOLVABLE_GRANT_BY_EMAIL_ADDRESS",
            "S3:NO_SUCH_LIFECYCLE_CONFIGURATION",
            "S3:KEY_TOO_LONG",
            "S3:INVALID_BUCKET_NAME",
            "S3:INVALID_TOKEN",
            "S3:TEMPORARY_REDIRECT",
            "S3:BUCKET_NOT_EMPTY",
            "S3:BAD_DIGEST",
            "S3:CROSS_LOCATION_LOGGING_PROHIBITED",
            "S3:MALFORMED_POST_REQUEST",
            "S3:REQUEST_TIMEOUT",
            "S3:TOO_MANY_BUCKETS",
            "S3:NO_SUCH_KEY",
            "S3:MISSING_ATTACHMENT",
            "S3:INVALID_BUCKET_STATE",
            "S3:RETRY_EXHAUSTED",
            "S3:INVALID_PART_ORDER",
            "S3:INVALID_RESPONSE_PRESIGNEDURL_MALFORMED",
            "S3:INVALID_POLICY_DOCUMENT",
            "S3:MALFORMED_XML",
            "S3:ACCOUNT_PROBLEM",
            "S3:USER_KEY_MUST_BE_SPECIFIED",
            "S3:MISSING_CONTENT_LENGTH",
            "S3:INVALID_DIGEST",
            "S3:ACCESS_DENIED",
            "S3:MISSING_REQUEST_BODY_ERROR",
            "S3:REQUEST_TORRENT_OF_BUCKET_ERROR",
            "S3:TOKEN_REFRESH_REQUIRED",
            "S3:NO_LOGGING_STATUS_FOR_KEY",
            "S3:RESTORE_ALREADY_IN_PROGRESS",
            "S3:INVALID_OBJECT_STATE",
            "S3:CONNECTIVITY",
            "S3:INVALID_ENCRYPTION_ALGORITHM_ERROR",
            "S3:PERMANENT_REDIRECT",
            "S3:INVALID_REQUEST",
            "S3:INCORRECT_NUMBER_OF_FILES_IN_POST_REQUEST",
            "S3:UNKNOWN",
            "S3:MALFORMED_ACL_ERROR",
            "S3:CREDENTIALS_NOT_SUPPORTED",
            "S3:NOT_IMPLEMENTED",
            "S3:INVALID_ARGUMENT",
            "S3:INVALID_TARGET_BUCKET_FOR_LOGGING",
            "S3:NO_SUCH_UPLOAD",
            "S3:INTERNAL_ERROR",
            "S3:SLOW_DOWN",
            "S3:ENTITY_TOO_LARGE",
            "S3:METHOD_NOT_ALLOWED",
            "S3:EXPIRED_TOKEN",
            "S3:MISSING_SECURITY_HEADER",
            "S3:BUCKET_ALREADY_OWNED_BY_YOU",
            "S3:INCOMPLETE_BODY"
          ],
          "stereotype": {
            "type": "PROCESSOR",
            "namespace": "MULE"
          },
          "parameterGroupModels": [
            {
              "parameters": [
                {
                  "type": {
                    "format": "java",
                    "type": "String"
                  },
                  "hasDynamicType": false,
                  "required": true,
                  "isConfigOverride": false,
                  "expressionSupport": "SUPPORTED",
                  "role": "BEHAVIOUR",
                  "dslConfiguration": {
                    "allowsInlineDefinition": true,
                    "allowsReferences": true,
                    "allowTopLevelDefinition": false
                  },
                  "layoutModel": {
                    "password": false,
                    "text": false,
                    "query": false,
                    "order": 1
                  },
                  "allowedStereotypeModels": [],
                  "name": "bucketName",
                  "description": "the bucket whose website configuration to delete",
                  "modelProperties": {}
                }
              ],
              "exclusiveParametersModels": [],
              "layoutModel": {
                "password": false,
                "text": false,
                "query": false,
                "order": 1
              },
              "showInDsl": false,
              "name": "General",
              "description": "",
              "modelProperties": {}
            },
            {
              "parameters": [
                {
                  "type": {
                    "format": "java",
                    "type": "Union",
                    "annotations": {
                      "typeId": "ReconnectionStrategy"
                    },
                    "of": [
                      {
                        "type": "Object",
                        "annotations": {
                          "typeId": "reconnect"
                        },
                        "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": [
                                    "java.lang.Comparable"
                                  ],
                                  "parent": "java.lang.Number",
                                  "genericTypes": [],
                                  "isMap": false
                                },
                                "default": "2000"
                              }
                            },
                            "annotations": {
                              "description": {
                                "value": "How often (in ms) to reconnect"
                              }
                            }
                          },
                          {
                            "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"
                        },
                        "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": [
                                    "java.lang.Comparable"
                                  ],
                                  "parent": "java.lang.Number",
                                  "genericTypes": [],
                                  "isMap": false
                                },
                                "default": "2000"
                              }
                            },
                            "annotations": {
                              "description": {
                                "value": "How often (in ms) to reconnect"
                              }
                            }
                          }
                        ]
                      }
                    ]
                  },
                  "hasDynamicType": false,
                  "required": false,
                  "isConfigOverride": false,
                  "expressionSupport": "NOT_SUPPORTED",
                  "role": "BEHAVIOUR",
                  "dslConfiguration": {
                    "allowsInlineDefinition": true,
                    "allowsReferences": false,
                    "allowTopLevelDefinition": false
                  },
                  "layoutModel": {
                    "password": false,
                    "text": false,
                    "query": false,
                    "order": 2,
                    "tabName": "Advanced"
                  },
                  "allowedStereotypeModels": [],
                  "name": "reconnectionStrategy",
                  "description": "A retry strategy in case of connectivity errors",
                  "modelProperties": {
                    "org.mule.runtime.extension.api.property.QNameModelProperty": {
                      "value": {
                        "namespaceURI": "http://www.mulesoft.org/schema/mule/core",
                        "localPart": "abstract-reconnection-strategy",
                        "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": "deleteBucketWebsiteConfiguration",
          "description": "Removes the website configuration for a bucket; this operation requires the DeleteBucketWebsite permission. By default, only the bucket owner can delete the website configuration attached to a bucket. However, bucket owners can grant other users permission to delete the website configuration by writing a bucket policy granting them the \u003ccode\u003eS3:DeleteBucketWebsite\u003c/code\u003e permission. Calling this operation on a bucket with no website configuration does not fail, but calling this operation a bucket that does not exist does.",
          "modelProperties": {},
          "kind": "operation"
        },
        {
          "blocking": true,
          "executionType": "BLOCKING",
          "output": {
            "type": {
              "format": "java",
              "type": "Void"
            },
            "hasDynamicType": false,
            "description": "",
            "modelProperties": {}
          },
          "outputAttributes": {
            "type": {
              "format": "java",
              "type": "Void"
            },
            "hasDynamicType": false,
            "description": "",
            "modelProperties": {}
          },
          "transactional": false,
          "requiresConnection": true,
          "supportsStreaming": false,
          "notifications": [],
          "nestedComponents": [],
          "errors": [
            "S3:INVALID_RANGE",
            "S3:SERVICE_UNAVAILABLE",
            "S3:REQUEST_TIME_TOO_SKEWED",
            "S3:REDIRECT",
            "S3:INVALID_STORAGE_CLASS",
            "S3:MAX_MESSAGE_LENGTH_EXCEEDED",
            "S3:REQUEST_IS_NOT_MULTI_PART_CONTENT",
            "S3:UNEXPECTED_CONTENT",
            "S3:ENTITY_TOO_SMALL",
            "S3:NO_SUCH_BUCKET",
            "S3:INVALID_PART",
            "S3:INVALID_SOAP_REQUEST",
            "S3:NO_SUCH_VERSION",
            "S3:METADATA_TOO_LARGE",
            "S3:PRECONDITION_FAILED",
            "S3:BUCKET_ALREADY_EXISTS",
            "S3:AMBIGUOUS_GRANT_BY_EMAIL_ADDRESS",
            "S3:MISSING_SECURITY_ELEMENT",
            "S3:INVALID_URI",
            "S3:NOT_SIGNED_UP",
            "S3:INVALID_ADDRESSING_HEADER",
            "S3:MAX_POST_PRE_DATA_LENGTH_EXCEEDED_ERROR",
            "S3:ILLEGAL_VERSIONING_CONFIGURATION_EXCEPTION",
            "S3:INVALID_PAYER",
            "S3:NO_SUCH_BUCKET_POLICY",
            "S3:INVALID_SECURITY",
            "S3:OPERATION_ABORTED",
            "S3:INVALID_ACCESS_KEY_ID",
            "S3:INVALID_LOCATION_CONSTRAINT",
            "S3:INLINE_DATA_TOO_LARGE",
            "S3:SIGNATURE_DOES_NOT_MATCH",
            "S3:UNRESOLVABLE_GRANT_BY_EMAIL_ADDRESS",
            "S3:NO_SUCH_LIFECYCLE_CONFIGURATION",
            "S3:KEY_TOO_LONG",
            "S3:INVALID_BUCKET_NAME",
            "S3:INVALID_TOKEN",
            "S3:TEMPORARY_REDIRECT",
            "S3:BUCKET_NOT_EMPTY",
            "S3:BAD_DIGEST",
            "S3:CROSS_LOCATION_LOGGING_PROHIBITED",
            "S3:MALFORMED_POST_REQUEST",
            "S3:REQUEST_TIMEOUT",
            "S3:TOO_MANY_BUCKETS",
            "S3:NO_SUCH_KEY",
            "S3:MISSING_ATTACHMENT",
            "S3:INVALID_BUCKET_STATE",
            "S3:RETRY_EXHAUSTED",
            "S3:INVALID_PART_ORDER",
            "S3:INVALID_RESPONSE_PRESIGNEDURL_MALFORMED",
            "S3:INVALID_POLICY_DOCUMENT",
            "S3:MALFORMED_XML",
            "S3:ACCOUNT_PROBLEM",
            "S3:USER_KEY_MUST_BE_SPECIFIED",
            "S3:MISSING_CONTENT_LENGTH",
            "S3:INVALID_DIGEST",
            "S3:ACCESS_DENIED",
            "S3:MISSING_REQUEST_BODY_ERROR",
            "S3:REQUEST_TORRENT_OF_BUCKET_ERROR",
            "S3:TOKEN_REFRESH_REQUIRED",
            "S3:NO_LOGGING_STATUS_FOR_KEY",
            "S3:RESTORE_ALREADY_IN_PROGRESS",
            "S3:INVALID_OBJECT_STATE",
            "S3:CONNECTIVITY",
            "S3:INVALID_ENCRYPTION_ALGORITHM_ERROR",
            "S3:PERMANENT_REDIRECT",
            "S3:INVALID_REQUEST",
            "S3:INCORRECT_NUMBER_OF_FILES_IN_POST_REQUEST",
            "S3:UNKNOWN",
            "S3:MALFORMED_ACL_ERROR",
            "S3:CREDENTIALS_NOT_SUPPORTED",
            "S3:NOT_IMPLEMENTED",
            "S3:INVALID_ARGUMENT",
            "S3:INVALID_TARGET_BUCKET_FOR_LOGGING",
            "S3:NO_SUCH_UPLOAD",
            "S3:INTERNAL_ERROR",
            "S3:SLOW_DOWN",
            "S3:ENTITY_TOO_LARGE",
            "S3:METHOD_NOT_ALLOWED",
            "S3:EXPIRED_TOKEN",
            "S3:MISSING_SECURITY_HEADER",
            "S3:BUCKET_ALREADY_OWNED_BY_YOU",
            "S3:INCOMPLETE_BODY"
          ],
          "stereotype": {
            "type": "PROCESSOR",
            "namespace": "MULE"
          },
          "parameterGroupModels": [
            {
              "parameters": [
                {
                  "type": {
                    "format": "java",
                    "type": "String"
                  },
                  "hasDynamicType": false,
                  "required": true,
                  "isConfigOverride": false,
                  "expressionSupport": "SUPPORTED",
                  "role": "BEHAVIOUR",
                  "dslConfiguration": {
                    "allowsInlineDefinition": true,
                    "allowsReferences": true,
                    "allowTopLevelDefinition": false
                  },
                  "layoutModel": {
                    "password": false,
                    "text": false,
                    "query": false,
                    "order": 1
                  },
                  "allowedStereotypeModels": [],
                  "name": "bucketName",
                  "description": "the object\u0027s bucket",
                  "modelProperties": {}
                },
                {
                  "type": {
                    "format": "java",
                    "type": "String"
                  },
                  "hasDynamicType": false,
                  "required": true,
                  "isConfigOverride": false,
                  "expressionSupport": "SUPPORTED",
                  "role": "BEHAVIOUR",
                  "dslConfiguration": {
                    "allowsInlineDefinition": true,
                    "allowsReferences": true,
                    "allowTopLevelDefinition": false
                  },
                  "layoutModel": {
                    "password": false,
                    "text": false,
                    "query": false,
                    "order": 2
                  },
                  "allowedStereotypeModels": [],
                  "name": "key",
                  "description": "the object\u0027s key",
                  "modelProperties": {}
                },
                {
                  "type": {
                    "format": "java",
                    "type": "String"
                  },
                  "hasDynamicType": false,
                  "required": false,
                  "isConfigOverride": false,
                  "expressionSupport": "SUPPORTED",
                  "role": "BEHAVIOUR",
                  "dslConfiguration": {
                    "allowsInlineDefinition": true,
                    "allowsReferences": true,
                    "allowTopLevelDefinition": false
                  },
                  "layoutModel": {
                    "password": false,
                    "text": false,
                    "query": false,
                    "order": 3
                  },
                  "allowedStereotypeModels": [],
                  "name": "versionId",
                  "description": "the specific version of the object to delete, if versioning is enabled.",
                  "modelProperties": {}
                }
              ],
              "exclusiveParametersModels": [],
              "layoutModel": {
                "password": false,
                "text": false,
                "query": false,
                "order": 1
              },
              "showInDsl": false,
              "name": "General",
              "description": "",
              "modelProperties": {}
            },
            {
              "parameters": [
                {
                  "type": {
                    "format": "java",
                    "type": "Union",
                    "annotations": {
                      "typeId": "ReconnectionStrategy"
                    },
                    "of": [
                      {
                        "type": "Object",
                        "annotations": {
                          "typeId": "reconnect"
                        },
                        "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": [
                                    "java.lang.Comparable"
                                  ],
                                  "parent": "java.lang.Number",
                                  "genericTypes": [],
                                  "isMap": false
                                },
                                "default": "2000"
                              }
                            },
                            "annotations": {
                              "description": {
                                "value": "How often (in ms) to reconnect"
                              }
                            }
                          },
                          {
                            "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"
                        },
                        "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": [
                                    "java.lang.Comparable"
                                  ],
                                  "parent": "java.lang.Number",
                                  "genericTypes": [],
                                  "isMap": false
                                },
                                "default": "2000"
                              }
                            },
                            "annotations": {
                              "description": {
                                "value": "How often (in ms) to reconnect"
                              }
                            }
                          }
                        ]
                      }
                    ]
                  },
                  "hasDynamicType": false,
                  "required": false,
                  "isConfigOverride": false,
                  "expressionSupport": "NOT_SUPPORTED",
                  "role": "BEHAVIOUR",
                  "dslConfiguration": {
                    "allowsInlineDefinition": true,
                    "allowsReferences": false,
                    "allowTopLevelDefinition": false
                  },
                  "layoutModel": {
                    "password": false,
                    "text": false,
                    "query": false,
                    "order": 4,
                    "tabName": "Advanced"
                  },
                  "allowedStereotypeModels": [],
                  "name": "reconnectionStrategy",
                  "description": "A retry strategy in case of connectivity errors",
                  "modelProperties": {
                    "org.mule.runtime.extension.api.property.QNameModelProperty": {
                      "value": {
                        "namespaceURI": "http://www.mulesoft.org/schema/mule/core",
                        "localPart": "abstract-reconnection-strategy",
                        "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": "deleteObject",
          "description": "Deletes a given object, only the owner of the bucket containing the version can perform this operation. If version is specified, versioning must be enabled, and once deleted, there is no method to restore such version. Otherwise, once deleted, the object can only be restored if versioning was enabled when the object was deleted. If attempting to delete an object that does not exist, Amazon S3 will return a success message instead of an error message.",
          "modelProperties": {},
          "kind": "operation"
        },
        {
          "blocking": true,
          "executionType": "BLOCKING",
          "output": {
            "type": {
              "format": "java",
              "type": "Void"
            },
            "hasDynamicType": false,
            "description": "",
            "modelProperties": {}
          },
          "outputAttributes": {
            "type": {
              "format": "java",
              "type": "Void"
            },
            "hasDynamicType": false,
            "description": "",
            "modelProperties": {}
          },
          "transactional": false,
          "requiresConnection": true,
          "supportsStreaming": false,
          "notifications": [],
          "nestedComponents": [],
          "errors": [
            "S3:INVALID_RANGE",
            "S3:SERVICE_UNAVAILABLE",
            "S3:REQUEST_TIME_TOO_SKEWED",
            "S3:REDIRECT",
            "S3:INVALID_STORAGE_CLASS",
            "S3:MAX_MESSAGE_LENGTH_EXCEEDED",
            "S3:REQUEST_IS_NOT_MULTI_PART_CONTENT",
            "S3:UNEXPECTED_CONTENT",
            "S3:ENTITY_TOO_SMALL",
            "S3:NO_SUCH_BUCKET",
            "S3:INVALID_PART",
            "S3:INVALID_SOAP_REQUEST",
            "S3:NO_SUCH_VERSION",
            "S3:METADATA_TOO_LARGE",
            "S3:PRECONDITION_FAILED",
            "S3:BUCKET_ALREADY_EXISTS",
            "S3:AMBIGUOUS_GRANT_BY_EMAIL_ADDRESS",
            "S3:MISSING_SECURITY_ELEMENT",
            "S3:INVALID_URI",
            "S3:NOT_SIGNED_UP",
            "S3:INVALID_ADDRESSING_HEADER",
            "S3:MAX_POST_PRE_DATA_LENGTH_EXCEEDED_ERROR",
            "S3:ILLEGAL_VERSIONING_CONFIGURATION_EXCEPTION",
            "S3:INVALID_PAYER",
            "S3:NO_SUCH_BUCKET_POLICY",
            "S3:INVALID_SECURITY",
            "S3:OPERATION_ABORTED",
            "S3:INVALID_ACCESS_KEY_ID",
            "S3:INVALID_LOCATION_CONSTRAINT",
            "S3:INLINE_DATA_TOO_LARGE",
            "S3:SIGNATURE_DOES_NOT_MATCH",
            "S3:UNRESOLVABLE_GRANT_BY_EMAIL_ADDRESS",
            "S3:NO_SUCH_LIFECYCLE_CONFIGURATION",
            "S3:KEY_TOO_LONG",
            "S3:INVALID_BUCKET_NAME",
            "S3:INVALID_TOKEN",
            "S3:TEMPORARY_REDIRECT",
            "S3:BUCKET_NOT_EMPTY",
            "S3:BAD_DIGEST",
            "S3:CROSS_LOCATION_LOGGING_PROHIBITED",
            "S3:MALFORMED_POST_REQUEST",
            "S3:REQUEST_TIMEOUT",
            "S3:TOO_MANY_BUCKETS",
            "S3:NO_SUCH_KEY",
            "S3:MISSING_ATTACHMENT",
            "S3:INVALID_BUCKET_STATE",
            "S3:RETRY_EXHAUSTED",
            "S3:INVALID_PART_ORDER",
            "S3:INVALID_RESPONSE_PRESIGNEDURL_MALFORMED",
            "S3:INVALID_POLICY_DOCUMENT",
            "S3:MALFORMED_XML",
            "S3:ACCOUNT_PROBLEM",
            "S3:USER_KEY_MUST_BE_SPECIFIED",
            "S3:MISSING_CONTENT_LENGTH",
            "S3:INVALID_DIGEST",
            "S3:ACCESS_DENIED",
            "S3:MISSING_REQUEST_BODY_ERROR",
            "S3:REQUEST_TORRENT_OF_BUCKET_ERROR",
            "S3:TOKEN_REFRESH_REQUIRED",
            "S3:NO_LOGGING_STATUS_FOR_KEY",
            "S3:RESTORE_ALREADY_IN_PROGRESS",
            "S3:INVALID_OBJECT_STATE",
            "S3:CONNECTIVITY",
            "S3:INVALID_ENCRYPTION_ALGORITHM_ERROR",
            "S3:PERMANENT_REDIRECT",
            "S3:INVALID_REQUEST",
            "S3:INCORRECT_NUMBER_OF_FILES_IN_POST_REQUEST",
            "S3:UNKNOWN",
            "S3:MALFORMED_ACL_ERROR",
            "S3:CREDENTIALS_NOT_SUPPORTED",
            "S3:NOT_IMPLEMENTED",
            "S3:INVALID_ARGUMENT",
            "S3:INVALID_TARGET_BUCKET_FOR_LOGGING",
            "S3:NO_SUCH_UPLOAD",
            "S3:INTERNAL_ERROR",
            "S3:SLOW_DOWN",
            "S3:ENTITY_TOO_LARGE",
            "S3:METHOD_NOT_ALLOWED",
            "S3:EXPIRED_TOKEN",
            "S3:MISSING_SECURITY_HEADER",
            "S3:BUCKET_ALREADY_OWNED_BY_YOU",
            "S3:INCOMPLETE_BODY"
          ],
          "stereotype": {
            "type": "PROCESSOR",
            "namespace": "MULE"
          },
          "parameterGroupModels": [
            {
              "parameters": [
                {
                  "type": {
                    "format": "java",
                    "type": "String"
                  },
                  "hasDynamicType": false,
                  "required": true,
                  "isConfigOverride": false,
                  "expressionSupport": "SUPPORTED",
                  "role": "BEHAVIOUR",
                  "dslConfiguration": {
                    "allowsInlineDefinition": true,
                    "allowsReferences": true,
                    "allowTopLevelDefinition": false
                  },
                  "layoutModel": {
                    "password": false,
                    "text": false,
                    "query": false,
                    "order": 1
                  },
                  "allowedStereotypeModels": [],
                  "name": "bucketName",
                  "description": "the objects bucket name",
                  "modelProperties": {}
                },
                {
                  "type": {
                    "format": "java",
                    "type": "Array",
                    "annotations": {
                      "classInformation": {
                        "classname": "java.util.List",
                        "hasDefaultConstructor": false,
                        "isInterface": true,
                        "isInstantiable": false,
                        "isAbstract": true,
                        "isFinal": false,
                        "implementedInterfaces": [
                          "java.util.Collection"
                        ],
                        "parent": "",
                        "genericTypes": [
                          "org.mule.extension.s3.api.model.KeyVersion"
                        ],
                        "isMap": false
                      }
                    },
                    "item": {
                      "type": "@ref:org.mule.extension.s3.api.model.KeyVersion"
                    }
                  },
                  "hasDynamicType": false,
                  "required": true,
                  "isConfigOverride": false,
                  "expressionSupport": "SUPPORTED",
                  "role": "BEHAVIOUR",
                  "dslConfiguration": {
                    "allowsInlineDefinition": true,
                    "allowsReferences": true,
                    "allowTopLevelDefinition": false
                  },
                  "layoutModel": {
                    "password": false,
                    "text": false,
                    "query": false,
                    "order": 2
                  },
                  "allowedStereotypeModels": [],
                  "name": "keys",
                  "description": "the objects keys, version is optional",
                  "modelProperties": {}
                }
              ],
              "exclusiveParametersModels": [],
              "layoutModel": {
                "password": false,
                "text": false,
                "query": false,
                "order": 1
              },
              "showInDsl": false,
              "name": "General",
              "description": "",
              "modelProperties": {}
            },
            {
              "parameters": [
                {
                  "type": {
                    "format": "java",
                    "type": "Union",
                    "annotations": {
                      "typeId": "ReconnectionStrategy"
                    },
                    "of": [
                      {
                        "type": "Object",
                        "annotations": {
                          "typeId": "reconnect"
                        },
                        "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": [
                                    "java.lang.Comparable"
                                  ],
                                  "parent": "java.lang.Number",
                                  "genericTypes": [],
                                  "isMap": false
                                },
                                "default": "2000"
                              }
                            },
                            "annotations": {
                              "description": {
                                "value": "How often (in ms) to reconnect"
                              }
                            }
                          },
                          {
                            "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"
                        },
                        "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": [
                                    "java.lang.Comparable"
                                  ],
                                  "parent": "java.lang.Number",
                                  "genericTypes": [],
                                  "isMap": false
                                },
                                "default": "2000"
                              }
                            },
                            "annotations": {
                              "description": {
                                "value": "How often (in ms) to reconnect"
                              }
                            }
                          }
                        ]
                      }
                    ]
                  },
                  "hasDynamicType": false,
                  "required": false,
                  "isConfigOverride": false,
                  "expressionSupport": "NOT_SUPPORTED",
                  "role": "BEHAVIOUR",
                  "dslConfiguration": {
                    "allowsInlineDefinition": true,
                    "allowsReferences": false,
                    "allowTopLevelDefinition": false
                  },
                  "layoutModel": {
                    "password": false,
                    "text": false,
                    "query": false,
                    "order": 3,
                    "tabName": "Advanced"
                  },
                  "allowedStereotypeModels": [],
                  "name": "reconnectionStrategy",
                  "description": "A retry strategy in case of connectivity errors",
                  "modelProperties": {
                    "org.mule.runtime.extension.api.property.QNameModelProperty": {
                      "value": {
                        "namespaceURI": "http://www.mulesoft.org/schema/mule/core",
                        "localPart": "abstract-reconnection-strategy",
                        "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": "deleteObjects",
          "description": "Deletes multiple objects in a single bucket from S3. Version of the keys is optional. \u003cp\u003e In some cases, some objects will be successfully deleted, while some attempts will cause an error. If any object in the request cannot be deleted, this method throws a com.amazonaws.services.s3.model.MultiObjectDeleteException with details of the error. \u003c/p\u003e",
          "modelProperties": {},
          "kind": "operation"
        },
        {
          "blocking": true,
          "executionType": "BLOCKING",
          "output": {
            "type": {
              "format": "java",
              "type": "Array",
              "annotations": {
                "classInformation": {
                  "classname": "java.util.List",
                  "hasDefaultConstructor": false,
                  "isInterface": true,
                  "isInstantiable": false,
                  "isAbstract": true,
                  "isFinal": false,
                  "implementedInterfaces": [
                    "java.util.Collection"
                  ],
                  "parent": "",
                  "genericTypes": [
                    "org.mule.extension.s3.api.model.Grant"
                  ],
                  "isMap": false
                }
              },
              "item": {
                "type": "@ref:org.mule.extension.s3.api.model.Grant"
              }
            },
            "hasDynamicType": false,
            "description": "",
            "modelProperties": {}
          },
          "outputAttributes": {
            "type": {
              "format": "java",
              "type": "@ref:org.mule.extension.s3.api.attributes.AccessControlListAttributes"
            },
            "hasDynamicType": false,
            "description": "",
            "modelProperties": {}
          },
          "transactional": false,
          "requiresConnection": true,
          "supportsStreaming": false,
          "notifications": [],
          "nestedComponents": [],
          "errors": [
            "S3:INVALID_RANGE",
            "S3:SERVICE_UNAVAILABLE",
            "S3:REQUEST_TIME_TOO_SKEWED",
            "S3:REDIRECT",
            "S3:INVALID_STORAGE_CLASS",
            "S3:MAX_MESSAGE_LENGTH_EXCEEDED",
            "S3:REQUEST_IS_NOT_MULTI_PART_CONTENT",
            "S3:UNEXPECTED_CONTENT",
            "S3:ENTITY_TOO_SMALL",
            "S3:NO_SUCH_BUCKET",
            "S3:INVALID_PART",
            "S3:INVALID_SOAP_REQUEST",
            "S3:NO_SUCH_VERSION",
            "S3:METADATA_TOO_LARGE",
            "S3:PRECONDITION_FAILED",
            "S3:BUCKET_ALREADY_EXISTS",
            "S3:AMBIGUOUS_GRANT_BY_EMAIL_ADDRESS",
            "S3:MISSING_SECURITY_ELEMENT",
            "S3:INVALID_URI",
            "S3:NOT_SIGNED_UP",
            "S3:INVALID_ADDRESSING_HEADER",
            "S3:MAX_POST_PRE_DATA_LENGTH_EXCEEDED_ERROR",
            "S3:ILLEGAL_VERSIONING_CONFIGURATION_EXCEPTION",
            "S3:INVALID_PAYER",
            "S3:NO_SUCH_BUCKET_POLICY",
            "S3:INVALID_SECURITY",
            "S3:OPERATION_ABORTED",
            "S3:INVALID_ACCESS_KEY_ID",
            "S3:INVALID_LOCATION_CONSTRAINT",
            "S3:INLINE_DATA_TOO_LARGE",
            "S3:SIGNATURE_DOES_NOT_MATCH",
            "S3:UNRESOLVABLE_GRANT_BY_EMAIL_ADDRESS",
            "S3:NO_SUCH_LIFECYCLE_CONFIGURATION",
            "S3:KEY_TOO_LONG",
            "S3:INVALID_BUCKET_NAME",
            "S3:INVALID_TOKEN",
            "S3:TEMPORARY_REDIRECT",
            "S3:BUCKET_NOT_EMPTY",
            "S3:BAD_DIGEST",
            "S3:CROSS_LOCATION_LOGGING_PROHIBITED",
            "S3:MALFORMED_POST_REQUEST",
            "S3:REQUEST_TIMEOUT",
            "S3:TOO_MANY_BUCKETS",
            "S3:NO_SUCH_KEY",
            "S3:MISSING_ATTACHMENT",
            "S3:INVALID_BUCKET_STATE",
            "S3:RETRY_EXHAUSTED",
            "S3:INVALID_PART_ORDER",
            "S3:INVALID_RESPONSE_PRESIGNEDURL_MALFORMED",
            "S3:INVALID_POLICY_DOCUMENT",
            "S3:MALFORMED_XML",
            "S3:ACCOUNT_PROBLEM",
            "S3:USER_KEY_MUST_BE_SPECIFIED",
            "S3:MISSING_CONTENT_LENGTH",
            "S3:INVALID_DIGEST",
            "S3:ACCESS_DENIED",
            "S3:MISSING_REQUEST_BODY_ERROR",
            "S3:REQUEST_TORRENT_OF_BUCKET_ERROR",
            "S3:TOKEN_REFRESH_REQUIRED",
            "S3:NO_LOGGING_STATUS_FOR_KEY",
            "S3:RESTORE_ALREADY_IN_PROGRESS",
            "S3:INVALID_OBJECT_STATE",
            "S3:CONNECTIVITY",
            "S3:INVALID_ENCRYPTION_ALGORITHM_ERROR",
            "S3:PERMANENT_REDIRECT",
            "S3:INVALID_REQUEST",
            "S3:INCORRECT_NUMBER_OF_FILES_IN_POST_REQUEST",
            "S3:UNKNOWN",
            "S3:MALFORMED_ACL_ERROR",
            "S3:CREDENTIALS_NOT_SUPPORTED",
            "S3:NOT_IMPLEMENTED",
            "S3:INVALID_ARGUMENT",
            "S3:INVALID_TARGET_BUCKET_FOR_LOGGING",
            "S3:NO_SUCH_UPLOAD",
            "S3:INTERNAL_ERROR",
            "S3:SLOW_DOWN",
            "S3:ENTITY_TOO_LARGE",
            "S3:METHOD_NOT_ALLOWED",
            "S3:EXPIRED_TOKEN",
            "S3:MISSING_SECURITY_HEADER",
            "S3:BUCKET_ALREADY_OWNED_BY_YOU",
            "S3:INCOMPLETE_BODY"
          ],
          "stereotype": {
            "type": "PROCESSOR",
            "namespace": "MULE"
          },
          "parameterGroupModels": [
            {
              "parameters": [
                {
                  "type": {
                    "format": "java",
                    "type": "String"
                  },
                  "hasDynamicType": false,
                  "required": true,
                  "isConfigOverride": false,
                  "expressionSupport": "SUPPORTED",
                  "role": "BEHAVIOUR",
                  "dslConfiguration": {
                    "allowsInlineDefinition": true,
                    "allowsReferences": true,
                    "allowTopLevelDefinition": false
                  },
                  "layoutModel": {
                    "password": false,
                    "text": false,
                    "query": false,
                    "order": 1
                  },
                  "allowedStereotypeModels": [],
                  "name": "bucketName",
                  "description": "the bucket whose acl to retrieve.",
                  "modelProperties": {}
                }
              ],
              "exclusiveParametersModels": [],
              "layoutModel": {
                "password": false,
                "text": false,
                "query": false,
                "order": 1
              },
              "showInDsl": false,
              "name": "General",
              "description": "",
              "modelProperties": {}
            },
            {
              "parameters": [
                {
                  "type": {
                    "format": "java",
                    "type": "String"
                  },
                  "hasDynamicType": false,
                  "required": false,
                  "isConfigOverride": false,
                  "expressionSupport": "NOT_SUPPORTED",
                  "role": "BEHAVIOUR",
                  "dslConfiguration": {
                    "allowsInlineDefinition": true,
                    "allowsReferences": true,
                    "allowTopLevelDefinition": false
                  },
                  "layoutModel": {
                    "password": false,
                    "text": false,
                    "query": false,
                    "order": 2,
                    "tabName": "Advanced"
                  },
                  "allowedStereotypeModels": [],
                  "name": "target",
                  "displayModel": {
                    "displayName": "Target Variable"
                  },
                  "description": "The name of a variable on which the operation\u0027s output will be placed",
                  "modelProperties": {}
                },
                {
                  "type": {
                    "format": "java",
                    "type": "String"
                  },
                  "hasDynamicType": false,
                  "required": false,
                  "isConfigOverride": false,
                  "expressionSupport": "REQUIRED",
                  "defaultValue": "#[payload]",
                  "role": "BEHAVIOUR",
                  "dslConfiguration": {
                    "allowsInlineDefinition": true,
                    "allowsReferences": true,
                    "allowTopLevelDefinition": false
                  },
                  "layoutModel": {
                    "password": false,
                    "text": false,
                    "query": false,
                    "order": 3,
                    "tabName": "Advanced"
                  },
                  "allowedStereotypeModels": [],
                  "name": "targetValue",
                  "displayModel": {
                    "displayName": "Target Value"
                  },
                  "description": "An expression that will be evaluated against the operation\u0027s output and the outcome of that expression will be stored in the target variable",
                  "modelProperties": {}
                }
              ],
              "exclusiveParametersModels": [],
              "layoutModel": {
                "password": false,
                "text": false,
                "query": false,
                "order": 2
              },
              "showInDsl": false,
              "name": "Output",
              "description": "",
              "modelProperties": {}
            },
            {
              "parameters": [
                {
                  "type": {
                    "format": "java",
                    "type": "Union",
                    "annotations": {
                      "typeId": "ReconnectionStrategy"
                    },
                    "of": [
                      {
                        "type": "Object",
                        "annotations": {
                          "typeId": "reconnect"
                        },
                        "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": [
                                    "java.lang.Comparable"
                                  ],
                                  "parent": "java.lang.Number",
                                  "genericTypes": [],
                                  "isMap": false
                                },
                                "default": "2000"
                              }
                            },
                            "annotations": {
                              "description": {
                                "value": "How often (in ms) to reconnect"
                              }
                            }
                          },
                          {
                            "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"
                        },
                        "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": [
                                    "java.lang.Comparable"
                                  ],
                                  "parent": "java.lang.Number",
                                  "genericTypes": [],
                                  "isMap": false
                                },
                                "default": "2000"
                              }
                            },
                            "annotations": {
                              "description": {
                                "value": "How often (in ms) to reconnect"
                              }
                            }
                          }
                        ]
                      }
                    ]
                  },
                  "hasDynamicType": false,
                  "required": false,
                  "isConfigOverride": false,
                  "expressionSupport": "NOT_SUPPORTED",
                  "role": "BEHAVIOUR",
                  "dslConfiguration": {
                    "allowsInlineDefinition": true,
                    "allowsReferences": false,
                    "allowTopLevelDefinition": false
                  },
                  "layoutModel": {
                    "password": false,
                    "text": false,
                    "query": false,
                    "order": 4,
                    "tabName": "Advanced"
                  },
                  "allowedStereotypeModels": [],
                  "name": "reconnectionStrategy",
                  "description": "A retry strategy in case of connectivity errors",
                  "modelProperties": {
                    "org.mule.runtime.extension.api.property.QNameModelProperty": {
                      "value": {
                        "namespaceURI": "http://www.mulesoft.org/schema/mule/core",
                        "localPart": "abstract-reconnection-strategy",
                        "prefix": "mule"
                      }
                    },
                    "org.mule.runtime.extension.api.property.InfrastructureParameterModelProperty": {
                      "sequence": 3
                    }
                  }
                }
              ],
              "exclusiveParametersModels": [],
              "layoutModel": {
                "password": false,
                "text": false,
                "query": false,
                "order": 3
              },
              "showInDsl": false,
              "name": "Connection",
              "description": "",
              "modelProperties": {}
            }
          ],
          "name": "getBucketAcl",
          "description": "Answers the access control list of the specified bucket.",
          "modelProperties": {},
          "kind": "operation"
        },
        {
          "blocking": true,
          "executionType": "BLOCKING",
          "output": {
            "type": {
              "format": "java",
              "type": "Array",
              "annotations": {
                "classInformation": {
                  "classname": "java.util.List",
                  "hasDefaultConstructor": false,
                  "isInterface": true,
                  "isInstantiable": false,
                  "isAbstract": true,
                  "isFinal": false,
                  "implementedInterfaces": [
                    "java.util.Collection"
                  ],
                  "parent": "",
                  "genericTypes": [
                    "org.mule.extension.s3.api.model.CORSRule"
                  ],
                  "isMap": false
                }
              },
              "item": {
                "type": "@ref:org.mule.extension.s3.api.model.CORSRule"
              }
            },
            "hasDynamicType": false,
            "description": "",
            "modelProperties": {}
          },
          "outputAttributes": {
            "type": {
              "format": "java",
              "type": "Void"
            },
            "hasDynamicType": false,
            "description": "",
            "modelProperties": {}
          },
          "transactional": false,
          "requiresConnection": true,
          "supportsStreaming": false,
          "notifications": [],
          "nestedComponents": [],
          "errors": [
            "S3:INVALID_RANGE",
            "S3:SERVICE_UNAVAILABLE",
            "S3:REQUEST_TIME_TOO_SKEWED",
            "S3:REDIRECT",
            "S3:INVALID_STORAGE_CLASS",
            "S3:MAX_MESSAGE_LENGTH_EXCEEDED",
            "S3:REQUEST_IS_NOT_MULTI_PART_CONTENT",
            "S3:UNEXPECTED_CONTENT",
            "S3:ENTITY_TOO_SMALL",
            "S3:NO_SUCH_BUCKET",
            "S3:INVALID_PART",
            "S3:INVALID_SOAP_REQUEST",
            "S3:NO_SUCH_VERSION",
            "S3:METADATA_TOO_LARGE",
            "S3:PRECONDITION_FAILED",
            "S3:BUCKET_ALREADY_EXISTS",
            "S3:AMBIGUOUS_GRANT_BY_EMAIL_ADDRESS",
            "S3:MISSING_SECURITY_ELEMENT",
            "S3:INVALID_URI",
            "S3:NOT_SIGNED_UP",
            "S3:INVALID_ADDRESSING_HEADER",
            "S3:MAX_POST_PRE_DATA_LENGTH_EXCEEDED_ERROR",
            "S3:ILLEGAL_VERSIONING_CONFIGURATION_EXCEPTION",
            "S3:INVALID_PAYER",
            "S3:NO_SUCH_BUCKET_POLICY",
            "S3:INVALID_SECURITY",
            "S3:OPERATION_ABORTED",
            "S3:INVALID_ACCESS_KEY_ID",
            "S3:INVALID_LOCATION_CONSTRAINT",
            "S3:INLINE_DATA_TOO_LARGE",
            "S3:SIGNATURE_DOES_NOT_MATCH",
            "S3:UNRESOLVABLE_GRANT_BY_EMAIL_ADDRESS",
            "S3:NO_SUCH_LIFECYCLE_CONFIGURATION",
            "S3:KEY_TOO_LONG",
            "S3:INVALID_BUCKET_NAME",
            "S3:INVALID_TOKEN",
            "S3:TEMPORARY_REDIRECT",
            "S3:BUCKET_NOT_EMPTY",
            "S3:BAD_DIGEST",
            "S3:CROSS_LOCATION_LOGGING_PROHIBITED",
            "S3:MALFORMED_POST_REQUEST",
            "S3:REQUEST_TIMEOUT",
            "S3:TOO_MANY_BUCKETS",
            "S3:NO_SUCH_KEY",
            "S3:MISSING_ATTACHMENT",
            "S3:INVALID_BUCKET_STATE",
            "S3:RETRY_EXHAUSTED",
            "S3:INVALID_PART_ORDER",
            "S3:INVALID_RESPONSE_PRESIGNEDURL_MALFORMED",
            "S3:INVALID_POLICY_DOCUMENT",
            "S3:MALFORMED_XML",
            "S3:ACCOUNT_PROBLEM",
            "S3:USER_KEY_MUST_BE_SPECIFIED",
            "S3:MISSING_CONTENT_LENGTH",
            "S3:INVALID_DIGEST",
            "S3:ACCESS_DENIED",
            "S3:MISSING_REQUEST_BODY_ERROR",
            "S3:REQUEST_TORRENT_OF_BUCKET_ERROR",
            "S3:TOKEN_REFRESH_REQUIRED",
            "S3:NO_LOGGING_STATUS_FOR_KEY",
            "S3:RESTORE_ALREADY_IN_PROGRESS",
            "S3:INVALID_OBJECT_STATE",
            "S3:CONNECTIVITY",
            "S3:INVALID_ENCRYPTION_ALGORITHM_ERROR",
            "S3:PERMANENT_REDIRECT",
            "S3:INVALID_REQUEST",
            "S3:INCORRECT_NUMBER_OF_FILES_IN_POST_REQUEST",
            "S3:UNKNOWN",
            "S3:MALFORMED_ACL_ERROR",
            "S3:CREDENTIALS_NOT_SUPPORTED",
            "S3:NOT_IMPLEMENTED",
            "S3:INVALID_ARGUMENT",
            "S3:INVALID_TARGET_BUCKET_FOR_LOGGING",
            "S3:NO_SUCH_UPLOAD",
            "S3:INTERNAL_ERROR",
            "S3:SLOW_DOWN",
            "S3:ENTITY_TOO_LARGE",
            "S3:METHOD_NOT_ALLOWED",
            "S3:EXPIRED_TOKEN",
            "S3:MISSING_SECURITY_HEADER",
            "S3:BUCKET_ALREADY_OWNED_BY_YOU",
            "S3:INCOMPLETE_BODY"
          ],
          "stereotype": {
            "type": "PROCESSOR",
            "namespace": "MULE"
          },
          "parameterGroupModels": [
            {
              "parameters": [
                {
                  "type": {
                    "format": "java",
                    "type": "String"
                  },
                  "hasDynamicType": false,
                  "required": true,
                  "isConfigOverride": false,
                  "expressionSupport": "SUPPORTED",
                  "role": "BEHAVIOUR",
                  "dslConfiguration": {
                    "allowsInlineDefinition": true,
                    "allowsReferences": true,
                    "allowTopLevelDefinition": false
                  },
                  "layoutModel": {
                    "password": false,
                    "text": false,
                    "query": false,
                    "order": 1
                  },
                  "allowedStereotypeModels": [],
                  "name": "bucketName",
                  "description": "the bucket whose cors to retrieve.",
                  "modelProperties": {}
                }
              ],
              "exclusiveParametersModels": [],
              "layoutModel": {
                "password": false,
                "text": false,
                "query": false,
                "order": 1
              },
              "showInDsl": false,
              "name": "General",
              "description": "",
              "modelProperties": {}
            },
            {
              "parameters": [
                {
                  "type": {
                    "format": "java",
                    "type": "String"
                  },
                  "hasDynamicType": false,
                  "required": false,
                  "isConfigOverride": false,
                  "expressionSupport": "NOT_SUPPORTED",
                  "role": "BEHAVIOUR",
                  "dslConfiguration": {
                    "allowsInlineDefinition": true,
                    "allowsReferences": true,
                    "allowTopLevelDefinition": false
                  },
                  "layoutModel": {
                    "password": false,
                    "text": false,
                    "query": false,
                    "order": 2,
                    "tabName": "Advanced"
                  },
                  "allowedStereotypeModels": [],
                  "name": "target",
                  "displayModel": {
                    "displayName": "Target Variable"
                  },
                  "description": "The name of a variable on which the operation\u0027s output will be placed",
                  "modelProperties": {}
                },
                {
                  "type": {
                    "format": "java",
                    "type": "String"
                  },
                  "hasDynamicType": false,
                  "required": false,
                  "isConfigOverride": false,
                  "expressionSupport": "REQUIRED",
                  "defaultValue": "#[payload]",
                  "role": "BEHAVIOUR",
                  "dslConfiguration": {
                    "allowsInlineDefinition": true,
                    "allowsReferences": true,
                    "allowTopLevelDefinition": false
                  },
                  "layoutModel": {
                    "password": false,
                    "text": false,
                    "query": false,
                    "order": 3,
                    "tabName": "Advanced"
                  },
                  "allowedStereotypeModels": [],
                  "name": "targetValue",
                  "displayModel": {
                    "displayName": "Target Value"
                  },
                  "description": "An expression that will be evaluated against the operation\u0027s output and the outcome of that expression will be stored in the target variable",
                  "modelProperties": {}
                }
              ],
              "exclusiveParametersModels": [],
              "layoutModel": {
                "password": false,
                "text": false,
                "query": false,
                "order": 2
              },
              "showInDsl": false,
              "name": "Output",
              "description": "",
              "modelProperties": {}
            },
            {
              "parameters": [
                {
                  "type": {
                    "format": "java",
                    "type": "Union",
                    "annotations": {
                      "typeId": "ReconnectionStrategy"
                    },
                    "of": [
                      {
                        "type": "Object",
                        "annotations": {
                          "typeId": "reconnect"
                        },
                        "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": [
                                    "java.lang.Comparable"
                                  ],
                                  "parent": "java.lang.Number",
                                  "genericTypes": [],
                                  "isMap": false
                                },
                                "default": "2000"
                              }
                            },
                            "annotations": {
                              "description": {
                                "value": "How often (in ms) to reconnect"
                              }
                            }
                          },
                          {
                            "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"
                        },
                        "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": [
                                    "java.lang.Comparable"
                                  ],
                                  "parent": "java.lang.Number",
                                  "genericTypes": [],
                                  "isMap": false
                                },
                                "default": "2000"
                              }
                            },
                            "annotations": {
                              "description": {
                                "value": "How often (in ms) to reconnect"
                              }
                            }
                          }
                        ]
                      }
                    ]
                  },
                  "hasDynamicType": false,
                  "required": false,
                  "isConfigOverride": false,
                  "expressionSupport": "NOT_SUPPORTED",
                  "role": "BEHAVIOUR",
                  "dslConfiguration": {
                    "allowsInlineDefinition": true,
                    "allowsReferences": false,
                    "allowTopLevelDefinition": false
                  },
                  "layoutModel": {
                    "password": false,
                    "text": false,
                    "query": false,
                    "order": 4,
                    "tabName": "Advanced"
                  },
                  "allowedStereotypeModels": [],
                  "name": "reconnectionStrategy",
                  "description": "A retry strategy in case of connectivity errors",
                  "modelProperties": {
                    "org.mule.runtime.extension.api.property.QNameModelProperty": {
                      "value": {
                        "namespaceURI": "http://www.mulesoft.org/schema/mule/core",
                        "localPart": "abstract-reconnection-strategy",
                        "prefix": "mule"
                      }
                    },
                    "org.mule.runtime.extension.api.property.InfrastructureParameterModelProperty": {
                      "sequence": 3
                    }
                  }
                }
              ],
              "exclusiveParametersModels": [],
              "layoutModel": {
                "password": false,
                "text": false,
                "query": false,
                "order": 3
              },
              "showInDsl": false,
              "name": "Connection",
              "description": "",
              "modelProperties": {}
            }
          ],
          "name": "getBucketCorsConfiguration",
          "description": "Answers the cors configuration information set for the bucket.",
          "modelProperties": {},
          "kind": "operation"
        },
        {
          "blocking": true,
          "executionType": "BLOCKING",
          "output": {
            "type": {
              "format": "java",
              "type": "Array",
              "annotations": {
                "classInformation": {
                  "classname": "java.util.List",
                  "hasDefaultConstructor": false,
                  "isInterface": true,
                  "isInstantiable": false,
                  "isAbstract": true,
                  "isFinal": false,
                  "implementedInterfaces": [
                    "java.util.Collection"
                  ],
                  "parent": "",
                  "genericTypes": [
                    "org.mule.extension.s3.api.model.BLCRule"
                  ],
                  "isMap": false
                }
              },
              "item": {
                "type": "@ref:org.mule.extension.s3.api.model.BLCRule"
              }
            },
            "hasDynamicType": false,
            "description": "",
            "modelProperties": {}
          },
          "outputAttributes": {
            "type": {
              "format": "java",
              "type": "Void"
            },
            "hasDynamicType": false,
            "description": "",
            "modelProperties": {}
          },
          "transactional": false,
          "requiresConnection": true,
          "supportsStreaming": false,
          "notifications": [],
          "nestedComponents": [],
          "errors": [
            "S3:INVALID_RANGE",
            "S3:SERVICE_UNAVAILABLE",
            "S3:REQUEST_TIME_TOO_SKEWED",
            "S3:REDIRECT",
            "S3:INVALID_STORAGE_CLASS",
            "S3:MAX_MESSAGE_LENGTH_EXCEEDED",
            "S3:REQUEST_IS_NOT_MULTI_PART_CONTENT",
            "S3:UNEXPECTED_CONTENT",
            "S3:ENTITY_TOO_SMALL",
            "S3:NO_SUCH_BUCKET",
            "S3:INVALID_PART",
            "S3:INVALID_SOAP_REQUEST",
            "S3:NO_SUCH_VERSION",
            "S3:METADATA_TOO_LARGE",
            "S3:PRECONDITION_FAILED",
            "S3:BUCKET_ALREADY_EXISTS",
            "S3:AMBIGUOUS_GRANT_BY_EMAIL_ADDRESS",
            "S3:MISSING_SECURITY_ELEMENT",
            "S3:INVALID_URI",
            "S3:NOT_SIGNED_UP",
            "S3:INVALID_ADDRESSING_HEADER",
            "S3:MAX_POST_PRE_DATA_LENGTH_EXCEEDED_ERROR",
            "S3:ILLEGAL_VERSIONING_CONFIGURATION_EXCEPTION",
            "S3:INVALID_PAYER",
            "S3:NO_SUCH_BUCKET_POLICY",
            "S3:INVALID_SECURITY",
            "S3:OPERATION_ABORTED",
            "S3:INVALID_ACCESS_KEY_ID",
            "S3:INVALID_LOCATION_CONSTRAINT",
            "S3:INLINE_DATA_TOO_LARGE",
            "S3:SIGNATURE_DOES_NOT_MATCH",
            "S3:UNRESOLVABLE_GRANT_BY_EMAIL_ADDRESS",
            "S3:NO_SUCH_LIFECYCLE_CONFIGURATION",
            "S3:KEY_TOO_LONG",
            "S3:INVALID_BUCKET_NAME",
            "S3:INVALID_TOKEN",
            "S3:TEMPORARY_REDIRECT",
            "S3:BUCKET_NOT_EMPTY",
            "S3:BAD_DIGEST",
            "S3:CROSS_LOCATION_LOGGING_PROHIBITED",
            "S3:MALFORMED_POST_REQUEST",
            "S3:REQUEST_TIMEOUT",
            "S3:TOO_MANY_BUCKETS",
            "S3:NO_SUCH_KEY",
            "S3:MISSING_ATTACHMENT",
            "S3:INVALID_BUCKET_STATE",
            "S3:RETRY_EXHAUSTED",
            "S3:INVALID_PART_ORDER",
            "S3:INVALID_RESPONSE_PRESIGNEDURL_MALFORMED",
            "S3:INVALID_POLICY_DOCUMENT",
            "S3:MALFORMED_XML",
            "S3:ACCOUNT_PROBLEM",
            "S3:USER_KEY_MUST_BE_SPECIFIED",
            "S3:MISSING_CONTENT_LENGTH",
            "S3:INVALID_DIGEST",
            "S3:ACCESS_DENIED",
            "S3:MISSING_REQUEST_BODY_ERROR",
            "S3:REQUEST_TORRENT_OF_BUCKET_ERROR",
            "S3:TOKEN_REFRESH_REQUIRED",
            "S3:NO_LOGGING_STATUS_FOR_KEY",
            "S3:RESTORE_ALREADY_IN_PROGRESS",
            "S3:INVALID_OBJECT_STATE",
            "S3:CONNECTIVITY",
            "S3:INVALID_ENCRYPTION_ALGORITHM_ERROR",
            "S3:PERMANENT_REDIRECT",
            "S3:INVALID_REQUEST",
            "S3:INCORRECT_NUMBER_OF_FILES_IN_POST_REQUEST",
            "S3:UNKNOWN",
            "S3:MALFORMED_ACL_ERROR",
            "S3:CREDENTIALS_NOT_SUPPORTED",
            "S3:NOT_IMPLEMENTED",
            "S3:INVALID_ARGUMENT",
            "S3:INVALID_TARGET_BUCKET_FOR_LOGGING",
            "S3:NO_SUCH_UPLOAD",
            "S3:INTERNAL_ERROR",
            "S3:SLOW_DOWN",
            "S3:ENTITY_TOO_LARGE",
            "S3:METHOD_NOT_ALLOWED",
            "S3:EXPIRED_TOKEN",
            "S3:MISSING_SECURITY_HEADER",
            "S3:BUCKET_ALREADY_OWNED_BY_YOU",
            "S3:INCOMPLETE_BODY"
          ],
          "stereotype": {
            "type": "PROCESSOR",
            "namespace": "MULE"
          },
          "parameterGroupModels": [
            {
              "parameters": [
                {
                  "type": {
                    "format": "java",
                    "type": "String"
                  },
                  "hasDynamicType": false,
                  "required": true,
                  "isConfigOverride": false,
                  "expressionSupport": "SUPPORTED",
                  "role": "BEHAVIOUR",
                  "dslConfiguration": {
                    "allowsInlineDefinition": true,
                    "allowsReferences": true,
                    "allowTopLevelDefinition": false
                  },
                  "layoutModel": {
                    "password": false,
                    "text": false,
                    "query": false,
                    "order": 1
                  },
                  "allowedStereotypeModels": [],
                  "name": "bucketName",
                  "description": "the bucket whose lifecycle configuration information to retrieve.",
                  "modelProperties": {}
                }
              ],
              "exclusiveParametersModels": [],
              "layoutModel": {
                "password": false,
                "text": false,
                "query": false,
                "order": 1
              },
              "showInDsl": false,
              "name": "General",
              "description": "",
              "modelProperties": {}
            },
            {
              "parameters": [
                {
                  "type": {
                    "format": "java",
                    "type": "String"
                  },
                  "hasDynamicType": false,
                  "required": false,
                  "isConfigOverride": false,
                  "expressionSupport": "NOT_SUPPORTED",
                  "role": "BEHAVIOUR",
                  "dslConfiguration": {
                    "allowsInlineDefinition": true,
                    "allowsReferences": true,
                    "allowTopLevelDefinition": false
                  },
                  "layoutModel": {
                    "password": false,
                    "text": false,
                    "query": false,
                    "order": 2,
                    "tabName": "Advanced"
                  },
                  "allowedStereotypeModels": [],
                  "name": "target",
                  "displayModel": {
                    "displayName": "Target Variable"
                  },
                  "description": "The name of a variable on which the operation\u0027s output will be placed",
                  "modelProperties": {}
                },
                {
                  "type": {
                    "format": "java",
                    "type": "String"
                  },
                  "hasDynamicType": false,
                  "required": false,
                  "isConfigOverride": false,
                  "expressionSupport": "REQUIRED",
                  "defaultValue": "#[payload]",
                  "role": "BEHAVIOUR",
                  "dslConfiguration": {
                    "allowsInlineDefinition": true,
                    "allowsReferences": true,
                    "allowTopLevelDefinition": false
                  },
                  "layoutModel": {
                    "password": false,
                    "text": false,
                    "query": false,
                    "order": 3,
                    "tabName": "Advanced"
                  },
                  "allowedStereotypeModels": [],
                  "name": "targetValue",
                  "displayModel": {
                    "displayName": "Target Value"
                  },
                  "description": "An expression that will be evaluated against the operation\u0027s output and the outcome of that expression will be stored in the target variable",
                  "modelProperties": {}
                }
              ],
              "exclusiveParametersModels": [],
              "layoutModel": {
                "password": false,
                "text": false,
                "query": false,
                "order": 2
              },
              "showInDsl": false,
              "name": "Output",
              "description": "",
              "modelProperties": {}
            },
            {
              "parameters": [
                {
                  "type": {
                    "format": "java",
                    "type": "Union",
                    "annotations": {
                      "typeId": "ReconnectionStrategy"
                    },
                    "of": [
                      {
                        "type": "Object",
                        "annotations": {
                          "typeId": "reconnect"
                        },
                        "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": [
                                    "java.lang.Comparable"
                                  ],
                                  "parent": "java.lang.Number",
                                  "genericTypes": [],
                                  "isMap": false
                                },
                                "default": "2000"
                              }
                            },
                            "annotations": {
                              "description": {
                                "value": "How often (in ms) to reconnect"
                              }
                            }
                          },
                          {
                            "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"
                        },
                        "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": [
                                    "java.lang.Comparable"
                                  ],
                                  "parent": "java.lang.Number",
                                  "genericTypes": [],
                                  "isMap": false
                                },
                                "default": "2000"
                              }
                            },
                            "annotations": {
                              "description": {
                                "value": "How often (in ms) to reconnect"
                              }
                            }
                          }
                        ]
                      }
                    ]
                  },
                  "hasDynamicType": false,
                  "required": false,
                  "isConfigOverride": false,
                  "expressionSupport": "NOT_SUPPORTED",
                  "role": "BEHAVIOUR",
                  "dslConfiguration": {
                    "allowsInlineDefinition": true,
                    "allowsReferences": false,
                    "allowTopLevelDefinition": false
                  },
                  "layoutModel": {
                    "password": false,
                    "text": false,
                    "query": false,
                    "order": 4,
                    "tabName": "Advanced"
                  },
                  "allowedStereotypeModels": [],
                  "name": "reconnectionStrategy",
                  "description": "A retry strategy in case of connectivity errors",
                  "modelProperties": {
                    "org.mule.runtime.extension.api.property.QNameModelProperty": {
                      "value": {
                        "namespaceURI": "http://www.mulesoft.org/schema/mule/core",
                        "localPart": "abstract-reconnection-strategy",
                        "prefix": "mule"
                      }
                    },
                    "org.mule.runtime.extension.api.property.InfrastructureParameterModelProperty": {
                      "sequence": 3
                    }
                  }
                }
              ],
              "exclusiveParametersModels": [],
              "layoutModel": {
                "password": false,
                "text": false,
                "query": false,
                "order": 3
              },
              "showInDsl": false,
              "name": "Connection",
              "description": "",
              "modelProperties": {}
            }
          ],
          "name": "getBucketLifecycleConfiguration",
          "description": "Returns the lifecycle configuration information set on the bucket.",
          "modelProperties": {},
          "kind": "operation"
        },
        {
          "blocking": true,
          "executionType": "BLOCKING",
          "output": {
            "type": {
              "format": {
                "id": "application/plain",
                "label": "application/plain",
                "validMimeTypes": [
                  "application/plain"
                ]
              },
              "type": "String"
            },
            "hasDynamicType": false,
            "description": "",
            "modelProperties": {}
          },
          "outputAttributes": {
            "type": {
              "format": "java",
              "type": "Void"
            },
            "hasDynamicType": false,
            "description": "",
            "modelProperties": {}
          },
          "transactional": false,
          "requiresConnection": true,
          "supportsStreaming": false,
          "notifications": [],
          "nestedComponents": [],
          "errors": [
            "S3:INVALID_RANGE",
            "S3:SERVICE_UNAVAILABLE",
            "S3:REQUEST_TIME_TOO_SKEWED",
            "S3:REDIRECT",
            "S3:INVALID_STORAGE_CLASS",
            "S3:MAX_MESSAGE_LENGTH_EXCEEDED",
            "S3:REQUEST_IS_NOT_MULTI_PART_CONTENT",
            "S3:UNEXPECTED_CONTENT",
            "S3:ENTITY_TOO_SMALL",
            "S3:NO_SUCH_BUCKET",
            "S3:INVALID_PART",
            "S3:INVALID_SOAP_REQUEST",
            "S3:NO_SUCH_VERSION",
            "S3:METADATA_TOO_LARGE",
            "S3:PRECONDITION_FAILED",
            "S3:BUCKET_ALREADY_EXISTS",
            "S3:AMBIGUOUS_GRANT_BY_EMAIL_ADDRESS",
            "S3:MISSING_SECURITY_ELEMENT",
            "S3:INVALID_URI",
            "S3:NOT_SIGNED_UP",
            "S3:INVALID_ADDRESSING_HEADER",
            "S3:MAX_POST_PRE_DATA_LENGTH_EXCEEDED_ERROR",
            "S3:ILLEGAL_VERSIONING_CONFIGURATION_EXCEPTION",
            "S3:INVALID_PAYER",
            "S3:NO_SUCH_BUCKET_POLICY",
            "S3:INVALID_SECURITY",
            "S3:OPERATION_ABORTED",
            "S3:INVALID_ACCESS_KEY_ID",
            "S3:INVALID_LOCATION_CONSTRAINT",
            "S3:INLINE_DATA_TOO_LARGE",
            "S3:SIGNATURE_DOES_NOT_MATCH",
            "S3:UNRESOLVABLE_GRANT_BY_EMAIL_ADDRESS",
            "S3:NO_SUCH_LIFECYCLE_CONFIGURATION",
            "S3:KEY_TOO_LONG",
            "S3:INVALID_BUCKET_NAME",
            "S3:INVALID_TOKEN",
            "S3:TEMPORARY_REDIRECT",
            "S3:BUCKET_NOT_EMPTY",
            "S3:BAD_DIGEST",
            "S3:CROSS_LOCATION_LOGGING_PROHIBITED",
            "S3:MALFORMED_POST_REQUEST",
            "S3:REQUEST_TIMEOUT",
            "S3:TOO_MANY_BUCKETS",
            "S3:NO_SUCH_KEY",
            "S3:MISSING_ATTACHMENT",
            "S3:INVALID_BUCKET_STATE",
            "S3:RETRY_EXHAUSTED",
            "S3:INVALID_PART_ORDER",
            "S3:INVALID_RESPONSE_PRESIGNEDURL_MALFORMED",
            "S3:INVALID_POLICY_DOCUMENT",
            "S3:MALFORMED_XML",
            "S3:ACCOUNT_PROBLEM",
            "S3:USER_KEY_MUST_BE_SPECIFIED",
            "S3:MISSING_CONTENT_LENGTH",
            "S3:INVALID_DIGEST",
            "S3:ACCESS_DENIED",
            "S3:MISSING_REQUEST_BODY_ERROR",
            "S3:REQUEST_TORRENT_OF_BUCKET_ERROR",
            "S3:TOKEN_REFRESH_REQUIRED",
            "S3:NO_LOGGING_STATUS_FOR_KEY",
            "S3:RESTORE_ALREADY_IN_PROGRESS",
            "S3:INVALID_OBJECT_STATE",
            "S3:CONNECTIVITY",
            "S3:INVALID_ENCRYPTION_ALGORITHM_ERROR",
            "S3:PERMANENT_REDIRECT",
            "S3:INVALID_REQUEST",
            "S3:INCORRECT_NUMBER_OF_FILES_IN_POST_REQUEST",
            "S3:UNKNOWN",
            "S3:MALFORMED_ACL_ERROR",
            "S3:CREDENTIALS_NOT_SUPPORTED",
            "S3:NOT_IMPLEMENTED",
            "S3:INVALID_ARGUMENT",
            "S3:INVALID_TARGET_BUCKET_FOR_LOGGING",
            "S3:NO_SUCH_UPLOAD",
            "S3:INTERNAL_ERROR",
            "S3:SLOW_DOWN",
            "S3:ENTITY_TOO_LARGE",
            "S3:METHOD_NOT_ALLOWED",
            "S3:EXPIRED_TOKEN",
            "S3:MISSING_SECURITY_HEADER",
            "S3:BUCKET_ALREADY_OWNED_BY_YOU",
            "S3:INCOMPLETE_BODY"
          ],
          "stereotype": {
            "type": "PROCESSOR",
            "namespace": "MULE"
          },
          "parameterGroupModels": [
            {
              "parameters": [
                {
                  "type": {
                    "format": "java",
                    "type": "String"
                  },
                  "hasDynamicType": false,
                  "required": true,
                  "isConfigOverride": false,
                  "expressionSupport": "SUPPORTED",
                  "role": "BEHAVIOUR",
                  "dslConfiguration": {
                    "allowsInlineDefinition": true,
                    "allowsReferences": true,
                    "allowTopLevelDefinition": false
                  },
                  "layoutModel": {
                    "password": false,
                    "text": false,
                    "query": false,
                    "order": 1
                  },
                  "allowedStereotypeModels": [],
                  "name": "bucketName",
                  "description": "The target bucket name.",
                  "modelProperties": {}
                }
              ],
              "exclusiveParametersModels": [],
              "layoutModel": {
                "password": false,
                "text": false,
                "query": false,
                "order": 1
              },
              "showInDsl": false,
              "name": "General",
              "description": "",
              "modelProperties": {}
            },
            {
              "parameters": [
                {
                  "type": {
                    "format": "java",
                    "type": "String"
                  },
                  "hasDynamicType": false,
                  "required": false,
                  "isConfigOverride": false,
                  "expressionSupport": "NOT_SUPPORTED",
                  "role": "BEHAVIOUR",
                  "dslConfiguration": {
                    "allowsInlineDefinition": true,
                    "allowsReferences": true,
                    "allowTopLevelDefinition": false
                  },
                  "layoutModel": {
                    "password": false,
                    "text": false,
                    "query": false,
                    "order": 2,
                    "tabName": "Advanced"
                  },
                  "allowedStereotypeModels": [],
                  "name": "target",
                  "displayModel": {
                    "displayName": "Target Variable"
                  },
                  "description": "The name of a variable on which the operation\u0027s output will be placed",
                  "modelProperties": {}
                },
                {
                  "type": {
                    "format": "java",
                    "type": "String"
                  },
                  "hasDynamicType": false,
                  "required": false,
                  "isConfigOverride": false,
                  "expressionSupport": "REQUIRED",
                  "defaultValue": "#[payload]",
                  "role": "BEHAVIOUR",
                  "dslConfiguration": {
                    "allowsInlineDefinition": true,
                    "allowsReferences": true,
                    "allowTopLevelDefinition": false
                  },
                  "layoutModel": {
                    "password": false,
                    "text": false,
                    "query": false,
                    "order": 3,
                    "tabName": "Advanced"
                  },
                  "allowedStereotypeModels": [],
                  "name": "targetValue",
                  "displayModel": {
                    "displayName": "Target Value"
                  },
                  "description": "An expression that will be evaluated against the operation\u0027s output and the outcome of that expression will be stored in the target variable",
                  "modelProperties": {}
                }
              ],
              "exclusiveParametersModels": [],
              "layoutModel": {
                "password": false,
                "text": false,
                "query": false,
                "order": 2
              },
              "showInDsl": false,
              "name": "Output",
              "description": "",
              "modelProperties": {}
            },
            {
              "parameters": [
                {
                  "type": {
                    "format": "java",
                    "type": "Union",
                    "annotations": {
                      "typeId": "ReconnectionStrategy"
                    },
                    "of": [
                      {
                        "type": "Object",
                        "annotations": {
                          "typeId": "reconnect"
                        },
                        "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": [
                                    "java.lang.Comparable"
                                  ],
                                  "parent": "java.lang.Number",
                                  "genericTypes": [],
                                  "isMap": false
                                },
                                "default": "2000"
                              }
                            },
                            "annotations": {
                              "description": {
                                "value": "How often (in ms) to reconnect"
                              }
                            }
                          },
                          {
                            "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"
                        },
                        "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": [
                                    "java.lang.Comparable"
                                  ],
                                  "parent": "java.lang.Number",
                                  "genericTypes": [],
                                  "isMap": false
                                },
                                "default": "2000"
                              }
                            },
                            "annotations": {
                              "description": {
                                "value": "How often (in ms) to reconnect"
                              }
                            }
                          }
                        ]
                      }
                    ]
                  },
                  "hasDynamicType": false,
                  "required": false,
                  "isConfigOverride": false,
                  "expressionSupport": "NOT_SUPPORTED",
                  "role": "BEHAVIOUR",
                  "dslConfiguration": {
                    "allowsInlineDefinition": true,
                    "allowsReferences": false,
                    "allowTopLevelDefinition": false
                  },
                  "layoutModel": {
                    "password": false,
                    "text": false,
                    "query": false,
                    "order": 4,
                    "tabName": "Advanced"
                  },
                  "allowedStereotypeModels": [],
                  "name": "reconnectionStrategy",
                  "description": "A retry strategy in case of connectivity errors",
                  "modelProperties": {
                    "org.mule.runtime.extension.api.property.QNameModelProperty": {
                      "value": {
                        "namespaceURI": "http://www.mulesoft.org/schema/mule/core",
                        "localPart": "abstract-reconnection-strategy",
                        "prefix": "mule"
                      }
                    },
                    "org.mule.runtime.extension.api.property.InfrastructureParameterModelProperty": {
                      "sequence": 3
                    }
                  }
                }
              ],
              "exclusiveParametersModels": [],
              "layoutModel": {
                "password": false,
                "text": false,
                "query": false,
                "order": 3
              },
              "showInDsl": false,
              "name": "Connection",
              "description": "",
              "modelProperties": {}
            }
          ],
          "name": "getBucketLocation",
          "description": "Gets the geographical region where Amazon S3 stores the specified bucket.",
          "modelProperties": {},
          "kind": "operation"
        },
        {
          "blocking": true,
          "executionType": "BLOCKING",
          "output": {
            "type": {
              "format": "java",
              "type": "@ref:org.mule.extension.s3.api.model.BucketLoggingConfiguration"
            },
            "hasDynamicType": false,
            "description": "",
            "modelProperties": {}
          },
          "outputAttributes": {
            "type": {
              "format": "java",
              "type": "Void"
            },
            "hasDynamicType": false,
            "description": "",
            "modelProperties": {}
          },
          "transactional": false,
          "requiresConnection": true,
          "supportsStreaming": false,
          "notifications": [],
          "nestedComponents": [],
          "errors": [
            "S3:INVALID_RANGE",
            "S3:SERVICE_UNAVAILABLE",
            "S3:REQUEST_TIME_TOO_SKEWED",
            "S3:REDIRECT",
            "S3:INVALID_STORAGE_CLASS",
            "S3:MAX_MESSAGE_LENGTH_EXCEEDED",
            "S3:REQUEST_IS_NOT_MULTI_PART_CONTENT",
            "S3:UNEXPECTED_CONTENT",
            "S3:ENTITY_TOO_SMALL",
            "S3:NO_SUCH_BUCKET",
            "S3:INVALID_PART",
            "S3:INVALID_SOAP_REQUEST",
            "S3:NO_SUCH_VERSION",
            "S3:METADATA_TOO_LARGE",
            "S3:PRECONDITION_FAILED",
            "S3:BUCKET_ALREADY_EXISTS",
            "S3:AMBIGUOUS_GRANT_BY_EMAIL_ADDRESS",
            "S3:MISSING_SECURITY_ELEMENT",
            "S3:INVALID_URI",
            "S3:NOT_SIGNED_UP",
            "S3:INVALID_ADDRESSING_HEADER",
            "S3:MAX_POST_PRE_DATA_LENGTH_EXCEEDED_ERROR",
            "S3:ILLEGAL_VERSIONING_CONFIGURATION_EXCEPTION",
            "S3:INVALID_PAYER",
            "S3:NO_SUCH_BUCKET_POLICY",
            "S3:INVALID_SECURITY",
            "S3:OPERATION_ABORTED",
            "S3:INVALID_ACCESS_KEY_ID",
            "S3:INVALID_LOCATION_CONSTRAINT",
            "S3:INLINE_DATA_TOO_LARGE",
            "S3:SIGNATURE_DOES_NOT_MATCH",
            "S3:UNRESOLVABLE_GRANT_BY_EMAIL_ADDRESS",
            "S3:NO_SUCH_LIFECYCLE_CONFIGURATION",
            "S3:KEY_TOO_LONG",
            "S3:INVALID_BUCKET_NAME",
            "S3:INVALID_TOKEN",
            "S3:TEMPORARY_REDIRECT",
            "S3:BUCKET_NOT_EMPTY",
            "S3:BAD_DIGEST",
            "S3:CROSS_LOCATION_LOGGING_PROHIBITED",
            "S3:MALFORMED_POST_REQUEST",
            "S3:REQUEST_TIMEOUT",
            "S3:TOO_MANY_BUCKETS",
            "S3:NO_SUCH_KEY",
            "S3:MISSING_ATTACHMENT",
            "S3:INVALID_BUCKET_STATE",
            "S3:RETRY_EXHAUSTED",
            "S3:INVALID_PART_ORDER",
            "S3:INVALID_RESPONSE_PRESIGNEDURL_MALFORMED",
            "S3:INVALID_POLICY_DOCUMENT",
            "S3:MALFORMED_XML",
            "S3:ACCOUNT_PROBLEM",
            "S3:USER_KEY_MUST_BE_SPECIFIED",
            "S3:MISSING_CONTENT_LENGTH",
            "S3:INVALID_DIGEST",
            "S3:ACCESS_DENIED",
            "S3:MISSING_REQUEST_BODY_ERROR",
            "S3:REQUEST_TORRENT_OF_BUCKET_ERROR",
            "S3:TOKEN_REFRESH_REQUIRED",
            "S3:NO_LOGGING_STATUS_FOR_KEY",
            "S3:RESTORE_ALREADY_IN_PROGRESS",
            "S3:INVALID_OBJECT_STATE",
            "S3:CONNECTIVITY",
            "S3:INVALID_ENCRYPTION_ALGORITHM_ERROR",
            "S3:PERMANENT_REDIRECT",
            "S3:INVALID_REQUEST",
            "S3:INCORRECT_NUMBER_OF_FILES_IN_POST_REQUEST",
            "S3:UNKNOWN",
            "S3:MALFORMED_ACL_ERROR",
            "S3:CREDENTIALS_NOT_SUPPORTED",
            "S3:NOT_IMPLEMENTED",
            "S3:INVALID_ARGUMENT",
            "S3:INVALID_TARGET_BUCKET_FOR_LOGGING",
            "S3:NO_SUCH_UPLOAD",
            "S3:INTERNAL_ERROR",
            "S3:SLOW_DOWN",
            "S3:ENTITY_TOO_LARGE",
            "S3:METHOD_NOT_ALLOWED",
            "S3:EXPIRED_TOKEN",
            "S3:MISSING_SECURITY_HEADER",
            "S3:BUCKET_ALREADY_OWNED_BY_YOU",
            "S3:INCOMPLETE_BODY"
          ],
          "stereotype": {
            "type": "PROCESSOR",
            "namespace": "MULE"
          },
          "parameterGroupModels": [
            {
              "parameters": [
                {
                  "type": {
                    "format": "java",
                    "type": "String"
                  },
                  "hasDynamicType": false,
                  "required": true,
                  "isConfigOverride": false,
                  "expressionSupport": "SUPPORTED",
                  "role": "BEHAVIOUR",
                  "dslConfiguration": {
                    "allowsInlineDefinition": true,
                    "allowsReferences": true,
                    "allowTopLevelDefinition": false
                  },
                  "layoutModel": {
                    "password": false,
                    "text": false,
                    "query": false,
                    "order": 1
                  },
                  "allowedStereotypeModels": [],
                  "name": "bucketName",
                  "description": "the bucket whose logging status to retrieve.",
                  "modelProperties": {}
                }
              ],
              "exclusiveParametersModels": [],
              "layoutModel": {
                "password": false,
                "text": false,
                "query": false,
                "order": 1
              },
              "showInDsl": false,
              "name": "General",
              "description": "",
              "modelProperties": {}
            },
            {
              "parameters": [
                {
                  "type": {
                    "format": "java",
                    "type": "String"
                  },
                  "hasDynamicType": false,
                  "required": false,
                  "isConfigOverride": false,
                  "expressionSupport": "NOT_SUPPORTED",
                  "role": "BEHAVIOUR",
                  "dslConfiguration": {
                    "allowsInlineDefinition": true,
                    "allowsReferences": true,
                    "allowTopLevelDefinition": false
                  },
                  "layoutModel": {
                    "password": false,
                    "text": false,
                    "query": false,
                    "order": 2,
                    "tabName": "Advanced"
                  },
                  "allowedStereotypeModels": [],
                  "name": "target",
                  "displayModel": {
                    "displayName": "Target Variable"
                  },
                  "description": "The name of a variable on which the operation\u0027s output will be placed",
                  "modelProperties": {}
                },
                {
                  "type": {
                    "format": "java",
                    "type": "String"
                  },
                  "hasDynamicType": false,
                  "required": false,
                  "isConfigOverride": false,
                  "expressionSupport": "REQUIRED",
                  "defaultValue": "#[payload]",
                  "role": "BEHAVIOUR",
                  "dslConfiguration": {
                    "allowsInlineDefinition": true,
                    "allowsReferences": true,
                    "allowTopLevelDefinition": false
                  },
                  "layoutModel": {
                    "password": false,
                    "text": false,
                    "query": false,
                    "order": 3,
                    "tabName": "Advanced"
                  },
                  "allowedStereotypeModels": [],
                  "name": "targetValue",
                  "displayModel": {
                    "displayName": "Target Value"
                  },
                  "description": "An expression that will be evaluated against the operation\u0027s output and the outcome of that expression will be stored in the target variable",
                  "modelProperties": {}
                }
              ],
              "exclusiveParametersModels": [],
              "layoutModel": {
                "password": false,
                "text": false,
                "query": false,
                "order": 2
              },
              "showInDsl": false,
              "name": "Output",
              "description": "",
              "modelProperties": {}
            },
            {
              "parameters": [
                {
                  "type": {
                    "format": "java",
                    "type": "Union",
                    "annotations": {
                      "typeId": "ReconnectionStrategy"
                    },
                    "of": [
                      {
                        "type": "Object",
                        "annotations": {
                          "typeId": "reconnect"
                        },
                        "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": [
                                    "java.lang.Comparable"
                                  ],
                                  "parent": "java.lang.Number",
                                  "genericTypes": [],
                                  "isMap": false
                                },
                                "default": "2000"
                              }
                            },
                            "annotations": {
                              "description": {
                                "value": "How often (in ms) to reconnect"
                              }
                            }
                          },
                          {
                            "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"
                        },
                        "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": [
                                    "java.lang.Comparable"
                                  ],
                                  "parent": "java.lang.Number",
                                  "genericTypes": [],
                                  "isMap": false
                                },
                                "default": "2000"
                              }
                            },
                            "annotations": {
                              "description": {
                                "value": "How often (in ms) to reconnect"
                              }
                            }
                          }
                        ]
                      }
                    ]
                  },
                  "hasDynamicType": false,
                  "required": false,
                  "isConfigOverride": false,
                  "expressionSupport": "NOT_SUPPORTED",
                  "role": "BEHAVIOUR",
                  "dslConfiguration": {
                    "allowsInlineDefinition": true,
                    "allowsReferences": false,
                    "allowTopLevelDefinition": false
                  },
                  "layoutModel": {
                    "password": false,
                    "text": false,
                    "query": false,
                    "order": 4,
                    "tabName": "Advanced"
                  },
                  "allowedStereotypeModels": [],
                  "name": "reconnectionStrategy",
                  "description": "A retry strategy in case of connectivity errors",
                  "modelProperties": {
                    "org.mule.runtime.extension.api.property.QNameModelProperty": {
                      "value": {
                        "namespaceURI": "http://www.mulesoft.org/schema/mule/core",
                        "localPart": "abstract-reconnection-strategy",
                        "prefix": "mule"
                      }
                    },
                    "org.mule.runtime.extension.api.property.InfrastructureParameterModelProperty": {
                      "sequence": 3
                    }
                  }
                }
              ],
              "exclusiveParametersModels": [],
              "layoutModel": {
                "password": false,
                "text": false,
                "query": false,
                "order": 3
              },
              "showInDsl": false,
              "name": "Connection",
              "description": "",
              "modelProperties": {}
            }
          ],
          "name": "getBucketLoggingConfiguration",
          "description": "Answers the logging status of a bucket and the permissions users have to view and modify that status.",
          "modelProperties": {},
          "kind": "operation"
        },
        {
          "blocking": true,
          "executionType": "BLOCKING",
          "output": {
            "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.extension.s3.api.model.TopicConfiguration"
                  ],
                  "isMap": true
                }
              },
              "open": {
                "type": "@ref:org.mule.extension.s3.api.model.TopicConfiguration"
              },
              "fields": []
            },
            "hasDynamicType": true,
            "description": "",
            "modelProperties": {}
          },
          "outputAttributes": {
            "type": {
              "format": "java",
              "type": "Void"
            },
            "hasDynamicType": false,
            "description": "",
            "modelProperties": {}
          },
          "transactional": false,
          "requiresConnection": true,
          "supportsStreaming": false,
          "notifications": [],
          "nestedComponents": [],
          "errors": [
            "S3:INVALID_RANGE",
            "S3:SERVICE_UNAVAILABLE",
            "S3:REQUEST_TIME_TOO_SKEWED",
            "S3:REDIRECT",
            "S3:INVALID_STORAGE_CLASS",
            "S3:MAX_MESSAGE_LENGTH_EXCEEDED",
            "S3:REQUEST_IS_NOT_MULTI_PART_CONTENT",
            "S3:UNEXPECTED_CONTENT",
            "S3:ENTITY_TOO_SMALL",
            "S3:NO_SUCH_BUCKET",
            "S3:INVALID_PART",
            "S3:INVALID_SOAP_REQUEST",
            "S3:NO_SUCH_VERSION",
            "S3:METADATA_TOO_LARGE",
            "S3:PRECONDITION_FAILED",
            "S3:BUCKET_ALREADY_EXISTS",
            "S3:AMBIGUOUS_GRANT_BY_EMAIL_ADDRESS",
            "S3:MISSING_SECURITY_ELEMENT",
            "S3:INVALID_URI",
            "S3:NOT_SIGNED_UP",
            "S3:INVALID_ADDRESSING_HEADER",
            "S3:MAX_POST_PRE_DATA_LENGTH_EXCEEDED_ERROR",
            "S3:ILLEGAL_VERSIONING_CONFIGURATION_EXCEPTION",
            "S3:INVALID_PAYER",
            "S3:NO_SUCH_BUCKET_POLICY",
            "S3:INVALID_SECURITY",
            "S3:OPERATION_ABORTED",
            "S3:INVALID_ACCESS_KEY_ID",
            "S3:INVALID_LOCATION_CONSTRAINT",
            "S3:INLINE_DATA_TOO_LARGE",
            "S3:SIGNATURE_DOES_NOT_MATCH",
            "S3:UNRESOLVABLE_GRANT_BY_EMAIL_ADDRESS",
            "S3:NO_SUCH_LIFECYCLE_CONFIGURATION",
            "S3:KEY_TOO_LONG",
            "S3:INVALID_BUCKET_NAME",
            "S3:INVALID_TOKEN",
            "S3:TEMPORARY_REDIRECT",
            "S3:BUCKET_NOT_EMPTY",
            "S3:BAD_DIGEST",
            "S3:CROSS_LOCATION_LOGGING_PROHIBITED",
            "S3:MALFORMED_POST_REQUEST",
            "S3:REQUEST_TIMEOUT",
            "S3:TOO_MANY_BUCKETS",
            "S3:NO_SUCH_KEY",
            "S3:MISSING_ATTACHMENT",
            "S3:INVALID_BUCKET_STATE",
            "S3:RETRY_EXHAUSTED",
            "S3:INVALID_PART_ORDER",
            "S3:INVALID_RESPONSE_PRESIGNEDURL_MALFORMED",
            "S3:INVALID_POLICY_DOCUMENT",
            "S3:MALFORMED_XML",
            "S3:ACCOUNT_PROBLEM",
            "S3:USER_KEY_MUST_BE_SPECIFIED",
            "S3:MISSING_CONTENT_LENGTH",
            "S3:INVALID_DIGEST",
            "S3:ACCESS_DENIED",
            "S3:MISSING_REQUEST_BODY_ERROR",
            "S3:REQUEST_TORRENT_OF_BUCKET_ERROR",
            "S3:TOKEN_REFRESH_REQUIRED",
            "S3:NO_LOGGING_STATUS_FOR_KEY",
            "S3:RESTORE_ALREADY_IN_PROGRESS",
            "S3:INVALID_OBJECT_STATE",
            "S3:CONNECTIVITY",
            "S3:INVALID_ENCRYPTION_ALGORITHM_ERROR",
            "S3:PERMANENT_REDIRECT",
            "S3:INVALID_REQUEST",
            "S3:INCORRECT_NUMBER_OF_FILES_IN_POST_REQUEST",
            "S3:UNKNOWN",
            "S3:MALFORMED_ACL_ERROR",
            "S3:CREDENTIALS_NOT_SUPPORTED",
            "S3:NOT_IMPLEMENTED",
            "S3:INVALID_ARGUMENT",
            "S3:INVALID_TARGET_BUCKET_FOR_LOGGING",
            "S3:NO_SUCH_UPLOAD",
            "S3:INTERNAL_ERROR",
            "S3:SLOW_DOWN",
            "S3:ENTITY_TOO_LARGE",
            "S3:METHOD_NOT_ALLOWED",
            "S3:EXPIRED_TOKEN",
            "S3:MISSING_SECURITY_HEADER",
            "S3:BUCKET_ALREADY_OWNED_BY_YOU",
            "S3:INCOMPLETE_BODY"
          ],
          "stereotype": {
            "type": "PROCESSOR",
            "namespace": "MULE"
          },
          "parameterGroupModels": [
            {
              "parameters": [
                {
                  "type": {
                    "format": "java",
                    "type": "String"
                  },
                  "hasDynamicType": false,
                  "required": true,
                  "isConfigOverride": false,
                  "expressionSupport": "SUPPORTED",
                  "role": "BEHAVIOUR",
                  "dslConfiguration": {
                    "allowsInlineDefinition": true,
                    "allowsReferences": true,
                    "allowTopLevelDefinition": false
                  },
                  "layoutModel": {
                    "password": false,
                    "text": false,
                    "query": false,
                    "order": 1
                  },
                  "allowedStereotypeModels": [],
                  "name": "bucketName",
                  "description": "the bucket whose notification configuration to retrieve.",
                  "modelProperties": {}
                }
              ],
              "exclusiveParametersModels": [],
              "layoutModel": {
                "password": false,
                "text": false,
                "query": false,
                "order": 1
              },
              "showInDsl": false,
              "name": "General",
              "description": "",
              "modelProperties": {}
            },
            {
              "parameters": [
                {
                  "type": {
                    "format": "java",
                    "type": "String"
                  },
                  "hasDynamicType": false,
                  "required": false,
                  "isConfigOverride": false,
                  "expressionSupport": "NOT_SUPPORTED",
                  "role": "BEHAVIOUR",
                  "dslConfiguration": {
                    "allowsInlineDefinition": true,
                    "allowsReferences": true,
                    "allowTopLevelDefinition": false
                  },
                  "layoutModel": {
                    "password": false,
                    "text": false,
                    "query": false,
                    "order": 2,
                    "tabName": "Advanced"
                  },
                  "allowedStereotypeModels": [],
                  "name": "target",
                  "displayModel": {
                    "displayName": "Target Variable"
                  },
                  "description": "The name of a variable on which the operation\u0027s output will be placed",
                  "modelProperties": {}
                },
                {
                  "type": {
                    "format": "java",
                    "type": "String"
                  },
                  "hasDynamicType": false,
                  "required": false,
                  "isConfigOverride": false,
                  "expressionSupport": "REQUIRED",
                  "defaultValue": "#[payload]",
                  "role": "BEHAVIOUR",
                  "dslConfiguration": {
                    "allowsInlineDefinition": true,
                    "allowsReferences": true,
                    "allowTopLevelDefinition": false
                  },
                  "layoutModel": {
                    "password": false,
                    "text": false,
                    "query": false,
                    "order": 3,
                    "tabName": "Advanced"
                  },
                  "allowedStereotypeModels": [],
                  "name": "targetValue",
                  "displayModel": {
                    "displayName": "Target Value"
                  },
                  "description": "An expression that will be evaluated against the operation\u0027s output and the outcome of that expression will be stored in the target variable",
                  "modelProperties": {}
                }
              ],
              "exclusiveParametersModels": [],
              "layoutModel": {
                "password": false,
                "text": false,
                "query": false,
                "order": 2
              },
              "showInDsl": false,
              "name": "Output",
              "description": "",
              "modelProperties": {}
            },
            {
              "parameters": [
                {
                  "type": {
                    "format": "java",
                    "type": "Union",
                    "annotations": {
                      "typeId": "ReconnectionStrategy"
                    },
                    "of": [
                      {
                        "type": "Object",
                        "annotations": {
                          "typeId": "reconnect"
                        },
                        "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": [
                                    "java.lang.Comparable"
                                  ],
                                  "parent": "java.lang.Number",
                                  "genericTypes": [],
                                  "isMap": false
                                },
                                "default": "2000"
                              }
                            },
                            "annotations": {
                              "description": {
                                "value": "How often (in ms) to reconnect"
                              }
                            }
                          },
                          {
                            "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"
                        },
                        "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": [
                                    "java.lang.Comparable"
                                  ],
                                  "parent": "java.lang.Number",
                                  "genericTypes": [],
                                  "isMap": false
                                },
                                "default": "2000"
                              }
                            },
                            "annotations": {
                              "description": {
                                "value": "How often (in ms) to reconnect"
                              }
                            }
                          }
                        ]
                      }
                    ]
                  },
                  "hasDynamicType": false,
                  "required": false,
                  "isConfigOverride": false,
                  "expressionSupport": "NOT_SUPPORTED",
                  "role": "BEHAVIOUR",
                  "dslConfiguration": {
                    "allowsInlineDefinition": true,
                    "allowsReferences": false,
                    "allowTopLevelDefinition": false
                  },
                  "layoutModel": {
                    "password": false,
                    "text": false,
                    "query": false,
                    "order": 4,
                    "tabName": "Advanced"
                  },
                  "allowedStereotypeModels": [],
                  "name": "reconnectionStrategy",
                  "description": "A retry strategy in case of connectivity errors",
                  "modelProperties": {
                    "org.mule.runtime.extension.api.property.QNameModelProperty": {
                      "value": {
                        "namespaceURI": "http://www.mulesoft.org/schema/mule/core",
                        "localPart": "abstract-reconnection-strategy",
                        "prefix": "mule"
                      }
                    },
                    "org.mule.runtime.extension.api.property.InfrastructureParameterModelProperty": {
                      "sequence": 3
                    }
                  }
                }
              ],
              "exclusiveParametersModels": [],
              "layoutModel": {
                "password": false,
                "text": false,
                "query": false,
                "order": 3
              },
              "showInDsl": false,
              "name": "Connection",
              "description": "",
              "modelProperties": {}
            }
          ],
          "name": "getBucketNotificationConfiguration",
          "description": "Return the notification configuration of a bucket. Currently only topic configuration is supported.",
          "modelProperties": {},
          "kind": "operation"
        },
        {
          "blocking": true,
          "executionType": "BLOCKING",
          "output": {
            "type": {
              "format": {
                "id": "text/plain",
                "label": "text/plain",
                "validMimeTypes": [
                  "text/plain"
                ]
              },
              "type": "String"
            },
            "hasDynamicType": false,
            "description": "",
            "modelProperties": {}
          },
          "outputAttributes": {
            "type": {
              "format": "java",
              "type": "Void"
            },
            "hasDynamicType": false,
            "description": "",
            "modelProperties": {}
          },
          "transactional": false,
          "requiresConnection": true,
          "supportsStreaming": false,
          "notifications": [],
          "nestedComponents": [],
          "errors": [
            "S3:INVALID_RANGE",
            "S3:SERVICE_UNAVAILABLE",
            "S3:REQUEST_TIME_TOO_SKEWED",
            "S3:REDIRECT",
            "S3:INVALID_STORAGE_CLASS",
            "S3:MAX_MESSAGE_LENGTH_EXCEEDED",
            "S3:REQUEST_IS_NOT_MULTI_PART_CONTENT",
            "S3:UNEXPECTED_CONTENT",
            "S3:ENTITY_TOO_SMALL",
            "S3:NO_SUCH_BUCKET",
            "S3:INVALID_PART",
            "S3:INVALID_SOAP_REQUEST",
            "S3:NO_SUCH_VERSION",
            "S3:METADATA_TOO_LARGE",
            "S3:PRECONDITION_FAILED",
            "S3:BUCKET_ALREADY_EXISTS",
            "S3:AMBIGUOUS_GRANT_BY_EMAIL_ADDRESS",
            "S3:MISSING_SECURITY_ELEMENT",
            "S3:INVALID_URI",
            "S3:NOT_SIGNED_UP",
            "S3:INVALID_ADDRESSING_HEADER",
            "S3:MAX_POST_PRE_DATA_LENGTH_EXCEEDED_ERROR",
            "S3:ILLEGAL_VERSIONING_CONFIGURATION_EXCEPTION",
            "S3:INVALID_PAYER",
            "S3:NO_SUCH_BUCKET_POLICY",
            "S3:INVALID_SECURITY",
            "S3:OPERATION_ABORTED",
            "S3:INVALID_ACCESS_KEY_ID",
            "S3:INVALID_LOCATION_CONSTRAINT",
            "S3:INLINE_DATA_TOO_LARGE",
            "S3:SIGNATURE_DOES_NOT_MATCH",
            "S3:UNRESOLVABLE_GRANT_BY_EMAIL_ADDRESS",
            "S3:NO_SUCH_LIFECYCLE_CONFIGURATION",
            "S3:KEY_TOO_LONG",
            "S3:INVALID_BUCKET_NAME",
            "S3:INVALID_TOKEN",
            "S3:TEMPORARY_REDIRECT",
            "S3:BUCKET_NOT_EMPTY",
            "S3:BAD_DIGEST",
            "S3:CROSS_LOCATION_LOGGING_PROHIBITED",
            "S3:MALFORMED_POST_REQUEST",
            "S3:REQUEST_TIMEOUT",
            "S3:TOO_MANY_BUCKETS",
            "S3:NO_SUCH_KEY",
            "S3:MISSING_ATTACHMENT",
            "S3:INVALID_BUCKET_STATE",
            "S3:RETRY_EXHAUSTED",
            "S3:INVALID_PART_ORDER",
            "S3:INVALID_RESPONSE_PRESIGNEDURL_MALFORMED",
            "S3:INVALID_POLICY_DOCUMENT",
            "S3:MALFORMED_XML",
            "S3:ACCOUNT_PROBLEM",
            "S3:USER_KEY_MUST_BE_SPECIFIED",
            "S3:MISSING_CONTENT_LENGTH",
            "S3:INVALID_DIGEST",
            "S3:ACCESS_DENIED",
            "S3:MISSING_REQUEST_BODY_ERROR",
            "S3:REQUEST_TORRENT_OF_BUCKET_ERROR",
            "S3:TOKEN_REFRESH_REQUIRED",
            "S3:NO_LOGGING_STATUS_FOR_KEY",
            "S3:RESTORE_ALREADY_IN_PROGRESS",
            "S3:INVALID_OBJECT_STATE",
            "S3:CONNECTIVITY",
            "S3:INVALID_ENCRYPTION_ALGORITHM_ERROR",
            "S3:PERMANENT_REDIRECT",
            "S3:INVALID_REQUEST",
            "S3:INCORRECT_NUMBER_OF_FILES_IN_POST_REQUEST",
            "S3:UNKNOWN",
            "S3:MALFORMED_ACL_ERROR",
            "S3:CREDENTIALS_NOT_SUPPORTED",
            "S3:NOT_IMPLEMENTED",
            "S3:INVALID_ARGUMENT",
            "S3:INVALID_TARGET_BUCKET_FOR_LOGGING",
            "S3:NO_SUCH_UPLOAD",
            "S3:INTERNAL_ERROR",
            "S3:SLOW_DOWN",
            "S3:ENTITY_TOO_LARGE",
            "S3:METHOD_NOT_ALLOWED",
            "S3:EXPIRED_TOKEN",
            "S3:MISSING_SECURITY_HEADER",
            "S3:BUCKET_ALREADY_OWNED_BY_YOU",
            "S3:INCOMPLETE_BODY"
          ],
          "stereotype": {
            "type": "PROCESSOR",
            "namespace": "MULE"
          },
          "parameterGroupModels": [
            {
              "parameters": [
                {
                  "type": {
                    "format": "java",
                    "type": "String"
                  },
                  "hasDynamicType": false,
                  "required": true,
                  "isConfigOverride": false,
                  "expressionSupport": "SUPPORTED",
                  "role": "BEHAVIOUR",
                  "dslConfiguration": {
                    "allowsInlineDefinition": true,
                    "allowsReferences": true,
                    "allowTopLevelDefinition": false
                  },
                  "layoutModel": {
                    "password": false,
                    "text": false,
                    "query": false,
                    "order": 1
                  },
                  "allowedStereotypeModels": [],
                  "name": "bucketName",
                  "description": "the bucket whose policy to retrieve",
                  "modelProperties": {}
                }
              ],
              "exclusiveParametersModels": [],
              "layoutModel": {
                "password": false,
                "text": false,
                "query": false,
                "order": 1
              },
              "showInDsl": false,
              "name": "General",
              "description": "",
              "modelProperties": {}
            },
            {
              "parameters": [
                {
                  "type": {
                    "format": "java",
                    "type": "String"
                  },
                  "hasDynamicType": false,
                  "required": false,
                  "isConfigOverride": false,
                  "expressionSupport": "NOT_SUPPORTED",
                  "role": "BEHAVIOUR",
                  "dslConfiguration": {
                    "allowsInlineDefinition": true,
                    "allowsReferences": true,
                    "allowTopLevelDefinition": false
                  },
                  "layoutModel": {
                    "password": false,
                    "text": false,
                    "query": false,
                    "order": 2,
                    "tabName": "Advanced"
                  },
                  "allowedStereotypeModels": [],
                  "name": "target",
                  "displayModel": {
                    "displayName": "Target Variable"
                  },
                  "description": "The name of a variable on which the operation\u0027s output will be placed",
                  "modelProperties": {}
                },
                {
                  "type": {
                    "format": "java",
                    "type": "String"
                  },
                  "hasDynamicType": false,
                  "required": false,
                  "isConfigOverride": false,
                  "expressionSupport": "REQUIRED",
                  "defaultValue": "#[payload]",
                  "role": "BEHAVIOUR",
                  "dslConfiguration": {
                    "allowsInlineDefinition": true,
                    "allowsReferences": true,
                    "allowTopLevelDefinition": false
                  },
                  "layoutModel": {
                    "password": false,
                    "text": false,
                    "query": false,
                    "order": 3,
                    "tabName": "Advanced"
                  },
                  "allowedStereotypeModels": [],
                  "name": "targetValue",
                  "displayModel": {
                    "displayName": "Target Value"
                  },
                  "description": "An expression that will be evaluated against the operation\u0027s output and the outcome of that expression will be stored in the target variable",
                  "modelProperties": {}
                }
              ],
              "exclusiveParametersModels": [],
              "layoutModel": {
                "password": false,
                "text": false,
                "query": false,
                "order": 2
              },
              "showInDsl": false,
              "name": "Output",
              "description": "",
              "modelProperties": {}
            },
            {
              "parameters": [
                {
                  "type": {
                    "format": "java",
                    "type": "Union",
                    "annotations": {
                      "typeId": "ReconnectionStrategy"
                    },
                    "of": [
                      {
                        "type": "Object",
                        "annotations": {
                          "typeId": "reconnect"
                        },
                        "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": [
                                    "java.lang.Comparable"
                                  ],
                                  "parent": "java.lang.Number",
                                  "genericTypes": [],
                                  "isMap": false
                                },
                                "default": "2000"
                              }
                            },
                            "annotations": {
                              "description": {
                                "value": "How often (in ms) to reconnect"
                              }
                            }
                          },
                          {
                            "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"
                        },
                        "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": [
                                    "java.lang.Comparable"
                                  ],
                                  "parent": "java.lang.Number",
                                  "genericTypes": [],
                                  "isMap": false
                                },
                                "default": "2000"
                              }
                            },
                            "annotations": {
                              "description": {
                                "value": "How often (in ms) to reconnect"
                              }
                            }
                          }
                        ]
                      }
                    ]
                  },
                  "hasDynamicType": false,
                  "required": false,
                  "isConfigOverride": false,
                  "expressionSupport": "NOT_SUPPORTED",
                  "role": "BEHAVIOUR",
                  "dslConfiguration": {
                    "allowsInlineDefinition": true,
                    "allowsReferences": false,
                    "allowTopLevelDefinition": false
                  },
                  "layoutModel": {
                    "password": false,
                    "text": false,
                    "query": false,
                    "order": 4,
                    "tabName": "Advanced"
                  },
                  "allowedStereotypeModels": [],
                  "name": "reconnectionStrategy",
                  "description": "A retry strategy in case of connectivity errors",
                  "modelProperties": {
                    "org.mule.runtime.extension.api.property.QNameModelProperty": {
                      "value": {
                        "namespaceURI": "http://www.mulesoft.org/schema/mule/core",
                        "localPart": "abstract-reconnection-strategy",
                        "prefix": "mule"
                      }
                    },
                    "org.mule.runtime.extension.api.property.InfrastructureParameterModelProperty": {
                      "sequence": 3
                    }
                  }
                }
              ],
              "exclusiveParametersModels": [],
              "layoutModel": {
                "password": false,
                "text": false,
                "query": false,
                "order": 3
              },
              "showInDsl": false,
              "name": "Connection",
              "description": "",
              "modelProperties": {}
            }
          ],
          "name": "getBucketPolicy",
          "description": "Answers the policy for the given bucket. Only the owner of the bucket can retrieve it. If no policy has been set for the bucket, then a null policy text field will be returned.",
          "modelProperties": {},
          "kind": "operation"
        },
        {
          "blocking": true,
          "executionType": "BLOCKING",
          "output": {
            "type": {
              "format": "java",
              "type": "Array",
              "annotations": {
                "classInformation": {
                  "classname": "java.util.List",
                  "hasDefaultConstructor": false,
                  "isInterface": true,
                  "isInstantiable": false,
                  "isAbstract": true,
                  "isFinal": false,
                  "implementedInterfaces": [
                    "java.util.Collection"
                  ],
                  "parent": "",
                  "genericTypes": [
                    "java.util.Map"
                  ],
                  "isMap": false
                }
              },
              "item": {
                "type": "Object",
                "annotations": {
                  "classInformation": {
                    "classname": "java.util.Map",
                    "hasDefaultConstructor": false,
                    "isInterface": true,
                    "isInstantiable": false,
                    "isAbstract": true,
                    "isFinal": false,
                    "implementedInterfaces": [],
                    "parent": "",
                    "genericTypes": [
                      "java.lang.String",
                      "java.lang.String"
                    ],
                    "isMap": true
                  }
                },
                "open": {
                  "type": "String"
                },
                "fields": []
              }
            },
            "hasDynamicType": false,
            "description": "",
            "modelProperties": {}
          },
          "outputAttributes": {
            "type": {
              "format": "java",
              "type": "Void"
            },
            "hasDynamicType": false,
            "description": "",
            "modelProperties": {}
          },
          "transactional": false,
          "requiresConnection": true,
          "supportsStreaming": false,
          "notifications": [],
          "nestedComponents": [],
          "errors": [
            "S3:INVALID_RANGE",
            "S3:SERVICE_UNAVAILABLE",
            "S3:REQUEST_TIME_TOO_SKEWED",
            "S3:REDIRECT",
            "S3:INVALID_STORAGE_CLASS",
            "S3:MAX_MESSAGE_LENGTH_EXCEEDED",
            "S3:REQUEST_IS_NOT_MULTI_PART_CONTENT",
            "S3:UNEXPECTED_CONTENT",
            "S3:ENTITY_TOO_SMALL",
            "S3:NO_SUCH_BUCKET",
            "S3:INVALID_PART",
            "S3:INVALID_SOAP_REQUEST",
            "S3:NO_SUCH_VERSION",
            "S3:METADATA_TOO_LARGE",
            "S3:PRECONDITION_FAILED",
            "S3:BUCKET_ALREADY_EXISTS",
            "S3:AMBIGUOUS_GRANT_BY_EMAIL_ADDRESS",
            "S3:MISSING_SECURITY_ELEMENT",
            "S3:INVALID_URI",
            "S3:NOT_SIGNED_UP",
            "S3:INVALID_ADDRESSING_HEADER",
            "S3:MAX_POST_PRE_DATA_LENGTH_EXCEEDED_ERROR",
            "S3:ILLEGAL_VERSIONING_CONFIGURATION_EXCEPTION",
            "S3:INVALID_PAYER",
            "S3:NO_SUCH_BUCKET_POLICY",
            "S3:INVALID_SECURITY",
            "S3:OPERATION_ABORTED",
            "S3:INVALID_ACCESS_KEY_ID",
            "S3:INVALID_LOCATION_CONSTRAINT",
            "S3:INLINE_DATA_TOO_LARGE",
            "S3:SIGNATURE_DOES_NOT_MATCH",
            "S3:UNRESOLVABLE_GRANT_BY_EMAIL_ADDRESS",
            "S3:NO_SUCH_LIFECYCLE_CONFIGURATION",
            "S3:KEY_TOO_LONG",
            "S3:INVALID_BUCKET_NAME",
            "S3:INVALID_TOKEN",
            "S3:TEMPORARY_REDIRECT",
            "S3:BUCKET_NOT_EMPTY",
            "S3:BAD_DIGEST",
            "S3:CROSS_LOCATION_LOGGING_PROHIBITED",
            "S3:MALFORMED_POST_REQUEST",
            "S3:REQUEST_TIMEOUT",
            "S3:TOO_MANY_BUCKETS",
            "S3:NO_SUCH_KEY",
            "S3:MISSING_ATTACHMENT",
            "S3:INVALID_BUCKET_STATE",
            "S3:RETRY_EXHAUSTED",
            "S3:INVALID_PART_ORDER",
            "S3:INVALID_RESPONSE_PRESIGNEDURL_MALFORMED",
            "S3:INVALID_POLICY_DOCUMENT",
            "S3:MALFORMED_XML",
            "S3:ACCOUNT_PROBLEM",
            "S3:USER_KEY_MUST_BE_SPECIFIED",
            "S3:MISSING_CONTENT_LENGTH",
            "S3:INVALID_DIGEST",
            "S3:ACCESS_DENIED",
            "S3:MISSING_REQUEST_BODY_ERROR",
            "S3:REQUEST_TORRENT_OF_BUCKET_ERROR",
            "S3:TOKEN_REFRESH_REQUIRED",
            "S3:NO_LOGGING_STATUS_FOR_KEY",
            "S3:RESTORE_ALREADY_IN_PROGRESS",
            "S3:INVALID_OBJECT_STATE",
            "S3:CONNECTIVITY",
            "S3:INVALID_ENCRYPTION_ALGORITHM_ERROR",
            "S3:PERMANENT_REDIRECT",
            "S3:INVALID_REQUEST",
            "S3:INCORRECT_NUMBER_OF_FILES_IN_POST_REQUEST",
            "S3:UNKNOWN",
            "S3:MALFORMED_ACL_ERROR",
            "S3:CREDENTIALS_NOT_SUPPORTED",
            "S3:NOT_IMPLEMENTED",
            "S3:INVALID_ARGUMENT",
            "S3:INVALID_TARGET_BUCKET_FOR_LOGGING",
            "S3:NO_SUCH_UPLOAD",
            "S3:INTERNAL_ERROR",
            "S3:SLOW_DOWN",
            "S3:ENTITY_TOO_LARGE",
            "S3:METHOD_NOT_ALLOWED",
            "S3:EXPIRED_TOKEN",
            "S3:MISSING_SECURITY_HEADER",
            "S3:BUCKET_ALREADY_OWNED_BY_YOU",
            "S3:INCOMPLETE_BODY"
          ],
          "stereotype": {
            "type": "PROCESSOR",
            "namespace": "MULE"
          },
          "parameterGroupModels": [
            {
              "parameters": [
                {
                  "type": {
                    "format": "java",
                    "type": "String"
                  },
                  "hasDynamicType": false,
                  "required": true,
                  "isConfigOverride": false,
                  "expressionSupport": "SUPPORTED",
                  "role": "BEHAVIOUR",
                  "dslConfiguration": {
                    "allowsInlineDefinition": true,
                    "allowsReferences": true,
                    "allowTopLevelDefinition": false
                  },
                  "layoutModel": {
                    "password": false,
                    "text": false,
                    "query": false,
                    "order": 1
                  },
                  "allowedStereotypeModels": [],
                  "name": "bucketName",
                  "description": "the bucket whose tagging configuration to retrieve.",
                  "modelProperties": {}
                }
              ],
              "exclusiveParametersModels": [],
              "layoutModel": {
                "password": false,
                "text": false,
                "query": false,
                "order": 1
              },
              "showInDsl": false,
              "name": "General",
              "description": "",
              "modelProperties": {}
            },
            {
              "parameters": [
                {
                  "type": {
                    "format": "java",
                    "type": "String"
                  },
                  "hasDynamicType": false,
                  "required": false,
                  "isConfigOverride": false,
                  "expressionSupport": "NOT_SUPPORTED",
                  "role": "BEHAVIOUR",
                  "dslConfiguration": {
                    "allowsInlineDefinition": true,
                    "allowsReferences": true,
                    "allowTopLevelDefinition": false
                  },
                  "layoutModel": {
                    "password": false,
                    "text": false,
                    "query": false,
                    "order": 2,
                    "tabName": "Advanced"
                  },
                  "allowedStereotypeModels": [],
                  "name": "target",
                  "displayModel": {
                    "displayName": "Target Variable"
                  },
                  "description": "The name of a variable on which the operation\u0027s output will be placed",
                  "modelProperties": {}
                },
                {
                  "type": {
                    "format": "java",
                    "type": "String"
                  },
                  "hasDynamicType": false,
                  "required": false,
                  "isConfigOverride": false,
                  "expressionSupport": "REQUIRED",
                  "defaultValue": "#[payload]",
                  "role": "BEHAVIOUR",
                  "dslConfiguration": {
                    "allowsInlineDefinition": true,
                    "allowsReferences": true,
                    "allowTopLevelDefinition": false
                  },
                  "layoutModel": {
                    "password": false,
                    "text": false,
                    "query": false,
                    "order": 3,
                    "tabName": "Advanced"
                  },
                  "allowedStereotypeModels": [],
                  "name": "targetValue",
                  "displayModel": {
                    "displayName": "Target Value"
                  },
                  "description": "An expression that will be evaluated against the operation\u0027s output and the outcome of that expression will be stored in the target variable",
                  "modelProperties": {}
                }
              ],
              "exclusiveParametersModels": [],
              "layoutModel": {
                "password": false,
                "text": false,
                "query": false,
                "order": 2
              },
              "showInDsl": false,
              "name": "Output",
              "description": "",
              "modelProperties": {}
            },
            {
              "parameters": [
                {
                  "type": {
                    "format": "java",
                    "type": "Union",
                    "annotations": {
                      "typeId": "ReconnectionStrategy"
                    },
                    "of": [
                      {
                        "type": "Object",
                        "annotations": {
                          "typeId": "reconnect"
                        },
                        "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": [
                                    "java.lang.Comparable"
                                  ],
                                  "parent": "java.lang.Number",
                                  "genericTypes": [],
                                  "isMap": false
                                },
                                "default": "2000"
                              }
                            },
                            "annotations": {
                              "description": {
                                "value": "How often (in ms) to reconnect"
                              }
                            }
                          },
                          {
                            "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"
                        },
                        "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": [
                                    "java.lang.Comparable"
                                  ],
                                  "parent": "java.lang.Number",
                                  "genericTypes": [],
                                  "isMap": false
                                },
                                "default": "2000"
                              }
                            },
                            "annotations": {
                              "description": {
                                "value": "How often (in ms) to reconnect"
                              }
                            }
                          }
                        ]
                      }
                    ]
                  },
                  "hasDynamicType": false,
                  "required": false,
                  "isConfigOverride": false,
                  "expressionSupport": "NOT_SUPPORTED",
                  "role": "BEHAVIOUR",
                  "dslConfiguration": {
                    "allowsInlineDefinition": true,
                    "allowsReferences": false,
                    "allowTopLevelDefinition": false
                  },
                  "layoutModel": {
                    "password": false,
                    "text": false,
                    "query": false,
                    "order": 4,
                    "tabName": "Advanced"
                  },
                  "allowedStereotypeModels": [],
                  "name": "reconnectionStrategy",
                  "description": "A retry strategy in case of connectivity errors",
                  "modelProperties": {
                    "org.mule.runtime.extension.api.property.QNameModelProperty": {
                      "value": {
                        "namespaceURI": "http://www.mulesoft.org/schema/mule/core",
                        "localPart": "abstract-reconnection-strategy",
                        "prefix": "mule"
                      }
                    },
                    "org.mule.runtime.extension.api.property.InfrastructureParameterModelProperty": {
                      "sequence": 3
                    }
                  }
                }
              ],
              "exclusiveParametersModels": [],
              "layoutModel": {
                "password": false,
                "text": false,
                "query": false,
                "order": 3
              },
              "showInDsl": false,
              "name": "Connection",
              "description": "",
              "modelProperties": {}
            }
          ],
          "name": "getBucketTaggingConfiguration",
          "description": "Return the tag set associated with the bucket.",
          "modelProperties": {},
          "kind": "operation"
        },
        {
          "blocking": true,
          "executionType": "BLOCKING",
          "output": {
            "type": {
              "format": "java",
              "type": "String",
              "annotations": {
                "typeId": "org.mule.extension.s3.api.model.VersioningStatus",
                "enum": {
                  "type": "[Ljava.lang.String;",
                  "values": [
                    "OFF",
                    "ENABLED",
                    "SUSPENDED"
                  ]
                }
              }
            },
            "hasDynamicType": false,
            "description": "",
            "modelProperties": {}
          },
          "outputAttributes": {
            "type": {
              "format": "java",
              "type": "Void"
            },
            "hasDynamicType": false,
            "description": "",
            "modelProperties": {}
          },
          "transactional": false,
          "requiresConnection": true,
          "supportsStreaming": false,
          "notifications": [],
          "nestedComponents": [],
          "errors": [
            "S3:INVALID_RANGE",
            "S3:SERVICE_UNAVAILABLE",
            "S3:REQUEST_TIME_TOO_SKEWED",
            "S3:REDIRECT",
            "S3:INVALID_STORAGE_CLASS",
            "S3:MAX_MESSAGE_LENGTH_EXCEEDED",
            "S3:REQUEST_IS_NOT_MULTI_PART_CONTENT",
            "S3:UNEXPECTED_CONTENT",
            "S3:ENTITY_TOO_SMALL",
            "S3:NO_SUCH_BUCKET",
            "S3:INVALID_PART",
            "S3:INVALID_SOAP_REQUEST",
            "S3:NO_SUCH_VERSION",
            "S3:METADATA_TOO_LARGE",
            "S3:PRECONDITION_FAILED",
            "S3:BUCKET_ALREADY_EXISTS",
            "S3:AMBIGUOUS_GRANT_BY_EMAIL_ADDRESS",
            "S3:MISSING_SECURITY_ELEMENT",
            "S3:INVALID_URI",
            "S3:NOT_SIGNED_UP",
            "S3:INVALID_ADDRESSING_HEADER",
            "S3:MAX_POST_PRE_DATA_LENGTH_EXCEEDED_ERROR",
            "S3:ILLEGAL_VERSIONING_CONFIGURATION_EXCEPTION",
            "S3:INVALID_PAYER",
            "S3:NO_SUCH_BUCKET_POLICY",
            "S3:INVALID_SECURITY",
            "S3:OPERATION_ABORTED",
            "S3:INVALID_ACCESS_KEY_ID",
            "S3:INVALID_LOCATION_CONSTRAINT",
            "S3:INLINE_DATA_TOO_LARGE",
            "S3:SIGNATURE_DOES_NOT_MATCH",
            "S3:UNRESOLVABLE_GRANT_BY_EMAIL_ADDRESS",
            "S3:NO_SUCH_LIFECYCLE_CONFIGURATION",
            "S3:KEY_TOO_LONG",
            "S3:INVALID_BUCKET_NAME",
            "S3:INVALID_TOKEN",
            "S3:TEMPORARY_REDIRECT",
            "S3:BUCKET_NOT_EMPTY",
            "S3:BAD_DIGEST",
            "S3:CROSS_LOCATION_LOGGING_PROHIBITED",
            "S3:MALFORMED_POST_REQUEST",
            "S3:REQUEST_TIMEOUT",
            "S3:TOO_MANY_BUCKETS",
            "S3:NO_SUCH_KEY",
            "S3:MISSING_ATTACHMENT",
            "S3:INVALID_BUCKET_STATE",
            "S3:RETRY_EXHAUSTED",
            "S3:INVALID_PART_ORDER",
            "S3:INVALID_RESPONSE_PRESIGNEDURL_MALFORMED",
            "S3:INVALID_POLICY_DOCUMENT",
            "S3:MALFORMED_XML",
            "S3:ACCOUNT_PROBLEM",
            "S3:USER_KEY_MUST_BE_SPECIFIED",
            "S3:MISSING_CONTENT_LENGTH",
            "S3:INVALID_DIGEST",
            "S3:ACCESS_DENIED",
            "S3:MISSING_REQUEST_BODY_ERROR",
            "S3:REQUEST_TORRENT_OF_BUCKET_ERROR",
            "S3:TOKEN_REFRESH_REQUIRED",
            "S3:NO_LOGGING_STATUS_FOR_KEY",
            "S3:RESTORE_ALREADY_IN_PROGRESS",
            "S3:INVALID_OBJECT_STATE",
            "S3:CONNECTIVITY",
            "S3:INVALID_ENCRYPTION_ALGORITHM_ERROR",
            "S3:PERMANENT_REDIRECT",
            "S3:INVALID_REQUEST",
            "S3:INCORRECT_NUMBER_OF_FILES_IN_POST_REQUEST",
            "S3:UNKNOWN",
            "S3:MALFORMED_ACL_ERROR",
            "S3:CREDENTIALS_NOT_SUPPORTED",
            "S3:NOT_IMPLEMENTED",
            "S3:INVALID_ARGUMENT",
            "S3:INVALID_TARGET_BUCKET_FOR_LOGGING",
            "S3:NO_SUCH_UPLOAD",
            "S3:INTERNAL_ERROR",
            "S3:SLOW_DOWN",
            "S3:ENTITY_TOO_LARGE",
            "S3:METHOD_NOT_ALLOWED",
            "S3:EXPIRED_TOKEN",
            "S3:MISSING_SECURITY_HEADER",
            "S3:BUCKET_ALREADY_OWNED_BY_YOU",
            "S3:INCOMPLETE_BODY"
          ],
          "stereotype": {
            "type": "PROCESSOR",
            "namespace": "MULE"
          },
          "parameterGroupModels": [
            {
              "parameters": [
                {
                  "type": {
                    "format": "java",
                    "type": "String"
                  },
                  "hasDynamicType": false,
                  "required": true,
                  "isConfigOverride": false,
                  "expressionSupport": "SUPPORTED",
                  "role": "BEHAVIOUR",
                  "dslConfiguration": {
                    "allowsInlineDefinition": true,
                    "allowsReferences": true,
                    "allowTopLevelDefinition": false
                  },
                  "layoutModel": {
                    "password": false,
                    "text": false,
                    "query": false,
                    "order": 1
                  },
                  "allowedStereotypeModels": [],
                  "name": "bucketName",
                  "description": "The bucket whose versioning configuration will be retrieved.",
                  "modelProperties": {}
                }
              ],
              "exclusiveParametersModels": [],
              "layoutModel": {
                "password": false,
                "text": false,
                "query": false,
                "order": 1
              },
              "showInDsl": false,
              "name": "General",
              "description": "",
              "modelProperties": {}
            },
            {
              "parameters": [
                {
                  "type": {
                    "format": "java",
                    "type": "String"
                  },
                  "hasDynamicType": false,
                  "required": false,
                  "isConfigOverride": false,
                  "expressionSupport": "NOT_SUPPORTED",
                  "role": "BEHAVIOUR",
                  "dslConfiguration": {
                    "allowsInlineDefinition": true,
                    "allowsReferences": true,
                    "allowTopLevelDefinition": false
                  },
                  "layoutModel": {
                    "password": false,
                    "text": false,
                    "query": false,
                    "order": 2,
                    "tabName": "Advanced"
                  },
                  "allowedStereotypeModels": [],
                  "name": "target",
                  "displayModel": {
                    "displayName": "Target Variable"
                  },
                  "description": "The name of a variable on which the operation\u0027s output will be placed",
                  "modelProperties": {}
                },
                {
                  "type": {
                    "format": "java",
                    "type": "String"
                  },
                  "hasDynamicType": false,
                  "required": false,
                  "isConfigOverride": false,
                  "expressionSupport": "REQUIRED",
                  "defaultValue": "#[payload]",
                  "role": "BEHAVIOUR",
                  "dslConfiguration": {
                    "allowsInlineDefinition": true,
                    "allowsReferences": true,
                    "allowTopLevelDefinition": false
                  },
                  "layoutModel": {
                    "password": false,
                    "text": false,
                    "query": false,
                    "order": 3,
                    "tabName": "Advanced"
                  },
                  "allowedStereotypeModels": [],
                  "name": "targetValue",
                  "displayModel": {
                    "displayName": "Target Value"
                  },
                  "description": "An expression that will be evaluated against the operation\u0027s output and the outcome of that expression will be stored in the target variable",
                  "modelProperties": {}
                }
              ],
              "exclusiveParametersModels": [],
              "layoutModel": {
                "password": false,
                "text": false,
                "query": false,
                "order": 2
              },
              "showInDsl": false,
              "name": "Output",
              "description": "",
              "modelProperties": {}
            },
            {
              "parameters": [
                {
                  "type": {
                    "format": "java",
                    "type": "Union",
                    "annotations": {
                      "typeId": "ReconnectionStrategy"
                    },
                    "of": [
                      {
                        "type": "Object",
                        "annotations": {
                          "typeId": "reconnect"
                        },
                        "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": [
                                    "java.lang.Comparable"
                                  ],
                                  "parent": "java.lang.Number",
                                  "genericTypes": [],
                                  "isMap": false
                                },
                                "default": "2000"
                              }
                            },
                            "annotations": {
                              "description": {
                                "value": "How often (in ms) to reconnect"
                              }
                            }
                          },
                          {
                            "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"
                        },
                        "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": [
                                    "java.lang.Comparable"
                                  ],
                                  "parent": "java.lang.Number",
                                  "genericTypes": [],
                                  "isMap": false
                                },
                                "default": "2000"
                              }
                            },
                            "annotations": {
                              "description": {
                                "value": "How often (in ms) to reconnect"
                              }
                            }
                          }
                        ]
                      }
                    ]
                  },
                  "hasDynamicType": false,
                  "required": false,
                  "isConfigOverride": false,
                  "expressionSupport": "NOT_SUPPORTED",
                  "role": "BEHAVIOUR",
                  "dslConfiguration": {
                    "allowsInlineDefinition": true,
                    "allowsReferences": false,
                    "allowTopLevelDefinition": false
                  },
                  "layoutModel": {
                    "password": false,
                    "text": false,
                    "query": false,
                    "order": 4,
                    "tabName": "Advanced"
                  },
                  "allowedStereotypeModels": [],
                  "name": "reconnectionStrategy",
                  "description": "A retry strategy in case of connectivity errors",
                  "modelProperties": {
                    "org.mule.runtime.extension.api.property.QNameModelProperty": {
                      "value": {
                        "namespaceURI": "http://www.mulesoft.org/schema/mule/core",
                        "localPart": "abstract-reconnection-strategy",
                        "prefix": "mule"
                      }
                    },
                    "org.mule.runtime.extension.api.property.InfrastructureParameterModelProperty": {
                      "sequence": 3
                    }
                  }
                }
              ],
              "exclusiveParametersModels": [],
              "layoutModel": {
                "password": false,
                "text": false,
                "query": false,
                "order": 3
              },
              "showInDsl": false,
              "name": "Connection",
              "description": "",
              "modelProperties": {}
            }
          ],
          "name": "getBucketVersioningConfiguration",
          "description": "Returns the versioning configuration for the specified bucket.",
          "modelProperties": {},
          "kind": "operation"
        },
        {
          "blocking": true,
          "executionType": "BLOCKING",
          "output": {
            "type": {
              "format": "java",
              "type": "@ref:org.mule.extension.s3.api.model.BucketWebsiteConfiguration"
            },
            "hasDynamicType": false,
            "description": "",
            "modelProperties": {}
          },
          "outputAttributes": {
            "type": {
              "format": "java",
              "type": "Void"
            },
            "hasDynamicType": false,
            "description": "",
            "modelProperties": {}
          },
          "transactional": false,
          "requiresConnection": true,
          "supportsStreaming": false,
          "notifications": [],
          "nestedComponents": [],
          "errors": [
            "S3:INVALID_RANGE",
            "S3:SERVICE_UNAVAILABLE",
            "S3:REQUEST_TIME_TOO_SKEWED",
            "S3:REDIRECT",
            "S3:INVALID_STORAGE_CLASS",
            "S3:MAX_MESSAGE_LENGTH_EXCEEDED",
            "S3:REQUEST_IS_NOT_MULTI_PART_CONTENT",
            "S3:UNEXPECTED_CONTENT",
            "S3:ENTITY_TOO_SMALL",
            "S3:NO_SUCH_BUCKET",
            "S3:INVALID_PART",
            "S3:INVALID_SOAP_REQUEST",
            "S3:NO_SUCH_VERSION",
            "S3:METADATA_TOO_LARGE",
            "S3:PRECONDITION_FAILED",
            "S3:BUCKET_ALREADY_EXISTS",
            "S3:AMBIGUOUS_GRANT_BY_EMAIL_ADDRESS",
            "S3:MISSING_SECURITY_ELEMENT",
            "S3:INVALID_URI",
            "S3:NOT_SIGNED_UP",
            "S3:INVALID_ADDRESSING_HEADER",
            "S3:MAX_POST_PRE_DATA_LENGTH_EXCEEDED_ERROR",
            "S3:ILLEGAL_VERSIONING_CONFIGURATION_EXCEPTION",
            "S3:INVALID_PAYER",
            "S3:NO_SUCH_BUCKET_POLICY",
            "S3:INVALID_SECURITY",
            "S3:OPERATION_ABORTED",
            "S3:INVALID_ACCESS_KEY_ID",
            "S3:INVALID_LOCATION_CONSTRAINT",
            "S3:INLINE_DATA_TOO_LARGE",
            "S3:SIGNATURE_DOES_NOT_MATCH",
            "S3:UNRESOLVABLE_GRANT_BY_EMAIL_ADDRESS",
            "S3:NO_SUCH_LIFECYCLE_CONFIGURATION",
            "S3:KEY_TOO_LONG",
            "S3:INVALID_BUCKET_NAME",
            "S3:INVALID_TOKEN",
            "S3:TEMPORARY_REDIRECT",
            "S3:BUCKET_NOT_EMPTY",
            "S3:BAD_DIGEST",
            "S3:CROSS_LOCATION_LOGGING_PROHIBITED",
            "S3:MALFORMED_POST_REQUEST",
            "S3:REQUEST_TIMEOUT",
            "S3:TOO_MANY_BUCKETS",
            "S3:NO_SUCH_KEY",
            "S3:MISSING_ATTACHMENT",
            "S3:INVALID_BUCKET_STATE",
            "S3:RETRY_EXHAUSTED",
            "S3:INVALID_PART_ORDER",
            "S3:INVALID_RESPONSE_PRESIGNEDURL_MALFORMED",
            "S3:INVALID_POLICY_DOCUMENT",
            "S3:MALFORMED_XML",
            "S3:ACCOUNT_PROBLEM",
            "S3:USER_KEY_MUST_BE_SPECIFIED",
            "S3:MISSING_CONTENT_LENGTH",
            "S3:INVALID_DIGEST",
            "S3:ACCESS_DENIED",
            "S3:MISSING_REQUEST_BODY_ERROR",
            "S3:REQUEST_TORRENT_OF_BUCKET_ERROR",
            "S3:TOKEN_REFRESH_REQUIRED",
            "S3:NO_LOGGING_STATUS_FOR_KEY",
            "S3:RESTORE_ALREADY_IN_PROGRESS",
            "S3:INVALID_OBJECT_STATE",
            "S3:CONNECTIVITY",
            "S3:INVALID_ENCRYPTION_ALGORITHM_ERROR",
            "S3:PERMANENT_REDIRECT",
            "S3:INVALID_REQUEST",
            "S3:INCORRECT_NUMBER_OF_FILES_IN_POST_REQUEST",
            "S3:UNKNOWN",
            "S3:MALFORMED_ACL_ERROR",
            "S3:CREDENTIALS_NOT_SUPPORTED",
            "S3:NOT_IMPLEMENTED",
            "S3:INVALID_ARGUMENT",
            "S3:INVALID_TARGET_BUCKET_FOR_LOGGING",
            "S3:NO_SUCH_UPLOAD",
            "S3:INTERNAL_ERROR",
            "S3:SLOW_DOWN",
            "S3:ENTITY_TOO_LARGE",
            "S3:METHOD_NOT_ALLOWED",
            "S3:EXPIRED_TOKEN",
            "S3:MISSING_SECURITY_HEADER",
            "S3:BUCKET_ALREADY_OWNED_BY_YOU",
            "S3:INCOMPLETE_BODY"
          ],
          "stereotype": {
            "type": "PROCESSOR",
            "namespace": "MULE"
          },
          "parameterGroupModels": [
            {
              "parameters": [
                {
                  "type": {
                    "format": "java",
                    "type": "String"
                  },
                  "hasDynamicType": false,
                  "required": true,
                  "isConfigOverride": false,
                  "expressionSupport": "SUPPORTED",
                  "role": "BEHAVIOUR",
                  "dslConfiguration": {
                    "allowsInlineDefinition": true,
                    "allowsReferences": true,
                    "allowTopLevelDefinition": false
                  },
                  "layoutModel": {
                    "password": false,
                    "text": false,
                    "query": false,
                    "order": 1
                  },
                  "allowedStereotypeModels": [],
                  "name": "bucketName",
                  "description": "the target bucket\u0027s name",
                  "modelProperties": {}
                }
              ],
              "exclusiveParametersModels": [],
              "layoutModel": {
                "password": false,
                "text": false,
                "query": false,
                "order": 1
              },
              "showInDsl": false,
              "name": "General",
              "description": "",
              "modelProperties": {}
            },
            {
              "parameters": [
                {
                  "type": {
                    "format": "java",
                    "type": "String"
                  },
                  "hasDynamicType": false,
                  "required": false,
                  "isConfigOverride": false,
                  "expressionSupport": "NOT_SUPPORTED",
                  "role": "BEHAVIOUR",
                  "dslConfiguration": {
                    "allowsInlineDefinition": true,
                    "allowsReferences": true,
                    "allowTopLevelDefinition": false
                  },
                  "layoutModel": {
                    "password": false,
                    "text": false,
                    "query": false,
                    "order": 2,
                    "tabName": "Advanced"
                  },
                  "allowedStereotypeModels": [],
                  "name": "target",
                  "displayModel": {
                    "displayName": "Target Variable"
                  },
                  "description": "The name of a variable on which the operation\u0027s output will be placed",
                  "modelProperties": {}
                },
                {
                  "type": {
                    "format": "java",
                    "type": "String"
                  },
                  "hasDynamicType": false,
                  "required": false,
                  "isConfigOverride": false,
                  "expressionSupport": "REQUIRED",
                  "defaultValue": "#[payload]",
                  "role": "BEHAVIOUR",
                  "dslConfiguration": {
                    "allowsInlineDefinition": true,
                    "allowsReferences": true,
                    "allowTopLevelDefinition": false
                  },
                  "layoutModel": {
                    "password": false,
                    "text": false,
                    "query": false,
                    "order": 3,
                    "tabName": "Advanced"
                  },
                  "allowedStereotypeModels": [],
                  "name": "targetValue",
                  "displayModel": {
                    "displayName": "Target Value"
                  },
                  "description": "An expression that will be evaluated against the operation\u0027s output and the outcome of that expression will be stored in the target variable",
                  "modelProperties": {}
                }
              ],
              "exclusiveParametersModels": [],
              "layoutModel": {
                "password": false,
                "text": false,
                "query": false,
                "order": 2
              },
              "showInDsl": false,
              "name": "Output",
              "description": "",
              "modelProperties": {}
            },
            {
              "parameters": [
                {
                  "type": {
                    "format": "java",
                    "type": "Union",
                    "annotations": {
                      "typeId": "ReconnectionStrategy"
                    },
                    "of": [
                      {
                        "type": "Object",
                        "annotations": {
                          "typeId": "reconnect"
                        },
                        "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": [
                                    "java.lang.Comparable"
                                  ],
                                  "parent": "java.lang.Number",
                                  "genericTypes": [],
                                  "isMap": false
                                },
                                "default": "2000"
                              }
                            },
                            "annotations": {
                              "description": {
                                "value": "How often (in ms) to reconnect"
                              }
                            }
                          },
                          {
                            "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"
                        },
                        "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": [
                                    "java.lang.Comparable"
                                  ],
                                  "parent": "java.lang.Number",
                                  "genericTypes": [],
                                  "isMap": false
                                },
                                "default": "2000"
                              }
                            },
                            "annotations": {
                              "description": {
                                "value": "How often (in ms) to reconnect"
                              }
                            }
                          }
                        ]
                      }
                    ]
                  },
                  "hasDynamicType": false,
                  "required": false,
                  "isConfigOverride": false,
                  "expressionSupport": "NOT_SUPPORTED",
                  "role": "BEHAVIOUR",
                  "dslConfiguration": {
                    "allowsInlineDefinition": true,
                    "allowsReferences": false,
                    "allowTopLevelDefinition": false
                  },
                  "layoutModel": {
                    "password": false,
                    "text": false,
                    "query": false,
                    "order": 4,
                    "tabName": "Advanced"
                  },
                  "allowedStereotypeModels": [],
                  "name": "reconnectionStrategy",
                  "description": "A retry strategy in case of connectivity errors",
                  "modelProperties": {
                    "org.mule.runtime.extension.api.property.QNameModelProperty": {
                      "value": {
                        "namespaceURI": "http://www.mulesoft.org/schema/mule/core",
                        "localPart": "abstract-reconnection-strategy",
                        "prefix": "mule"
                      }
                    },
                    "org.mule.runtime.extension.api.property.InfrastructureParameterModelProperty": {
                      "sequence": 3
                    }
                  }
                }
              ],
              "exclusiveParametersModels": [],
              "layoutModel": {
                "password": false,
                "text": false,
                "query": false,
                "order": 3
              },
              "showInDsl": false,
              "name": "Connection",
              "description": "",
              "modelProperties": {}
            }
          ],
          "name": "getBucketWebsiteConfiguration",
          "description": "Answers the website of the given bucket. This operation requires the GetBucketWebsite permission. By default, only the bucket owner can read the bucket website configuration. However, bucket owners can allow other users to read the website configuration by writing a bucket policy granting them the GetBucketWebsite permission.",
          "modelProperties": {},
          "kind": "operation"
        },
        {
          "blocking": true,
          "executionType": "BLOCKING",
          "output": {
            "type": {
              "format": {
                "id": "application/octet-stream",
                "label": "application/octet-stream",
                "validMimeTypes": [
                  "application/octet-stream"
                ]
              },
              "type": "Binary",
              "annotations": {
                "classInformation": {
                  "classname": "java.io.InputStream",
                  "hasDefaultConstructor": true,
                  "isInterface": false,
                  "isInstantiable": false,
                  "isAbstract": true,
                  "isFinal": false,
                  "implementedInterfaces": [
                    "java.io.Closeable"
                  ],
                  "parent": "",
                  "genericTypes": [],
                  "isMap": false
                }
              }
            },
            "hasDynamicType": false,
            "description": "",
            "modelProperties": {}
          },
          "outputAttributes": {
            "type": {
              "format": "java",
              "type": "@ref:org.mule.extension.s3.api.attributes.S3ObjectAttributes"
            },
            "hasDynamicType": false,
            "description": "",
            "modelProperties": {}
          },
          "transactional": false,
          "requiresConnection": true,
          "supportsStreaming": true,
          "notifications": [],
          "nestedComponents": [],
          "errors": [
            "S3:INVALID_RANGE",
            "S3:SERVICE_UNAVAILABLE",
            "S3:REQUEST_TIME_TOO_SKEWED",
            "S3:REDIRECT",
            "S3:INVALID_STORAGE_CLASS",
            "S3:MAX_MESSAGE_LENGTH_EXCEEDED",
            "S3:REQUEST_IS_NOT_MULTI_PART_CONTENT",
            "S3:UNEXPECTED_CONTENT",
            "S3:ENTITY_TOO_SMALL",
            "S3:NO_SUCH_BUCKET",
            "S3:INVALID_PART",
            "S3:INVALID_SOAP_REQUEST",
            "S3:NO_SUCH_VERSION",
            "S3:METADATA_TOO_LARGE",
            "S3:PRECONDITION_FAILED",
            "S3:BUCKET_ALREADY_EXISTS",
            "S3:AMBIGUOUS_GRANT_BY_EMAIL_ADDRESS",
            "S3:MISSING_SECURITY_ELEMENT",
            "S3:INVALID_URI",
            "S3:NOT_SIGNED_UP",
            "S3:INVALID_ADDRESSING_HEADER",
            "S3:MAX_POST_PRE_DATA_LENGTH_EXCEEDED_ERROR",
            "S3:ILLEGAL_VERSIONING_CONFIGURATION_EXCEPTION",
            "S3:INVALID_PAYER",
            "S3:NO_SUCH_BUCKET_POLICY",
            "S3:INVALID_SECURITY",
            "S3:OPERATION_ABORTED",
            "S3:INVALID_ACCESS_KEY_ID",
            "S3:INVALID_LOCATION_CONSTRAINT",
            "S3:INLINE_DATA_TOO_LARGE",
            "S3:SIGNATURE_DOES_NOT_MATCH",
            "S3:UNRESOLVABLE_GRANT_BY_EMAIL_ADDRESS",
            "S3:NO_SUCH_LIFECYCLE_CONFIGURATION",
            "S3:KEY_TOO_LONG",
            "S3:INVALID_BUCKET_NAME",
            "S3:INVALID_TOKEN",
            "S3:TEMPORARY_REDIRECT",
            "S3:BUCKET_NOT_EMPTY",
            "S3:BAD_DIGEST",
            "S3:CROSS_LOCATION_LOGGING_PROHIBITED",
            "S3:MALFORMED_POST_REQUEST",
            "S3:REQUEST_TIMEOUT",
            "S3:TOO_MANY_BUCKETS",
            "S3:NO_SUCH_KEY",
            "S3:MISSING_ATTACHMENT",
            "S3:INVALID_BUCKET_STATE",
            "S3:RETRY_EXHAUSTED",
            "S3:INVALID_PART_ORDER",
            "S3:INVALID_RESPONSE_PRESIGNEDURL_MALFORMED",
            "S3:INVALID_POLICY_DOCUMENT",
            "S3:MALFORMED_XML",
            "S3:ACCOUNT_PROBLEM",
            "S3:USER_KEY_MUST_BE_SPECIFIED",
            "S3:MISSING_CONTENT_LENGTH",
            "S3:INVALID_DIGEST",
            "S3:ACCESS_DENIED",
            "S3:MISSING_REQUEST_BODY_ERROR",
            "S3:REQUEST_TORRENT_OF_BUCKET_ERROR",
            "S3:TOKEN_REFRESH_REQUIRED",
            "S3:NO_LOGGING_STATUS_FOR_KEY",
            "S3:RESTORE_ALREADY_IN_PROGRESS",
            "S3:INVALID_OBJECT_STATE",
            "S3:CONNECTIVITY",
            "S3:INVALID_ENCRYPTION_ALGORITHM_ERROR",
            "S3:PERMANENT_REDIRECT",
            "S3:INVALID_REQUEST",
            "S3:INCORRECT_NUMBER_OF_FILES_IN_POST_REQUEST",
            "S3:UNKNOWN",
            "S3:MALFORMED_ACL_ERROR",
            "S3:CREDENTIALS_NOT_SUPPORTED",
            "S3:NOT_IMPLEMENTED",
            "S3:INVALID_ARGUMENT",
            "S3:INVALID_TARGET_BUCKET_FOR_LOGGING",
            "S3:NO_SUCH_UPLOAD",
            "S3:INTERNAL_ERROR",
            "S3:SLOW_DOWN",
            "S3:ENTITY_TOO_LARGE",
            "S3:METHOD_NOT_ALLOWED",
            "S3:EXPIRED_TOKEN",
            "S3:MISSING_SECURITY_HEADER",
            "S3:BUCKET_ALREADY_OWNED_BY_YOU",
            "S3:INCOMPLETE_BODY"
          ],
          "stereotype": {
            "type": "PROCESSOR",
            "namespace": "MULE"
          },
          "parameterGroupModels": [
            {
              "parameters": [
                {
                  "type": {
                    "format": "java",
                    "type": "String"
                  },
                  "hasDynamicType": false,
                  "required": true,
                  "isConfigOverride": false,
                  "expressionSupport": "SUPPORTED",
                  "role": "BEHAVIOUR",
                  "dslConfiguration": {
                    "allowsInlineDefinition": true,
                    "allowsReferences": true,
                    "allowTopLevelDefinition": false
                  },
                  "layoutModel": {
                    "password": false,
                    "text": false,
                    "query": false,
                    "order": 1
                  },
                  "allowedStereotypeModels": [],
                  "name": "bucketName",
                  "description": "the object\u0027s bucket",
                  "modelProperties": {}
                },
                {
                  "type": {
                    "format": "java",
                    "type": "String"
                  },
                  "hasDynamicType": false,
                  "required": true,
                  "isConfigOverride": false,
                  "expressionSupport": "SUPPORTED",
                  "role": "BEHAVIOUR",
                  "dslConfiguration": {
                    "allowsInlineDefinition": true,
                    "allowsReferences": true,
                    "allowTopLevelDefinition": false
                  },
                  "layoutModel": {
                    "password": false,
                    "text": false,
                    "query": false,
                    "order": 2
                  },
                  "allowedStereotypeModels": [],
                  "name": "key",
                  "description": "the object\u0027s key",
                  "modelProperties": {}
                },
                {
                  "type": {
                    "format": "java",
                    "type": "String"
                  },
                  "hasDynamicType": false,
                  "required": false,
                  "isConfigOverride": false,
                  "expressionSupport": "SUPPORTED",
                  "role": "BEHAVIOUR",
                  "dslConfiguration": {
                    "allowsInlineDefinition": true,
                    "allowsReferences": true,
                    "allowTopLevelDefinition": false
                  },
                  "layoutModel": {
                    "password": false,
                    "text": false,
                    "query": false,
                    "order": 3
                  },
                  "allowedStereotypeModels": [],
                  "name": "versionId",
                  "displayModel": {
                    "summary": "The specific version of the object to get its contents, if versioning is enabled. "
                  },
                  "description": "the specific version of the object to get its contents, if versioning is enabled.",
                  "modelProperties": {}
                },
                {
                  "type": {
                    "format": "java",
                    "type": "DateTime",
                    "annotations": {
                      "typeId": "java.time.LocalDateTime"
                    }
                  },
                  "hasDynamicType": false,
                  "required": false,
                  "isConfigOverride": false,
                  "expressionSupport": "SUPPORTED",
                  "role": "BEHAVIOUR",
                  "dslConfiguration": {
                    "allowsInlineDefinition": true,
                    "allowsReferences": true,
                    "allowTopLevelDefinition": false
                  },
                  "layoutModel": {
                    "password": false,
                    "text": false,
                    "query": false,
                    "order": 4
                  },
                  "allowedStereotypeModels": [],
                  "name": "modifiedSince",
                  "displayModel": {
                    "summary": "The modified constraint that restricts this request to executing only if the object has been modified after the specified date."
                  },
                  "description": "The modified constraint that restricts this request to executing only if the object has been modified after the specified date.",
                  "modelProperties": {}
                },
                {
                  "type": {
                    "format": "java",
                    "type": "DateTime",
                    "annotations": {
                      "typeId": "java.time.LocalDateTime"
                    }
                  },
                  "hasDynamicType": false,
                  "required": false,
                  "isConfigOverride": false,
                  "expressionSupport": "SUPPORTED",
                  "role": "BEHAVIOUR",
                  "dslConfiguration": {
                    "allowsInlineDefinition": true,
                    "allowsReferences": true,
                    "allowTopLevelDefinition": false
                  },
                  "layoutModel": {
                    "password": false,
                    "text": false,
                    "query": false,
                    "order": 5
                  },
                  "allowedStereotypeModels": [],
                  "name": "unmodifiedSince",
                  "displayModel": {
                    "summary": "The unmodified constraint that restricts this request to executing only if the object has not been modified after this date."
                  },
                  "description": "The unmodified constraint that restricts this request to executing only if the object has not been modified after this date.",
                  "modelProperties": {}
                },
                {
                  "type": {
                    "format": "java",
                    "type": "String"
                  },
                  "hasDynamicType": false,
                  "required": false,
                  "isConfigOverride": false,
                  "expressionSupport": "SUPPORTED",
                  "role": "BEHAVIOUR",
                  "dslConfiguration": {
                    "allowsInlineDefinition": true,
                    "allowsReferences": true,
                    "allowTopLevelDefinition": false
                  },
                  "layoutModel": {
                    "password": false,
                    "text": false,
                    "query": false,
                    "order": 6,
                    "tabName": "Advanced"
                  },
                  "allowedStereotypeModels": [],
                  "name": "outputMimeType",
                  "description": "The mime type of the payload that this operation outputs.",
                  "modelProperties": {}
                },
                {
                  "type": {
                    "format": "java",
                    "type": "String"
                  },
                  "hasDynamicType": false,
                  "required": false,
                  "isConfigOverride": false,
                  "expressionSupport": "SUPPORTED",
                  "role": "BEHAVIOUR",
                  "dslConfiguration": {
                    "allowsInlineDefinition": true,
                    "allowsReferences": true,
                    "allowTopLevelDefinition": false
                  },
                  "layoutModel": {
                    "password": false,
                    "text": false,
                    "query": false,
                    "order": 7,
                    "tabName": "Advanced"
                  },
                  "allowedStereotypeModels": [],
                  "name": "outputEncoding",
                  "description": "The encoding of the payload that this operation outputs.",
                  "modelProperties": {}
                },
                {
                  "type": {
                    "format": "java",
                    "type": "Union",
                    "annotations": {
                      "typeId": "ByteStreamingStrategy"
                    },
                    "of": [
                      {
                        "type": "Object",
                        "annotations": {
                          "typeId": "repeatable-in-memory-stream"
                        },
                        "fields": [
                          {
                            "key": {
                              "name": "initialBufferSize"
                            },
                            "model": {
                              "type": "Number",
                              "annotations": {
                                "int": {},
                                "default": "512"
                              }
                            },
                            "annotations": {
                              "description": {
                                "value": "This is the amount of memory that will be allocated in order to consume the stream and provide random access to it. If the stream contains more data than can be fit into this buffer, then it will be expanded by according to the bufferSizeIncrement attribute, with an upper limit of maxInMemorySize."
                              }
                            }
                          },
                          {
                            "key": {
                              "name": "bufferSizeIncrement"
                            },
                            "model": {
                              "type": "Number",
                              "annotations": {
                                "int": {},
                                "default": "512"
                              }
                            },
                            "annotations": {
                              "description": {
                                "value": "This is by how much will be buffer size by expanded if it exceeds its initial size. Setting a value of zero or lower will mean that the buffer should not expand, meaning that a STREAM_MAXIMUM_SIZE_EXCEEDED error will be raised when the buffer gets full."
                              }
                            }
                          },
                          {
                            "key": {
                              "name": "maxBufferSize"
                            },
                            "model": {
                              "type": "Number",
                              "annotations": {
                                "int": {},
                                "default": "1024"
                              }
                            },
                            "annotations": {
                              "description": {
                                "value": "This is the maximum amount of memory that will be used. If more than that is used then a STREAM_MAXIMUM_SIZE_EXCEEDED error will be raised. A value lower or equal to zero means no limit."
                              }
                            }
                          },
                          {
                            "key": {
                              "name": "bufferUnit"
                            },
                            "model": {
                              "type": "String",
                              "annotations": {
                                "enum": {
                                  "type": "[Ljava.lang.String;",
                                  "values": [
                                    "BYTE",
                                    "KB",
                                    "MB",
                                    "GB"
                                  ]
                                },
                                "default": "KB"
                              }
                            },
                            "annotations": {
                              "description": {
                                "value": "The unit in which all these attributes are expressed"
                              }
                            }
                          }
                        ]
                      },
                      {
                        "type": "Object",
                        "annotations": {
                          "typeId": "repeatable-file-store-stream"
                        },
                        "fields": [
                          {
                            "key": {
                              "name": "inMemorySize"
                            },
                            "model": {
                              "type": "Number",
                              "annotations": {
                                "int": {},
                                "default": "512"
                              }
                            },
                            "annotations": {
                              "description": {
                                "value": "Defines the maximum memory that the stream should use to keep data in memory. If more than that is consumed then it will start to buffer the content on disk."
                              }
                            }
                          },
                          {
                            "key": {
                              "name": "bufferUnit"
                            },
                            "model": {
                              "type": "String",
                              "annotations": {
                                "enum": {
                                  "type": "[Ljava.lang.String;",
                                  "values": [
                                    "BYTE",
                                    "KB",
                                    "MB",
                                    "GB"
                                  ]
                                },
                                "default": "KB"
                              }
                            },
                            "annotations": {
                              "description": {
                                "value": "The unit in which maxInMemorySize is expressed"
                              }
                            }
                          }
                        ]
                      },
                      {
                        "type": "Object",
                        "annotations": {
                          "typeId": "non-repeatable-stream",
                          "description": {
                            "value": "This configuration allows the input stream to be read only once. It will not allow to seek randomly which will limit the transformations that DW can perform on this stream. Use this option for use cases which just require moving data around from one system to another to get optimum performance."
                          }
                        },
                        "fields": []
                      }
                    ]
                  },
                  "hasDynamicType": false,
                  "required": false,
                  "isConfigOverride": false,
                  "expressionSupport": "NOT_SUPPORTED",
                  "role": "BEHAVIOUR",
                  "dslConfiguration": {
                    "allowsInlineDefinition": true,
                    "allowsReferences": false,
                    "allowTopLevelDefinition": false
                  },
                  "layoutModel": {
                    "password": false,
                    "text": false,
                    "query": false,
                    "order": 8,
                    "tabName": "Advanced"
                  },
                  "allowedStereotypeModels": [],
                  "name": "streamingStrategy",
                  "description": "Configure if repeatable streams should be used and their behaviour",
                  "modelProperties": {
                    "org.mule.runtime.extension.api.property.QNameModelProperty": {
                      "value": {
                        "namespaceURI": "http://www.mulesoft.org/schema/mule/core",
                        "localPart": "abstract-byte-streaming-strategy",
                        "prefix": "mule"
                      }
                    },
                    "org.mule.runtime.extension.api.property.InfrastructureParameterModelProperty": {
                      "sequence": 2
                    }
                  }
                }
              ],
              "exclusiveParametersModels": [],
              "layoutModel": {
                "password": false,
                "text": false,
                "query": false,
                "order": 1
              },
              "showInDsl": false,
              "name": "General",
              "description": "",
              "modelProperties": {}
            },
            {
              "parameters": [
                {
                  "type": {
                    "format": "java",
                    "type": "Number",
                    "annotations": {
                      "classInformation": {
                        "classname": "java.lang.Long",
                        "hasDefaultConstructor": false,
                        "isInterface": false,
                        "isInstantiable": false,
                        "isAbstract": false,
                        "isFinal": true,
                        "implementedInterfaces": [
                          "java.lang.Comparable"
                        ],
                        "parent": "java.lang.Number",
                        "genericTypes": [],
                        "isMap": false
                      },
                      "int": {}
                    }
                  },
                  "hasDynamicType": false,
                  "required": false,
                  "isConfigOverride": false,
                  "expressionSupport": "SUPPORTED",
                  "defaultValue": "0",
                  "role": "BEHAVIOUR",
                  "dslConfiguration": {
                    "allowsInlineDefinition": true,
                    "allowsReferences": true,
                    "allowTopLevelDefinition": false
                  },
                  "layoutModel": {
                    "password": false,
                    "text": false,
                    "query": false,
                    "order": 9
                  },
                  "allowedStereotypeModels": [],
                  "name": "start",
                  "displayModel": {
                    "summary": "The start byte of range header which downloads the specified range bytes of an object",
                    "example": "0"
                  },
                  "description": "",
                  "modelProperties": {}
                },
                {
                  "type": {
                    "format": "java",
                    "type": "Number",
                    "annotations": {
                      "classInformation": {
                        "classname": "java.lang.Long",
                        "hasDefaultConstructor": false,
                        "isInterface": false,
                        "isInstantiable": false,
                        "isAbstract": false,
                        "isFinal": true,
                        "implementedInterfaces": [
                          "java.lang.Comparable"
                        ],
                        "parent": "java.lang.Number",
                        "genericTypes": [],
                        "isMap": false
                      },
                      "int": {}
                    }
                  },
                  "hasDynamicType": false,
                  "required": false,
                  "isConfigOverride": false,
                  "expressionSupport": "SUPPORTED",
                  "defaultValue": "9223372036854775806",
                  "role": "BEHAVIOUR",
                  "dslConfiguration": {
                    "allowsInlineDefinition": true,
                    "allowsReferences": true,
                    "allowTopLevelDefinition": false
                  },
                  "layoutModel": {
                    "password": false,
                    "text": false,
                    "query": false,
                    "order": 10
                  },
                  "allowedStereotypeModels": [],
                  "name": "end",
                  "displayModel": {
                    "summary": "The end byte of range header which downloads the specified range bytes of an object",
                    "example": "9223372036854775806"
                  },
                  "description": "",
                  "modelProperties": {}
                }
              ],
              "exclusiveParametersModels": [],
              "layoutModel": {
                "password": false,
                "text": false,
                "query": false,
                "order": 2,
                "tabName": "Advanced"
              },
              "showInDsl": true,
              "name": "Range",
              "description": "",
              "modelProperties": {}
            },
            {
              "parameters": [
                {
                  "type": {
                    "format": "java",
                    "type": "String"
                  },
                  "hasDynamicType": false,
                  "required": false,
                  "isConfigOverride": false,
                  "expressionSupport": "NOT_SUPPORTED",
                  "role": "BEHAVIOUR",
                  "dslConfiguration": {
                    "allowsInlineDefinition": true,
                    "allowsReferences": true,
                    "allowTopLevelDefinition": false
                  },
                  "layoutModel": {
                    "password": false,
                    "text": false,
                    "query": false,
                    "order": 11,
                    "tabName": "Advanced"
                  },
                  "allowedStereotypeModels": [],
                  "name": "target",
                  "displayModel": {
                    "displayName": "Target Variable"
                  },
                  "description": "The name of a variable on which the operation\u0027s output will be placed",
                  "modelProperties": {}
                },
                {
                  "type": {
                    "format": "java",
                    "type": "String"
                  },
                  "hasDynamicType": false,
                  "required": false,
                  "isConfigOverride": false,
                  "expressionSupport": "REQUIRED",
                  "defaultValue": "#[payload]",
                  "role": "BEHAVIOUR",
                  "dslConfiguration": {
                    "allowsInlineDefinition": true,
                    "allowsReferences": true,
                    "allowTopLevelDefinition": false
                  },
                  "layoutModel": {
                    "password": false,
                    "text": false,
                    "query": false,
                    "order": 12,
                    "tabName": "Advanced"
                  },
                  "allowedStereotypeModels": [],
                  "name": "targetValue",
                  "displayModel": {
                    "displayName": "Target Value"
                  },
                  "description": "An expression that will be evaluated against the operation\u0027s output and the outcome of that expression will be stored in the target variable",
                  "modelProperties": {}
                }
              ],
              "exclusiveParametersModels": [],
              "layoutModel": {
                "password": false,
                "text": false,
                "query": false,
                "order": 3
              },
              "showInDsl": false,
              "name": "Output",
              "description": "",
              "modelProperties": {}
            },
            {
              "parameters": [
                {
                  "type": {
                    "format": "java",
                    "type": "Union",
                    "annotations": {
                      "typeId": "ReconnectionStrategy"
                    },
                    "of": [
                      {
                        "type": "Object",
                        "annotations": {
                          "typeId": "reconnect"
                        },
                        "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": [
                                    "java.lang.Comparable"
                                  ],
                                  "parent": "java.lang.Number",
                                  "genericTypes": [],
                                  "isMap": false
                                },
                                "default": "2000"
                              }
                            },
                            "annotations": {
                              "description": {
                                "value": "How often (in ms) to reconnect"
                              }
                            }
                          },
                          {
                            "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"
                        },
                        "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": [
                                    "java.lang.Comparable"
                                  ],
                                  "parent": "java.lang.Number",
                                  "genericTypes": [],
                                  "isMap": false
                                },
                                "default": "2000"
                              }
                            },
                            "annotations": {
                              "description": {
                                "value": "How often (in ms) to reconnect"
                              }
                            }
                          }
                        ]
                      }
                    ]
                  },
                  "hasDynamicType": false,
                  "required": false,
                  "isConfigOverride": false,
                  "expressionSupport": "NOT_SUPPORTED",
                  "role": "BEHAVIOUR",
                  "dslConfiguration": {
                    "allowsInlineDefinition": true,
                    "allowsReferences": false,
                    "allowTopLevelDefinition": false
                  },
                  "layoutModel": {
                    "password": false,
                    "text": false,
                    "query": false,
                    "order": 13,
                    "tabName": "Advanced"
                  },
                  "allowedStereotypeModels": [],
                  "name": "reconnectionStrategy",
                  "description": "A retry strategy in case of connectivity errors",
                  "modelProperties": {
                    "org.mule.runtime.extension.api.property.QNameModelProperty": {
                      "value": {
                        "namespaceURI": "http://www.mulesoft.org/schema/mule/core",
                        "localPart": "abstract-reconnection-strategy",
                        "prefix": "mule"
                      }
                    },
                    "org.mule.runtime.extension.api.property.InfrastructureParameterModelProperty": {
                      "sequence": 3
                    }
                  }
                }
              ],
              "exclusiveParametersModels": [],
              "layoutModel": {
                "password": false,
                "text": false,
                "query": false,
                "order": 4
              },
              "showInDsl": false,
              "name": "Connection",
              "description": "",
              "modelProperties": {}
            }
          ],
          "name": "getObject",
          "description": "Gets the object stored in Amazon S3 under the specified bucket and key. Returns null if the specified constraints weren\u0027t met. To get an object from Amazon S3, the caller must have com.amazonaws.services.s3.model.Permission#Read access to the object. Callers should be very careful when using this method; the returned Amazon S3 object contains a direct stream of data from the HTTP connection. The underlying HTTP connection cannot be closed until the user finishes reading the data and closes the stream. Regarding conditional get constraints, Amazon S3 will ignore any dates occurring in the future.",
          "modelProperties": {},
          "kind": "operation"
        },
        {
          "blocking": true,
          "executionType": "BLOCKING",
          "output": {
            "type": {
              "format": "java",
              "type": "Array",
              "annotations": {
                "classInformation": {
                  "classname": "java.util.List",
                  "hasDefaultConstructor": false,
                  "isInterface": true,
                  "isInstantiable": false,
                  "isAbstract": true,
                  "isFinal": false,
                  "implementedInterfaces": [
                    "java.util.Collection"
                  ],
                  "parent": "",
                  "genericTypes": [
                    "org.mule.extension.s3.api.model.Grant"
                  ],
                  "isMap": false
                }
              },
              "item": {
                "type": "@ref:org.mule.extension.s3.api.model.Grant"
              }
            },
            "hasDynamicType": false,
            "description": "",
            "modelProperties": {}
          },
          "outputAttributes": {
            "type": {
              "format": "java",
              "type": "@ref:org.mule.extension.s3.api.attributes.AccessControlListAttributes"
            },
            "hasDynamicType": false,
            "description": "",
            "modelProperties": {}
          },
          "transactional": false,
          "requiresConnection": true,
          "supportsStreaming": false,
          "notifications": [],
          "nestedComponents": [],
          "errors": [
            "S3:INVALID_RANGE",
            "S3:SERVICE_UNAVAILABLE",
            "S3:REQUEST_TIME_TOO_SKEWED",
            "S3:REDIRECT",
            "S3:INVALID_STORAGE_CLASS",
            "S3:MAX_MESSAGE_LENGTH_EXCEEDED",
            "S3:REQUEST_IS_NOT_MULTI_PART_CONTENT",
            "S3:UNEXPECTED_CONTENT",
            "S3:ENTITY_TOO_SMALL",
            "S3:NO_SUCH_BUCKET",
            "S3:INVALID_PART",
            "S3:INVALID_SOAP_REQUEST",
            "S3:NO_SUCH_VERSION",
            "S3:METADATA_TOO_LARGE",
            "S3:PRECONDITION_FAILED",
            "S3:BUCKET_ALREADY_EXISTS",
            "S3:AMBIGUOUS_GRANT_BY_EMAIL_ADDRESS",
            "S3:MISSING_SECURITY_ELEMENT",
            "S3:INVALID_URI",
            "S3:NOT_SIGNED_UP",
            "S3:INVALID_ADDRESSING_HEADER",
            "S3:MAX_POST_PRE_DATA_LENGTH_EXCEEDED_ERROR",
            "S3:ILLEGAL_VERSIONING_CONFIGURATION_EXCEPTION",
            "S3:INVALID_PAYER",
            "S3:NO_SUCH_BUCKET_POLICY",
            "S3:INVALID_SECURITY",
            "S3:OPERATION_ABORTED",
            "S3:INVALID_ACCESS_KEY_ID",
            "S3:INVALID_LOCATION_CONSTRAINT",
            "S3:INLINE_DATA_TOO_LARGE",
            "S3:SIGNATURE_DOES_NOT_MATCH",
            "S3:UNRESOLVABLE_GRANT_BY_EMAIL_ADDRESS",
            "S3:NO_SUCH_LIFECYCLE_CONFIGURATION",
            "S3:KEY_TOO_LONG",
            "S3:INVALID_BUCKET_NAME",
            "S3:INVALID_TOKEN",
            "S3:TEMPORARY_REDIRECT",
            "S3:BUCKET_NOT_EMPTY",
            "S3:BAD_DIGEST",
            "S3:CROSS_LOCATION_LOGGING_PROHIBITED",
            "S3:MALFORMED_POST_REQUEST",
            "S3:REQUEST_TIMEOUT",
            "S3:TOO_MANY_BUCKETS",
            "S3:NO_SUCH_KEY",
            "S3:MISSING_ATTACHMENT",
            "S3:INVALID_BUCKET_STATE",
            "S3:RETRY_EXHAUSTED",
            "S3:INVALID_PART_ORDER",
            "S3:INVALID_RESPONSE_PRESIGNEDURL_MALFORMED",
            "S3:INVALID_POLICY_DOCUMENT",
            "S3:MALFORMED_XML",
            "S3:ACCOUNT_PROBLEM",
            "S3:USER_KEY_MUST_BE_SPECIFIED",
            "S3:MISSING_CONTENT_LENGTH",
            "S3:INVALID_DIGEST",
            "S3:ACCESS_DENIED",
            "S3:MISSING_REQUEST_BODY_ERROR",
            "S3:REQUEST_TORRENT_OF_BUCKET_ERROR",
            "S3:TOKEN_REFRESH_REQUIRED",
            "S3:NO_LOGGING_STATUS_FOR_KEY",
            "S3:RESTORE_ALREADY_IN_PROGRESS",
            "S3:INVALID_OBJECT_STATE",
            "S3:CONNECTIVITY",
            "S3:INVALID_ENCRYPTION_ALGORITHM_ERROR",
            "S3:PERMANENT_REDIRECT",
            "S3:INVALID_REQUEST",
            "S3:INCORRECT_NUMBER_OF_FILES_IN_POST_REQUEST",
            "S3:UNKNOWN",
            "S3:MALFORMED_ACL_ERROR",
            "S3:CREDENTIALS_NOT_SUPPORTED",
            "S3:NOT_IMPLEMENTED",
            "S3:INVALID_ARGUMENT",
            "S3:INVALID_TARGET_BUCKET_FOR_LOGGING",
            "S3:NO_SUCH_UPLOAD",
            "S3:INTERNAL_ERROR",
            "S3:SLOW_DOWN",
            "S3:ENTITY_TOO_LARGE",
            "S3:METHOD_NOT_ALLOWED",
            "S3:EXPIRED_TOKEN",
            "S3:MISSING_SECURITY_HEADER",
            "S3:BUCKET_ALREADY_OWNED_BY_YOU",
            "S3:INCOMPLETE_BODY"
          ],
          "stereotype": {
            "type": "PROCESSOR",
            "namespace": "MULE"
          },
          "parameterGroupModels": [
            {
              "parameters": [
                {
                  "type": {
                    "format": "java",
                    "type": "String"
                  },
                  "hasDynamicType": false,
                  "required": true,
                  "isConfigOverride": false,
                  "expressionSupport": "SUPPORTED",
                  "role": "BEHAVIOUR",
                  "dslConfiguration": {
                    "allowsInlineDefinition": true,
                    "allowsReferences": true,
                    "allowTopLevelDefinition": false
                  },
                  "layoutModel": {
                    "password": false,
                    "text": false,
                    "query": false,
                    "order": 1
                  },
                  "allowedStereotypeModels": [],
                  "name": "bucketName",
                  "description": "the object\u0027s bucket",
                  "modelProperties": {}
                },
                {
                  "type": {
                    "format": "java",
                    "type": "String"
                  },
                  "hasDynamicType": false,
                  "required": true,
                  "isConfigOverride": false,
                  "expressionSupport": "SUPPORTED",
                  "role": "BEHAVIOUR",
                  "dslConfiguration": {
                    "allowsInlineDefinition": true,
                    "allowsReferences": true,
                    "allowTopLevelDefinition": false
                  },
                  "layoutModel": {
                    "password": false,
                    "text": false,
                    "query": false,
                    "order": 2
                  },
                  "allowedStereotypeModels": [],
                  "name": "key",
                  "description": "the object\u0027s key",
                  "modelProperties": {}
                },
                {
                  "type": {
                    "format": "java",
                    "type": "String"
                  },
                  "hasDynamicType": false,
                  "required": false,
                  "isConfigOverride": false,
                  "expressionSupport": "SUPPORTED",
                  "role": "BEHAVIOUR",
                  "dslConfiguration": {
                    "allowsInlineDefinition": true,
                    "allowsReferences": true,
                    "allowTopLevelDefinition": false
                  },
                  "layoutModel": {
                    "password": false,
                    "text": false,
                    "query": false,
                    "order": 3
                  },
                  "allowedStereotypeModels": [],
                  "name": "versionId",
                  "description": "the object\u0027s version id",
                  "modelProperties": {}
                }
              ],
              "exclusiveParametersModels": [],
              "layoutModel": {
                "password": false,
                "text": false,
                "query": false,
                "order": 1
              },
              "showInDsl": false,
              "name": "General",
              "description": "",
              "modelProperties": {}
            },
            {
              "parameters": [
                {
                  "type": {
                    "format": "java",
                    "type": "String"
                  },
                  "hasDynamicType": false,
                  "required": false,
                  "isConfigOverride": false,
                  "expressionSupport": "NOT_SUPPORTED",
                  "role": "BEHAVIOUR",
                  "dslConfiguration": {
                    "allowsInlineDefinition": true,
                    "allowsReferences": true,
                    "allowTopLevelDefinition": false
                  },
                  "layoutModel": {
                    "password": false,
                    "text": false,
                    "query": false,
                    "order": 4,
                    "tabName": "Advanced"
                  },
                  "allowedStereotypeModels": [],
                  "name": "target",
                  "displayModel": {
                    "displayName": "Target Variable"
                  },
                  "description": "The name of a variable on which the operation\u0027s output will be placed",
                  "modelProperties": {}
                },
                {
                  "type": {
                    "format": "java",
                    "type": "String"
                  },
                  "hasDynamicType": false,
                  "required": false,
                  "isConfigOverride": false,
                  "expressionSupport": "REQUIRED",
                  "defaultValue": "#[payload]",
                  "role": "BEHAVIOUR",
                  "dslConfiguration": {
                    "allowsInlineDefinition": true,
                    "allowsReferences": true,
                    "allowTopLevelDefinition": false
                  },
                  "layoutModel": {
                    "password": false,
                    "text": false,
                    "query": false,
                    "order": 5,
                    "tabName": "Advanced"
                  },
                  "allowedStereotypeModels": [],
                  "name": "targetValue",
                  "displayModel": {
                    "displayName": "Target Value"
                  },
                  "description": "An expression that will be evaluated against the operation\u0027s output and the outcome of that expression will be stored in the target variable",
                  "modelProperties": {}
                }
              ],
              "exclusiveParametersModels": [],
              "layoutModel": {
                "password": false,
                "text": false,
                "query": false,
                "order": 2
              },
              "showInDsl": false,
              "name": "Output",
              "description": "",
              "modelProperties": {}
            },
            {
              "parameters": [
                {
                  "type": {
                    "format": "java",
                    "type": "Union",
                    "annotations": {
                      "typeId": "ReconnectionStrategy"
                    },
                    "of": [
                      {
                        "type": "Object",
                        "annotations": {
                          "typeId": "reconnect"
                        },
                        "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": [
                                    "java.lang.Comparable"
                                  ],
                                  "parent": "java.lang.Number",
                                  "genericTypes": [],
                                  "isMap": false
                                },
                                "default": "2000"
                              }
                            },
                            "annotations": {
                              "description": {
                                "value": "How often (in ms) to reconnect"
                              }
                            }
                          },
                          {
                            "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"
                        },
                        "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": [
                                    "java.lang.Comparable"
                                  ],
                                  "parent": "java.lang.Number",
                                  "genericTypes": [],
                                  "isMap": false
                                },
                                "default": "2000"
                              }
                            },
                            "annotations": {
                              "description": {
                                "value": "How often (in ms) to reconnect"
                              }
                            }
                          }
                        ]
                      }
                    ]
                  },
                  "hasDynamicType": false,
                  "required": false,
                  "isConfigOverride": false,
                  "expressionSupport": "NOT_SUPPORTED",
                  "role": "BEHAVIOUR",
                  "dslConfiguration": {
                    "allowsInlineDefinition": true,
                    "allowsReferences": false,
                    "allowTopLevelDefinition": false
                  },
                  "layoutModel": {
                    "password": false,
                    "text": false,
                    "query": false,
                    "order": 6,
                    "tabName": "Advanced"
                  },
                  "allowedStereotypeModels": [],
                  "name": "reconnectionStrategy",
                  "description": "A retry strategy in case of connectivity errors",
                  "modelProperties": {
                    "org.mule.runtime.extension.api.property.QNameModelProperty": {
                      "value": {
                        "namespaceURI": "http://www.mulesoft.org/schema/mule/core",
                        "localPart": "abstract-reconnection-strategy",
                        "prefix": "mule"
                      }
                    },
                    "org.mule.runtime.extension.api.property.InfrastructureParameterModelProperty": {
                      "sequence": 3
                    }
                  }
                }
              ],
              "exclusiveParametersModels": [],
              "layoutModel": {
                "password": false,
                "text": false,
                "query": false,
                "order": 3
              },
              "showInDsl": false,
              "name": "Connection",
              "description": "",
              "modelProperties": {}
            }
          ],
          "name": "getObjectAcl",
          "description": "Returns the access control list (ACL) of an object. By default, GET returns ACL information about the current version of an object. To return ACL information about a different version, use the versionId attribute.",
          "modelProperties": {},
          "kind": "operation"
        },
        {
          "blocking": true,
          "executionType": "BLOCKING",
          "output": {
            "type": {
              "format": "java",
              "type": "@ref:org.mule.extension.s3.api.group.ObjectMetadataParameterGroup"
            },
            "hasDynamicType": false,
            "description": "",
            "modelProperties": {}
          },
          "outputAttributes": {
            "type": {
              "format": "java",
              "type": "Void"
            },
            "hasDynamicType": false,
            "description": "",
            "modelProperties": {}
          },
          "transactional": false,
          "requiresConnection": true,
          "supportsStreaming": false,
          "notifications": [],
          "nestedComponents": [],
          "errors": [
            "S3:INVALID_RANGE",
            "S3:SERVICE_UNAVAILABLE",
            "S3:REQUEST_TIME_TOO_SKEWED",
            "S3:REDIRECT",
            "S3:INVALID_STORAGE_CLASS",
            "S3:MAX_MESSAGE_LENGTH_EXCEEDED",
            "S3:REQUEST_IS_NOT_MULTI_PART_CONTENT",
            "S3:UNEXPECTED_CONTENT",
            "S3:ENTITY_TOO_SMALL",
            "S3:NO_SUCH_BUCKET",
            "S3:INVALID_PART",
            "S3:INVALID_SOAP_REQUEST",
            "S3:NO_SUCH_VERSION",
            "S3:METADATA_TOO_LARGE",
            "S3:PRECONDITION_FAILED",
            "S3:BUCKET_ALREADY_EXISTS",
            "S3:AMBIGUOUS_GRANT_BY_EMAIL_ADDRESS",
            "S3:MISSING_SECURITY_ELEMENT",
            "S3:INVALID_URI",
            "S3:NOT_SIGNED_UP",
            "S3:INVALID_ADDRESSING_HEADER",
            "S3:MAX_POST_PRE_DATA_LENGTH_EXCEEDED_ERROR",
            "S3:ILLEGAL_VERSIONING_CONFIGURATION_EXCEPTION",
            "S3:INVALID_PAYER",
            "S3:NO_SUCH_BUCKET_POLICY",
            "S3:INVALID_SECURITY",
            "S3:OPERATION_ABORTED",
            "S3:INVALID_ACCESS_KEY_ID",
            "S3:INVALID_LOCATION_CONSTRAINT",
            "S3:INLINE_DATA_TOO_LARGE",
            "S3:SIGNATURE_DOES_NOT_MATCH",
            "S3:UNRESOLVABLE_GRANT_BY_EMAIL_ADDRESS",
            "S3:NO_SUCH_LIFECYCLE_CONFIGURATION",
            "S3:KEY_TOO_LONG",
            "S3:INVALID_BUCKET_NAME",
            "S3:INVALID_TOKEN",
            "S3:TEMPORARY_REDIRECT",
            "S3:BUCKET_NOT_EMPTY",
            "S3:BAD_DIGEST",
            "S3:CROSS_LOCATION_LOGGING_PROHIBITED",
            "S3:MALFORMED_POST_REQUEST",
            "S3:REQUEST_TIMEOUT",
            "S3:TOO_MANY_BUCKETS",
            "S3:NO_SUCH_KEY",
            "S3:MISSING_ATTACHMENT",
            "S3:INVALID_BUCKET_STATE",
            "S3:RETRY_EXHAUSTED",
            "S3:INVALID_PART_ORDER",
            "S3:INVALID_RESPONSE_PRESIGNEDURL_MALFORMED",
            "S3:INVALID_POLICY_DOCUMENT",
            "S3:MALFORMED_XML",
            "S3:ACCOUNT_PROBLEM",
            "S3:USER_KEY_MUST_BE_SPECIFIED",
            "S3:MISSING_CONTENT_LENGTH",
            "S3:INVALID_DIGEST",
            "S3:ACCESS_DENIED",
            "S3:MISSING_REQUEST_BODY_ERROR",
            "S3:REQUEST_TORRENT_OF_BUCKET_ERROR",
            "S3:TOKEN_REFRESH_REQUIRED",
            "S3:NO_LOGGING_STATUS_FOR_KEY",
            "S3:RESTORE_ALREADY_IN_PROGRESS",
            "S3:INVALID_OBJECT_STATE",
            "S3:CONNECTIVITY",
            "S3:INVALID_ENCRYPTION_ALGORITHM_ERROR",
            "S3:PERMANENT_REDIRECT",
            "S3:INVALID_REQUEST",
            "S3:INCORRECT_NUMBER_OF_FILES_IN_POST_REQUEST",
            "S3:UNKNOWN",
            "S3:MALFORMED_ACL_ERROR",
            "S3:CREDENTIALS_NOT_SUPPORTED",
            "S3:NOT_IMPLEMENTED",
            "S3:INVALID_ARGUMENT",
            "S3:INVALID_TARGET_BUCKET_FOR_LOGGING",
            "S3:NO_SUCH_UPLOAD",
            "S3:INTERNAL_ERROR",
            "S3:SLOW_DOWN",
            "S3:ENTITY_TOO_LARGE",
            "S3:METHOD_NOT_ALLOWED",
            "S3:EXPIRED_TOKEN",
            "S3:MISSING_SECURITY_HEADER",
            "S3:BUCKET_ALREADY_OWNED_BY_YOU",
            "S3:INCOMPLETE_BODY"
          ],
          "stereotype": {
            "type": "PROCESSOR",
            "namespace": "MULE"
          },
          "parameterGroupModels": [
            {
              "parameters": [
                {
                  "type": {
                    "format": "java",
                    "type": "String"
                  },
                  "hasDynamicType": false,
                  "required": true,
                  "isConfigOverride": false,
                  "expressionSupport": "SUPPORTED",
                  "role": "BEHAVIOUR",
                  "dslConfiguration": {
                    "allowsInlineDefinition": true,
                    "allowsReferences": true,
                    "allowTopLevelDefinition": false
                  },
                  "layoutModel": {
                    "password": false,
                    "text": false,
                    "query": false,
                    "order": 1
                  },
                  "allowedStereotypeModels": [],
                  "name": "bucketName",
                  "description": "the object\u0027s bucket",
                  "modelProperties": {}
                },
                {
                  "type": {
                    "format": "java",
                    "type": "String"
                  },
                  "hasDynamicType": false,
                  "required": true,
                  "isConfigOverride": false,
                  "expressionSupport": "SUPPORTED",
                  "role": "BEHAVIOUR",
                  "dslConfiguration": {
                    "allowsInlineDefinition": true,
                    "allowsReferences": true,
                    "allowTopLevelDefinition": false
                  },
                  "layoutModel": {
                    "password": false,
                    "text": false,
                    "query": false,
                    "order": 2
                  },
                  "allowedStereotypeModels": [],
                  "name": "key",
                  "description": "the object\u0027s key",
                  "modelProperties": {}
                },
                {
                  "type": {
                    "format": "java",
                    "type": "String"
                  },
                  "hasDynamicType": false,
                  "required": false,
                  "isConfigOverride": false,
                  "expressionSupport": "SUPPORTED",
                  "role": "BEHAVIOUR",
                  "dslConfiguration": {
                    "allowsInlineDefinition": true,
                    "allowsReferences": true,
                    "allowTopLevelDefinition": false
                  },
                  "layoutModel": {
                    "password": false,
                    "text": false,
                    "query": false,
                    "order": 3
                  },
                  "allowedStereotypeModels": [],
                  "name": "versionId",
                  "displayModel": {
                    "summary": "The specific version of the object to get its contents, if versioning is enabled. "
                  },
                  "description": "the specific version of the object to get its contents, if versioning is enabled.",
                  "modelProperties": {}
                }
              ],
              "exclusiveParametersModels": [],
              "layoutModel": {
                "password": false,
                "text": false,
                "query": false,
                "order": 1
              },
              "showInDsl": false,
              "name": "General",
              "description": "",
              "modelProperties": {}
            },
            {
              "parameters": [
                {
                  "type": {
                    "format": "java",
                    "type": "String"
                  },
                  "hasDynamicType": false,
                  "required": false,
                  "isConfigOverride": false,
                  "expressionSupport": "NOT_SUPPORTED",
                  "role": "BEHAVIOUR",
                  "dslConfiguration": {
                    "allowsInlineDefinition": true,
                    "allowsReferences": true,
                    "allowTopLevelDefinition": false
                  },
                  "layoutModel": {
                    "password": false,
                    "text": false,
                    "query": false,
                    "order": 4,
                    "tabName": "Advanced"
                  },
                  "allowedStereotypeModels": [],
                  "name": "target",
                  "displayModel": {
                    "displayName": "Target Variable"
                  },
                  "description": "The name of a variable on which the operation\u0027s output will be placed",
                  "modelProperties": {}
                },
                {
                  "type": {
                    "format": "java",
                    "type": "String"
                  },
                  "hasDynamicType": false,
                  "required": false,
                  "isConfigOverride": false,
                  "expressionSupport": "REQUIRED",
                  "defaultValue": "#[payload]",
                  "role": "BEHAVIOUR",
                  "dslConfiguration": {
                    "allowsInlineDefinition": true,
                    "allowsReferences": true,
                    "allowTopLevelDefinition": false
                  },
                  "layoutModel": {
                    "password": false,
                    "text": false,
                    "query": false,
                    "order": 5,
                    "tabName": "Advanced"
                  },
                  "allowedStereotypeModels": [],
                  "name": "targetValue",
                  "displayModel": {
                    "displayName": "Target Value"
                  },
                  "description": "An expression that will be evaluated against the operation\u0027s output and the outcome of that expression will be stored in the target variable",
                  "modelProperties": {}
                }
              ],
              "exclusiveParametersModels": [],
              "layoutModel": {
                "password": false,
                "text": false,
                "query": false,
                "order": 2
              },
              "showInDsl": false,
              "name": "Output",
              "description": "",
              "modelProperties": {}
            },
            {
              "parameters": [
                {
                  "type": {
                    "format": "java",
                    "type": "Union",
                    "annotations": {
                      "typeId": "ReconnectionStrategy"
                    },
                    "of": [
                      {
                        "type": "Object",
                        "annotations": {
                          "typeId": "reconnect"
                        },
                        "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": [
                                    "java.lang.Comparable"
                                  ],
                                  "parent": "java.lang.Number",
                                  "genericTypes": [],
                                  "isMap": false
                                },
                                "default": "2000"
                              }
                            },
                            "annotations": {
                              "description": {
                                "value": "How often (in ms) to reconnect"
                              }
                            }
                          },
                          {
                            "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"
                        },
                        "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": [
                                    "java.lang.Comparable"
                                  ],
                                  "parent": "java.lang.Number",
                                  "genericTypes": [],
                                  "isMap": false
                                },
                                "default": "2000"
                              }
                            },
                            "annotations": {
                              "description": {
                                "value": "How often (in ms) to reconnect"
                              }
                            }
                          }
                        ]
                      }
                    ]
                  },
                  "hasDynamicType": false,
                  "required": false,
                  "isConfigOverride": false,
                  "expressionSupport": "NOT_SUPPORTED",
                  "role": "BEHAVIOUR",
                  "dslConfiguration": {
                    "allowsInlineDefinition": true,
                    "allowsReferences": false,
                    "allowTopLevelDefinition": false
                  },
                  "layoutModel": {
                    "password": false,
                    "text": false,
                    "query": false,
                    "order": 6,
                    "tabName": "Advanced"
                  },
                  "allowedStereotypeModels": [],
                  "name": "reconnectionStrategy",
                  "description": "A retry strategy in case of connectivity errors",
                  "modelProperties": {
                    "org.mule.runtime.extension.api.property.QNameModelProperty": {
                      "value": {
                        "namespaceURI": "http://www.mulesoft.org/schema/mule/core",
                        "localPart": "abstract-reconnection-strategy",
                        "prefix": "mule"
                      }
                    },
                    "org.mule.runtime.extension.api.property.InfrastructureParameterModelProperty": {
                      "sequence": 3
                    }
                  }
                }
              ],
              "exclusiveParametersModels": [],
              "layoutModel": {
                "password": false,
                "text": false,
                "query": false,
                "order": 3
              },
              "showInDsl": false,
              "name": "Connection",
              "description": "",
              "modelProperties": {}
            }
          ],
          "name": "getObjectMetadata",
          "description": "Gets only the object metadata stored in Amazon S3 under the specified bucket and key. To get an object metadata from Amazon S3, the caller must have com.amazonaws.services.s3.model.Permission#Read access to the object.",
          "modelProperties": {},
          "kind": "operation"
        },
        {
          "blocking": true,
          "executionType": "BLOCKING",
          "output": {
            "type": {
              "format": {
                "id": "application/plain",
                "label": "application/plain",
                "validMimeTypes": [
                  "application/plain"
                ]
              },
              "type": "String"
            },
            "hasDynamicType": false,
            "description": "",
            "modelProperties": {}
          },
          "outputAttributes": {
            "type": {
              "format": "java",
              "type": "Void"
            },
            "hasDynamicType": false,
            "description": "",
            "modelProperties": {}
          },
          "transactional": false,
          "requiresConnection": true,
          "supportsStreaming": false,
          "notifications": [],
          "nestedComponents": [],
          "errors": [
            "S3:INVALID_RANGE",
            "S3:SERVICE_UNAVAILABLE",
            "S3:REQUEST_TIME_TOO_SKEWED",
            "S3:REDIRECT",
            "S3:INVALID_STORAGE_CLASS",
            "S3:MAX_MESSAGE_LENGTH_EXCEEDED",
            "S3:REQUEST_IS_NOT_MULTI_PART_CONTENT",
            "S3:UNEXPECTED_CONTENT",
            "S3:ENTITY_TOO_SMALL",
            "S3:NO_SUCH_BUCKET",
            "S3:INVALID_PART",
            "S3:INVALID_SOAP_REQUEST",
            "S3:NO_SUCH_VERSION",
            "S3:METADATA_TOO_LARGE",
            "S3:PRECONDITION_FAILED",
            "S3:BUCKET_ALREADY_EXISTS",
            "S3:AMBIGUOUS_GRANT_BY_EMAIL_ADDRESS",
            "S3:MISSING_SECURITY_ELEMENT",
            "S3:INVALID_URI",
            "S3:NOT_SIGNED_UP",
            "S3:INVALID_ADDRESSING_HEADER",
            "S3:MAX_POST_PRE_DATA_LENGTH_EXCEEDED_ERROR",
            "S3:ILLEGAL_VERSIONING_CONFIGURATION_EXCEPTION",
            "S3:INVALID_PAYER",
            "S3:NO_SUCH_BUCKET_POLICY",
            "S3:INVALID_SECURITY",
            "S3:OPERATION_ABORTED",
            "S3:INVALID_ACCESS_KEY_ID",
            "S3:INVALID_LOCATION_CONSTRAINT",
            "S3:INLINE_DATA_TOO_LARGE",
            "S3:SIGNATURE_DOES_NOT_MATCH",
            "S3:UNRESOLVABLE_GRANT_BY_EMAIL_ADDRESS",
            "S3:NO_SUCH_LIFECYCLE_CONFIGURATION",
            "S3:KEY_TOO_LONG",
            "S3:INVALID_BUCKET_NAME",
            "S3:INVALID_TOKEN",
            "S3:TEMPORARY_REDIRECT",
            "S3:BUCKET_NOT_EMPTY",
            "S3:BAD_DIGEST",
            "S3:CROSS_LOCATION_LOGGING_PROHIBITED",
            "S3:MALFORMED_POST_REQUEST",
            "S3:REQUEST_TIMEOUT",
            "S3:TOO_MANY_BUCKETS",
            "S3:NO_SUCH_KEY",
            "S3:MISSING_ATTACHMENT",
            "S3:INVALID_BUCKET_STATE",
            "S3:RETRY_EXHAUSTED",
            "S3:INVALID_PART_ORDER",
            "S3:INVALID_RESPONSE_PRESIGNEDURL_MALFORMED",
            "S3:INVALID_POLICY_DOCUMENT",
            "S3:MALFORMED_XML",
            "S3:ACCOUNT_PROBLEM",
            "S3:USER_KEY_MUST_BE_SPECIFIED",
            "S3:MISSING_CONTENT_LENGTH",
            "S3:INVALID_DIGEST",
            "S3:ACCESS_DENIED",
            "S3:MISSING_REQUEST_BODY_ERROR",
            "S3:REQUEST_TORRENT_OF_BUCKET_ERROR",
            "S3:TOKEN_REFRESH_REQUIRED",
            "S3:NO_LOGGING_STATUS_FOR_KEY",
            "S3:RESTORE_ALREADY_IN_PROGRESS",
            "S3:INVALID_OBJECT_STATE",
            "S3:CONNECTIVITY",
            "S3:INVALID_ENCRYPTION_ALGORITHM_ERROR",
            "S3:PERMANENT_REDIRECT",
            "S3:INVALID_REQUEST",
            "S3:INCORRECT_NUMBER_OF_FILES_IN_POST_REQUEST",
            "S3:UNKNOWN",
            "S3:MALFORMED_ACL_ERROR",
            "S3:CREDENTIALS_NOT_SUPPORTED",
            "S3:NOT_IMPLEMENTED",
            "S3:INVALID_ARGUMENT",
            "S3:INVALID_TARGET_BUCKET_FOR_LOGGING",
            "S3:NO_SUCH_UPLOAD",
            "S3:INTERNAL_ERROR",
            "S3:SLOW_DOWN",
            "S3:ENTITY_TOO_LARGE",
            "S3:METHOD_NOT_ALLOWED",
            "S3:EXPIRED_TOKEN",
            "S3:MISSING_SECURITY_HEADER",
            "S3:BUCKET_ALREADY_OWNED_BY_YOU",
            "S3:INCOMPLETE_BODY"
          ],
          "stereotype": {
            "type": "PROCESSOR",
            "namespace": "MULE"
          },
          "parameterGroupModels": [
            {
              "parameters": [
                {
                  "type": {
                    "format": "java",
                    "type": "String"
                  },
                  "hasDynamicType": false,
                  "required": true,
                  "isConfigOverride": false,
                  "expressionSupport": "SUPPORTED",
                  "role": "BEHAVIOUR",
                  "dslConfiguration": {
                    "allowsInlineDefinition": true,
                    "allowsReferences": true,
                    "allowTopLevelDefinition": false
                  },
                  "layoutModel": {
                    "password": false,
                    "text": false,
                    "query": false,
                    "order": 1
                  },
                  "allowedStereotypeModels": [],
                  "name": "bucketName",
                  "description": "the name of the bucket in which to create the new multipart upload.",
                  "modelProperties": {}
                },
                {
                  "type": {
                    "format": "java",
                    "type": "String"
                  },
                  "hasDynamicType": false,
                  "required": true,
                  "isConfigOverride": false,
                  "expressionSupport": "SUPPORTED",
                  "role": "BEHAVIOUR",
                  "dslConfiguration": {
                    "allowsInlineDefinition": true,
                    "allowsReferences": true,
                    "allowTopLevelDefinition": false
                  },
                  "layoutModel": {
                    "password": false,
                    "text": false,
                    "query": false,
                    "order": 2
                  },
                  "allowedStereotypeModels": [],
                  "name": "key",
                  "description": "the key by which to store the new multipart upload.",
                  "modelProperties": {}
                },
                {
                  "type": {
                    "format": "java",
                    "type": "@ref:org.mule.extension.s3.api.group.ObjectMetadataParameterGroup"
                  },
                  "hasDynamicType": false,
                  "required": false,
                  "isConfigOverride": false,
                  "expressionSupport": "SUPPORTED",
                  "role": "BEHAVIOUR",
                  "dslConfiguration": {
                    "allowsInlineDefinition": true,
                    "allowsReferences": true,
                    "allowTopLevelDefinition": false
                  },
                  "layoutModel": {
                    "password": false,
                    "text": false,
                    "query": false,
                    "order": 9,
                    "tabName": "General"
                  },
                  "allowedStereotypeModels": [],
                  "name": "objectMetadata",
                  "displayModel": {
                    "summary": "The additional information about the new object being created, such as content type \u0026 encoding, etc."
                  },
                  "description": "the additional information about the new object being created, such as content type \u0026 encoding, etc.",
                  "modelProperties": {}
                },
                {
                  "type": {
                    "format": "java",
                    "type": "String",
                    "annotations": {
                      "typeId": "org.mule.extension.s3.api.model.CannedAccessControlList",
                      "enum": {
                        "type": "[Ljava.lang.String;",
                        "values": [
                          "PRIVATE",
                          "PUBLIC_READ",
                          "PUBLIC_READ_WRITE",
                          "AUTHENTICATED_READ",
                          "LOG_DELIVERY_WRITE",
                          "BUCKET_OWNER_READ",
                          "BUCKET_OWNER_FULL_CONTROL"
                        ]
                      }
                    }
                  },
                  "hasDynamicType": false,
                  "required": false,
                  "isConfigOverride": false,
                  "expressionSupport": "SUPPORTED",
                  "defaultValue": "PRIVATE",
                  "role": "BEHAVIOUR",
                  "dslConfiguration": {
                    "allowsInlineDefinition": true,
                    "allowsReferences": true,
                    "allowTopLevelDefinition": false
                  },
                  "layoutModel": {
                    "password": false,
                    "text": false,
                    "query": false,
                    "order": 3
                  },
                  "allowedStereotypeModels": [],
                  "name": "acl",
                  "displayModel": {
                    "displayName": "Canned ACL",
                    "summary": "The optional canned Access Control List (ACL) to set permissions for the new object created when the multipart upload is completed."
                  },
                  "description": "the optional canned Access Control List (ACL) to set permissions for the new object created when the multipart upload is completed.",
                  "modelProperties": {}
                },
                {
                  "type": {
                    "format": "java",
                    "type": "String"
                  },
                  "hasDynamicType": false,
                  "required": false,
                  "isConfigOverride": false,
                  "expressionSupport": "SUPPORTED",
                  "role": "BEHAVIOUR",
                  "dslConfiguration": {
                    "allowsInlineDefinition": true,
                    "allowsReferences": true,
                    "allowTopLevelDefinition": false
                  },
                  "layoutModel": {
                    "password": false,
                    "text": false,
                    "query": false,
                    "order": 4
                  },
                  "allowedStereotypeModels": [],
                  "name": "redirectLocation",
                  "description": "Gets the optional redirect location for the new object.",
                  "modelProperties": {}
                }
              ],
              "exclusiveParametersModels": [],
              "layoutModel": {
                "password": false,
                "text": false,
                "query": false,
                "order": 1
              },
              "showInDsl": false,
              "name": "General",
              "description": "",
              "modelProperties": {}
            },
            {
              "parameters": [
                {
                  "type": {
                    "format": "java",
                    "type": "String"
                  },
                  "hasDynamicType": false,
                  "required": false,
                  "isConfigOverride": false,
                  "expressionSupport": "NOT_SUPPORTED",
                  "role": "BEHAVIOUR",
                  "dslConfiguration": {
                    "allowsInlineDefinition": true,
                    "allowsReferences": true,
                    "allowTopLevelDefinition": false
                  },
                  "layoutModel": {
                    "password": false,
                    "text": false,
                    "query": false,
                    "order": 5,
                    "tabName": "Advanced"
                  },
                  "allowedStereotypeModels": [],
                  "name": "target",
                  "displayModel": {
                    "displayName": "Target Variable"
                  },
                  "description": "The name of a variable on which the operation\u0027s output will be placed",
                  "modelProperties": {}
                },
                {
                  "type": {
                    "format": "java",
                    "type": "String"
                  },
                  "hasDynamicType": false,
                  "required": false,
                  "isConfigOverride": false,
                  "expressionSupport": "REQUIRED",
                  "defaultValue": "#[payload]",
                  "role": "BEHAVIOUR",
                  "dslConfiguration": {
                    "allowsInlineDefinition": true,
                    "allowsReferences": true,
                    "allowTopLevelDefinition": false
                  },
                  "layoutModel": {
                    "password": false,
                    "text": false,
                    "query": false,
                    "order": 6,
                    "tabName": "Advanced"
                  },
                  "allowedStereotypeModels": [],
                  "name": "targetValue",
                  "displayModel": {
                    "displayName": "Target Value"
                  },
                  "description": "An expression that will be evaluated against the operation\u0027s output and the outcome of that expression will be stored in the target variable",
                  "modelProperties": {}
                }
              ],
              "exclusiveParametersModels": [],
              "layoutModel": {
                "password": false,
                "text": false,
                "query": false,
                "order": 2
              },
              "showInDsl": false,
              "name": "Output",
              "description": "",
              "modelProperties": {}
            },
            {
              "parameters": [
                {
                  "type": {
                    "format": "java",
                    "type": "Union",
                    "annotations": {
                      "typeId": "ReconnectionStrategy"
                    },
                    "of": [
                      {
                        "type": "Object",
                        "annotations": {
                          "typeId": "reconnect"
                        },
                        "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": [
                                    "java.lang.Comparable"
                                  ],
                                  "parent": "java.lang.Number",
                                  "genericTypes": [],
                                  "isMap": false
                                },
                                "default": "2000"
                              }
                            },
                            "annotations": {
                              "description": {
                                "value": "How often (in ms) to reconnect"
                              }
                            }
                          },
                          {
                            "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"
                        },
                        "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": [
                                    "java.lang.Comparable"
                                  ],
                                  "parent": "java.lang.Number",
                                  "genericTypes": [],
                                  "isMap": false
                                },
                                "default": "2000"
                              }
                            },
                            "annotations": {
                              "description": {
                                "value": "How often (in ms) to reconnect"
                              }
                            }
                          }
                        ]
                      }
                    ]
                  },
                  "hasDynamicType": false,
                  "required": false,
                  "isConfigOverride": false,
                  "expressionSupport": "NOT_SUPPORTED",
                  "role": "BEHAVIOUR",
                  "dslConfiguration": {
                    "allowsInlineDefinition": true,
                    "allowsReferences": false,
                    "allowTopLevelDefinition": false
                  },
                  "layoutModel": {
                    "password": false,
                    "text": false,
                    "query": false,
                    "order": 7,
                    "tabName": "Advanced"
                  },
                  "allowedStereotypeModels": [],
                  "name": "reconnectionStrategy",
                  "description": "A retry strategy in case of connectivity errors",
                  "modelProperties": {
                    "org.mule.runtime.extension.api.property.QNameModelProperty": {
                      "value": {
                        "namespaceURI": "http://www.mulesoft.org/schema/mule/core",
                        "localPart": "abstract-reconnection-strategy",
                        "prefix": "mule"
                      }
                    },
                    "org.mule.runtime.extension.api.property.InfrastructureParameterModelProperty": {
                      "sequence": 3
                    }
                  }
                }
              ],
              "exclusiveParametersModels": [],
              "layoutModel": {
                "password": false,
                "text": false,
                "query": false,
                "order": 3
              },
              "showInDsl": false,
              "name": "Connection",
              "description": "",
              "modelProperties": {}
            }
          ],
          "name": "initiateMultipartUpload",
          "description": "Initiates a multipart upload and returns an upload ID. This upload ID is used to associate all the parts in the specific multipart upload. You specify this upload ID in each of your subsequent upload part requests. You also include this upload ID in the final request to either complete or abort the multipart upload request.",
          "modelProperties": {},
          "kind": "operation"
        },
        {
          "blocking": true,
          "executionType": "BLOCKING",
          "output": {
            "type": {
              "format": "java",
              "type": "Array",
              "annotations": {
                "classInformation": {
                  "classname": "java.util.List",
                  "hasDefaultConstructor": false,
                  "isInterface": true,
                  "isInstantiable": false,
                  "isAbstract": true,
                  "isFinal": false,
                  "implementedInterfaces": [
                    "java.util.Collection"
                  ],
                  "parent": "",
                  "genericTypes": [
                    "org.mule.extension.s3.api.model.Bucket"
                  ],
                  "isMap": false
                }
              },
              "item": {
                "type": "@ref:org.mule.extension.s3.api.model.Bucket"
              }
            },
            "hasDynamicType": false,
            "description": "",
            "modelProperties": {}
          },
          "outputAttributes": {
            "type": {
              "format": "java",
              "type": "Void"
            },
            "hasDynamicType": false,
            "description": "",
            "modelProperties": {}
          },
          "transactional": false,
          "requiresConnection": true,
          "supportsStreaming": false,
          "notifications": [],
          "nestedComponents": [],
          "errors": [
            "S3:INVALID_RANGE",
            "S3:SERVICE_UNAVAILABLE",
            "S3:REQUEST_TIME_TOO_SKEWED",
            "S3:REDIRECT",
            "S3:INVALID_STORAGE_CLASS",
            "S3:MAX_MESSAGE_LENGTH_EXCEEDED",
            "S3:REQUEST_IS_NOT_MULTI_PART_CONTENT",
            "S3:UNEXPECTED_CONTENT",
            "S3:ENTITY_TOO_SMALL",
            "S3:NO_SUCH_BUCKET",
            "S3:INVALID_PART",
            "S3:INVALID_SOAP_REQUEST",
            "S3:NO_SUCH_VERSION",
            "S3:METADATA_TOO_LARGE",
            "S3:PRECONDITION_FAILED",
            "S3:BUCKET_ALREADY_EXISTS",
            "S3:AMBIGUOUS_GRANT_BY_EMAIL_ADDRESS",
            "S3:MISSING_SECURITY_ELEMENT",
            "S3:INVALID_URI",
            "S3:NOT_SIGNED_UP",
            "S3:INVALID_ADDRESSING_HEADER",
            "S3:MAX_POST_PRE_DATA_LENGTH_EXCEEDED_ERROR",
            "S3:ILLEGAL_VERSIONING_CONFIGURATION_EXCEPTION",
            "S3:INVALID_PAYER",
            "S3:NO_SUCH_BUCKET_POLICY",
            "S3:INVALID_SECURITY",
            "S3:OPERATION_ABORTED",
            "S3:INVALID_ACCESS_KEY_ID",
            "S3:INVALID_LOCATION_CONSTRAINT",
            "S3:INLINE_DATA_TOO_LARGE",
            "S3:SIGNATURE_DOES_NOT_MATCH",
            "S3:UNRESOLVABLE_GRANT_BY_EMAIL_ADDRESS",
            "S3:NO_SUCH_LIFECYCLE_CONFIGURATION",
            "S3:KEY_TOO_LONG",
            "S3:INVALID_BUCKET_NAME",
            "S3:INVALID_TOKEN",
            "S3:TEMPORARY_REDIRECT",
            "S3:BUCKET_NOT_EMPTY",
            "S3:BAD_DIGEST",
            "S3:CROSS_LOCATION_LOGGING_PROHIBITED",
            "S3:MALFORMED_POST_REQUEST",
            "S3:REQUEST_TIMEOUT",
            "S3:TOO_MANY_BUCKETS",
            "S3:NO_SUCH_KEY",
            "S3:MISSING_ATTACHMENT",
            "S3:INVALID_BUCKET_STATE",
            "S3:RETRY_EXHAUSTED",
            "S3:INVALID_PART_ORDER",
            "S3:INVALID_RESPONSE_PRESIGNEDURL_MALFORMED",
            "S3:INVALID_POLICY_DOCUMENT",
            "S3:MALFORMED_XML",
            "S3:ACCOUNT_PROBLEM",
            "S3:USER_KEY_MUST_BE_SPECIFIED",
            "S3:MISSING_CONTENT_LENGTH",
            "S3:INVALID_DIGEST",
            "S3:ACCESS_DENIED",
            "S3:MISSING_REQUEST_BODY_ERROR",
            "S3:REQUEST_TORRENT_OF_BUCKET_ERROR",
            "S3:TOKEN_REFRESH_REQUIRED",
            "S3:NO_LOGGING_STATUS_FOR_KEY",
            "S3:RESTORE_ALREADY_IN_PROGRESS",
            "S3:INVALID_OBJECT_STATE",
            "S3:CONNECTIVITY",
            "S3:INVALID_ENCRYPTION_ALGORITHM_ERROR",
            "S3:PERMANENT_REDIRECT",
            "S3:INVALID_REQUEST",
            "S3:INCORRECT_NUMBER_OF_FILES_IN_POST_REQUEST",
            "S3:UNKNOWN",
            "S3:MALFORMED_ACL_ERROR",
            "S3:CREDENTIALS_NOT_SUPPORTED",
            "S3:NOT_IMPLEMENTED",
            "S3:INVALID_ARGUMENT",
            "S3:INVALID_TARGET_BUCKET_FOR_LOGGING",
            "S3:NO_SUCH_UPLOAD",
            "S3:INTERNAL_ERROR",
            "S3:SLOW_DOWN",
            "S3:ENTITY_TOO_LARGE",
            "S3:METHOD_NOT_ALLOWED",
            "S3:EXPIRED_TOKEN",
            "S3:MISSING_SECURITY_HEADER",
            "S3:BUCKET_ALREADY_OWNED_BY_YOU",
            "S3:INCOMPLETE_BODY"
          ],
          "stereotype": {
            "type": "PROCESSOR",
            "namespace": "MULE"
          },
          "parameterGroupModels": [
            {
              "parameters": [
                {
                  "type": {
                    "format": "java",
                    "type": "String"
                  },
                  "hasDynamicType": false,
                  "required": false,
                  "isConfigOverride": false,
                  "valueProviderModel": {
                    "actingParameters": [],
                    "partOrder": 1,
                    "providerName": "region",
                    "requiresConfiguration": false,
                    "requiresConnection": false,
                    "isOpen": true
                  },
                  "expressionSupport": "SUPPORTED",
                  "role": "BEHAVIOUR",
                  "dslConfiguration": {
                    "allowsInlineDefinition": true,
                    "allowsReferences": true,
                    "allowTopLevelDefinition": false
                  },
                  "layoutModel": {
                    "password": false,
                    "text": false,
                    "query": false,
                    "order": 1
                  },
                  "allowedStereotypeModels": [],
                  "name": "region",
                  "description": "the region from where to list the buckets.",
                  "modelProperties": {}
                }
              ],
              "exclusiveParametersModels": [],
              "layoutModel": {
                "password": false,
                "text": false,
                "query": false,
                "order": 1
              },
              "showInDsl": false,
              "name": "General",
              "description": "",
              "modelProperties": {}
            },
            {
              "parameters": [
                {
                  "type": {
                    "format": "java",
                    "type": "String"
                  },
                  "hasDynamicType": false,
                  "required": false,
                  "isConfigOverride": false,
                  "expressionSupport": "NOT_SUPPORTED",
                  "role": "BEHAVIOUR",
                  "dslConfiguration": {
                    "allowsInlineDefinition": true,
                    "allowsReferences": true,
                    "allowTopLevelDefinition": false
                  },
                  "layoutModel": {
                    "password": false,
                    "text": false,
                    "query": false,
                    "order": 2,
                    "tabName": "Advanced"
                  },
                  "allowedStereotypeModels": [],
                  "name": "target",
                  "displayModel": {
                    "displayName": "Target Variable"
                  },
                  "description": "The name of a variable on which the operation\u0027s output will be placed",
                  "modelProperties": {}
                },
                {
                  "type": {
                    "format": "java",
                    "type": "String"
                  },
                  "hasDynamicType": false,
                  "required": false,
                  "isConfigOverride": false,
                  "expressionSupport": "REQUIRED",
                  "defaultValue": "#[payload]",
                  "role": "BEHAVIOUR",
                  "dslConfiguration": {
                    "allowsInlineDefinition": true,
                    "allowsReferences": true,
                    "allowTopLevelDefinition": false
                  },
                  "layoutModel": {
                    "password": false,
                    "text": false,
                    "query": false,
                    "order": 3,
                    "tabName": "Advanced"
                  },
                  "allowedStereotypeModels": [],
                  "name": "targetValue",
                  "displayModel": {
                    "displayName": "Target Value"
                  },
                  "description": "An expression that will be evaluated against the operation\u0027s output and the outcome of that expression will be stored in the target variable",
                  "modelProperties": {}
                }
              ],
              "exclusiveParametersModels": [],
              "layoutModel": {
                "password": false,
                "text": false,
                "query": false,
                "order": 2
              },
              "showInDsl": false,
              "name": "Output",
              "description": "",
              "modelProperties": {}
            },
            {
              "parameters": [
                {
                  "type": {
                    "format": "java",
                    "type": "Union",
                    "annotations": {
                      "typeId": "ReconnectionStrategy"
                    },
                    "of": [
                      {
                        "type": "Object",
                        "annotations": {
                          "typeId": "reconnect"
                        },
                        "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": [
                                    "java.lang.Comparable"
                                  ],
                                  "parent": "java.lang.Number",
                                  "genericTypes": [],
                                  "isMap": false
                                },
                                "default": "2000"
                              }
                            },
                            "annotations": {
                              "description": {
                                "value": "How often (in ms) to reconnect"
                              }
                            }
                          },
                          {
                            "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"
                        },
                        "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": [
                                    "java.lang.Comparable"
                                  ],
                                  "parent": "java.lang.Number",
                                  "genericTypes": [],
                                  "isMap": false
                                },
                                "default": "2000"
                              }
                            },
                            "annotations": {
                              "description": {
                                "value": "How often (in ms) to reconnect"
                              }
                            }
                          }
                        ]
                      }
                    ]
                  },
                  "hasDynamicType": false,
                  "required": false,
                  "isConfigOverride": false,
                  "expressionSupport": "NOT_SUPPORTED",
                  "role": "BEHAVIOUR",
                  "dslConfiguration": {
                    "allowsInlineDefinition": true,
                    "allowsReferences": false,
                    "allowTopLevelDefinition": false
                  },
                  "layoutModel": {
                    "password": false,
                    "text": false,
                    "query": false,
                    "order": 4,
                    "tabName": "Advanced"
                  },
                  "allowedStereotypeModels": [],
                  "name": "reconnectionStrategy",
                  "description": "A retry strategy in case of connectivity errors",
                  "modelProperties": {
                    "org.mule.runtime.extension.api.property.QNameModelProperty": {
                      "value": {
                        "namespaceURI": "http://www.mulesoft.org/schema/mule/core",
                        "localPart": "abstract-reconnection-strategy",
                        "prefix": "mule"
                      }
                    },
                    "org.mule.runtime.extension.api.property.InfrastructureParameterModelProperty": {
                      "sequence": 3
                    }
                  }
                }
              ],
              "exclusiveParametersModels": [],
              "layoutModel": {
                "password": false,
                "text": false,
                "query": false,
                "order": 3
              },
              "showInDsl": false,
              "name": "Connection",
              "description": "",
              "modelProperties": {}
            }
          ],
          "name": "listBuckets",
          "description": "Answers a list of all Amazon S3 buckets that the authenticated sender of the request owns. Users must authenticate with a valid AWS Access Key ID that is registered with Amazon S3. Anonymous requests cannot list buckets, and users cannot list buckets that they did not create.",
          "modelProperties": {},
          "kind": "operation"
        },
        {
          "blocking": true,
          "executionType": "BLOCKING",
          "output": {
            "type": {
              "format": "java",
              "type": "@ref:org.mule.extension.s3.api.model.MultipartUploadListing"
            },
            "hasDynamicType": false,
            "description": "",
            "modelProperties": {}
          },
          "outputAttributes": {
            "type": {
              "format": "java",
              "type": "Void"
            },
            "hasDynamicType": false,
            "description": "",
            "modelProperties": {}
          },
          "transactional": false,
          "requiresConnection": true,
          "supportsStreaming": false,
          "notifications": [],
          "nestedComponents": [],
          "errors": [
            "S3:INVALID_RANGE",
            "S3:SERVICE_UNAVAILABLE",
            "S3:REQUEST_TIME_TOO_SKEWED",
            "S3:REDIRECT",
            "S3:INVALID_STORAGE_CLASS",
            "S3:MAX_MESSAGE_LENGTH_EXCEEDED",
            "S3:REQUEST_IS_NOT_MULTI_PART_CONTENT",
            "S3:UNEXPECTED_CONTENT",
            "S3:ENTITY_TOO_SMALL",
            "S3:NO_SUCH_BUCKET",
            "S3:INVALID_PART",
            "S3:INVALID_SOAP_REQUEST",
            "S3:NO_SUCH_VERSION",
            "S3:METADATA_TOO_LARGE",
            "S3:PRECONDITION_FAILED",
            "S3:BUCKET_ALREADY_EXISTS",
            "S3:AMBIGUOUS_GRANT_BY_EMAIL_ADDRESS",
            "S3:MISSING_SECURITY_ELEMENT",
            "S3:INVALID_URI",
            "S3:NOT_SIGNED_UP",
            "S3:INVALID_ADDRESSING_HEADER",
            "S3:MAX_POST_PRE_DATA_LENGTH_EXCEEDED_ERROR",
            "S3:ILLEGAL_VERSIONING_CONFIGURATION_EXCEPTION",
            "S3:INVALID_PAYER",
            "S3:NO_SUCH_BUCKET_POLICY",
            "S3:INVALID_SECURITY",
            "S3:OPERATION_ABORTED",
            "S3:INVALID_ACCESS_KEY_ID",
            "S3:INVALID_LOCATION_CONSTRAINT",
            "S3:INLINE_DATA_TOO_LARGE",
            "S3:SIGNATURE_DOES_NOT_MATCH",
            "S3:UNRESOLVABLE_GRANT_BY_EMAIL_ADDRESS",
            "S3:NO_SUCH_LIFECYCLE_CONFIGURATION",
            "S3:KEY_TOO_LONG",
            "S3:INVALID_BUCKET_NAME",
            "S3:INVALID_TOKEN",
            "S3:TEMPORARY_REDIRECT",
            "S3:BUCKET_NOT_EMPTY",
            "S3:BAD_DIGEST",
            "S3:CROSS_LOCATION_LOGGING_PROHIBITED",
            "S3:MALFORMED_POST_REQUEST",
            "S3:REQUEST_TIMEOUT",
            "S3:TOO_MANY_BUCKETS",
            "S3:NO_SUCH_KEY",
            "S3:MISSING_ATTACHMENT",
            "S3:INVALID_BUCKET_STATE",
            "S3:RETRY_EXHAUSTED",
            "S3:INVALID_PART_ORDER",
            "S3:INVALID_RESPONSE_PRESIGNEDURL_MALFORMED",
            "S3:INVALID_POLICY_DOCUMENT",
            "S3:MALFORMED_XML",
            "S3:ACCOUNT_PROBLEM",
            "S3:USER_KEY_MUST_BE_SPECIFIED",
            "S3:MISSING_CONTENT_LENGTH",
            "S3:INVALID_DIGEST",
            "S3:ACCESS_DENIED",
            "S3:MISSING_REQUEST_BODY_ERROR",
            "S3:REQUEST_TORRENT_OF_BUCKET_ERROR",
            "S3:TOKEN_REFRESH_REQUIRED",
            "S3:NO_LOGGING_STATUS_FOR_KEY",
            "S3:RESTORE_ALREADY_IN_PROGRESS",
            "S3:INVALID_OBJECT_STATE",
            "S3:CONNECTIVITY",
            "S3:INVALID_ENCRYPTION_ALGORITHM_ERROR",
            "S3:PERMANENT_REDIRECT",
            "S3:INVALID_REQUEST",
            "S3:INCORRECT_NUMBER_OF_FILES_IN_POST_REQUEST",
            "S3:UNKNOWN",
            "S3:MALFORMED_ACL_ERROR",
            "S3:CREDENTIALS_NOT_SUPPORTED",
            "S3:NOT_IMPLEMENTED",
            "S3:INVALID_ARGUMENT",
            "S3:INVALID_TARGET_BUCKET_FOR_LOGGING",
            "S3:NO_SUCH_UPLOAD",
            "S3:INTERNAL_ERROR",
            "S3:SLOW_DOWN",
            "S3:ENTITY_TOO_LARGE",
            "S3:METHOD_NOT_ALLOWED",
            "S3:EXPIRED_TOKEN",
            "S3:MISSING_SECURITY_HEADER",
            "S3:BUCKET_ALREADY_OWNED_BY_YOU",
            "S3:INCOMPLETE_BODY"
          ],
          "stereotype": {
            "type": "PROCESSOR",
            "namespace": "MULE"
          },
          "parameterGroupModels": [
            {
              "parameters": [
                {
                  "type": {
                    "format": "java",
                    "type": "String"
                  },
                  "hasDynamicType": false,
                  "required": true,
                  "isConfigOverride": false,
                  "expressionSupport": "SUPPORTED",
                  "role": "BEHAVIOUR",
                  "dslConfiguration": {
                    "allowsInlineDefinition": true,
                    "allowsReferences": true,
                    "allowTopLevelDefinition": false
                  },
                  "layoutModel": {
                    "password": false,
                    "text": false,
                    "query": false,
                    "order": 1
                  },
                  "allowedStereotypeModels": [],
                  "name": "bucketName",
                  "description": "the name of the bucket containing the uploads to list.",
                  "modelProperties": {}
                },
                {
                  "type": {
                    "format": "java",
                    "type": "String"
                  },
                  "hasDynamicType": false,
                  "required": false,
                  "isConfigOverride": false,
                  "expressionSupport": "SUPPORTED",
                  "role": "BEHAVIOUR",
                  "dslConfiguration": {
                    "allowsInlineDefinition": true,
                    "allowsReferences": true,
                    "allowTopLevelDefinition": false
                  },
                  "layoutModel": {
                    "password": false,
                    "text": false,
                    "query": false,
                    "order": 2
                  },
                  "allowedStereotypeModels": [],
                  "name": "delimiter",
                  "displayModel": {
                    "summary": "The optional delimiter parameter that causes multipart uploads for keys that contain the same string between the prefix and the first occurrence of the delimiter to be combined into a single result element."
                  },
                  "description": "the optional delimiter parameter that causes multipart uploads for keys that contain the same string between the prefix and the first occurrence of the delimiter to be combined into a single result element.",
                  "modelProperties": {}
                },
                {
                  "type": {
                    "format": "java",
                    "type": "String"
                  },
                  "hasDynamicType": false,
                  "required": false,
                  "isConfigOverride": false,
                  "expressionSupport": "SUPPORTED",
                  "role": "BEHAVIOUR",
                  "dslConfiguration": {
                    "allowsInlineDefinition": true,
                    "allowsReferences": true,
                    "allowTopLevelDefinition": false
                  },
                  "layoutModel": {
                    "password": false,
                    "text": false,
                    "query": false,
                    "order": 3
                  },
                  "allowedStereotypeModels": [],
                  "name": "encodingType",
                  "displayModel": {
                    "summary": "The optional encodingType parameter indicating the encoding method to be applied on the response."
                  },
                  "description": "the optional encodingType parameter indicating the encoding method to be applied on the response.",
                  "modelProperties": {}
                },
                {
                  "type": {
                    "format": "java",
                    "type": "String"
                  },
                  "hasDynamicType": false,
                  "required": false,
                  "isConfigOverride": false,
                  "expressionSupport": "SUPPORTED",
                  "role": "BEHAVIOUR",
                  "dslConfiguration": {
                    "allowsInlineDefinition": true,
                    "allowsReferences": true,
                    "allowTopLevelDefinition": false
                  },
                  "layoutModel": {
                    "password": false,
                    "text": false,
                    "query": false,
                    "order": 4
                  },
                  "allowedStereotypeModels": [],
                  "name": "keyMarker",
                  "description": "the optional key marker indicating where in the results to begin listing.",
                  "modelProperties": {}
                },
                {
                  "type": {
                    "format": "java",
                    "type": "Number",
                    "annotations": {
                      "classInformation": {
                        "classname": "java.lang.Integer",
                        "hasDefaultConstructor": false,
                        "isInterface": false,
                        "isInstantiable": false,
                        "isAbstract": false,
                        "isFinal": true,
                        "implementedInterfaces": [
                          "java.lang.Comparable"
                        ],
                        "parent": "java.lang.Number",
                        "genericTypes": [],
                        "isMap": false
                      },
                      "int": {}
                    }
                  },
                  "hasDynamicType": false,
                  "required": false,
                  "isConfigOverride": false,
                  "expressionSupport": "SUPPORTED",
                  "role": "BEHAVIOUR",
                  "dslConfiguration": {
                    "allowsInlineDefinition": true,
                    "allowsReferences": true,
                    "allowTopLevelDefinition": false
                  },
                  "layoutModel": {
                    "password": false,
                    "text": false,
                    "query": false,
                    "order": 5
                  },
                  "allowedStereotypeModels": [],
                  "name": "maxUploads",
                  "displayModel": {
                    "summary": "The optional maximum number of uploads to return, or null if no maximum number of uploads has been set for this request."
                  },
                  "description": "the optional maximum number of uploads to return, or null if no maximum number of uploads has been set for this request.",
                  "modelProperties": {}
                },
                {
                  "type": {
                    "format": "java",
                    "type": "String"
                  },
                  "hasDynamicType": false,
                  "required": false,
                  "isConfigOverride": false,
                  "expressionSupport": "SUPPORTED",
                  "role": "BEHAVIOUR",
                  "dslConfiguration": {
                    "allowsInlineDefinition": true,
                    "allowsReferences": true,
                    "allowTopLevelDefinition": false
                  },
                  "layoutModel": {
                    "password": false,
                    "text": false,
                    "query": false,
                    "order": 6
                  },
                  "allowedStereotypeModels": [],
                  "name": "prefix",
                  "displayModel": {
                    "summary": "The optional prefix parameter that restricts the response to multipart uploads for keys that begin with the specified prefix."
                  },
                  "description": "the optional prefix parameter that restricts the response to multipart uploads for keys that begin with the specified prefix.",
                  "modelProperties": {}
                },
                {
                  "type": {
                    "format": "java",
                    "type": "String"
                  },
                  "hasDynamicType": false,
                  "required": false,
                  "isConfigOverride": false,
                  "expressionSupport": "SUPPORTED",
                  "role": "BEHAVIOUR",
                  "dslConfiguration": {
                    "allowsInlineDefinition": true,
                    "allowsReferences": true,
                    "allowTopLevelDefinition": false
                  },
                  "layoutModel": {
                    "password": false,
                    "text": false,
                    "query": false,
                    "order": 7
                  },
                  "allowedStereotypeModels": [],
                  "name": "uploadIdMarker",
                  "description": "the optional upload ID marker indicating where in the results to begin listing.",
                  "modelProperties": {}
                }
              ],
              "exclusiveParametersModels": [],
              "layoutModel": {
                "password": false,
                "text": false,
                "query": false,
                "order": 1
              },
              "showInDsl": false,
              "name": "General",
              "description": "",
              "modelProperties": {}
            },
            {
              "parameters": [
                {
                  "type": {
                    "format": "java",
                    "type": "String"
                  },
                  "hasDynamicType": false,
                  "required": false,
                  "isConfigOverride": false,
                  "expressionSupport": "NOT_SUPPORTED",
                  "role": "BEHAVIOUR",
                  "dslConfiguration": {
                    "allowsInlineDefinition": true,
                    "allowsReferences": true,
                    "allowTopLevelDefinition": false
                  },
                  "layoutModel": {
                    "password": false,
                    "text": false,
                    "query": false,
                    "order": 8,
                    "tabName": "Advanced"
                  },
                  "allowedStereotypeModels": [],
                  "name": "target",
                  "displayModel": {
                    "displayName": "Target Variable"
                  },
                  "description": "The name of a variable on which the operation\u0027s output will be placed",
                  "modelProperties": {}
                },
                {
                  "type": {
                    "format": "java",
                    "type": "String"
                  },
                  "hasDynamicType": false,
                  "required": false,
                  "isConfigOverride": false,
                  "expressionSupport": "REQUIRED",
                  "defaultValue": "#[payload]",
                  "role": "BEHAVIOUR",
                  "dslConfiguration": {
                    "allowsInlineDefinition": true,
                    "allowsReferences": true,
                    "allowTopLevelDefinition": false
                  },
                  "layoutModel": {
                    "password": false,
                    "text": false,
                    "query": false,
                    "order": 9,
                    "tabName": "Advanced"
                  },
                  "allowedStereotypeModels": [],
                  "name": "targetValue",
                  "displayModel": {
                    "displayName": "Target Value"
                  },
                  "description": "An expression that will be evaluated against the operation\u0027s output and the outcome of that expression will be stored in the target variable",
                  "modelProperties": {}
                }
              ],
              "exclusiveParametersModels": [],
              "layoutModel": {
                "password": false,
                "text": false,
                "query": false,
                "order": 2
              },
              "showInDsl": false,
              "name": "Output",
              "description": "",
              "modelProperties": {}
            },
            {
              "parameters": [
                {
                  "type": {
                    "format": "java",
                    "type": "Union",
                    "annotations": {
                      "typeId": "ReconnectionStrategy"
                    },
                    "of": [
                      {
                        "type": "Object",
                        "annotations": {
                          "typeId": "reconnect"
                        },
                        "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": [
                                    "java.lang.Comparable"
                                  ],
                                  "parent": "java.lang.Number",
                                  "genericTypes": [],
                                  "isMap": false
                                },
                                "default": "2000"
                              }
                            },
                            "annotations": {
                              "description": {
                                "value": "How often (in ms) to reconnect"
                              }
                            }
                          },
                          {
                            "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"
                        },
                        "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": [
                                    "java.lang.Comparable"
                                  ],
                                  "parent": "java.lang.Number",
                                  "genericTypes": [],
                                  "isMap": false
                                },
                                "default": "2000"
                              }
                            },
                            "annotations": {
                              "description": {
                                "value": "How often (in ms) to reconnect"
                              }
                            }
                          }
                        ]
                      }
                    ]
                  },
                  "hasDynamicType": false,
                  "required": false,
                  "isConfigOverride": false,
                  "expressionSupport": "NOT_SUPPORTED",
                  "role": "BEHAVIOUR",
                  "dslConfiguration": {
                    "allowsInlineDefinition": true,
                    "allowsReferences": false,
                    "allowTopLevelDefinition": false
                  },
                  "layoutModel": {
                    "password": false,
                    "text": false,
                    "query": false,
                    "order": 10,
                    "tabName": "Advanced"
                  },
                  "allowedStereotypeModels": [],
                  "name": "reconnectionStrategy",
                  "description": "A retry strategy in case of connectivity errors",
                  "modelProperties": {
                    "org.mule.runtime.extension.api.property.QNameModelProperty": {
                      "value": {
                        "namespaceURI": "http://www.mulesoft.org/schema/mule/core",
                        "localPart": "abstract-reconnection-strategy",
                        "prefix": "mule"
                      }
                    },
                    "org.mule.runtime.extension.api.property.InfrastructureParameterModelProperty": {
                      "sequence": 3
                    }
                  }
                }
              ],
              "exclusiveParametersModels": [],
              "layoutModel": {
                "password": false,
                "text": false,
                "query": false,
                "order": 3
              },
              "showInDsl": false,
              "name": "Connection",
              "description": "",
              "modelProperties": {}
            }
          ],
          "name": "listMultipartUploads",
          "description": "Lists in-progress multipart uploads. An in-progress multipart upload is a multipart upload that has been initiated, using the InitiateMultipartUpload request, but has not yet been completed or aborted.",
          "modelProperties": {},
          "kind": "operation"
        },
        {
          "blocking": true,
          "executionType": "BLOCKING",
          "output": {
            "type": {
              "format": "java",
              "type": "Array",
              "annotations": {
                "classInformation": {
                  "classname": "org.mule.runtime.extension.api.runtime.streaming.PagingProvider",
                  "hasDefaultConstructor": false,
                  "isInterface": true,
                  "isInstantiable": false,
                  "isAbstract": true,
                  "isFinal": false,
                  "implementedInterfaces": [],
                  "parent": "",
                  "genericTypes": [
                    "org.mule.extension.s3.internal.connection.S3Connection",
                    "org.mule.extension.s3.api.model.S3ObjectSummary"
                  ],
                  "isMap": false
                }
              },
              "item": {
                "type": "@ref:org.mule.extension.s3.api.model.S3ObjectSummary"
              }
            },
            "hasDynamicType": false,
            "description": "",
            "modelProperties": {}
          },
          "outputAttributes": {
            "type": {
              "format": "java",
              "type": "Void"
            },
            "hasDynamicType": false,
            "description": "",
            "modelProperties": {}
          },
          "transactional": false,
          "requiresConnection": true,
          "supportsStreaming": true,
          "notifications": [],
          "nestedComponents": [],
          "errors": [
            "S3:INVALID_RANGE",
            "S3:SERVICE_UNAVAILABLE",
            "S3:REQUEST_TIME_TOO_SKEWED",
            "S3:REDIRECT",
            "S3:INVALID_STORAGE_CLASS",
            "S3:MAX_MESSAGE_LENGTH_EXCEEDED",
            "S3:REQUEST_IS_NOT_MULTI_PART_CONTENT",
            "S3:UNEXPECTED_CONTENT",
            "S3:ENTITY_TOO_SMALL",
            "S3:NO_SUCH_BUCKET",
            "S3:INVALID_PART",
            "S3:INVALID_SOAP_REQUEST",
            "S3:NO_SUCH_VERSION",
            "S3:METADATA_TOO_LARGE",
            "S3:PRECONDITION_FAILED",
            "S3:BUCKET_ALREADY_EXISTS",
            "S3:AMBIGUOUS_GRANT_BY_EMAIL_ADDRESS",
            "S3:MISSING_SECURITY_ELEMENT",
            "S3:INVALID_URI",
            "S3:NOT_SIGNED_UP",
            "S3:INVALID_ADDRESSING_HEADER",
            "S3:MAX_POST_PRE_DATA_LENGTH_EXCEEDED_ERROR",
            "S3:ILLEGAL_VERSIONING_CONFIGURATION_EXCEPTION",
            "S3:INVALID_PAYER",
            "S3:NO_SUCH_BUCKET_POLICY",
            "S3:INVALID_SECURITY",
            "S3:OPERATION_ABORTED",
            "S3:INVALID_ACCESS_KEY_ID",
            "S3:INVALID_LOCATION_CONSTRAINT",
            "S3:INLINE_DATA_TOO_LARGE",
            "S3:SIGNATURE_DOES_NOT_MATCH",
            "S3:UNRESOLVABLE_GRANT_BY_EMAIL_ADDRESS",
            "S3:NO_SUCH_LIFECYCLE_CONFIGURATION",
            "S3:KEY_TOO_LONG",
            "S3:INVALID_BUCKET_NAME",
            "S3:INVALID_TOKEN",
            "S3:TEMPORARY_REDIRECT",
            "S3:BUCKET_NOT_EMPTY",
            "S3:BAD_DIGEST",
            "S3:CROSS_LOCATION_LOGGING_PROHIBITED",
            "S3:MALFORMED_POST_REQUEST",
            "S3:REQUEST_TIMEOUT",
            "S3:TOO_MANY_BUCKETS",
            "S3:NO_SUCH_KEY",
            "S3:MISSING_ATTACHMENT",
            "S3:INVALID_BUCKET_STATE",
            "S3:INVALID_PART_ORDER",
            "S3:INVALID_RESPONSE_PRESIGNEDURL_MALFORMED",
            "S3:INVALID_POLICY_DOCUMENT",
            "S3:MALFORMED_XML",
            "S3:ACCOUNT_PROBLEM",
            "S3:USER_KEY_MUST_BE_SPECIFIED",
            "S3:MISSING_CONTENT_LENGTH",
            "S3:INVALID_DIGEST",
            "S3:ACCESS_DENIED",
            "S3:MISSING_REQUEST_BODY_ERROR",
            "S3:REQUEST_TORRENT_OF_BUCKET_ERROR",
            "S3:TOKEN_REFRESH_REQUIRED",
            "S3:NO_LOGGING_STATUS_FOR_KEY",
            "S3:RESTORE_ALREADY_IN_PROGRESS",
            "S3:INVALID_OBJECT_STATE",
            "S3:INVALID_ENCRYPTION_ALGORITHM_ERROR",
            "S3:PERMANENT_REDIRECT",
            "S3:INVALID_REQUEST",
            "S3:INCORRECT_NUMBER_OF_FILES_IN_POST_REQUEST",
            "S3:UNKNOWN",
            "S3:MALFORMED_ACL_ERROR",
            "S3:CREDENTIALS_NOT_SUPPORTED",
            "S3:NOT_IMPLEMENTED",
            "S3:INVALID_ARGUMENT",
            "S3:INVALID_TARGET_BUCKET_FOR_LOGGING",
            "S3:NO_SUCH_UPLOAD",
            "S3:INTERNAL_ERROR",
            "S3:SLOW_DOWN",
            "S3:ENTITY_TOO_LARGE",
            "S3:METHOD_NOT_ALLOWED",
            "S3:EXPIRED_TOKEN",
            "S3:MISSING_SECURITY_HEADER",
            "S3:BUCKET_ALREADY_OWNED_BY_YOU",
            "S3:INCOMPLETE_BODY"
          ],
          "stereotype": {
            "type": "PROCESSOR",
            "namespace": "MULE"
          },
          "parameterGroupModels": [
            {
              "parameters": [
                {
                  "type": {
                    "format": "java",
                    "type": "String"
                  },
                  "hasDynamicType": false,
                  "required": true,
                  "isConfigOverride": false,
                  "expressionSupport": "SUPPORTED",
                  "role": "BEHAVIOUR",
                  "dslConfiguration": {
                    "allowsInlineDefinition": true,
                    "allowsReferences": true,
                    "allowTopLevelDefinition": false
                  },
                  "layoutModel": {
                    "password": false,
                    "text": false,
                    "query": false,
                    "order": 1
                  },
                  "allowedStereotypeModels": [],
                  "name": "bucketName",
                  "description": "the target bucket\u0027s name",
                  "modelProperties": {}
                },
                {
                  "type": {
                    "format": "java",
                    "type": "String"
                  },
                  "hasDynamicType": false,
                  "required": false,
                  "isConfigOverride": false,
                  "expressionSupport": "SUPPORTED",
                  "role": "BEHAVIOUR",
                  "dslConfiguration": {
                    "allowsInlineDefinition": true,
                    "allowsReferences": true,
                    "allowTopLevelDefinition": false
                  },
                  "layoutModel": {
                    "password": false,
                    "text": false,
                    "query": false,
                    "order": 2
                  },
                  "allowedStereotypeModels": [],
                  "name": "prefix",
                  "description": "the prefix of the objects to be listed. If unspecified, all objects are listed",
                  "modelProperties": {}
                },
                {
                  "type": {
                    "format": "java",
                    "type": "String"
                  },
                  "hasDynamicType": false,
                  "required": false,
                  "isConfigOverride": false,
                  "expressionSupport": "SUPPORTED",
                  "role": "BEHAVIOUR",
                  "dslConfiguration": {
                    "allowsInlineDefinition": true,
                    "allowsReferences": true,
                    "allowTopLevelDefinition": false
                  },
                  "layoutModel": {
                    "password": false,
                    "text": false,
                    "query": false,
                    "order": 3
                  },
                  "allowedStereotypeModels": [],
                  "name": "marker",
                  "displayModel": {
                    "summary": "Where in the bucket to begin listing. The list will only include keys that occur lexicographically after the marker."
                  },
                  "description": "where in the bucket to begin listing. The list will only include keys that occur lexicographically after the marker",
                  "modelProperties": {}
                },
                {
                  "type": {
                    "format": "java",
                    "type": "String"
                  },
                  "hasDynamicType": false,
                  "required": false,
                  "isConfigOverride": false,
                  "expressionSupport": "SUPPORTED",
                  "role": "BEHAVIOUR",
                  "dslConfiguration": {
                    "allowsInlineDefinition": true,
                    "allowsReferences": true,
                    "allowTopLevelDefinition": false
                  },
                  "layoutModel": {
                    "password": false,
                    "text": false,
                    "query": false,
                    "order": 4
                  },
                  "allowedStereotypeModels": [],
                  "name": "delimiter",
                  "displayModel": {
                    "summary": "Causes keys that contain the same string between a prefix and the first occurrence of the delimiter to be rolled up into a single result element."
                  },
                  "description": "causes keys that contain the same string between a prefix and the first occurrence of the delimiter to be rolled up into a single result element.",
                  "modelProperties": {}
                },
                {
                  "type": {
                    "format": "java",
                    "type": "Number",
                    "annotations": {
                      "classInformation": {
                        "classname": "java.lang.Integer",
                        "hasDefaultConstructor": false,
                        "isInterface": false,
                        "isInstantiable": false,
                        "isAbstract": false,
                        "isFinal": true,
                        "implementedInterfaces": [
                          "java.lang.Comparable"
                        ],
                        "parent": "java.lang.Number",
                        "genericTypes": [],
                        "isMap": false
                      },
                      "int": {}
                    }
                  },
                  "hasDynamicType": false,
                  "required": false,
                  "isConfigOverride": false,
                  "expressionSupport": "SUPPORTED",
                  "role": "BEHAVIOUR",
                  "dslConfiguration": {
                    "allowsInlineDefinition": true,
                    "allowsReferences": true,
                    "allowTopLevelDefinition": false
                  },
                  "layoutModel": {
                    "password": false,
                    "text": false,
                    "query": false,
                    "order": 5
                  },
                  "allowedStereotypeModels": [],
                  "name": "maxKeys",
                  "displayModel": {
                    "summary": "The maximum number of keys to return per page. If not specified S3 will limit the number of returned results per page."
                  },
                  "description": "The maximum number of keys to return per page. If not specified S3 will limit the number of returned results per page.",
                  "modelProperties": {}
                },
                {
                  "type": {
                    "format": "java",
                    "type": "String",
                    "annotations": {
                      "typeId": "org.mule.extension.s3.api.model.EncodingType",
                      "enum": {
                        "type": "[Ljava.lang.String;",
                        "values": [
                          "NOT_ENCODED",
                          "URL"
                        ]
                      }
                    }
                  },
                  "hasDynamicType": false,
                  "required": false,
                  "isConfigOverride": false,
                  "expressionSupport": "SUPPORTED",
                  "defaultValue": "NOT_ENCODED",
                  "role": "BEHAVIOUR",
                  "dslConfiguration": {
                    "allowsInlineDefinition": true,
                    "allowsReferences": true,
                    "allowTopLevelDefinition": false
                  },
                  "layoutModel": {
                    "password": false,
                    "text": false,
                    "query": false,
                    "order": 6
                  },
                  "allowedStereotypeModels": [],
                  "name": "encodingType",
                  "description": "The encoding method to be applied on the response.",
                  "modelProperties": {}
                },
                {
                  "type": {
                    "format": "java",
                    "type": "Union",
                    "annotations": {
                      "typeId": "ObjectStreamingStrategy"
                    },
                    "of": [
                      {
                        "type": "Object",
                        "annotations": {
                          "typeId": "repeatable-in-memory-iterable"
                        },
                        "fields": [
                          {
                            "key": {
                              "name": "initialBufferSize"
                            },
                            "model": {
                              "type": "Number",
                              "annotations": {
                                "int": {},
                                "default": "100"
                              }
                            },
                            "annotations": {
                              "description": {
                                "value": "This is the amount of instances that will be initially be allowed to be kept in memory in order to consume the stream and provide random access to it. If the stream contains more data than can fit into this buffer, then it will be expanded according to the bufferSizeIncrement attribute, with an upper limit of maxInMemorySize. Default value is 100 instances."
                              }
                            }
                          },
                          {
                            "key": {
                              "name": "bufferSizeIncrement"
                            },
                            "model": {
                              "type": "Number",
                              "annotations": {
                                "int": {},
                                "default": "100"
                              }
                            },
                            "annotations": {
                              "description": {
                                "value": "This is by how much will the buffer size by expanded if it exceeds its initial size. Setting a value of zero or lower will mean that the buffer should not expand, meaning that a STREAM_MAXIMUM_SIZE_EXCEEDED error will be raised when the buffer gets full. Default value is 100 instances."
                              }
                            }
                          },
                          {
                            "key": {
                              "name": "maxBufferSize"
                            },
                            "model": {
                              "type": "Number",
                              "annotations": {
                                "int": {},
                                "default": "500"
                              }
                            },
                            "annotations": {
                              "description": {
                                "value": "This is the maximum amount of memory that will be used. If more than that is used then a STREAM_MAXIMUM_SIZE_EXCEEDED error will be raised. A value lower or equal to zero means no limit."
                              }
                            }
                          }
                        ]
                      },
                      {
                        "type": "Object",
                        "annotations": {
                          "typeId": "repeatable-file-store-iterable"
                        },
                        "fields": [
                          {
                            "key": {
                              "name": "inMemoryObjects"
                            },
                            "model": {
                              "type": "Number",
                              "annotations": {
                                "int": {},
                                "default": "100"
                              }
                            },
                            "annotations": {
                              "description": {
                                "value": "This is the maximum amount of instances that will be kept in memory. If more than that is required, then it will start to buffer the content on disk."
                              }
                            }
                          },
                          {
                            "key": {
                              "name": "bufferUnit"
                            },
                            "model": {
                              "type": "String",
                              "annotations": {
                                "enum": {
                                  "type": "[Ljava.lang.String;",
                                  "values": [
                                    "BYTE",
                                    "KB",
                                    "MB",
                                    "GB"
                                  ]
                                },
                                "default": "KB"
                              }
                            },
                            "annotations": {
                              "description": {
                                "value": "The unit in which maxInMemorySize is expressed"
                              }
                            }
                          }
                        ]
                      },
                      {
                        "type": "Object",
                        "annotations": {
                          "typeId": "non-repeatable-iterable",
                          "description": {
                            "value": "This configuration allows the stream to be read only once. It will not allow to seek randomly which will limit the transformations that DW can perform on this stream. Use this option for use cases which just require moving data around from one system to another to get optimum performance."
                          }
                        },
                        "fields": []
                      }
                    ]
                  },
                  "hasDynamicType": false,
                  "required": false,
                  "isConfigOverride": false,
                  "expressionSupport": "NOT_SUPPORTED",
                  "role": "BEHAVIOUR",
                  "dslConfiguration": {
                    "allowsInlineDefinition": true,
                    "allowsReferences": false,
                    "allowTopLevelDefinition": false
                  },
                  "layoutModel": {
                    "password": false,
                    "text": false,
                    "query": false,
                    "order": 7,
                    "tabName": "Advanced"
                  },
                  "allowedStereotypeModels": [],
                  "name": "streamingStrategy",
                  "description": "Configure if repeatable streams should be used and their behaviour",
                  "modelProperties": {
                    "org.mule.runtime.extension.api.property.QNameModelProperty": {
                      "value": {
                        "namespaceURI": "http://www.mulesoft.org/schema/mule/core",
                        "localPart": "abstract-object-streaming-strategy",
                        "prefix": "mule"
                      }
                    },
                    "org.mule.runtime.extension.api.property.InfrastructureParameterModelProperty": {
                      "sequence": 2
                    }
                  }
                }
              ],
              "exclusiveParametersModels": [],
              "layoutModel": {
                "password": false,
                "text": false,
                "query": false,
                "order": 1
              },
              "showInDsl": false,
              "name": "General",
              "description": "",
              "modelProperties": {}
            },
            {
              "parameters": [
                {
                  "type": {
                    "format": "java",
                    "type": "String"
                  },
                  "hasDynamicType": false,
                  "required": false,
                  "isConfigOverride": false,
                  "expressionSupport": "NOT_SUPPORTED",
                  "role": "BEHAVIOUR",
                  "dslConfiguration": {
                    "allowsInlineDefinition": true,
                    "allowsReferences": true,
                    "allowTopLevelDefinition": false
                  },
                  "layoutModel": {
                    "password": false,
                    "text": false,
                    "query": false,
                    "order": 8,
                    "tabName": "Advanced"
                  },
                  "allowedStereotypeModels": [],
                  "name": "target",
                  "displayModel": {
                    "displayName": "Target Variable"
                  },
                  "description": "The name of a variable on which the operation\u0027s output will be placed",
                  "modelProperties": {}
                },
                {
                  "type": {
                    "format": "java",
                    "type": "String"
                  },
                  "hasDynamicType": false,
                  "required": false,
                  "isConfigOverride": false,
                  "expressionSupport": "REQUIRED",
                  "defaultValue": "#[payload]",
                  "role": "BEHAVIOUR",
                  "dslConfiguration": {
                    "allowsInlineDefinition": true,
                    "allowsReferences": true,
                    "allowTopLevelDefinition": false
                  },
                  "layoutModel": {
                    "password": false,
                    "text": false,
                    "query": false,
                    "order": 9,
                    "tabName": "Advanced"
                  },
                  "allowedStereotypeModels": [],
                  "name": "targetValue",
                  "displayModel": {
                    "displayName": "Target Value"
                  },
                  "description": "An expression that will be evaluated against the operation\u0027s output and the outcome of that expression will be stored in the target variable",
                  "modelProperties": {}
                }
              ],
              "exclusiveParametersModels": [],
              "layoutModel": {
                "password": false,
                "text": false,
                "query": false,
                "order": 2
              },
              "showInDsl": false,
              "name": "Output",
              "description": "",
              "modelProperties": {}
            },
            {
              "parameters": [
                {
                  "type": {
                    "format": "java",
                    "type": "Union",
                    "annotations": {
                      "typeId": "ReconnectionStrategy"
                    },
                    "of": [
                      {
                        "type": "Object",
                        "annotations": {
                          "typeId": "reconnect"
                        },
                        "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": [
                                    "java.lang.Comparable"
                                  ],
                                  "parent": "java.lang.Number",
                                  "genericTypes": [],
                                  "isMap": false
                                },
                                "default": "2000"
                              }
                            },
                            "annotations": {
                              "description": {
                                "value": "How often (in ms) to reconnect"
                              }
                            }
                          },
                          {
                            "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"
                        },
                        "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": [
                                    "java.lang.Comparable"
                                  ],
                                  "parent": "java.lang.Number",
                                  "genericTypes": [],
                                  "isMap": false
                                },
                                "default": "2000"
                              }
                            },
                            "annotations": {
                              "description": {
                                "value": "How often (in ms) to reconnect"
                              }
                            }
                          }
                        ]
                      }
                    ]
                  },
                  "hasDynamicType": false,
                  "required": false,
                  "isConfigOverride": false,
                  "expressionSupport": "NOT_SUPPORTED",
                  "role": "BEHAVIOUR",
                  "dslConfiguration": {
                    "allowsInlineDefinition": true,
                    "allowsReferences": false,
                    "allowTopLevelDefinition": false
                  },
                  "layoutModel": {
                    "password": false,
                    "text": false,
                    "query": false,
                    "order": 10,
                    "tabName": "Advanced"
                  },
                  "allowedStereotypeModels": [],
                  "name": "reconnectionStrategy",
                  "description": "A retry strategy in case of connectivity errors",
                  "modelProperties": {
                    "org.mule.runtime.extension.api.property.QNameModelProperty": {
                      "value": {
                        "namespaceURI": "http://www.mulesoft.org/schema/mule/core",
                        "localPart": "abstract-reconnection-strategy",
                        "prefix": "mule"
                      }
                    },
                    "org.mule.runtime.extension.api.property.InfrastructureParameterModelProperty": {
                      "sequence": 3
                    }
                  }
                }
              ],
              "exclusiveParametersModels": [],
              "layoutModel": {
                "password": false,
                "text": false,
                "query": false,
                "order": 3
              },
              "showInDsl": false,
              "name": "Connection",
              "description": "",
              "modelProperties": {}
            }
          ],
          "name": "listObjects",
          "description": "Lazily lists all objects for a given prefix. As S3 does not limit in any way the number of objects, such listing can retrieve an arbitrary amount of objects, and may need to perform extra calls to the api while it is iterated.",
          "modelProperties": {},
          "kind": "operation"
        },
        {
          "blocking": true,
          "executionType": "BLOCKING",
          "output": {
            "type": {
              "format": "java",
              "type": "@ref:org.mule.extension.s3.api.model.PartListing"
            },
            "hasDynamicType": false,
            "description": "",
            "modelProperties": {}
          },
          "outputAttributes": {
            "type": {
              "format": "java",
              "type": "Void"
            },
            "hasDynamicType": false,
            "description": "",
            "modelProperties": {}
          },
          "transactional": false,
          "requiresConnection": true,
          "supportsStreaming": false,
          "notifications": [],
          "nestedComponents": [],
          "errors": [
            "S3:INVALID_RANGE",
            "S3:SERVICE_UNAVAILABLE",
            "S3:REQUEST_TIME_TOO_SKEWED",
            "S3:REDIRECT",
            "S3:INVALID_STORAGE_CLASS",
            "S3:MAX_MESSAGE_LENGTH_EXCEEDED",
            "S3:REQUEST_IS_NOT_MULTI_PART_CONTENT",
            "S3:UNEXPECTED_CONTENT",
            "S3:ENTITY_TOO_SMALL",
            "S3:NO_SUCH_BUCKET",
            "S3:INVALID_PART",
            "S3:INVALID_SOAP_REQUEST",
            "S3:NO_SUCH_VERSION",
            "S3:METADATA_TOO_LARGE",
            "S3:PRECONDITION_FAILED",
            "S3:BUCKET_ALREADY_EXISTS",
            "S3:AMBIGUOUS_GRANT_BY_EMAIL_ADDRESS",
            "S3:MISSING_SECURITY_ELEMENT",
            "S3:INVALID_URI",
            "S3:NOT_SIGNED_UP",
            "S3:INVALID_ADDRESSING_HEADER",
            "S3:MAX_POST_PRE_DATA_LENGTH_EXCEEDED_ERROR",
            "S3:ILLEGAL_VERSIONING_CONFIGURATION_EXCEPTION",
            "S3:INVALID_PAYER",
            "S3:NO_SUCH_BUCKET_POLICY",
            "S3:INVALID_SECURITY",
            "S3:OPERATION_ABORTED",
            "S3:INVALID_ACCESS_KEY_ID",
            "S3:INVALID_LOCATION_CONSTRAINT",
            "S3:INLINE_DATA_TOO_LARGE",
            "S3:SIGNATURE_DOES_NOT_MATCH",
            "S3:UNRESOLVABLE_GRANT_BY_EMAIL_ADDRESS",
            "S3:NO_SUCH_LIFECYCLE_CONFIGURATION",
            "S3:KEY_TOO_LONG",
            "S3:INVALID_BUCKET_NAME",
            "S3:INVALID_TOKEN",
            "S3:TEMPORARY_REDIRECT",
            "S3:BUCKET_NOT_EMPTY",
            "S3:BAD_DIGEST",
            "S3:CROSS_LOCATION_LOGGING_PROHIBITED",
            "S3:MALFORMED_POST_REQUEST",
            "S3:REQUEST_TIMEOUT",
            "S3:TOO_MANY_BUCKETS",
            "S3:NO_SUCH_KEY",
            "S3:MISSING_ATTACHMENT",
            "S3:INVALID_BUCKET_STATE",
            "S3:RETRY_EXHAUSTED",
            "S3:INVALID_PART_ORDER",
            "S3:INVALID_RESPONSE_PRESIGNEDURL_MALFORMED",
            "S3:INVALID_POLICY_DOCUMENT",
            "S3:MALFORMED_XML",
            "S3:ACCOUNT_PROBLEM",
            "S3:USER_KEY_MUST_BE_SPECIFIED",
            "S3:MISSING_CONTENT_LENGTH",
            "S3:INVALID_DIGEST",
            "S3:ACCESS_DENIED",
            "S3:MISSING_REQUEST_BODY_ERROR",
            "S3:REQUEST_TORRENT_OF_BUCKET_ERROR",
            "S3:TOKEN_REFRESH_REQUIRED",
            "S3:NO_LOGGING_STATUS_FOR_KEY",
            "S3:RESTORE_ALREADY_IN_PROGRESS",
            "S3:INVALID_OBJECT_STATE",
            "S3:CONNECTIVITY",
            "S3:INVALID_ENCRYPTION_ALGORITHM_ERROR",
            "S3:PERMANENT_REDIRECT",
            "S3:INVALID_REQUEST",
            "S3:INCORRECT_NUMBER_OF_FILES_IN_POST_REQUEST",
            "S3:UNKNOWN",
            "S3:MALFORMED_ACL_ERROR",
            "S3:CREDENTIALS_NOT_SUPPORTED",
            "S3:NOT_IMPLEMENTED",
            "S3:INVALID_ARGUMENT",
            "S3:INVALID_TARGET_BUCKET_FOR_LOGGING",
            "S3:NO_SUCH_UPLOAD",
            "S3:INTERNAL_ERROR",
            "S3:SLOW_DOWN",
            "S3:ENTITY_TOO_LARGE",
            "S3:METHOD_NOT_ALLOWED",
            "S3:EXPIRED_TOKEN",
            "S3:MISSING_SECURITY_HEADER",
            "S3:BUCKET_ALREADY_OWNED_BY_YOU",
            "S3:INCOMPLETE_BODY"
          ],
          "stereotype": {
            "type": "PROCESSOR",
            "namespace": "MULE"
          },
          "parameterGroupModels": [
            {
              "parameters": [
                {
                  "type": {
                    "format": "java",
                    "type": "String"
                  },
                  "hasDynamicType": false,
                  "required": true,
                  "isConfigOverride": false,
                  "expressionSupport": "SUPPORTED",
                  "role": "BEHAVIOUR",
                  "dslConfiguration": {
                    "allowsInlineDefinition": true,
                    "allowsReferences": true,
                    "allowTopLevelDefinition": false
                  },
                  "layoutModel": {
                    "password": false,
                    "text": false,
                    "query": false,
                    "order": 1
                  },
                  "allowedStereotypeModels": [],
                  "name": "bucketName",
                  "displayModel": {
                    "summary": "The name of the bucket containing the multipart upload whose parts are being listed."
                  },
                  "description": "the name of the bucket containing the multipart upload whose parts are being listed.",
                  "modelProperties": {}
                },
                {
                  "type": {
                    "format": "java",
                    "type": "String"
                  },
                  "hasDynamicType": false,
                  "required": true,
                  "isConfigOverride": false,
                  "expressionSupport": "SUPPORTED",
                  "role": "BEHAVIOUR",
                  "dslConfiguration": {
                    "allowsInlineDefinition": true,
                    "allowsReferences": true,
                    "allowTopLevelDefinition": false
                  },
                  "layoutModel": {
                    "password": false,
                    "text": false,
                    "query": false,
                    "order": 2
                  },
                  "allowedStereotypeModels": [],
                  "name": "key",
                  "description": "the key of the associated multipart upload whose parts are being listed.",
                  "modelProperties": {}
                },
                {
                  "type": {
                    "format": "java",
                    "type": "String"
                  },
                  "hasDynamicType": false,
                  "required": true,
                  "isConfigOverride": false,
                  "expressionSupport": "SUPPORTED",
                  "role": "BEHAVIOUR",
                  "dslConfiguration": {
                    "allowsInlineDefinition": true,
                    "allowsReferences": true,
                    "allowTopLevelDefinition": false
                  },
                  "layoutModel": {
                    "password": false,
                    "text": false,
                    "query": false,
                    "order": 3
                  },
                  "allowedStereotypeModels": [],
                  "name": "uploadId",
                  "description": "the ID of the multipart upload whose parts are being listed.",
                  "modelProperties": {}
                },
                {
                  "type": {
                    "format": "java",
                    "type": "String"
                  },
                  "hasDynamicType": false,
                  "required": false,
                  "isConfigOverride": false,
                  "expressionSupport": "SUPPORTED",
                  "role": "BEHAVIOUR",
                  "dslConfiguration": {
                    "allowsInlineDefinition": true,
                    "allowsReferences": true,
                    "allowTopLevelDefinition": false
                  },
                  "layoutModel": {
                    "password": false,
                    "text": false,
                    "query": false,
                    "order": 4
                  },
                  "allowedStereotypeModels": [],
                  "name": "encodingType",
                  "displayModel": {
                    "summary": "The optional encodingType parameter indicating the encoding method to be applied on the response."
                  },
                  "description": "the optional encodingType parameter indicating the encoding method to be applied on the response.",
                  "modelProperties": {}
                },
                {
                  "type": {
                    "format": "java",
                    "type": "Number",
                    "annotations": {
                      "classInformation": {
                        "classname": "java.lang.Integer",
                        "hasDefaultConstructor": false,
                        "isInterface": false,
                        "isInstantiable": false,
                        "isAbstract": false,
                        "isFinal": true,
                        "implementedInterfaces": [
                          "java.lang.Comparable"
                        ],
                        "parent": "java.lang.Number",
                        "genericTypes": [],
                        "isMap": false
                      },
                      "int": {}
                    }
                  },
                  "hasDynamicType": false,
                  "required": false,
                  "isConfigOverride": false,
                  "expressionSupport": "SUPPORTED",
                  "role": "BEHAVIOUR",
                  "dslConfiguration": {
                    "allowsInlineDefinition": true,
                    "allowsReferences": true,
                    "allowTopLevelDefinition": false
                  },
                  "layoutModel": {
                    "password": false,
                    "text": false,
                    "query": false,
                    "order": 5
                  },
                  "allowedStereotypeModels": [],
                  "name": "maxParts",
                  "description": "the optional maximum number of parts to be returned in the part listing.",
                  "modelProperties": {}
                },
                {
                  "type": {
                    "format": "java",
                    "type": "Number",
                    "annotations": {
                      "classInformation": {
                        "classname": "java.lang.Integer",
                        "hasDefaultConstructor": false,
                        "isInterface": false,
                        "isInstantiable": false,
                        "isAbstract": false,
                        "isFinal": true,
                        "implementedInterfaces": [
                          "java.lang.Comparable"
                        ],
                        "parent": "java.lang.Number",
                        "genericTypes": [],
                        "isMap": false
                      },
                      "int": {}
                    }
                  },
                  "hasDynamicType": false,
                  "required": false,
                  "isConfigOverride": false,
                  "expressionSupport": "SUPPORTED",
                  "role": "BEHAVIOUR",
                  "dslConfiguration": {
                    "allowsInlineDefinition": true,
                    "allowsReferences": true,
                    "allowTopLevelDefinition": false
                  },
                  "layoutModel": {
                    "password": false,
                    "text": false,
                    "query": false,
                    "order": 6
                  },
                  "allowedStereotypeModels": [],
                  "name": "partNumberMarker",
                  "displayModel": {
                    "summary": "The optional part number marker indicating where in the results to being listing parts."
                  },
                  "description": "the optional part number marker indicating where in the results to being listing parts.",
                  "modelProperties": {}
                }
              ],
              "exclusiveParametersModels": [],
              "layoutModel": {
                "password": false,
                "text": false,
                "query": false,
                "order": 1
              },
              "showInDsl": false,
              "name": "General",
              "description": "",
              "modelProperties": {}
            },
            {
              "parameters": [
                {
                  "type": {
                    "format": "java",
                    "type": "String"
                  },
                  "hasDynamicType": false,
                  "required": false,
                  "isConfigOverride": false,
                  "expressionSupport": "NOT_SUPPORTED",
                  "role": "BEHAVIOUR",
                  "dslConfiguration": {
                    "allowsInlineDefinition": true,
                    "allowsReferences": true,
                    "allowTopLevelDefinition": false
                  },
                  "layoutModel": {
                    "password": false,
                    "text": false,
                    "query": false,
                    "order": 7,
                    "tabName": "Advanced"
                  },
                  "allowedStereotypeModels": [],
                  "name": "target",
                  "displayModel": {
                    "displayName": "Target Variable"
                  },
                  "description": "The name of a variable on which the operation\u0027s output will be placed",
                  "modelProperties": {}
                },
                {
                  "type": {
                    "format": "java",
                    "type": "String"
                  },
                  "hasDynamicType": false,
                  "required": false,
                  "isConfigOverride": false,
                  "expressionSupport": "REQUIRED",
                  "defaultValue": "#[payload]",
                  "role": "BEHAVIOUR",
                  "dslConfiguration": {
                    "allowsInlineDefinition": true,
                    "allowsReferences": true,
                    "allowTopLevelDefinition": false
                  },
                  "layoutModel": {
                    "password": false,
                    "text": false,
                    "query": false,
                    "order": 8,
                    "tabName": "Advanced"
                  },
                  "allowedStereotypeModels": [],
                  "name": "targetValue",
                  "displayModel": {
                    "displayName": "Target Value"
                  },
                  "description": "An expression that will be evaluated against the operation\u0027s output and the outcome of that expression will be stored in the target variable",
                  "modelProperties": {}
                }
              ],
              "exclusiveParametersModels": [],
              "layoutModel": {
                "password": false,
                "text": false,
                "query": false,
                "order": 2
              },
              "showInDsl": false,
              "name": "Output",
              "description": "",
              "modelProperties": {}
            },
            {
              "parameters": [
                {
                  "type": {
                    "format": "java",
                    "type": "Union",
                    "annotations": {
                      "typeId": "ReconnectionStrategy"
                    },
                    "of": [
                      {
                        "type": "Object",
                        "annotations": {
                          "typeId": "reconnect"
                        },
                        "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": [
                                    "java.lang.Comparable"
                                  ],
                                  "parent": "java.lang.Number",
                                  "genericTypes": [],
                                  "isMap": false
                                },
                                "default": "2000"
                              }
                            },
                            "annotations": {
                              "description": {
                                "value": "How often (in ms) to reconnect"
                              }
                            }
                          },
                          {
                            "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"
                        },
                        "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": [
                                    "java.lang.Comparable"
                                  ],
                                  "parent": "java.lang.Number",
                                  "genericTypes": [],
                                  "isMap": false
                                },
                                "default": "2000"
                              }
                            },
                            "annotations": {
                              "description": {
                                "value": "How often (in ms) to reconnect"
                              }
                            }
                          }
                        ]
                      }
                    ]
                  },
                  "hasDynamicType": false,
                  "required": false,
                  "isConfigOverride": false,
                  "expressionSupport": "NOT_SUPPORTED",
                  "role": "BEHAVIOUR",
                  "dslConfiguration": {
                    "allowsInlineDefinition": true,
                    "allowsReferences": false,
                    "allowTopLevelDefinition": false
                  },
                  "layoutModel": {
                    "password": false,
                    "text": false,
                    "query": false,
                    "order": 9,
                    "tabName": "Advanced"
                  },
                  "allowedStereotypeModels": [],
                  "name": "reconnectionStrategy",
                  "description": "A retry strategy in case of connectivity errors",
                  "modelProperties": {
                    "org.mule.runtime.extension.api.property.QNameModelProperty": {
                      "value": {
                        "namespaceURI": "http://www.mulesoft.org/schema/mule/core",
                        "localPart": "abstract-reconnection-strategy",
                        "prefix": "mule"
                      }
                    },
                    "org.mule.runtime.extension.api.property.InfrastructureParameterModelProperty": {
                      "sequence": 3
                    }
                  }
                }
              ],
              "exclusiveParametersModels": [],
              "layoutModel": {
                "password": false,
                "text": false,
                "query": false,
                "order": 3
              },
              "showInDsl": false,
              "name": "Connection",
              "description": "",
              "modelProperties": {}
            }
          ],
          "name": "listParts",
          "description": "Lists the parts that have been uploaded for a specific multipart upload.",
          "modelProperties": {},
          "kind": "operation"
        },
        {
          "blocking": true,
          "executionType": "BLOCKING",
          "output": {
            "type": {
              "format": "java",
              "type": "Array",
              "annotations": {
                "classInformation": {
                  "classname": "org.mule.runtime.extension.api.runtime.streaming.PagingProvider",
                  "hasDefaultConstructor": false,
                  "isInterface": true,
                  "isInstantiable": false,
                  "isAbstract": true,
                  "isFinal": false,
                  "implementedInterfaces": [],
                  "parent": "",
                  "genericTypes": [
                    "org.mule.extension.s3.internal.connection.S3Connection",
                    "org.mule.extension.s3.api.model.S3VersionSummary"
                  ],
                  "isMap": false
                }
              },
              "item": {
                "type": "@ref:org.mule.extension.s3.api.model.S3VersionSummary"
              }
            },
            "hasDynamicType": false,
            "description": "",
            "modelProperties": {}
          },
          "outputAttributes": {
            "type": {
              "format": "java",
              "type": "Void"
            },
            "hasDynamicType": false,
            "description": "",
            "modelProperties": {}
          },
          "transactional": false,
          "requiresConnection": true,
          "supportsStreaming": true,
          "notifications": [],
          "nestedComponents": [],
          "errors": [
            "S3:INVALID_RANGE",
            "S3:SERVICE_UNAVAILABLE",
            "S3:REQUEST_TIME_TOO_SKEWED",
            "S3:REDIRECT",
            "S3:INVALID_STORAGE_CLASS",
            "S3:MAX_MESSAGE_LENGTH_EXCEEDED",
            "S3:REQUEST_IS_NOT_MULTI_PART_CONTENT",
            "S3:UNEXPECTED_CONTENT",
            "S3:ENTITY_TOO_SMALL",
            "S3:NO_SUCH_BUCKET",
            "S3:INVALID_PART",
            "S3:INVALID_SOAP_REQUEST",
            "S3:NO_SUCH_VERSION",
            "S3:METADATA_TOO_LARGE",
            "S3:PRECONDITION_FAILED",
            "S3:BUCKET_ALREADY_EXISTS",
            "S3:AMBIGUOUS_GRANT_BY_EMAIL_ADDRESS",
            "S3:MISSING_SECURITY_ELEMENT",
            "S3:INVALID_URI",
            "S3:NOT_SIGNED_UP",
            "S3:INVALID_ADDRESSING_HEADER",
            "S3:MAX_POST_PRE_DATA_LENGTH_EXCEEDED_ERROR",
            "S3:ILLEGAL_VERSIONING_CONFIGURATION_EXCEPTION",
            "S3:INVALID_PAYER",
            "S3:NO_SUCH_BUCKET_POLICY",
            "S3:INVALID_SECURITY",
            "S3:OPERATION_ABORTED",
            "S3:INVALID_ACCESS_KEY_ID",
            "S3:INVALID_LOCATION_CONSTRAINT",
            "S3:INLINE_DATA_TOO_LARGE",
            "S3:SIGNATURE_DOES_NOT_MATCH",
            "S3:UNRESOLVABLE_GRANT_BY_EMAIL_ADDRESS",
            "S3:NO_SUCH_LIFECYCLE_CONFIGURATION",
            "S3:KEY_TOO_LONG",
            "S3:INVALID_BUCKET_NAME",
            "S3:INVALID_TOKEN",
            "S3:TEMPORARY_REDIRECT",
            "S3:BUCKET_NOT_EMPTY",
            "S3:BAD_DIGEST",
            "S3:CROSS_LOCATION_LOGGING_PROHIBITED",
            "S3:MALFORMED_POST_REQUEST",
            "S3:REQUEST_TIMEOUT",
            "S3:TOO_MANY_BUCKETS",
            "S3:NO_SUCH_KEY",
            "S3:MISSING_ATTACHMENT",
            "S3:INVALID_BUCKET_STATE",
            "S3:INVALID_PART_ORDER",
            "S3:INVALID_RESPONSE_PRESIGNEDURL_MALFORMED",
            "S3:INVALID_POLICY_DOCUMENT",
            "S3:MALFORMED_XML",
            "S3:ACCOUNT_PROBLEM",
            "S3:USER_KEY_MUST_BE_SPECIFIED",
            "S3:MISSING_CONTENT_LENGTH",
            "S3:INVALID_DIGEST",
            "S3:ACCESS_DENIED",
            "S3:MISSING_REQUEST_BODY_ERROR",
            "S3:REQUEST_TORRENT_OF_BUCKET_ERROR",
            "S3:TOKEN_REFRESH_REQUIRED",
            "S3:NO_LOGGING_STATUS_FOR_KEY",
            "S3:RESTORE_ALREADY_IN_PROGRESS",
            "S3:INVALID_OBJECT_STATE",
            "S3:INVALID_ENCRYPTION_ALGORITHM_ERROR",
            "S3:PERMANENT_REDIRECT",
            "S3:INVALID_REQUEST",
            "S3:INCORRECT_NUMBER_OF_FILES_IN_POST_REQUEST",
            "S3:UNKNOWN",
            "S3:MALFORMED_ACL_ERROR",
            "S3:CREDENTIALS_NOT_SUPPORTED",
            "S3:NOT_IMPLEMENTED",
            "S3:INVALID_ARGUMENT",
            "S3:INVALID_TARGET_BUCKET_FOR_LOGGING",
            "S3:NO_SUCH_UPLOAD",
            "S3:INTERNAL_ERROR",
            "S3:SLOW_DOWN",
            "S3:ENTITY_TOO_LARGE",
            "S3:METHOD_NOT_ALLOWED",
            "S3:EXPIRED_TOKEN",
            "S3:MISSING_SECURITY_HEADER",
            "S3:BUCKET_ALREADY_OWNED_BY_YOU",
            "S3:INCOMPLETE_BODY"
          ],
          "stereotype": {
            "type": "PROCESSOR",
            "namespace": "MULE"
          },
          "parameterGroupModels": [
            {
              "parameters": [
                {
                  "type": {
                    "format": "java",
                    "type": "String"
                  },
                  "hasDynamicType": false,
                  "required": true,
                  "isConfigOverride": false,
                  "expressionSupport": "SUPPORTED",
                  "role": "BEHAVIOUR",
                  "dslConfiguration": {
                    "allowsInlineDefinition": true,
                    "allowsReferences": true,
                    "allowTopLevelDefinition": false
                  },
                  "layoutModel": {
                    "password": false,
                    "text": false,
                    "query": false,
                    "order": 1
                  },
                  "allowedStereotypeModels": [],
                  "name": "bucketName",
                  "description": "the target bucket\u0027s name",
                  "modelProperties": {}
                },
                {
                  "type": {
                    "format": "java",
                    "type": "String"
                  },
                  "hasDynamicType": false,
                  "required": false,
                  "isConfigOverride": false,
                  "expressionSupport": "SUPPORTED",
                  "role": "BEHAVIOUR",
                  "dslConfiguration": {
                    "allowsInlineDefinition": true,
                    "allowsReferences": true,
                    "allowTopLevelDefinition": false
                  },
                  "layoutModel": {
                    "password": false,
                    "text": false,
                    "query": false,
                    "order": 2
                  },
                  "allowedStereotypeModels": [],
                  "name": "prefix",
                  "displayModel": {
                    "summary": "Optional parameter restricting the response to keys which begin with the specified prefix. "
                  },
                  "description": "optional parameter restricting the response to keys which begin with the specified prefix.",
                  "modelProperties": {}
                },
                {
                  "type": {
                    "format": "java",
                    "type": "String"
                  },
                  "hasDynamicType": false,
                  "required": false,
                  "isConfigOverride": false,
                  "expressionSupport": "SUPPORTED",
                  "role": "BEHAVIOUR",
                  "dslConfiguration": {
                    "allowsInlineDefinition": true,
                    "allowsReferences": true,
                    "allowTopLevelDefinition": false
                  },
                  "layoutModel": {
                    "password": false,
                    "text": false,
                    "query": false,
                    "order": 3
                  },
                  "allowedStereotypeModels": [],
                  "name": "keyMarker",
                  "displayModel": {
                    "summary": "Where in the sorted list of all versions in the specified bucket to begin returning results. Results are always ordered first alphabetically and then from most recent version to least recent version. "
                  },
                  "description": "where in the sorted list of all versions in the specified bucket to begin returning results. Results are always ordered first alphabetically and then from most recent version to least recent version.",
                  "modelProperties": {}
                },
                {
                  "type": {
                    "format": "java",
                    "type": "String"
                  },
                  "hasDynamicType": false,
                  "required": false,
                  "isConfigOverride": false,
                  "expressionSupport": "SUPPORTED",
                  "role": "BEHAVIOUR",
                  "dslConfiguration": {
                    "allowsInlineDefinition": true,
                    "allowsReferences": true,
                    "allowTopLevelDefinition": false
                  },
                  "layoutModel": {
                    "password": false,
                    "text": false,
                    "query": false,
                    "order": 4
                  },
                  "allowedStereotypeModels": [],
                  "name": "versionIdMarker",
                  "displayModel": {
                    "summary": "Where in the sorted list of all versions in the specified bucket to begin returning results. Results are always ordered first alphabetically and then from most recent version to least recent version."
                  },
                  "description": "where in the sorted list of all versions in the specified bucket to begin returning results. Results are always ordered first alphabetically and then from most recent version to least recent version.",
                  "modelProperties": {}
                },
                {
                  "type": {
                    "format": "java",
                    "type": "String"
                  },
                  "hasDynamicType": false,
                  "required": false,
                  "isConfigOverride": false,
                  "expressionSupport": "SUPPORTED",
                  "role": "BEHAVIOUR",
                  "dslConfiguration": {
                    "allowsInlineDefinition": true,
                    "allowsReferences": true,
                    "allowTopLevelDefinition": false
                  },
                  "layoutModel": {
                    "password": false,
                    "text": false,
                    "query": false,
                    "order": 5
                  },
                  "allowedStereotypeModels": [],
                  "name": "delimiter",
                  "displayModel": {
                    "summary": "Causes keys that contain the same string between the prefix and the first occurrence of the delimiter to be rolled up into a single result element in the list. "
                  },
                  "description": "causes keys that contain the same string between the prefix and the first occurrence of the delimiter to be rolled up into a single result element in the list.",
                  "modelProperties": {}
                },
                {
                  "type": {
                    "format": "java",
                    "type": "Number",
                    "annotations": {
                      "classInformation": {
                        "classname": "java.lang.Integer",
                        "hasDefaultConstructor": false,
                        "isInterface": false,
                        "isInstantiable": false,
                        "isAbstract": false,
                        "isFinal": true,
                        "implementedInterfaces": [
                          "java.lang.Comparable"
                        ],
                        "parent": "java.lang.Number",
                        "genericTypes": [],
                        "isMap": false
                      },
                      "int": {}
                    }
                  },
                  "hasDynamicType": false,
                  "required": false,
                  "isConfigOverride": false,
                  "expressionSupport": "SUPPORTED",
                  "role": "BEHAVIOUR",
                  "dslConfiguration": {
                    "allowsInlineDefinition": true,
                    "allowsReferences": true,
                    "allowTopLevelDefinition": false
                  },
                  "layoutModel": {
                    "password": false,
                    "text": false,
                    "query": false,
                    "order": 6
                  },
                  "allowedStereotypeModels": [],
                  "name": "maxResults",
                  "displayModel": {
                    "summary": "The maximum number of results to return per page. If not specified, S3 will limit the number of returned results per page."
                  },
                  "description": "The maximum number of results to return per page. If not specified, S3 will limit the number of returned results per page.",
                  "modelProperties": {}
                },
                {
                  "type": {
                    "format": "java",
                    "type": "String",
                    "annotations": {
                      "typeId": "org.mule.extension.s3.api.model.EncodingType",
                      "enum": {
                        "type": "[Ljava.lang.String;",
                        "values": [
                          "NOT_ENCODED",
                          "URL"
                        ]
                      }
                    }
                  },
                  "hasDynamicType": false,
                  "required": false,
                  "isConfigOverride": false,
                  "expressionSupport": "SUPPORTED",
                  "defaultValue": "NOT_ENCODED",
                  "role": "BEHAVIOUR",
                  "dslConfiguration": {
                    "allowsInlineDefinition": true,
                    "allowsReferences": true,
                    "allowTopLevelDefinition": false
                  },
                  "layoutModel": {
                    "password": false,
                    "text": false,
                    "query": false,
                    "order": 7
                  },
                  "allowedStereotypeModels": [],
                  "name": "encodingType",
                  "displayModel": {
                    "summary": "The encoding method to be applied on the response. "
                  },
                  "description": "the encoding method to be applied on the response.",
                  "modelProperties": {}
                },
                {
                  "type": {
                    "format": "java",
                    "type": "Union",
                    "annotations": {
                      "typeId": "ObjectStreamingStrategy"
                    },
                    "of": [
                      {
                        "type": "Object",
                        "annotations": {
                          "typeId": "repeatable-in-memory-iterable"
                        },
                        "fields": [
                          {
                            "key": {
                              "name": "initialBufferSize"
                            },
                            "model": {
                              "type": "Number",
                              "annotations": {
                                "int": {},
                                "default": "100"
                              }
                            },
                            "annotations": {
                              "description": {
                                "value": "This is the amount of instances that will be initially be allowed to be kept in memory in order to consume the stream and provide random access to it. If the stream contains more data than can fit into this buffer, then it will be expanded according to the bufferSizeIncrement attribute, with an upper limit of maxInMemorySize. Default value is 100 instances."
                              }
                            }
                          },
                          {
                            "key": {
                              "name": "bufferSizeIncrement"
                            },
                            "model": {
                              "type": "Number",
                              "annotations": {
                                "int": {},
                                "default": "100"
                              }
                            },
                            "annotations": {
                              "description": {
                                "value": "This is by how much will the buffer size by expanded if it exceeds its initial size. Setting a value of zero or lower will mean that the buffer should not expand, meaning that a STREAM_MAXIMUM_SIZE_EXCEEDED error will be raised when the buffer gets full. Default value is 100 instances."
                              }
                            }
                          },
                          {
                            "key": {
                              "name": "maxBufferSize"
                            },
                            "model": {
                              "type": "Number",
                              "annotations": {
                                "int": {},
                                "default": "500"
                              }
                            },
                            "annotations": {
                              "description": {
                                "value": "This is the maximum amount of memory that will be used. If more than that is used then a STREAM_MAXIMUM_SIZE_EXCEEDED error will be raised. A value lower or equal to zero means no limit."
                              }
                            }
                          }
                        ]
                      },
                      {
                        "type": "Object",
                        "annotations": {
                          "typeId": "repeatable-file-store-iterable"
                        },
                        "fields": [
                          {
                            "key": {
                              "name": "inMemoryObjects"
                            },
                            "model": {
                              "type": "Number",
                              "annotations": {
                                "int": {},
                                "default": "100"
                              }
                            },
                            "annotations": {
                              "description": {
                                "value": "This is the maximum amount of instances that will be kept in memory. If more than that is required, then it will start to buffer the content on disk."
                              }
                            }
                          },
                          {
                            "key": {
                              "name": "bufferUnit"
                            },
                            "model": {
                              "type": "String",
                              "annotations": {
                                "enum": {
                                  "type": "[Ljava.lang.String;",
                                  "values": [
                                    "BYTE",
                                    "KB",
                                    "MB",
                                    "GB"
                                  ]
                                },
                                "default": "KB"
                              }
                            },
                            "annotations": {
                              "description": {
                                "value": "The unit in which maxInMemorySize is expressed"
                              }
                            }
                          }
                        ]
                      },
                      {
                        "type": "Object",
                        "annotations": {
                          "typeId": "non-repeatable-iterable",
                          "description": {
                            "value": "This configuration allows the stream to be read only once. It will not allow to seek randomly which will limit the transformations that DW can perform on this stream. Use this option for use cases which just require moving data around from one system to another to get optimum performance."
                          }
                        },
                        "fields": []
                      }
                    ]
                  },
                  "hasDynamicType": false,
                  "required": false,
                  "isConfigOverride": false,
                  "expressionSupport": "NOT_SUPPORTED",
                  "role": "BEHAVIOUR",
                  "dslConfiguration": {
                    "allowsInlineDefinition": true,
                    "allowsReferences": false,
                    "allowTopLevelDefinition": false
                  },
                  "layoutModel": {
                    "password": false,
                    "text": false,
                    "query": false,
                    "order": 8,
                    "tabName": "Advanced"
                  },
                  "allowedStereotypeModels": [],
                  "name": "streamingStrategy",
                  "description": "Configure if repeatable streams should be used and their behaviour",
                  "modelProperties": {
                    "org.mule.runtime.extension.api.property.QNameModelProperty": {
                      "value": {
                        "namespaceURI": "http://www.mulesoft.org/schema/mule/core",
                        "localPart": "abstract-object-streaming-strategy",
                        "prefix": "mule"
                      }
                    },
                    "org.mule.runtime.extension.api.property.InfrastructureParameterModelProperty": {
                      "sequence": 2
                    }
                  }
                }
              ],
              "exclusiveParametersModels": [],
              "layoutModel": {
                "password": false,
                "text": false,
                "query": false,
                "order": 1
              },
              "showInDsl": false,
              "name": "General",
              "description": "",
              "modelProperties": {}
            },
            {
              "parameters": [
                {
                  "type": {
                    "format": "java",
                    "type": "String"
                  },
                  "hasDynamicType": false,
                  "required": false,
                  "isConfigOverride": false,
                  "expressionSupport": "NOT_SUPPORTED",
                  "role": "BEHAVIOUR",
                  "dslConfiguration": {
                    "allowsInlineDefinition": true,
                    "allowsReferences": true,
                    "allowTopLevelDefinition": false
                  },
                  "layoutModel": {
                    "password": false,
                    "text": false,
                    "query": false,
                    "order": 9,
                    "tabName": "Advanced"
                  },
                  "allowedStereotypeModels": [],
                  "name": "target",
                  "displayModel": {
                    "displayName": "Target Variable"
                  },
                  "description": "The name of a variable on which the operation\u0027s output will be placed",
                  "modelProperties": {}
                },
                {
                  "type": {
                    "format": "java",
                    "type": "String"
                  },
                  "hasDynamicType": false,
                  "required": false,
                  "isConfigOverride": false,
                  "expressionSupport": "REQUIRED",
                  "defaultValue": "#[payload]",
                  "role": "BEHAVIOUR",
                  "dslConfiguration": {
                    "allowsInlineDefinition": true,
                    "allowsReferences": true,
                    "allowTopLevelDefinition": false
                  },
                  "layoutModel": {
                    "password": false,
                    "text": false,
                    "query": false,
                    "order": 10,
                    "tabName": "Advanced"
                  },
                  "allowedStereotypeModels": [],
                  "name": "targetValue",
                  "displayModel": {
                    "displayName": "Target Value"
                  },
                  "description": "An expression that will be evaluated against the operation\u0027s output and the outcome of that expression will be stored in the target variable",
                  "modelProperties": {}
                }
              ],
              "exclusiveParametersModels": [],
              "layoutModel": {
                "password": false,
                "text": false,
                "query": false,
                "order": 2
              },
              "showInDsl": false,
              "name": "Output",
              "description": "",
              "modelProperties": {}
            },
            {
              "parameters": [
                {
                  "type": {
                    "format": "java",
                    "type": "Union",
                    "annotations": {
                      "typeId": "ReconnectionStrategy"
                    },
                    "of": [
                      {
                        "type": "Object",
                        "annotations": {
                          "typeId": "reconnect"
                        },
                        "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": [
                                    "java.lang.Comparable"
                                  ],
                                  "parent": "java.lang.Number",
                                  "genericTypes": [],
                                  "isMap": false
                                },
                                "default": "2000"
                              }
                            },
                            "annotations": {
                              "description": {
                                "value": "How often (in ms) to reconnect"
                              }
                            }
                          },
                          {
                            "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"
                        },
                        "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": [
                                    "java.lang.Comparable"
                                  ],
                                  "parent": "java.lang.Number",
                                  "genericTypes": [],
                                  "isMap": false
                                },
                                "default": "2000"
                              }
                            },
                            "annotations": {
                              "description": {
                                "value": "How often (in ms) to reconnect"
                              }
                            }
                          }
                        ]
                      }
                    ]
                  },
                  "hasDynamicType": false,
                  "required": false,
                  "isConfigOverride": false,
                  "expressionSupport": "NOT_SUPPORTED",
                  "role": "BEHAVIOUR",
                  "dslConfiguration": {
                    "allowsInlineDefinition": true,
                    "allowsReferences": false,
                    "allowTopLevelDefinition": false
                  },
                  "layoutModel": {
                    "password": false,
                    "text": false,
                    "query": false,
                    "order": 11,
                    "tabName": "Advanced"
                  },
                  "allowedStereotypeModels": [],
                  "name": "reconnectionStrategy",
                  "description": "A retry strategy in case of connectivity errors",
                  "modelProperties": {
                    "org.mule.runtime.extension.api.property.QNameModelProperty": {
                      "value": {
                        "namespaceURI": "http://www.mulesoft.org/schema/mule/core",
                        "localPart": "abstract-reconnection-strategy",
                        "prefix": "mule"
                      }
                    },
                    "org.mule.runtime.extension.api.property.InfrastructureParameterModelProperty": {
                      "sequence": 3
                    }
                  }
                }
              ],
              "exclusiveParametersModels": [],
              "layoutModel": {
                "password": false,
                "text": false,
                "query": false,
                "order": 3
              },
              "showInDsl": false,
              "name": "Connection",
              "description": "",
              "modelProperties": {}
            }
          ],
          "name": "listVersions",
          "description": "Lazily lists all object versions for a given bucket that has versioning enabled. As S3 does not limit in any way the number of objects, such listing can retrieve an arbitrary amount of object versions, and may need to perform extra calls to the api while it is iterated.",
          "modelProperties": {},
          "kind": "operation"
        },
        {
          "blocking": true,
          "executionType": "BLOCKING",
          "output": {
            "type": {
              "format": "java",
              "type": "Void"
            },
            "hasDynamicType": false,
            "description": "",
            "modelProperties": {}
          },
          "outputAttributes": {
            "type": {
              "format": "java",
              "type": "Void"
            },
            "hasDynamicType": false,
            "description": "",
            "modelProperties": {}
          },
          "transactional": false,
          "requiresConnection": true,
          "supportsStreaming": false,
          "notifications": [],
          "nestedComponents": [],
          "errors": [
            "S3:INVALID_RANGE",
            "S3:SERVICE_UNAVAILABLE",
            "S3:REQUEST_TIME_TOO_SKEWED",
            "S3:REDIRECT",
            "S3:INVALID_STORAGE_CLASS",
            "S3:MAX_MESSAGE_LENGTH_EXCEEDED",
            "S3:REQUEST_IS_NOT_MULTI_PART_CONTENT",
            "S3:UNEXPECTED_CONTENT",
            "S3:ENTITY_TOO_SMALL",
            "S3:NO_SUCH_BUCKET",
            "S3:INVALID_PART",
            "S3:INVALID_SOAP_REQUEST",
            "S3:NO_SUCH_VERSION",
            "S3:METADATA_TOO_LARGE",
            "S3:PRECONDITION_FAILED",
            "S3:BUCKET_ALREADY_EXISTS",
            "S3:AMBIGUOUS_GRANT_BY_EMAIL_ADDRESS",
            "S3:MISSING_SECURITY_ELEMENT",
            "S3:INVALID_URI",
            "S3:NOT_SIGNED_UP",
            "S3:INVALID_ADDRESSING_HEADER",
            "S3:MAX_POST_PRE_DATA_LENGTH_EXCEEDED_ERROR",
            "S3:ILLEGAL_VERSIONING_CONFIGURATION_EXCEPTION",
            "S3:INVALID_PAYER",
            "S3:NO_SUCH_BUCKET_POLICY",
            "S3:INVALID_SECURITY",
            "S3:OPERATION_ABORTED",
            "S3:INVALID_ACCESS_KEY_ID",
            "S3:INVALID_LOCATION_CONSTRAINT",
            "S3:INLINE_DATA_TOO_LARGE",
            "S3:SIGNATURE_DOES_NOT_MATCH",
            "S3:UNRESOLVABLE_GRANT_BY_EMAIL_ADDRESS",
            "S3:NO_SUCH_LIFECYCLE_CONFIGURATION",
            "S3:KEY_TOO_LONG",
            "S3:INVALID_BUCKET_NAME",
            "S3:INVALID_TOKEN",
            "S3:TEMPORARY_REDIRECT",
            "S3:BUCKET_NOT_EMPTY",
            "S3:BAD_DIGEST",
            "S3:CROSS_LOCATION_LOGGING_PROHIBITED",
            "S3:MALFORMED_POST_REQUEST",
            "S3:REQUEST_TIMEOUT",
            "S3:TOO_MANY_BUCKETS",
            "S3:NO_SUCH_KEY",
            "S3:MISSING_ATTACHMENT",
            "S3:INVALID_BUCKET_STATE",
            "S3:RETRY_EXHAUSTED",
            "S3:INVALID_PART_ORDER",
            "S3:INVALID_RESPONSE_PRESIGNEDURL_MALFORMED",
            "S3:INVALID_POLICY_DOCUMENT",
            "S3:MALFORMED_XML",
            "S3:ACCOUNT_PROBLEM",
            "S3:USER_KEY_MUST_BE_SPECIFIED",
            "S3:MISSING_CONTENT_LENGTH",
            "S3:INVALID_DIGEST",
            "S3:ACCESS_DENIED",
            "S3:MISSING_REQUEST_BODY_ERROR",
            "S3:REQUEST_TORRENT_OF_BUCKET_ERROR",
            "S3:TOKEN_REFRESH_REQUIRED",
            "S3:NO_LOGGING_STATUS_FOR_KEY",
            "S3:RESTORE_ALREADY_IN_PROGRESS",
            "S3:INVALID_OBJECT_STATE",
            "S3:CONNECTIVITY",
            "S3:INVALID_ENCRYPTION_ALGORITHM_ERROR",
            "S3:PERMANENT_REDIRECT",
            "S3:INVALID_REQUEST",
            "S3:INCORRECT_NUMBER_OF_FILES_IN_POST_REQUEST",
            "S3:UNKNOWN",
            "S3:MALFORMED_ACL_ERROR",
            "S3:CREDENTIALS_NOT_SUPPORTED",
            "S3:NOT_IMPLEMENTED",
            "S3:INVALID_ARGUMENT",
            "S3:INVALID_TARGET_BUCKET_FOR_LOGGING",
            "S3:NO_SUCH_UPLOAD",
            "S3:INTERNAL_ERROR",
            "S3:SLOW_DOWN",
            "S3:ENTITY_TOO_LARGE",
            "S3:METHOD_NOT_ALLOWED",
            "S3:EXPIRED_TOKEN",
            "S3:MISSING_SECURITY_HEADER",
            "S3:BUCKET_ALREADY_OWNED_BY_YOU",
            "S3:INCOMPLETE_BODY"
          ],
          "stereotype": {
            "type": "PROCESSOR",
            "namespace": "MULE"
          },
          "parameterGroupModels": [
            {
              "parameters": [
                {
                  "type": {
                    "format": "java",
                    "type": "String"
                  },
                  "hasDynamicType": false,
                  "required": true,
                  "isConfigOverride": false,
                  "expressionSupport": "SUPPORTED",
                  "role": "BEHAVIOUR",
                  "dslConfiguration": {
                    "allowsInlineDefinition": true,
                    "allowsReferences": true,
                    "allowTopLevelDefinition": false
                  },
                  "layoutModel": {
                    "password": false,
                    "text": false,
                    "query": false,
                    "order": 1
                  },
                  "allowedStereotypeModels": [],
                  "name": "bucketName",
                  "description": "the bucket name",
                  "modelProperties": {}
                },
                {
                  "type": {
                    "format": "java",
                    "type": "@ref:org.mule.extension.s3.api.model.Owner"
                  },
                  "hasDynamicType": false,
                  "required": true,
                  "isConfigOverride": false,
                  "expressionSupport": "SUPPORTED",
                  "role": "BEHAVIOUR",
                  "dslConfiguration": {
                    "allowsInlineDefinition": true,
                    "allowsReferences": true,
                    "allowTopLevelDefinition": false
                  },
                  "layoutModel": {
                    "password": false,
                    "text": false,
                    "query": false,
                    "order": 2
                  },
                  "allowedStereotypeModels": [],
                  "name": "owner",
                  "description": "The owner of the ACL.",
                  "modelProperties": {}
                },
                {
                  "type": {
                    "format": "java",
                    "type": "Array",
                    "annotations": {
                      "classInformation": {
                        "classname": "java.util.List",
                        "hasDefaultConstructor": false,
                        "isInterface": true,
                        "isInstantiable": false,
                        "isAbstract": true,
                        "isFinal": false,
                        "implementedInterfaces": [
                          "java.util.Collection"
                        ],
                        "parent": "",
                        "genericTypes": [
                          "org.mule.extension.s3.api.model.Grant"
                        ],
                        "isMap": false
                      }
                    },
                    "item": {
                      "type": "@ref:org.mule.extension.s3.api.model.Grant"
                    }
                  },
                  "hasDynamicType": false,
                  "required": false,
                  "isConfigOverride": false,
                  "expressionSupport": "SUPPORTED",
                  "defaultValue": "#[payload]",
                  "role": "PRIMARY_CONTENT",
                  "dslConfiguration": {
                    "allowsInlineDefinition": true,
                    "allowsReferences": false,
                    "allowTopLevelDefinition": false
                  },
                  "layoutModel": {
                    "password": false,
                    "text": false,
                    "query": false,
                    "order": 3
                  },
                  "allowedStereotypeModels": [],
                  "name": "grants",
                  "description": "The grants of the ACL.",
                  "modelProperties": {}
                }
              ],
              "exclusiveParametersModels": [],
              "layoutModel": {
                "password": false,
                "text": false,
                "query": false,
                "order": 1
              },
              "showInDsl": false,
              "name": "General",
              "description": "",
              "modelProperties": {}
            },
            {
              "parameters": [
                {
                  "type": {
                    "format": "java",
                    "type": "Union",
                    "annotations": {
                      "typeId": "ReconnectionStrategy"
                    },
                    "of": [
                      {
                        "type": "Object",
                        "annotations": {
                          "typeId": "reconnect"
                        },
                        "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": [
                                    "java.lang.Comparable"
                                  ],
                                  "parent": "java.lang.Number",
                                  "genericTypes": [],
                                  "isMap": false
                                },
                                "default": "2000"
                              }
                            },
                            "annotations": {
                              "description": {
                                "value": "How often (in ms) to reconnect"
                              }
                            }
                          },
                          {
                            "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"
                        },
                        "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": [
                                    "java.lang.Comparable"
                                  ],
                                  "parent": "java.lang.Number",
                                  "genericTypes": [],
                                  "isMap": false
                                },
                                "default": "2000"
                              }
                            },
                            "annotations": {
                              "description": {
                                "value": "How often (in ms) to reconnect"
                              }
                            }
                          }
                        ]
                      }
                    ]
                  },
                  "hasDynamicType": false,
                  "required": false,
                  "isConfigOverride": false,
                  "expressionSupport": "NOT_SUPPORTED",
                  "role": "BEHAVIOUR",
                  "dslConfiguration": {
                    "allowsInlineDefinition": true,
                    "allowsReferences": false,
                    "allowTopLevelDefinition": false
                  },
                  "layoutModel": {
                    "password": false,
                    "text": false,
                    "query": false,
                    "order": 4,
                    "tabName": "Advanced"
                  },
                  "allowedStereotypeModels": [],
                  "name": "reconnectionStrategy",
                  "description": "A retry strategy in case of connectivity errors",
                  "modelProperties": {
                    "org.mule.runtime.extension.api.property.QNameModelProperty": {
                      "value": {
                        "namespaceURI": "http://www.mulesoft.org/schema/mule/core",
                        "localPart": "abstract-reconnection-strategy",
                        "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": "setBucketAcl",
          "description": "Set the permissions on an existing bucket using access control lists (ACL)",
          "modelProperties": {},
          "kind": "operation"
        },
        {
          "blocking": true,
          "executionType": "BLOCKING",
          "output": {
            "type": {
              "format": "java",
              "type": "Void"
            },
            "hasDynamicType": false,
            "description": "",
            "modelProperties": {}
          },
          "outputAttributes": {
            "type": {
              "format": "java",
              "type": "Void"
            },
            "hasDynamicType": false,
            "description": "",
            "modelProperties": {}
          },
          "transactional": false,
          "requiresConnection": true,
          "supportsStreaming": false,
          "notifications": [],
          "nestedComponents": [],
          "errors": [
            "S3:INVALID_RANGE",
            "S3:SERVICE_UNAVAILABLE",
            "S3:REQUEST_TIME_TOO_SKEWED",
            "S3:REDIRECT",
            "S3:INVALID_STORAGE_CLASS",
            "S3:MAX_MESSAGE_LENGTH_EXCEEDED",
            "S3:REQUEST_IS_NOT_MULTI_PART_CONTENT",
            "S3:UNEXPECTED_CONTENT",
            "S3:ENTITY_TOO_SMALL",
            "S3:NO_SUCH_BUCKET",
            "S3:INVALID_PART",
            "S3:INVALID_SOAP_REQUEST",
            "S3:NO_SUCH_VERSION",
            "S3:METADATA_TOO_LARGE",
            "S3:PRECONDITION_FAILED",
            "S3:BUCKET_ALREADY_EXISTS",
            "S3:AMBIGUOUS_GRANT_BY_EMAIL_ADDRESS",
            "S3:MISSING_SECURITY_ELEMENT",
            "S3:INVALID_URI",
            "S3:NOT_SIGNED_UP",
            "S3:INVALID_ADDRESSING_HEADER",
            "S3:MAX_POST_PRE_DATA_LENGTH_EXCEEDED_ERROR",
            "S3:ILLEGAL_VERSIONING_CONFIGURATION_EXCEPTION",
            "S3:INVALID_PAYER",
            "S3:NO_SUCH_BUCKET_POLICY",
            "S3:INVALID_SECURITY",
            "S3:OPERATION_ABORTED",
            "S3:INVALID_ACCESS_KEY_ID",
            "S3:INVALID_LOCATION_CONSTRAINT",
            "S3:INLINE_DATA_TOO_LARGE",
            "S3:SIGNATURE_DOES_NOT_MATCH",
            "S3:UNRESOLVABLE_GRANT_BY_EMAIL_ADDRESS",
            "S3:NO_SUCH_LIFECYCLE_CONFIGURATION",
            "S3:KEY_TOO_LONG",
            "S3:INVALID_BUCKET_NAME",
            "S3:INVALID_TOKEN",
            "S3:TEMPORARY_REDIRECT",
            "S3:BUCKET_NOT_EMPTY",
            "S3:BAD_DIGEST",
            "S3:CROSS_LOCATION_LOGGING_PROHIBITED",
            "S3:MALFORMED_POST_REQUEST",
            "S3:REQUEST_TIMEOUT",
            "S3:TOO_MANY_BUCKETS",
            "S3:NO_SUCH_KEY",
            "S3:MISSING_ATTACHMENT",
            "S3:INVALID_BUCKET_STATE",
            "S3:RETRY_EXHAUSTED",
            "S3:INVALID_PART_ORDER",
            "S3:INVALID_RESPONSE_PRESIGNEDURL_MALFORMED",
            "S3:INVALID_POLICY_DOCUMENT",
            "S3:MALFORMED_XML",
            "S3:ACCOUNT_PROBLEM",
            "S3:USER_KEY_MUST_BE_SPECIFIED",
            "S3:MISSING_CONTENT_LENGTH",
            "S3:INVALID_DIGEST",
            "S3:ACCESS_DENIED",
            "S3:MISSING_REQUEST_BODY_ERROR",
            "S3:REQUEST_TORRENT_OF_BUCKET_ERROR",
            "S3:TOKEN_REFRESH_REQUIRED",
            "S3:NO_LOGGING_STATUS_FOR_KEY",
            "S3:RESTORE_ALREADY_IN_PROGRESS",
            "S3:INVALID_OBJECT_STATE",
            "S3:CONNECTIVITY",
            "S3:INVALID_ENCRYPTION_ALGORITHM_ERROR",
            "S3:PERMANENT_REDIRECT",
            "S3:INVALID_REQUEST",
            "S3:INCORRECT_NUMBER_OF_FILES_IN_POST_REQUEST",
            "S3:UNKNOWN",
            "S3:MALFORMED_ACL_ERROR",
            "S3:CREDENTIALS_NOT_SUPPORTED",
            "S3:NOT_IMPLEMENTED",
            "S3:INVALID_ARGUMENT",
            "S3:INVALID_TARGET_BUCKET_FOR_LOGGING",
            "S3:NO_SUCH_UPLOAD",
            "S3:INTERNAL_ERROR",
            "S3:SLOW_DOWN",
            "S3:ENTITY_TOO_LARGE",
            "S3:METHOD_NOT_ALLOWED",
            "S3:EXPIRED_TOKEN",
            "S3:MISSING_SECURITY_HEADER",
            "S3:BUCKET_ALREADY_OWNED_BY_YOU",
            "S3:INCOMPLETE_BODY"
          ],
          "stereotype": {
            "type": "PROCESSOR",
            "namespace": "MULE"
          },
          "parameterGroupModels": [
            {
              "parameters": [
                {
                  "type": {
                    "format": "java",
                    "type": "String"
                  },
                  "hasDynamicType": false,
                  "required": true,
                  "isConfigOverride": false,
                  "expressionSupport": "SUPPORTED",
                  "role": "BEHAVIOUR",
                  "dslConfiguration": {
                    "allowsInlineDefinition": true,
                    "allowsReferences": true,
                    "allowTopLevelDefinition": false
                  },
                  "layoutModel": {
                    "password": false,
                    "text": false,
                    "query": false,
                    "order": 1
                  },
                  "allowedStereotypeModels": [],
                  "name": "bucketName",
                  "description": "the bucket name",
                  "modelProperties": {}
                },
                {
                  "type": {
                    "format": "java",
                    "type": "Array",
                    "annotations": {
                      "classInformation": {
                        "classname": "java.util.List",
                        "hasDefaultConstructor": false,
                        "isInterface": true,
                        "isInstantiable": false,
                        "isAbstract": true,
                        "isFinal": false,
                        "implementedInterfaces": [
                          "java.util.Collection"
                        ],
                        "parent": "",
                        "genericTypes": [
                          "org.mule.extension.s3.api.model.CORSRule"
                        ],
                        "isMap": false
                      }
                    },
                    "item": {
                      "type": "@ref:org.mule.extension.s3.api.model.CORSRule"
                    }
                  },
                  "hasDynamicType": false,
                  "required": false,
                  "isConfigOverride": false,
                  "expressionSupport": "SUPPORTED",
                  "defaultValue": "#[payload]",
                  "role": "PRIMARY_CONTENT",
                  "dslConfiguration": {
                    "allowsInlineDefinition": true,
                    "allowsReferences": false,
                    "allowTopLevelDefinition": false
                  },
                  "layoutModel": {
                    "password": false,
                    "text": false,
                    "query": false,
                    "order": 2
                  },
                  "allowedStereotypeModels": [],
                  "name": "rules",
                  "description": "the cross-origin rules of a bucket.",
                  "modelProperties": {}
                }
              ],
              "exclusiveParametersModels": [],
              "layoutModel": {
                "password": false,
                "text": false,
                "query": false,
                "order": 1
              },
              "showInDsl": false,
              "name": "General",
              "description": "",
              "modelProperties": {}
            },
            {
              "parameters": [
                {
                  "type": {
                    "format": "java",
                    "type": "Union",
                    "annotations": {
                      "typeId": "ReconnectionStrategy"
                    },
                    "of": [
                      {
                        "type": "Object",
                        "annotations": {
                          "typeId": "reconnect"
                        },
                        "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": [
                                    "java.lang.Comparable"
                                  ],
                                  "parent": "java.lang.Number",
                                  "genericTypes": [],
                                  "isMap": false
                                },
                                "default": "2000"
                              }
                            },
                            "annotations": {
                              "description": {
                                "value": "How often (in ms) to reconnect"
                              }
                            }
                          },
                          {
                            "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"
                        },
                        "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": [
                                    "java.lang.Comparable"
                                  ],
                                  "parent": "java.lang.Number",
                                  "genericTypes": [],
                                  "isMap": false
                                },
                                "default": "2000"
                              }
                            },
                            "annotations": {
                              "description": {
                                "value": "How often (in ms) to reconnect"
                              }
                            }
                          }
                        ]
                      }
                    ]
                  },
                  "hasDynamicType": false,
                  "required": false,
                  "isConfigOverride": false,
                  "expressionSupport": "NOT_SUPPORTED",
                  "role": "BEHAVIOUR",
                  "dslConfiguration": {
                    "allowsInlineDefinition": true,
                    "allowsReferences": false,
                    "allowTopLevelDefinition": false
                  },
                  "layoutModel": {
                    "password": false,
                    "text": false,
                    "query": false,
                    "order": 3,
                    "tabName": "Advanced"
                  },
                  "allowedStereotypeModels": [],
                  "name": "reconnectionStrategy",
                  "description": "A retry strategy in case of connectivity errors",
                  "modelProperties": {
                    "org.mule.runtime.extension.api.property.QNameModelProperty": {
                      "value": {
                        "namespaceURI": "http://www.mulesoft.org/schema/mule/core",
                        "localPart": "abstract-reconnection-strategy",
                        "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": "setBucketCorsConfiguration",
          "description": "Sets the cors configuration for your bucket. If the configuration exists, Amazon S3 replaces it.",
          "modelProperties": {},
          "kind": "operation"
        },
        {
          "blocking": true,
          "executionType": "BLOCKING",
          "output": {
            "type": {
              "format": "java",
              "type": "Void"
            },
            "hasDynamicType": false,
            "description": "",
            "modelProperties": {}
          },
          "outputAttributes": {
            "type": {
              "format": "java",
              "type": "Void"
            },
            "hasDynamicType": false,
            "description": "",
            "modelProperties": {}
          },
          "transactional": false,
          "requiresConnection": true,
          "supportsStreaming": false,
          "notifications": [],
          "nestedComponents": [],
          "errors": [
            "S3:INVALID_RANGE",
            "S3:SERVICE_UNAVAILABLE",
            "S3:REQUEST_TIME_TOO_SKEWED",
            "S3:REDIRECT",
            "S3:INVALID_STORAGE_CLASS",
            "S3:MAX_MESSAGE_LENGTH_EXCEEDED",
            "S3:REQUEST_IS_NOT_MULTI_PART_CONTENT",
            "S3:UNEXPECTED_CONTENT",
            "S3:ENTITY_TOO_SMALL",
            "S3:NO_SUCH_BUCKET",
            "S3:INVALID_PART",
            "S3:INVALID_SOAP_REQUEST",
            "S3:NO_SUCH_VERSION",
            "S3:METADATA_TOO_LARGE",
            "S3:PRECONDITION_FAILED",
            "S3:BUCKET_ALREADY_EXISTS",
            "S3:AMBIGUOUS_GRANT_BY_EMAIL_ADDRESS",
            "S3:MISSING_SECURITY_ELEMENT",
            "S3:INVALID_URI",
            "S3:NOT_SIGNED_UP",
            "S3:INVALID_ADDRESSING_HEADER",
            "S3:MAX_POST_PRE_DATA_LENGTH_EXCEEDED_ERROR",
            "S3:ILLEGAL_VERSIONING_CONFIGURATION_EXCEPTION",
            "S3:INVALID_PAYER",
            "S3:NO_SUCH_BUCKET_POLICY",
            "S3:INVALID_SECURITY",
            "S3:OPERATION_ABORTED",
            "S3:INVALID_ACCESS_KEY_ID",
            "S3:INVALID_LOCATION_CONSTRAINT",
            "S3:INLINE_DATA_TOO_LARGE",
            "S3:SIGNATURE_DOES_NOT_MATCH",
            "S3:UNRESOLVABLE_GRANT_BY_EMAIL_ADDRESS",
            "S3:NO_SUCH_LIFECYCLE_CONFIGURATION",
            "S3:KEY_TOO_LONG",
            "S3:INVALID_BUCKET_NAME",
            "S3:INVALID_TOKEN",
            "S3:TEMPORARY_REDIRECT",
            "S3:BUCKET_NOT_EMPTY",
            "S3:BAD_DIGEST",
            "S3:CROSS_LOCATION_LOGGING_PROHIBITED",
            "S3:MALFORMED_POST_REQUEST",
            "S3:REQUEST_TIMEOUT",
            "S3:TOO_MANY_BUCKETS",
            "S3:NO_SUCH_KEY",
            "S3:MISSING_ATTACHMENT",
            "S3:INVALID_BUCKET_STATE",
            "S3:RETRY_EXHAUSTED",
            "S3:INVALID_PART_ORDER",
            "S3:INVALID_RESPONSE_PRESIGNEDURL_MALFORMED",
            "S3:INVALID_POLICY_DOCUMENT",
            "S3:MALFORMED_XML",
            "S3:ACCOUNT_PROBLEM",
            "S3:USER_KEY_MUST_BE_SPECIFIED",
            "S3:MISSING_CONTENT_LENGTH",
            "S3:INVALID_DIGEST",
            "S3:ACCESS_DENIED",
            "S3:MISSING_REQUEST_BODY_ERROR",
            "S3:REQUEST_TORRENT_OF_BUCKET_ERROR",
            "S3:TOKEN_REFRESH_REQUIRED",
            "S3:NO_LOGGING_STATUS_FOR_KEY",
            "S3:RESTORE_ALREADY_IN_PROGRESS",
            "S3:INVALID_OBJECT_STATE",
            "S3:CONNECTIVITY",
            "S3:INVALID_ENCRYPTION_ALGORITHM_ERROR",
            "S3:PERMANENT_REDIRECT",
            "S3:INVALID_REQUEST",
            "S3:INCORRECT_NUMBER_OF_FILES_IN_POST_REQUEST",
            "S3:UNKNOWN",
            "S3:MALFORMED_ACL_ERROR",
            "S3:CREDENTIALS_NOT_SUPPORTED",
            "S3:NOT_IMPLEMENTED",
            "S3:INVALID_ARGUMENT",
            "S3:INVALID_TARGET_BUCKET_FOR_LOGGING",
            "S3:NO_SUCH_UPLOAD",
            "S3:INTERNAL_ERROR",
            "S3:SLOW_DOWN",
            "S3:ENTITY_TOO_LARGE",
            "S3:METHOD_NOT_ALLOWED",
            "S3:EXPIRED_TOKEN",
            "S3:MISSING_SECURITY_HEADER",
            "S3:BUCKET_ALREADY_OWNED_BY_YOU",
            "S3:INCOMPLETE_BODY"
          ],
          "stereotype": {
            "type": "PROCESSOR",
            "namespace": "MULE"
          },
          "parameterGroupModels": [
            {
              "parameters": [
                {
                  "type": {
                    "format": "java",
                    "type": "String"
                  },
                  "hasDynamicType": false,
                  "required": true,
                  "isConfigOverride": false,
                  "expressionSupport": "SUPPORTED",
                  "role": "BEHAVIOUR",
                  "dslConfiguration": {
                    "allowsInlineDefinition": true,
                    "allowsReferences": true,
                    "allowTopLevelDefinition": false
                  },
                  "layoutModel": {
                    "password": false,
                    "text": false,
                    "query": false,
                    "order": 1
                  },
                  "allowedStereotypeModels": [],
                  "name": "bucketName",
                  "description": "the bucket name",
                  "modelProperties": {}
                },
                {
                  "type": {
                    "format": "java",
                    "type": "Array",
                    "annotations": {
                      "classInformation": {
                        "classname": "java.util.List",
                        "hasDefaultConstructor": false,
                        "isInterface": true,
                        "isInstantiable": false,
                        "isAbstract": true,
                        "isFinal": false,
                        "implementedInterfaces": [
                          "java.util.Collection"
                        ],
                        "parent": "",
                        "genericTypes": [
                          "org.mule.extension.s3.api.model.BLCRule"
                        ],
                        "isMap": false
                      }
                    },
                    "item": {
                      "type": "@ref:org.mule.extension.s3.api.model.BLCRule"
                    }
                  },
                  "hasDynamicType": false,
                  "required": false,
                  "isConfigOverride": false,
                  "expressionSupport": "SUPPORTED",
                  "defaultValue": "#[payload]",
                  "role": "PRIMARY_CONTENT",
                  "dslConfiguration": {
                    "allowsInlineDefinition": true,
                    "allowsReferences": false,
                    "allowTopLevelDefinition": false
                  },
                  "layoutModel": {
                    "password": false,
                    "text": false,
                    "query": false,
                    "order": 2
                  },
                  "allowedStereotypeModels": [],
                  "name": "lifecycleConfigurationRules",
                  "description": "the lifecycle configuration rules of a bucket.",
                  "modelProperties": {}
                }
              ],
              "exclusiveParametersModels": [],
              "layoutModel": {
                "password": false,
                "text": false,
                "query": false,
                "order": 1
              },
              "showInDsl": false,
              "name": "General",
              "description": "",
              "modelProperties": {}
            },
            {
              "parameters": [
                {
                  "type": {
                    "format": "java",
                    "type": "Union",
                    "annotations": {
                      "typeId": "ReconnectionStrategy"
                    },
                    "of": [
                      {
                        "type": "Object",
                        "annotations": {
                          "typeId": "reconnect"
                        },
                        "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": [
                                    "java.lang.Comparable"
                                  ],
                                  "parent": "java.lang.Number",
                                  "genericTypes": [],
                                  "isMap": false
                                },
                                "default": "2000"
                              }
                            },
                            "annotations": {
                              "description": {
                                "value": "How often (in ms) to reconnect"
                              }
                            }
                          },
                          {
                            "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"
                        },
                        "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": [
                                    "java.lang.Comparable"
                                  ],
                                  "parent": "java.lang.Number",
                                  "genericTypes": [],
                                  "isMap": false
                                },
                                "default": "2000"
                              }
                            },
                            "annotations": {
                              "description": {
                                "value": "How often (in ms) to reconnect"
                              }
                            }
                          }
                        ]
                      }
                    ]
                  },
                  "hasDynamicType": false,
                  "required": false,
                  "isConfigOverride": false,
                  "expressionSupport": "NOT_SUPPORTED",
                  "role": "BEHAVIOUR",
                  "dslConfiguration": {
                    "allowsInlineDefinition": true,
                    "allowsReferences": false,
                    "allowTopLevelDefinition": false
                  },
                  "layoutModel": {
                    "password": false,
                    "text": false,
                    "query": false,
                    "order": 3,
                    "tabName": "Advanced"
                  },
                  "allowedStereotypeModels": [],
                  "name": "reconnectionStrategy",
                  "description": "A retry strategy in case of connectivity errors",
                  "modelProperties": {
                    "org.mule.runtime.extension.api.property.QNameModelProperty": {
                      "value": {
                        "namespaceURI": "http://www.mulesoft.org/schema/mule/core",
                        "localPart": "abstract-reconnection-strategy",
                        "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": "setBucketLifecycleConfiguration",
          "description": "Creates a new lifecycle configuration for the bucket or replaces an existing lifecycle configuration.",
          "modelProperties": {},
          "kind": "operation"
        },
        {
          "blocking": true,
          "executionType": "BLOCKING",
          "output": {
            "type": {
              "format": "java",
              "type": "Void"
            },
            "hasDynamicType": false,
            "description": "",
            "modelProperties": {}
          },
          "outputAttributes": {
            "type": {
              "format": "java",
              "type": "Void"
            },
            "hasDynamicType": false,
            "description": "",
            "modelProperties": {}
          },
          "transactional": false,
          "requiresConnection": true,
          "supportsStreaming": false,
          "notifications": [],
          "nestedComponents": [],
          "errors": [
            "S3:INVALID_RANGE",
            "S3:SERVICE_UNAVAILABLE",
            "S3:REQUEST_TIME_TOO_SKEWED",
            "S3:REDIRECT",
            "S3:INVALID_STORAGE_CLASS",
            "S3:MAX_MESSAGE_LENGTH_EXCEEDED",
            "S3:REQUEST_IS_NOT_MULTI_PART_CONTENT",
            "S3:UNEXPECTED_CONTENT",
            "S3:ENTITY_TOO_SMALL",
            "S3:NO_SUCH_BUCKET",
            "S3:INVALID_PART",
            "S3:INVALID_SOAP_REQUEST",
            "S3:NO_SUCH_VERSION",
            "S3:METADATA_TOO_LARGE",
            "S3:PRECONDITION_FAILED",
            "S3:BUCKET_ALREADY_EXISTS",
            "S3:AMBIGUOUS_GRANT_BY_EMAIL_ADDRESS",
            "S3:MISSING_SECURITY_ELEMENT",
            "S3:INVALID_URI",
            "S3:NOT_SIGNED_UP",
            "S3:INVALID_ADDRESSING_HEADER",
            "S3:MAX_POST_PRE_DATA_LENGTH_EXCEEDED_ERROR",
            "S3:ILLEGAL_VERSIONING_CONFIGURATION_EXCEPTION",
            "S3:INVALID_PAYER",
            "S3:NO_SUCH_BUCKET_POLICY",
            "S3:INVALID_SECURITY",
            "S3:OPERATION_ABORTED",
            "S3:INVALID_ACCESS_KEY_ID",
            "S3:INVALID_LOCATION_CONSTRAINT",
            "S3:INLINE_DATA_TOO_LARGE",
            "S3:SIGNATURE_DOES_NOT_MATCH",
            "S3:UNRESOLVABLE_GRANT_BY_EMAIL_ADDRESS",
            "S3:NO_SUCH_LIFECYCLE_CONFIGURATION",
            "S3:KEY_TOO_LONG",
            "S3:INVALID_BUCKET_NAME",
            "S3:INVALID_TOKEN",
            "S3:TEMPORARY_REDIRECT",
            "S3:BUCKET_NOT_EMPTY",
            "S3:BAD_DIGEST",
            "S3:CROSS_LOCATION_LOGGING_PROHIBITED",
            "S3:MALFORMED_POST_REQUEST",
            "S3:REQUEST_TIMEOUT",
            "S3:TOO_MANY_BUCKETS",
            "S3:NO_SUCH_KEY",
            "S3:MISSING_ATTACHMENT",
            "S3:INVALID_BUCKET_STATE",
            "S3:RETRY_EXHAUSTED",
            "S3:INVALID_PART_ORDER",
            "S3:INVALID_RESPONSE_PRESIGNEDURL_MALFORMED",
            "S3:INVALID_POLICY_DOCUMENT",
            "S3:MALFORMED_XML",
            "S3:ACCOUNT_PROBLEM",
            "S3:USER_KEY_MUST_BE_SPECIFIED",
            "S3:MISSING_CONTENT_LENGTH",
            "S3:INVALID_DIGEST",
            "S3:ACCESS_DENIED",
            "S3:MISSING_REQUEST_BODY_ERROR",
            "S3:REQUEST_TORRENT_OF_BUCKET_ERROR",
            "S3:TOKEN_REFRESH_REQUIRED",
            "S3:NO_LOGGING_STATUS_FOR_KEY",
            "S3:RESTORE_ALREADY_IN_PROGRESS",
            "S3:INVALID_OBJECT_STATE",
            "S3:CONNECTIVITY",
            "S3:INVALID_ENCRYPTION_ALGORITHM_ERROR",
            "S3:PERMANENT_REDIRECT",
            "S3:INVALID_REQUEST",
            "S3:INCORRECT_NUMBER_OF_FILES_IN_POST_REQUEST",
            "S3:UNKNOWN",
            "S3:MALFORMED_ACL_ERROR",
            "S3:CREDENTIALS_NOT_SUPPORTED",
            "S3:NOT_IMPLEMENTED",
            "S3:INVALID_ARGUMENT",
            "S3:INVALID_TARGET_BUCKET_FOR_LOGGING",
            "S3:NO_SUCH_UPLOAD",
            "S3:INTERNAL_ERROR",
            "S3:SLOW_DOWN",
            "S3:ENTITY_TOO_LARGE",
            "S3:METHOD_NOT_ALLOWED",
            "S3:EXPIRED_TOKEN",
            "S3:MISSING_SECURITY_HEADER",
            "S3:BUCKET_ALREADY_OWNED_BY_YOU",
            "S3:INCOMPLETE_BODY"
          ],
          "stereotype": {
            "type": "PROCESSOR",
            "namespace": "MULE"
          },
          "parameterGroupModels": [
            {
              "parameters": [
                {
                  "type": {
                    "format": "java",
                    "type": "String"
                  },
                  "hasDynamicType": false,
                  "required": true,
                  "isConfigOverride": false,
                  "expressionSupport": "SUPPORTED",
                  "role": "BEHAVIOUR",
                  "dslConfiguration": {
                    "allowsInlineDefinition": true,
                    "allowsReferences": true,
                    "allowTopLevelDefinition": false
                  },
                  "layoutModel": {
                    "password": false,
                    "text": false,
                    "query": false,
                    "order": 1
                  },
                  "allowedStereotypeModels": [],
                  "name": "bucketName",
                  "description": "The bucket name.",
                  "modelProperties": {}
                },
                {
                  "type": {
                    "format": "java",
                    "type": "@ref:org.mule.extension.s3.api.model.BucketLoggingConfiguration"
                  },
                  "hasDynamicType": false,
                  "required": false,
                  "isConfigOverride": false,
                  "expressionSupport": "SUPPORTED",
                  "defaultValue": "#[payload]",
                  "role": "PRIMARY_CONTENT",
                  "dslConfiguration": {
                    "allowsInlineDefinition": true,
                    "allowsReferences": false,
                    "allowTopLevelDefinition": false
                  },
                  "layoutModel": {
                    "password": false,
                    "text": false,
                    "query": false,
                    "order": 2
                  },
                  "allowedStereotypeModels": [],
                  "name": "bucketLoggingConfiguration",
                  "description": "The bucket logging configuration.",
                  "modelProperties": {}
                }
              ],
              "exclusiveParametersModels": [],
              "layoutModel": {
                "password": false,
                "text": false,
                "query": false,
                "order": 1
              },
              "showInDsl": false,
              "name": "General",
              "description": "",
              "modelProperties": {}
            },
            {
              "parameters": [
                {
                  "type": {
                    "format": "java",
                    "type": "Union",
                    "annotations": {
                      "typeId": "ReconnectionStrategy"
                    },
                    "of": [
                      {
                        "type": "Object",
                        "annotations": {
                          "typeId": "reconnect"
                        },
                        "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": [
                                    "java.lang.Comparable"
                                  ],
                                  "parent": "java.lang.Number",
                                  "genericTypes": [],
                                  "isMap": false
                                },
                                "default": "2000"
                              }
                            },
                            "annotations": {
                              "description": {
                                "value": "How often (in ms) to reconnect"
                              }
                            }
                          },
                          {
                            "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"
                        },
                        "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": [
                                    "java.lang.Comparable"
                                  ],
                                  "parent": "java.lang.Number",
                                  "genericTypes": [],
                                  "isMap": false
                                },
                                "default": "2000"
                              }
                            },
                            "annotations": {
                              "description": {
                                "value": "How often (in ms) to reconnect"
                              }
                            }
                          }
                        ]
                      }
                    ]
                  },
                  "hasDynamicType": false,
                  "required": false,
                  "isConfigOverride": false,
                  "expressionSupport": "NOT_SUPPORTED",
                  "role": "BEHAVIOUR",
                  "dslConfiguration": {
                    "allowsInlineDefinition": true,
                    "allowsReferences": false,
                    "allowTopLevelDefinition": false
                  },
                  "layoutModel": {
                    "password": false,
                    "text": false,
                    "query": false,
                    "order": 3,
                    "tabName": "Advanced"
                  },
                  "allowedStereotypeModels": [],
                  "name": "reconnectionStrategy",
                  "description": "A retry strategy in case of connectivity errors",
                  "modelProperties": {
                    "org.mule.runtime.extension.api.property.QNameModelProperty": {
                      "value": {
                        "namespaceURI": "http://www.mulesoft.org/schema/mule/core",
                        "localPart": "abstract-reconnection-strategy",
                        "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": "setBucketLoggingConfiguration",
          "description": "Set the logging parameters for a bucket and to specify permissions for who can view and modify the logging parameters.",
          "modelProperties": {},
          "kind": "operation"
        },
        {
          "blocking": true,
          "executionType": "BLOCKING",
          "output": {
            "type": {
              "format": "java",
              "type": "Void"
            },
            "hasDynamicType": false,
            "description": "",
            "modelProperties": {}
          },
          "outputAttributes": {
            "type": {
              "format": "java",
              "type": "Void"
            },
            "hasDynamicType": false,
            "description": "",
            "modelProperties": {}
          },
          "transactional": false,
          "requiresConnection": true,
          "supportsStreaming": false,
          "notifications": [],
          "nestedComponents": [],
          "errors": [
            "S3:INVALID_RANGE",
            "S3:SERVICE_UNAVAILABLE",
            "S3:REQUEST_TIME_TOO_SKEWED",
            "S3:REDIRECT",
            "S3:INVALID_STORAGE_CLASS",
            "S3:MAX_MESSAGE_LENGTH_EXCEEDED",
            "S3:REQUEST_IS_NOT_MULTI_PART_CONTENT",
            "S3:UNEXPECTED_CONTENT",
            "S3:ENTITY_TOO_SMALL",
            "S3:NO_SUCH_BUCKET",
            "S3:INVALID_PART",
            "S3:INVALID_SOAP_REQUEST",
            "S3:NO_SUCH_VERSION",
            "S3:METADATA_TOO_LARGE",
            "S3:PRECONDITION_FAILED",
            "S3:BUCKET_ALREADY_EXISTS",
            "S3:AMBIGUOUS_GRANT_BY_EMAIL_ADDRESS",
            "S3:MISSING_SECURITY_ELEMENT",
            "S3:INVALID_URI",
            "S3:NOT_SIGNED_UP",
            "S3:INVALID_ADDRESSING_HEADER",
            "S3:MAX_POST_PRE_DATA_LENGTH_EXCEEDED_ERROR",
            "S3:ILLEGAL_VERSIONING_CONFIGURATION_EXCEPTION",
            "S3:INVALID_PAYER",
            "S3:NO_SUCH_BUCKET_POLICY",
            "S3:INVALID_SECURITY",
            "S3:OPERATION_ABORTED",
            "S3:INVALID_ACCESS_KEY_ID",
            "S3:INVALID_LOCATION_CONSTRAINT",
            "S3:INLINE_DATA_TOO_LARGE",
            "S3:SIGNATURE_DOES_NOT_MATCH",
            "S3:UNRESOLVABLE_GRANT_BY_EMAIL_ADDRESS",
            "S3:NO_SUCH_LIFECYCLE_CONFIGURATION",
            "S3:KEY_TOO_LONG",
            "S3:INVALID_BUCKET_NAME",
            "S3:INVALID_TOKEN",
            "S3:TEMPORARY_REDIRECT",
            "S3:BUCKET_NOT_EMPTY",
            "S3:BAD_DIGEST",
            "S3:CROSS_LOCATION_LOGGING_PROHIBITED",
            "S3:MALFORMED_POST_REQUEST",
            "S3:REQUEST_TIMEOUT",
            "S3:TOO_MANY_BUCKETS",
            "S3:NO_SUCH_KEY",
            "S3:MISSING_ATTACHMENT",
            "S3:INVALID_BUCKET_STATE",
            "S3:RETRY_EXHAUSTED",
            "S3:INVALID_PART_ORDER",
            "S3:INVALID_RESPONSE_PRESIGNEDURL_MALFORMED",
            "S3:INVALID_POLICY_DOCUMENT",
            "S3:MALFORMED_XML",
            "S3:ACCOUNT_PROBLEM",
            "S3:USER_KEY_MUST_BE_SPECIFIED",
            "S3:MISSING_CONTENT_LENGTH",
            "S3:INVALID_DIGEST",
            "S3:ACCESS_DENIED",
            "S3:MISSING_REQUEST_BODY_ERROR",
            "S3:REQUEST_TORRENT_OF_BUCKET_ERROR",
            "S3:TOKEN_REFRESH_REQUIRED",
            "S3:NO_LOGGING_STATUS_FOR_KEY",
            "S3:RESTORE_ALREADY_IN_PROGRESS",
            "S3:INVALID_OBJECT_STATE",
            "S3:CONNECTIVITY",
            "S3:INVALID_ENCRYPTION_ALGORITHM_ERROR",
            "S3:PERMANENT_REDIRECT",
            "S3:INVALID_REQUEST",
            "S3:INCORRECT_NUMBER_OF_FILES_IN_POST_REQUEST",
            "S3:UNKNOWN",
            "S3:MALFORMED_ACL_ERROR",
            "S3:CREDENTIALS_NOT_SUPPORTED",
            "S3:NOT_IMPLEMENTED",
            "S3:INVALID_ARGUMENT",
            "S3:INVALID_TARGET_BUCKET_FOR_LOGGING",
            "S3:NO_SUCH_UPLOAD",
            "S3:INTERNAL_ERROR",
            "S3:SLOW_DOWN",
            "S3:ENTITY_TOO_LARGE",
            "S3:METHOD_NOT_ALLOWED",
            "S3:EXPIRED_TOKEN",
            "S3:MISSING_SECURITY_HEADER",
            "S3:BUCKET_ALREADY_OWNED_BY_YOU",
            "S3:INCOMPLETE_BODY"
          ],
          "stereotype": {
            "type": "PROCESSOR",
            "namespace": "MULE"
          },
          "parameterGroupModels": [
            {
              "parameters": [
                {
                  "type": {
                    "format": "java",
                    "type": "String"
                  },
                  "hasDynamicType": false,
                  "required": true,
                  "isConfigOverride": false,
                  "expressionSupport": "SUPPORTED",
                  "role": "BEHAVIOUR",
                  "dslConfiguration": {
                    "allowsInlineDefinition": true,
                    "allowsReferences": true,
                    "allowTopLevelDefinition": false
                  },
                  "layoutModel": {
                    "password": false,
                    "text": false,
                    "query": false,
                    "order": 1
                  },
                  "allowedStereotypeModels": [],
                  "name": "bucketName",
                  "description": "The name of the Amazon S3 bucket whose notification configuration is being set.",
                  "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.extension.s3.api.model.TopicConfiguration"
                        ],
                        "isMap": true
                      }
                    },
                    "open": {
                      "type": "@ref:org.mule.extension.s3.api.model.TopicConfiguration"
                    },
                    "fields": []
                  },
                  "hasDynamicType": true,
                  "required": false,
                  "isConfigOverride": false,
                  "expressionSupport": "SUPPORTED",
                  "defaultValue": "#[payload]",
                  "role": "PRIMARY_CONTENT",
                  "dslConfiguration": {
                    "allowsInlineDefinition": true,
                    "allowsReferences": false,
                    "allowTopLevelDefinition": false
                  },
                  "layoutModel": {
                    "password": false,
                    "text": false,
                    "query": false,
                    "order": 2
                  },
                  "allowedStereotypeModels": [],
                  "name": "topicConfigurations",
                  "displayModel": {
                    "summary": "The request object containing all options for setting the bucket notification configuration."
                  },
                  "description": "The request object containing all options for setting the bucket notification configuration.",
                  "modelProperties": {}
                }
              ],
              "exclusiveParametersModels": [],
              "layoutModel": {
                "password": false,
                "text": false,
                "query": false,
                "order": 1
              },
              "showInDsl": false,
              "name": "General",
              "description": "",
              "modelProperties": {}
            },
            {
              "parameters": [
                {
                  "type": {
                    "format": "java",
                    "type": "Union",
                    "annotations": {
                      "typeId": "ReconnectionStrategy"
                    },
                    "of": [
                      {
                        "type": "Object",
                        "annotations": {
                          "typeId": "reconnect"
                        },
                        "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": [
                                    "java.lang.Comparable"
                                  ],
                                  "parent": "java.lang.Number",
                                  "genericTypes": [],
                                  "isMap": false
                                },
                                "default": "2000"
                              }
                            },
                            "annotations": {
                              "description": {
                                "value": "How often (in ms) to reconnect"
                              }
                            }
                          },
                          {
                            "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"
                        },
                        "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": [
                                    "java.lang.Comparable"
                                  ],
                                  "parent": "java.lang.Number",
                                  "genericTypes": [],
                                  "isMap": false
                                },
                                "default": "2000"
                              }
                            },
                            "annotations": {
                              "description": {
                                "value": "How often (in ms) to reconnect"
                              }
                            }
                          }
                        ]
                      }
                    ]
                  },
                  "hasDynamicType": false,
                  "required": false,
                  "isConfigOverride": false,
                  "expressionSupport": "NOT_SUPPORTED",
                  "role": "BEHAVIOUR",
                  "dslConfiguration": {
                    "allowsInlineDefinition": true,
                    "allowsReferences": false,
                    "allowTopLevelDefinition": false
                  },
                  "layoutModel": {
                    "password": false,
                    "text": false,
                    "query": false,
                    "order": 3,
                    "tabName": "Advanced"
                  },
                  "allowedStereotypeModels": [],
                  "name": "reconnectionStrategy",
                  "description": "A retry strategy in case of connectivity errors",
                  "modelProperties": {
                    "org.mule.runtime.extension.api.property.QNameModelProperty": {
                      "value": {
                        "namespaceURI": "http://www.mulesoft.org/schema/mule/core",
                        "localPart": "abstract-reconnection-strategy",
                        "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": "setBucketNotificationConfiguration",
          "description": "Sets the notification configuration for the specified bucket. By default, new buckets have no notification configuration set.",
          "modelProperties": {},
          "kind": "operation"
        },
        {
          "blocking": true,
          "executionType": "BLOCKING",
          "output": {
            "type": {
              "format": "java",
              "type": "Void"
            },
            "hasDynamicType": false,
            "description": "",
            "modelProperties": {}
          },
          "outputAttributes": {
            "type": {
              "format": "java",
              "type": "Void"
            },
            "hasDynamicType": false,
            "description": "",
            "modelProperties": {}
          },
          "transactional": false,
          "requiresConnection": true,
          "supportsStreaming": false,
          "notifications": [],
          "nestedComponents": [],
          "errors": [
            "S3:INVALID_RANGE",
            "S3:SERVICE_UNAVAILABLE",
            "S3:REQUEST_TIME_TOO_SKEWED",
            "S3:REDIRECT",
            "S3:INVALID_STORAGE_CLASS",
            "S3:MAX_MESSAGE_LENGTH_EXCEEDED",
            "S3:REQUEST_IS_NOT_MULTI_PART_CONTENT",
            "S3:UNEXPECTED_CONTENT",
            "S3:ENTITY_TOO_SMALL",
            "S3:NO_SUCH_BUCKET",
            "S3:INVALID_PART",
            "S3:INVALID_SOAP_REQUEST",
            "S3:NO_SUCH_VERSION",
            "S3:METADATA_TOO_LARGE",
            "S3:PRECONDITION_FAILED",
            "S3:BUCKET_ALREADY_EXISTS",
            "S3:AMBIGUOUS_GRANT_BY_EMAIL_ADDRESS",
            "S3:MISSING_SECURITY_ELEMENT",
            "S3:INVALID_URI",
            "S3:NOT_SIGNED_UP",
            "S3:INVALID_ADDRESSING_HEADER",
            "S3:MAX_POST_PRE_DATA_LENGTH_EXCEEDED_ERROR",
            "S3:ILLEGAL_VERSIONING_CONFIGURATION_EXCEPTION",
            "S3:INVALID_PAYER",
            "S3:NO_SUCH_BUCKET_POLICY",
            "S3:INVALID_SECURITY",
            "S3:OPERATION_ABORTED",
            "S3:INVALID_ACCESS_KEY_ID",
            "S3:INVALID_LOCATION_CONSTRAINT",
            "S3:INLINE_DATA_TOO_LARGE",
            "S3:SIGNATURE_DOES_NOT_MATCH",
            "S3:UNRESOLVABLE_GRANT_BY_EMAIL_ADDRESS",
            "S3:NO_SUCH_LIFECYCLE_CONFIGURATION",
            "S3:KEY_TOO_LONG",
            "S3:INVALID_BUCKET_NAME",
            "S3:INVALID_TOKEN",
            "S3:TEMPORARY_REDIRECT",
            "S3:BUCKET_NOT_EMPTY",
            "S3:BAD_DIGEST",
            "S3:CROSS_LOCATION_LOGGING_PROHIBITED",
            "S3:MALFORMED_POST_REQUEST",
            "S3:REQUEST_TIMEOUT",
            "S3:TOO_MANY_BUCKETS",
            "S3:NO_SUCH_KEY",
            "S3:MISSING_ATTACHMENT",
            "S3:INVALID_BUCKET_STATE",
            "S3:RETRY_EXHAUSTED",
            "S3:INVALID_PART_ORDER",
            "S3:INVALID_RESPONSE_PRESIGNEDURL_MALFORMED",
            "S3:INVALID_POLICY_DOCUMENT",
            "S3:MALFORMED_XML",
            "S3:ACCOUNT_PROBLEM",
            "S3:USER_KEY_MUST_BE_SPECIFIED",
            "S3:MISSING_CONTENT_LENGTH",
            "S3:INVALID_DIGEST",
            "S3:ACCESS_DENIED",
            "S3:MISSING_REQUEST_BODY_ERROR",
            "S3:REQUEST_TORRENT_OF_BUCKET_ERROR",
            "S3:TOKEN_REFRESH_REQUIRED",
            "S3:NO_LOGGING_STATUS_FOR_KEY",
            "S3:RESTORE_ALREADY_IN_PROGRESS",
            "S3:INVALID_OBJECT_STATE",
            "S3:CONNECTIVITY",
            "S3:INVALID_ENCRYPTION_ALGORITHM_ERROR",
            "S3:PERMANENT_REDIRECT",
            "S3:INVALID_REQUEST",
            "S3:INCORRECT_NUMBER_OF_FILES_IN_POST_REQUEST",
            "S3:UNKNOWN",
            "S3:MALFORMED_ACL_ERROR",
            "S3:CREDENTIALS_NOT_SUPPORTED",
            "S3:NOT_IMPLEMENTED",
            "S3:INVALID_ARGUMENT",
            "S3:INVALID_TARGET_BUCKET_FOR_LOGGING",
            "S3:NO_SUCH_UPLOAD",
            "S3:INTERNAL_ERROR",
            "S3:SLOW_DOWN",
            "S3:ENTITY_TOO_LARGE",
            "S3:METHOD_NOT_ALLOWED",
            "S3:EXPIRED_TOKEN",
            "S3:MISSING_SECURITY_HEADER",
            "S3:BUCKET_ALREADY_OWNED_BY_YOU",
            "S3:INCOMPLETE_BODY"
          ],
          "stereotype": {
            "type": "PROCESSOR",
            "namespace": "MULE"
          },
          "parameterGroupModels": [
            {
              "parameters": [
                {
                  "type": {
                    "format": "java",
                    "type": "String"
                  },
                  "hasDynamicType": false,
                  "required": true,
                  "isConfigOverride": false,
                  "expressionSupport": "SUPPORTED",
                  "role": "BEHAVIOUR",
                  "dslConfiguration": {
                    "allowsInlineDefinition": true,
                    "allowsReferences": true,
                    "allowTopLevelDefinition": false
                  },
                  "layoutModel": {
                    "password": false,
                    "text": false,
                    "query": false,
                    "order": 1
                  },
                  "allowedStereotypeModels": [],
                  "name": "bucketName",
                  "description": "the bucket name",
                  "modelProperties": {}
                },
                {
                  "type": {
                    "format": "java",
                    "type": "String"
                  },
                  "hasDynamicType": false,
                  "required": false,
                  "isConfigOverride": false,
                  "expressionSupport": "SUPPORTED",
                  "defaultValue": "#[payload]",
                  "role": "PRIMARY_CONTENT",
                  "dslConfiguration": {
                    "allowsInlineDefinition": true,
                    "allowsReferences": false,
                    "allowTopLevelDefinition": false
                  },
                  "layoutModel": {
                    "password": false,
                    "text": true,
                    "query": false,
                    "order": 2
                  },
                  "allowedStereotypeModels": [],
                  "name": "policyText",
                  "description": "the policy text",
                  "modelProperties": {}
                }
              ],
              "exclusiveParametersModels": [],
              "layoutModel": {
                "password": false,
                "text": false,
                "query": false,
                "order": 1
              },
              "showInDsl": false,
              "name": "General",
              "description": "",
              "modelProperties": {}
            },
            {
              "parameters": [
                {
                  "type": {
                    "format": "java",
                    "type": "Union",
                    "annotations": {
                      "typeId": "ReconnectionStrategy"
                    },
                    "of": [
                      {
                        "type": "Object",
                        "annotations": {
                          "typeId": "reconnect"
                        },
                        "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": [
                                    "java.lang.Comparable"
                                  ],
                                  "parent": "java.lang.Number",
                                  "genericTypes": [],
                                  "isMap": false
                                },
                                "default": "2000"
                              }
                            },
                            "annotations": {
                              "description": {
                                "value": "How often (in ms) to reconnect"
                              }
                            }
                          },
                          {
                            "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"
                        },
                        "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": [
                                    "java.lang.Comparable"
                                  ],
                                  "parent": "java.lang.Number",
                                  "genericTypes": [],
                                  "isMap": false
                                },
                                "default": "2000"
                              }
                            },
                            "annotations": {
                              "description": {
                                "value": "How often (in ms) to reconnect"
                              }
                            }
                          }
                        ]
                      }
                    ]
                  },
                  "hasDynamicType": false,
                  "required": false,
                  "isConfigOverride": false,
                  "expressionSupport": "NOT_SUPPORTED",
                  "role": "BEHAVIOUR",
                  "dslConfiguration": {
                    "allowsInlineDefinition": true,
                    "allowsReferences": false,
                    "allowTopLevelDefinition": false
                  },
                  "layoutModel": {
                    "password": false,
                    "text": false,
                    "query": false,
                    "order": 3,
                    "tabName": "Advanced"
                  },
                  "allowedStereotypeModels": [],
                  "name": "reconnectionStrategy",
                  "description": "A retry strategy in case of connectivity errors",
                  "modelProperties": {
                    "org.mule.runtime.extension.api.property.QNameModelProperty": {
                      "value": {
                        "namespaceURI": "http://www.mulesoft.org/schema/mule/core",
                        "localPart": "abstract-reconnection-strategy",
                        "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": "setBucketPolicy",
          "description": "Sets the bucket\u0027s policy, overriding any previously set. Only the owner of the bucket can set a bucket policy. Bucket policies provide access control management at the bucket level for both the bucket resource and contained object resources. Only one policy can be specified per-bucket.",
          "modelProperties": {},
          "kind": "operation"
        },
        {
          "blocking": true,
          "executionType": "BLOCKING",
          "output": {
            "type": {
              "format": "java",
              "type": "Void"
            },
            "hasDynamicType": false,
            "description": "",
            "modelProperties": {}
          },
          "outputAttributes": {
            "type": {
              "format": "java",
              "type": "Void"
            },
            "hasDynamicType": false,
            "description": "",
            "modelProperties": {}
          },
          "transactional": false,
          "requiresConnection": true,
          "supportsStreaming": false,
          "notifications": [],
          "nestedComponents": [],
          "errors": [
            "S3:INVALID_RANGE",
            "S3:SERVICE_UNAVAILABLE",
            "S3:REQUEST_TIME_TOO_SKEWED",
            "S3:REDIRECT",
            "S3:INVALID_STORAGE_CLASS",
            "S3:MAX_MESSAGE_LENGTH_EXCEEDED",
            "S3:REQUEST_IS_NOT_MULTI_PART_CONTENT",
            "S3:UNEXPECTED_CONTENT",
            "S3:ENTITY_TOO_SMALL",
            "S3:NO_SUCH_BUCKET",
            "S3:INVALID_PART",
            "S3:INVALID_SOAP_REQUEST",
            "S3:NO_SUCH_VERSION",
            "S3:METADATA_TOO_LARGE",
            "S3:PRECONDITION_FAILED",
            "S3:BUCKET_ALREADY_EXISTS",
            "S3:AMBIGUOUS_GRANT_BY_EMAIL_ADDRESS",
            "S3:MISSING_SECURITY_ELEMENT",
            "S3:INVALID_URI",
            "S3:NOT_SIGNED_UP",
            "S3:INVALID_ADDRESSING_HEADER",
            "S3:MAX_POST_PRE_DATA_LENGTH_EXCEEDED_ERROR",
            "S3:ILLEGAL_VERSIONING_CONFIGURATION_EXCEPTION",
            "S3:INVALID_PAYER",
            "S3:NO_SUCH_BUCKET_POLICY",
            "S3:INVALID_SECURITY",
            "S3:OPERATION_ABORTED",
            "S3:INVALID_ACCESS_KEY_ID",
            "S3:INVALID_LOCATION_CONSTRAINT",
            "S3:INLINE_DATA_TOO_LARGE",
            "S3:SIGNATURE_DOES_NOT_MATCH",
            "S3:UNRESOLVABLE_GRANT_BY_EMAIL_ADDRESS",
            "S3:NO_SUCH_LIFECYCLE_CONFIGURATION",
            "S3:KEY_TOO_LONG",
            "S3:INVALID_BUCKET_NAME",
            "S3:INVALID_TOKEN",
            "S3:TEMPORARY_REDIRECT",
            "S3:BUCKET_NOT_EMPTY",
            "S3:BAD_DIGEST",
            "S3:CROSS_LOCATION_LOGGING_PROHIBITED",
            "S3:MALFORMED_POST_REQUEST",
            "S3:REQUEST_TIMEOUT",
            "S3:TOO_MANY_BUCKETS",
            "S3:NO_SUCH_KEY",
            "S3:MISSING_ATTACHMENT",
            "S3:INVALID_BUCKET_STATE",
            "S3:RETRY_EXHAUSTED",
            "S3:INVALID_PART_ORDER",
            "S3:INVALID_RESPONSE_PRESIGNEDURL_MALFORMED",
            "S3:INVALID_POLICY_DOCUMENT",
            "S3:MALFORMED_XML",
            "S3:ACCOUNT_PROBLEM",
            "S3:USER_KEY_MUST_BE_SPECIFIED",
            "S3:MISSING_CONTENT_LENGTH",
            "S3:INVALID_DIGEST",
            "S3:ACCESS_DENIED",
            "S3:MISSING_REQUEST_BODY_ERROR",
            "S3:REQUEST_TORRENT_OF_BUCKET_ERROR",
            "S3:TOKEN_REFRESH_REQUIRED",
            "S3:NO_LOGGING_STATUS_FOR_KEY",
            "S3:RESTORE_ALREADY_IN_PROGRESS",
            "S3:INVALID_OBJECT_STATE",
            "S3:CONNECTIVITY",
            "S3:INVALID_ENCRYPTION_ALGORITHM_ERROR",
            "S3:PERMANENT_REDIRECT",
            "S3:INVALID_REQUEST",
            "S3:INCORRECT_NUMBER_OF_FILES_IN_POST_REQUEST",
            "S3:UNKNOWN",
            "S3:MALFORMED_ACL_ERROR",
            "S3:CREDENTIALS_NOT_SUPPORTED",
            "S3:NOT_IMPLEMENTED",
            "S3:INVALID_ARGUMENT",
            "S3:INVALID_TARGET_BUCKET_FOR_LOGGING",
            "S3:NO_SUCH_UPLOAD",
            "S3:INTERNAL_ERROR",
            "S3:SLOW_DOWN",
            "S3:ENTITY_TOO_LARGE",
            "S3:METHOD_NOT_ALLOWED",
            "S3:EXPIRED_TOKEN",
            "S3:MISSING_SECURITY_HEADER",
            "S3:BUCKET_ALREADY_OWNED_BY_YOU",
            "S3:INCOMPLETE_BODY"
          ],
          "stereotype": {
            "type": "PROCESSOR",
            "namespace": "MULE"
          },
          "parameterGroupModels": [
            {
              "parameters": [
                {
                  "type": {
                    "format": "java",
                    "type": "String"
                  },
                  "hasDynamicType": false,
                  "required": true,
                  "isConfigOverride": false,
                  "expressionSupport": "SUPPORTED",
                  "role": "BEHAVIOUR",
                  "dslConfiguration": {
                    "allowsInlineDefinition": true,
                    "allowsReferences": true,
                    "allowTopLevelDefinition": false
                  },
                  "layoutModel": {
                    "password": false,
                    "text": false,
                    "query": false,
                    "order": 1
                  },
                  "allowedStereotypeModels": [],
                  "name": "bucketName",
                  "description": "the bucket name",
                  "modelProperties": {}
                },
                {
                  "type": {
                    "format": "java",
                    "type": "Array",
                    "annotations": {
                      "classInformation": {
                        "classname": "java.util.List",
                        "hasDefaultConstructor": false,
                        "isInterface": true,
                        "isInstantiable": false,
                        "isAbstract": true,
                        "isFinal": false,
                        "implementedInterfaces": [
                          "java.util.Collection"
                        ],
                        "parent": "",
                        "genericTypes": [
                          "java.util.Map"
                        ],
                        "isMap": false
                      }
                    },
                    "item": {
                      "type": "Object",
                      "annotations": {
                        "classInformation": {
                          "classname": "java.util.Map",
                          "hasDefaultConstructor": false,
                          "isInterface": true,
                          "isInstantiable": false,
                          "isAbstract": true,
                          "isFinal": false,
                          "implementedInterfaces": [],
                          "parent": "",
                          "genericTypes": [
                            "java.lang.String",
                            "java.lang.String"
                          ],
                          "isMap": true
                        }
                      },
                      "open": {
                        "type": "String"
                      },
                      "fields": []
                    }
                  },
                  "hasDynamicType": false,
                  "required": false,
                  "isConfigOverride": false,
                  "expressionSupport": "SUPPORTED",
                  "defaultValue": "#[payload]",
                  "role": "PRIMARY_CONTENT",
                  "dslConfiguration": {
                    "allowsInlineDefinition": true,
                    "allowsReferences": false,
                    "allowTopLevelDefinition": false
                  },
                  "layoutModel": {
                    "password": false,
                    "text": false,
                    "query": false,
                    "order": 2
                  },
                  "allowedStereotypeModels": [],
                  "name": "tagSets",
                  "description": "a set of tags",
                  "modelProperties": {}
                }
              ],
              "exclusiveParametersModels": [],
              "layoutModel": {
                "password": false,
                "text": false,
                "query": false,
                "order": 1
              },
              "showInDsl": false,
              "name": "General",
              "description": "",
              "modelProperties": {}
            },
            {
              "parameters": [
                {
                  "type": {
                    "format": "java",
                    "type": "Union",
                    "annotations": {
                      "typeId": "ReconnectionStrategy"
                    },
                    "of": [
                      {
                        "type": "Object",
                        "annotations": {
                          "typeId": "reconnect"
                        },
                        "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": [
                                    "java.lang.Comparable"
                                  ],
                                  "parent": "java.lang.Number",
                                  "genericTypes": [],
                                  "isMap": false
                                },
                                "default": "2000"
                              }
                            },
                            "annotations": {
                              "description": {
                                "value": "How often (in ms) to reconnect"
                              }
                            }
                          },
                          {
                            "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"
                        },
                        "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": [
                                    "java.lang.Comparable"
                                  ],
                                  "parent": "java.lang.Number",
                                  "genericTypes": [],
                                  "isMap": false
                                },
                                "default": "2000"
                              }
                            },
                            "annotations": {
                              "description": {
                                "value": "How often (in ms) to reconnect"
                              }
                            }
                          }
                        ]
                      }
                    ]
                  },
                  "hasDynamicType": false,
                  "required": false,
                  "isConfigOverride": false,
                  "expressionSupport": "NOT_SUPPORTED",
                  "role": "BEHAVIOUR",
                  "dslConfiguration": {
                    "allowsInlineDefinition": true,
                    "allowsReferences": false,
                    "allowTopLevelDefinition": false
                  },
                  "layoutModel": {
                    "password": false,
                    "text": false,
                    "query": false,
                    "order": 3,
                    "tabName": "Advanced"
                  },
                  "allowedStereotypeModels": [],
                  "name": "reconnectionStrategy",
                  "description": "A retry strategy in case of connectivity errors",
                  "modelProperties": {
                    "org.mule.runtime.extension.api.property.QNameModelProperty": {
                      "value": {
                        "namespaceURI": "http://www.mulesoft.org/schema/mule/core",
                        "localPart": "abstract-reconnection-strategy",
                        "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": "setBucketTaggingConfiguration",
          "description": "Add a set of tags to an existing bucket",
          "modelProperties": {},
          "kind": "operation"
        },
        {
          "blocking": true,
          "executionType": "BLOCKING",
          "output": {
            "type": {
              "format": "java",
              "type": "Void"
            },
            "hasDynamicType": false,
            "description": "",
            "modelProperties": {}
          },
          "outputAttributes": {
            "type": {
              "format": "java",
              "type": "Void"
            },
            "hasDynamicType": false,
            "description": "",
            "modelProperties": {}
          },
          "transactional": false,
          "requiresConnection": true,
          "supportsStreaming": false,
          "notifications": [],
          "nestedComponents": [],
          "errors": [
            "S3:INVALID_RANGE",
            "S3:SERVICE_UNAVAILABLE",
            "S3:REQUEST_TIME_TOO_SKEWED",
            "S3:REDIRECT",
            "S3:INVALID_STORAGE_CLASS",
            "S3:MAX_MESSAGE_LENGTH_EXCEEDED",
            "S3:REQUEST_IS_NOT_MULTI_PART_CONTENT",
            "S3:UNEXPECTED_CONTENT",
            "S3:ENTITY_TOO_SMALL",
            "S3:NO_SUCH_BUCKET",
            "S3:INVALID_PART",
            "S3:INVALID_SOAP_REQUEST",
            "S3:NO_SUCH_VERSION",
            "S3:METADATA_TOO_LARGE",
            "S3:PRECONDITION_FAILED",
            "S3:BUCKET_ALREADY_EXISTS",
            "S3:AMBIGUOUS_GRANT_BY_EMAIL_ADDRESS",
            "S3:MISSING_SECURITY_ELEMENT",
            "S3:INVALID_URI",
            "S3:NOT_SIGNED_UP",
            "S3:INVALID_ADDRESSING_HEADER",
            "S3:MAX_POST_PRE_DATA_LENGTH_EXCEEDED_ERROR",
            "S3:ILLEGAL_VERSIONING_CONFIGURATION_EXCEPTION",
            "S3:INVALID_PAYER",
            "S3:NO_SUCH_BUCKET_POLICY",
            "S3:INVALID_SECURITY",
            "S3:OPERATION_ABORTED",
            "S3:INVALID_ACCESS_KEY_ID",
            "S3:INVALID_LOCATION_CONSTRAINT",
            "S3:INLINE_DATA_TOO_LARGE",
            "S3:SIGNATURE_DOES_NOT_MATCH",
            "S3:UNRESOLVABLE_GRANT_BY_EMAIL_ADDRESS",
            "S3:NO_SUCH_LIFECYCLE_CONFIGURATION",
            "S3:KEY_TOO_LONG",
            "S3:INVALID_BUCKET_NAME",
            "S3:INVALID_TOKEN",
            "S3:TEMPORARY_REDIRECT",
            "S3:BUCKET_NOT_EMPTY",
            "S3:BAD_DIGEST",
            "S3:CROSS_LOCATION_LOGGING_PROHIBITED",
            "S3:MALFORMED_POST_REQUEST",
            "S3:REQUEST_TIMEOUT",
            "S3:TOO_MANY_BUCKETS",
            "S3:NO_SUCH_KEY",
            "S3:MISSING_ATTACHMENT",
            "S3:INVALID_BUCKET_STATE",
            "S3:RETRY_EXHAUSTED",
            "S3:INVALID_PART_ORDER",
            "S3:INVALID_RESPONSE_PRESIGNEDURL_MALFORMED",
            "S3:INVALID_POLICY_DOCUMENT",
            "S3:MALFORMED_XML",
            "S3:ACCOUNT_PROBLEM",
            "S3:USER_KEY_MUST_BE_SPECIFIED",
            "S3:MISSING_CONTENT_LENGTH",
            "S3:INVALID_DIGEST",
            "S3:ACCESS_DENIED",
            "S3:MISSING_REQUEST_BODY_ERROR",
            "S3:REQUEST_TORRENT_OF_BUCKET_ERROR",
            "S3:TOKEN_REFRESH_REQUIRED",
            "S3:NO_LOGGING_STATUS_FOR_KEY",
            "S3:RESTORE_ALREADY_IN_PROGRESS",
            "S3:INVALID_OBJECT_STATE",
            "S3:CONNECTIVITY",
            "S3:INVALID_ENCRYPTION_ALGORITHM_ERROR",
            "S3:PERMANENT_REDIRECT",
            "S3:INVALID_REQUEST",
            "S3:INCORRECT_NUMBER_OF_FILES_IN_POST_REQUEST",
            "S3:UNKNOWN",
            "S3:MALFORMED_ACL_ERROR",
            "S3:CREDENTIALS_NOT_SUPPORTED",
            "S3:NOT_IMPLEMENTED",
            "S3:INVALID_ARGUMENT",
            "S3:INVALID_TARGET_BUCKET_FOR_LOGGING",
            "S3:NO_SUCH_UPLOAD",
            "S3:INTERNAL_ERROR",
            "S3:SLOW_DOWN",
            "S3:ENTITY_TOO_LARGE",
            "S3:METHOD_NOT_ALLOWED",
            "S3:EXPIRED_TOKEN",
            "S3:MISSING_SECURITY_HEADER",
            "S3:BUCKET_ALREADY_OWNED_BY_YOU",
            "S3:INCOMPLETE_BODY"
          ],
          "stereotype": {
            "type": "PROCESSOR",
            "namespace": "MULE"
          },
          "parameterGroupModels": [
            {
              "parameters": [
                {
                  "type": {
                    "format": "java",
                    "type": "String"
                  },
                  "hasDynamicType": false,
                  "required": true,
                  "isConfigOverride": false,
                  "expressionSupport": "SUPPORTED",
                  "role": "BEHAVIOUR",
                  "dslConfiguration": {
                    "allowsInlineDefinition": true,
                    "allowsReferences": true,
                    "allowTopLevelDefinition": false
                  },
                  "layoutModel": {
                    "password": false,
                    "text": false,
                    "query": false,
                    "order": 1
                  },
                  "allowedStereotypeModels": [],
                  "name": "bucketName",
                  "description": "the bucket name",
                  "modelProperties": {}
                },
                {
                  "type": {
                    "format": "java",
                    "type": "String",
                    "annotations": {
                      "typeId": "org.mule.extension.s3.api.model.VersioningStatus",
                      "enum": {
                        "type": "[Ljava.lang.String;",
                        "values": [
                          "OFF",
                          "ENABLED",
                          "SUSPENDED"
                        ]
                      }
                    }
                  },
                  "hasDynamicType": false,
                  "required": false,
                  "isConfigOverride": false,
                  "expressionSupport": "SUPPORTED",
                  "defaultValue": "#[payload]",
                  "role": "PRIMARY_CONTENT",
                  "dslConfiguration": {
                    "allowsInlineDefinition": true,
                    "allowsReferences": false,
                    "allowTopLevelDefinition": false
                  },
                  "layoutModel": {
                    "password": false,
                    "text": false,
                    "query": false,
                    "order": 2
                  },
                  "allowedStereotypeModels": [],
                  "name": "versioningStatus",
                  "description": "The configuration to set.",
                  "modelProperties": {}
                }
              ],
              "exclusiveParametersModels": [],
              "layoutModel": {
                "password": false,
                "text": false,
                "query": false,
                "order": 1
              },
              "showInDsl": false,
              "name": "General",
              "description": "",
              "modelProperties": {}
            },
            {
              "parameters": [
                {
                  "type": {
                    "format": "java",
                    "type": "Union",
                    "annotations": {
                      "typeId": "ReconnectionStrategy"
                    },
                    "of": [
                      {
                        "type": "Object",
                        "annotations": {
                          "typeId": "reconnect"
                        },
                        "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": [
                                    "java.lang.Comparable"
                                  ],
                                  "parent": "java.lang.Number",
                                  "genericTypes": [],
                                  "isMap": false
                                },
                                "default": "2000"
                              }
                            },
                            "annotations": {
                              "description": {
                                "value": "How often (in ms) to reconnect"
                              }
                            }
                          },
                          {
                            "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"
                        },
                        "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": [
                                    "java.lang.Comparable"
                                  ],
                                  "parent": "java.lang.Number",
                                  "genericTypes": [],
                                  "isMap": false
                                },
                                "default": "2000"
                              }
                            },
                            "annotations": {
                              "description": {
                                "value": "How often (in ms) to reconnect"
                              }
                            }
                          }
                        ]
                      }
                    ]
                  },
                  "hasDynamicType": false,
                  "required": false,
                  "isConfigOverride": false,
                  "expressionSupport": "NOT_SUPPORTED",
                  "role": "BEHAVIOUR",
                  "dslConfiguration": {
                    "allowsInlineDefinition": true,
                    "allowsReferences": false,
                    "allowTopLevelDefinition": false
                  },
                  "layoutModel": {
                    "password": false,
                    "text": false,
                    "query": false,
                    "order": 3,
                    "tabName": "Advanced"
                  },
                  "allowedStereotypeModels": [],
                  "name": "reconnectionStrategy",
                  "description": "A retry strategy in case of connectivity errors",
                  "modelProperties": {
                    "org.mule.runtime.extension.api.property.QNameModelProperty": {
                      "value": {
                        "namespaceURI": "http://www.mulesoft.org/schema/mule/core",
                        "localPart": "abstract-reconnection-strategy",
                        "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": "setBucketVersioningConfiguration",
          "description": "Sets the versioning status for the given bucket. A bucket\u0027s versioning configuration can be in one of three possible states: Off, Enabled and Suspended. By default, new buckets are in the Off state. Once versioning is enabled for a bucket the status can never be reverted to Off.",
          "modelProperties": {},
          "kind": "operation"
        },
        {
          "blocking": true,
          "executionType": "BLOCKING",
          "output": {
            "type": {
              "format": "java",
              "type": "Void"
            },
            "hasDynamicType": false,
            "description": "",
            "modelProperties": {}
          },
          "outputAttributes": {
            "type": {
              "format": "java",
              "type": "Void"
            },
            "hasDynamicType": false,
            "description": "",
            "modelProperties": {}
          },
          "transactional": false,
          "requiresConnection": true,
          "supportsStreaming": false,
          "notifications": [],
          "nestedComponents": [],
          "errors": [
            "S3:INVALID_RANGE",
            "S3:SERVICE_UNAVAILABLE",
            "S3:REQUEST_TIME_TOO_SKEWED",
            "S3:REDIRECT",
            "S3:INVALID_STORAGE_CLASS",
            "S3:MAX_MESSAGE_LENGTH_EXCEEDED",
            "S3:REQUEST_IS_NOT_MULTI_PART_CONTENT",
            "S3:UNEXPECTED_CONTENT",
            "S3:ENTITY_TOO_SMALL",
            "S3:NO_SUCH_BUCKET",
            "S3:INVALID_PART",
            "S3:INVALID_SOAP_REQUEST",
            "S3:NO_SUCH_VERSION",
            "S3:METADATA_TOO_LARGE",
            "S3:PRECONDITION_FAILED",
            "S3:BUCKET_ALREADY_EXISTS",
            "S3:AMBIGUOUS_GRANT_BY_EMAIL_ADDRESS",
            "S3:MISSING_SECURITY_ELEMENT",
            "S3:INVALID_URI",
            "S3:NOT_SIGNED_UP",
            "S3:INVALID_ADDRESSING_HEADER",
            "S3:MAX_POST_PRE_DATA_LENGTH_EXCEEDED_ERROR",
            "S3:ILLEGAL_VERSIONING_CONFIGURATION_EXCEPTION",
            "S3:INVALID_PAYER",
            "S3:NO_SUCH_BUCKET_POLICY",
            "S3:INVALID_SECURITY",
            "S3:OPERATION_ABORTED",
            "S3:INVALID_ACCESS_KEY_ID",
            "S3:INVALID_LOCATION_CONSTRAINT",
            "S3:INLINE_DATA_TOO_LARGE",
            "S3:SIGNATURE_DOES_NOT_MATCH",
            "S3:UNRESOLVABLE_GRANT_BY_EMAIL_ADDRESS",
            "S3:NO_SUCH_LIFECYCLE_CONFIGURATION",
            "S3:KEY_TOO_LONG",
            "S3:INVALID_BUCKET_NAME",
            "S3:INVALID_TOKEN",
            "S3:TEMPORARY_REDIRECT",
            "S3:BUCKET_NOT_EMPTY",
            "S3:BAD_DIGEST",
            "S3:CROSS_LOCATION_LOGGING_PROHIBITED",
            "S3:MALFORMED_POST_REQUEST",
            "S3:REQUEST_TIMEOUT",
            "S3:TOO_MANY_BUCKETS",
            "S3:NO_SUCH_KEY",
            "S3:MISSING_ATTACHMENT",
            "S3:INVALID_BUCKET_STATE",
            "S3:RETRY_EXHAUSTED",
            "S3:INVALID_PART_ORDER",
            "S3:INVALID_RESPONSE_PRESIGNEDURL_MALFORMED",
            "S3:INVALID_POLICY_DOCUMENT",
            "S3:MALFORMED_XML",
            "S3:ACCOUNT_PROBLEM",
            "S3:USER_KEY_MUST_BE_SPECIFIED",
            "S3:MISSING_CONTENT_LENGTH",
            "S3:INVALID_DIGEST",
            "S3:ACCESS_DENIED",
            "S3:MISSING_REQUEST_BODY_ERROR",
            "S3:REQUEST_TORRENT_OF_BUCKET_ERROR",
            "S3:TOKEN_REFRESH_REQUIRED",
            "S3:NO_LOGGING_STATUS_FOR_KEY",
            "S3:RESTORE_ALREADY_IN_PROGRESS",
            "S3:INVALID_OBJECT_STATE",
            "S3:CONNECTIVITY",
            "S3:INVALID_ENCRYPTION_ALGORITHM_ERROR",
            "S3:PERMANENT_REDIRECT",
            "S3:INVALID_REQUEST",
            "S3:INCORRECT_NUMBER_OF_FILES_IN_POST_REQUEST",
            "S3:UNKNOWN",
            "S3:MALFORMED_ACL_ERROR",
            "S3:CREDENTIALS_NOT_SUPPORTED",
            "S3:NOT_IMPLEMENTED",
            "S3:INVALID_ARGUMENT",
            "S3:INVALID_TARGET_BUCKET_FOR_LOGGING",
            "S3:NO_SUCH_UPLOAD",
            "S3:INTERNAL_ERROR",
            "S3:SLOW_DOWN",
            "S3:ENTITY_TOO_LARGE",
            "S3:METHOD_NOT_ALLOWED",
            "S3:EXPIRED_TOKEN",
            "S3:MISSING_SECURITY_HEADER",
            "S3:BUCKET_ALREADY_OWNED_BY_YOU",
            "S3:INCOMPLETE_BODY"
          ],
          "stereotype": {
            "type": "PROCESSOR",
            "namespace": "MULE"
          },
          "parameterGroupModels": [
            {
              "parameters": [
                {
                  "type": {
                    "format": "java",
                    "type": "String"
                  },
                  "hasDynamicType": false,
                  "required": true,
                  "isConfigOverride": false,
                  "expressionSupport": "SUPPORTED",
                  "role": "BEHAVIOUR",
                  "dslConfiguration": {
                    "allowsInlineDefinition": true,
                    "allowsReferences": true,
                    "allowTopLevelDefinition": false
                  },
                  "layoutModel": {
                    "password": false,
                    "text": false,
                    "query": false,
                    "order": 1
                  },
                  "allowedStereotypeModels": [],
                  "name": "bucketName",
                  "description": "the bucket name",
                  "modelProperties": {}
                },
                {
                  "type": {
                    "format": "java",
                    "type": "@ref:org.mule.extension.s3.api.model.BucketWebsiteConfiguration"
                  },
                  "hasDynamicType": false,
                  "required": false,
                  "isConfigOverride": false,
                  "expressionSupport": "SUPPORTED",
                  "defaultValue": "#[payload]",
                  "role": "PRIMARY_CONTENT",
                  "dslConfiguration": {
                    "allowsInlineDefinition": true,
                    "allowsReferences": false,
                    "allowTopLevelDefinition": false
                  },
                  "layoutModel": {
                    "password": false,
                    "text": false,
                    "query": false,
                    "order": 2
                  },
                  "allowedStereotypeModels": [],
                  "name": "bucketWebsiteConfiguration",
                  "description": "the bucket website configuration",
                  "modelProperties": {}
                }
              ],
              "exclusiveParametersModels": [],
              "layoutModel": {
                "password": false,
                "text": false,
                "query": false,
                "order": 1
              },
              "showInDsl": false,
              "name": "General",
              "description": "",
              "modelProperties": {}
            },
            {
              "parameters": [
                {
                  "type": {
                    "format": "java",
                    "type": "Union",
                    "annotations": {
                      "typeId": "ReconnectionStrategy"
                    },
                    "of": [
                      {
                        "type": "Object",
                        "annotations": {
                          "typeId": "reconnect"
                        },
                        "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": [
                                    "java.lang.Comparable"
                                  ],
                                  "parent": "java.lang.Number",
                                  "genericTypes": [],
                                  "isMap": false
                                },
                                "default": "2000"
                              }
                            },
                            "annotations": {
                              "description": {
                                "value": "How often (in ms) to reconnect"
                              }
                            }
                          },
                          {
                            "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"
                        },
                        "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": [
                                    "java.lang.Comparable"
                                  ],
                                  "parent": "java.lang.Number",
                                  "genericTypes": [],
                                  "isMap": false
                                },
                                "default": "2000"
                              }
                            },
                            "annotations": {
                              "description": {
                                "value": "How often (in ms) to reconnect"
                              }
                            }
                          }
                        ]
                      }
                    ]
                  },
                  "hasDynamicType": false,
                  "required": false,
                  "isConfigOverride": false,
                  "expressionSupport": "NOT_SUPPORTED",
                  "role": "BEHAVIOUR",
                  "dslConfiguration": {
                    "allowsInlineDefinition": true,
                    "allowsReferences": false,
                    "allowTopLevelDefinition": false
                  },
                  "layoutModel": {
                    "password": false,
                    "text": false,
                    "query": false,
                    "order": 3,
                    "tabName": "Advanced"
                  },
                  "allowedStereotypeModels": [],
                  "name": "reconnectionStrategy",
                  "description": "A retry strategy in case of connectivity errors",
                  "modelProperties": {
                    "org.mule.runtime.extension.api.property.QNameModelProperty": {
                      "value": {
                        "namespaceURI": "http://www.mulesoft.org/schema/mule/core",
                        "localPart": "abstract-reconnection-strategy",
                        "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": "setBucketWebsiteConfiguration",
          "description": "Sets the given bucket\u0027s website configuration. This operation requires the PutBucketWebsite permission. By default, only the bucket owner can configure the website attached to a bucket. However, bucket owners can allow other users to set the website configuration by writing a bucket policy granting them the S3:PutBucketWebsite permission.",
          "modelProperties": {},
          "kind": "operation"
        },
        {
          "blocking": true,
          "executionType": "BLOCKING",
          "output": {
            "type": {
              "format": "java",
              "type": "Void"
            },
            "hasDynamicType": false,
            "description": "",
            "modelProperties": {}
          },
          "outputAttributes": {
            "type": {
              "format": "java",
              "type": "Void"
            },
            "hasDynamicType": false,
            "description": "",
            "modelProperties": {}
          },
          "transactional": false,
          "requiresConnection": true,
          "supportsStreaming": false,
          "notifications": [],
          "nestedComponents": [],
          "errors": [
            "S3:INVALID_RANGE",
            "S3:SERVICE_UNAVAILABLE",
            "S3:REQUEST_TIME_TOO_SKEWED",
            "S3:REDIRECT",
            "S3:INVALID_STORAGE_CLASS",
            "S3:MAX_MESSAGE_LENGTH_EXCEEDED",
            "S3:REQUEST_IS_NOT_MULTI_PART_CONTENT",
            "S3:UNEXPECTED_CONTENT",
            "S3:ENTITY_TOO_SMALL",
            "S3:NO_SUCH_BUCKET",
            "S3:INVALID_PART",
            "S3:INVALID_SOAP_REQUEST",
            "S3:NO_SUCH_VERSION",
            "S3:METADATA_TOO_LARGE",
            "S3:PRECONDITION_FAILED",
            "S3:BUCKET_ALREADY_EXISTS",
            "S3:AMBIGUOUS_GRANT_BY_EMAIL_ADDRESS",
            "S3:MISSING_SECURITY_ELEMENT",
            "S3:INVALID_URI",
            "S3:NOT_SIGNED_UP",
            "S3:INVALID_ADDRESSING_HEADER",
            "S3:MAX_POST_PRE_DATA_LENGTH_EXCEEDED_ERROR",
            "S3:ILLEGAL_VERSIONING_CONFIGURATION_EXCEPTION",
            "S3:INVALID_PAYER",
            "S3:NO_SUCH_BUCKET_POLICY",
            "S3:INVALID_SECURITY",
            "S3:OPERATION_ABORTED",
            "S3:INVALID_ACCESS_KEY_ID",
            "S3:INVALID_LOCATION_CONSTRAINT",
            "S3:INLINE_DATA_TOO_LARGE",
            "S3:SIGNATURE_DOES_NOT_MATCH",
            "S3:UNRESOLVABLE_GRANT_BY_EMAIL_ADDRESS",
            "S3:NO_SUCH_LIFECYCLE_CONFIGURATION",
            "S3:KEY_TOO_LONG",
            "S3:INVALID_BUCKET_NAME",
            "S3:INVALID_TOKEN",
            "S3:TEMPORARY_REDIRECT",
            "S3:BUCKET_NOT_EMPTY",
            "S3:BAD_DIGEST",
            "S3:CROSS_LOCATION_LOGGING_PROHIBITED",
            "S3:MALFORMED_POST_REQUEST",
            "S3:REQUEST_TIMEOUT",
            "S3:TOO_MANY_BUCKETS",
            "S3:NO_SUCH_KEY",
            "S3:MISSING_ATTACHMENT",
            "S3:INVALID_BUCKET_STATE",
            "S3:RETRY_EXHAUSTED",
            "S3:INVALID_PART_ORDER",
            "S3:INVALID_RESPONSE_PRESIGNEDURL_MALFORMED",
            "S3:INVALID_POLICY_DOCUMENT",
            "S3:MALFORMED_XML",
            "S3:ACCOUNT_PROBLEM",
            "S3:USER_KEY_MUST_BE_SPECIFIED",
            "S3:MISSING_CONTENT_LENGTH",
            "S3:INVALID_DIGEST",
            "S3:ACCESS_DENIED",
            "S3:MISSING_REQUEST_BODY_ERROR",
            "S3:REQUEST_TORRENT_OF_BUCKET_ERROR",
            "S3:TOKEN_REFRESH_REQUIRED",
            "S3:NO_LOGGING_STATUS_FOR_KEY",
            "S3:RESTORE_ALREADY_IN_PROGRESS",
            "S3:INVALID_OBJECT_STATE",
            "S3:CONNECTIVITY",
            "S3:INVALID_ENCRYPTION_ALGORITHM_ERROR",
            "S3:PERMANENT_REDIRECT",
            "S3:INVALID_REQUEST",
            "S3:INCORRECT_NUMBER_OF_FILES_IN_POST_REQUEST",
            "S3:UNKNOWN",
            "S3:MALFORMED_ACL_ERROR",
            "S3:CREDENTIALS_NOT_SUPPORTED",
            "S3:NOT_IMPLEMENTED",
            "S3:INVALID_ARGUMENT",
            "S3:INVALID_TARGET_BUCKET_FOR_LOGGING",
            "S3:NO_SUCH_UPLOAD",
            "S3:INTERNAL_ERROR",
            "S3:SLOW_DOWN",
            "S3:ENTITY_TOO_LARGE",
            "S3:METHOD_NOT_ALLOWED",
            "S3:EXPIRED_TOKEN",
            "S3:MISSING_SECURITY_HEADER",
            "S3:BUCKET_ALREADY_OWNED_BY_YOU",
            "S3:INCOMPLETE_BODY"
          ],
          "stereotype": {
            "type": "PROCESSOR",
            "namespace": "MULE"
          },
          "parameterGroupModels": [
            {
              "parameters": [
                {
                  "type": {
                    "format": "java",
                    "type": "String"
                  },
                  "hasDynamicType": false,
                  "required": true,
                  "isConfigOverride": false,
                  "expressionSupport": "SUPPORTED",
                  "role": "BEHAVIOUR",
                  "dslConfiguration": {
                    "allowsInlineDefinition": true,
                    "allowsReferences": true,
                    "allowTopLevelDefinition": false
                  },
                  "layoutModel": {
                    "password": false,
                    "text": false,
                    "query": false,
                    "order": 1
                  },
                  "allowedStereotypeModels": [],
                  "name": "bucketName",
                  "description": "the object\u0027s bucket name",
                  "modelProperties": {}
                },
                {
                  "type": {
                    "format": "java",
                    "type": "String"
                  },
                  "hasDynamicType": false,
                  "required": true,
                  "isConfigOverride": false,
                  "expressionSupport": "SUPPORTED",
                  "role": "BEHAVIOUR",
                  "dslConfiguration": {
                    "allowsInlineDefinition": true,
                    "allowsReferences": true,
                    "allowTopLevelDefinition": false
                  },
                  "layoutModel": {
                    "password": false,
                    "text": false,
                    "query": false,
                    "order": 2
                  },
                  "allowedStereotypeModels": [],
                  "name": "key",
                  "description": "the object\u0027s key",
                  "modelProperties": {}
                },
                {
                  "type": {
                    "format": "java",
                    "type": "String"
                  },
                  "hasDynamicType": false,
                  "required": false,
                  "isConfigOverride": false,
                  "expressionSupport": "SUPPORTED",
                  "role": "BEHAVIOUR",
                  "dslConfiguration": {
                    "allowsInlineDefinition": true,
                    "allowsReferences": true,
                    "allowTopLevelDefinition": false
                  },
                  "layoutModel": {
                    "password": false,
                    "text": false,
                    "query": false,
                    "order": 3
                  },
                  "allowedStereotypeModels": [],
                  "name": "versionId",
                  "description": "the specific version of the object",
                  "modelProperties": {}
                },
                {
                  "type": {
                    "format": "java",
                    "type": "@ref:org.mule.extension.s3.api.model.Owner"
                  },
                  "hasDynamicType": false,
                  "required": true,
                  "isConfigOverride": false,
                  "expressionSupport": "SUPPORTED",
                  "role": "BEHAVIOUR",
                  "dslConfiguration": {
                    "allowsInlineDefinition": true,
                    "allowsReferences": true,
                    "allowTopLevelDefinition": false
                  },
                  "layoutModel": {
                    "password": false,
                    "text": false,
                    "query": false,
                    "order": 4
                  },
                  "allowedStereotypeModels": [],
                  "name": "owner",
                  "description": "the owner of the ACL",
                  "modelProperties": {}
                },
                {
                  "type": {
                    "format": "java",
                    "type": "Array",
                    "annotations": {
                      "classInformation": {
                        "classname": "java.util.List",
                        "hasDefaultConstructor": false,
                        "isInterface": true,
                        "isInstantiable": false,
                        "isAbstract": true,
                        "isFinal": false,
                        "implementedInterfaces": [
                          "java.util.Collection"
                        ],
                        "parent": "",
                        "genericTypes": [
                          "org.mule.extension.s3.api.model.Grant"
                        ],
                        "isMap": false
                      }
                    },
                    "item": {
                      "type": "@ref:org.mule.extension.s3.api.model.Grant"
                    }
                  },
                  "hasDynamicType": false,
                  "required": false,
                  "isConfigOverride": false,
                  "expressionSupport": "SUPPORTED",
                  "defaultValue": "#[payload]",
                  "role": "PRIMARY_CONTENT",
                  "dslConfiguration": {
                    "allowsInlineDefinition": true,
                    "allowsReferences": false,
                    "allowTopLevelDefinition": false
                  },
                  "layoutModel": {
                    "password": false,
                    "text": false,
                    "query": false,
                    "order": 5
                  },
                  "allowedStereotypeModels": [],
                  "name": "grants",
                  "description": "the Grants of the ACL",
                  "modelProperties": {}
                }
              ],
              "exclusiveParametersModels": [],
              "layoutModel": {
                "password": false,
                "text": false,
                "query": false,
                "order": 1
              },
              "showInDsl": false,
              "name": "General",
              "description": "",
              "modelProperties": {}
            },
            {
              "parameters": [
                {
                  "type": {
                    "format": "java",
                    "type": "Union",
                    "annotations": {
                      "typeId": "ReconnectionStrategy"
                    },
                    "of": [
                      {
                        "type": "Object",
                        "annotations": {
                          "typeId": "reconnect"
                        },
                        "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": [
                                    "java.lang.Comparable"
                                  ],
                                  "parent": "java.lang.Number",
                                  "genericTypes": [],
                                  "isMap": false
                                },
                                "default": "2000"
                              }
                            },
                            "annotations": {
                              "description": {
                                "value": "How often (in ms) to reconnect"
                              }
                            }
                          },
                          {
                            "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"
                        },
                        "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": [
                                    "java.lang.Comparable"
                                  ],
                                  "parent": "java.lang.Number",
                                  "genericTypes": [],
                                  "isMap": false
                                },
                                "default": "2000"
                              }
                            },
                            "annotations": {
                              "description": {
                                "value": "How often (in ms) to reconnect"
                              }
                            }
                          }
                        ]
                      }
                    ]
                  },
                  "hasDynamicType": false,
                  "required": false,
                  "isConfigOverride": false,
                  "expressionSupport": "NOT_SUPPORTED",
                  "role": "BEHAVIOUR",
                  "dslConfiguration": {
                    "allowsInlineDefinition": true,
                    "allowsReferences": false,
                    "allowTopLevelDefinition": false
                  },
                  "layoutModel": {
                    "password": false,
                    "text": false,
                    "query": false,
                    "order": 6,
                    "tabName": "Advanced"
                  },
                  "allowedStereotypeModels": [],
                  "name": "reconnectionStrategy",
                  "description": "A retry strategy in case of connectivity errors",
                  "modelProperties": {
                    "org.mule.runtime.extension.api.property.QNameModelProperty": {
                      "value": {
                        "namespaceURI": "http://www.mulesoft.org/schema/mule/core",
                        "localPart": "abstract-reconnection-strategy",
                        "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": "setObjectAcl",
          "description": "Set the access control list (ACL) permissions for an object that already exists in a bucket",
          "modelProperties": {},
          "kind": "operation"
        },
        {
          "blocking": true,
          "executionType": "BLOCKING",
          "output": {
            "type": {
              "format": "java",
              "type": "Void"
            },
            "hasDynamicType": false,
            "description": "",
            "modelProperties": {}
          },
          "outputAttributes": {
            "type": {
              "format": "java",
              "type": "Void"
            },
            "hasDynamicType": false,
            "description": "",
            "modelProperties": {}
          },
          "transactional": false,
          "requiresConnection": true,
          "supportsStreaming": false,
          "notifications": [],
          "nestedComponents": [],
          "errors": [
            "S3:INVALID_RANGE",
            "S3:SERVICE_UNAVAILABLE",
            "S3:REQUEST_TIME_TOO_SKEWED",
            "S3:REDIRECT",
            "S3:INVALID_STORAGE_CLASS",
            "S3:MAX_MESSAGE_LENGTH_EXCEEDED",
            "S3:REQUEST_IS_NOT_MULTI_PART_CONTENT",
            "S3:UNEXPECTED_CONTENT",
            "S3:ENTITY_TOO_SMALL",
            "S3:NO_SUCH_BUCKET",
            "S3:INVALID_PART",
            "S3:INVALID_SOAP_REQUEST",
            "S3:NO_SUCH_VERSION",
            "S3:METADATA_TOO_LARGE",
            "S3:PRECONDITION_FAILED",
            "S3:BUCKET_ALREADY_EXISTS",
            "S3:AMBIGUOUS_GRANT_BY_EMAIL_ADDRESS",
            "S3:MISSING_SECURITY_ELEMENT",
            "S3:INVALID_URI",
            "S3:NOT_SIGNED_UP",
            "S3:INVALID_ADDRESSING_HEADER",
            "S3:MAX_POST_PRE_DATA_LENGTH_EXCEEDED_ERROR",
            "S3:ILLEGAL_VERSIONING_CONFIGURATION_EXCEPTION",
            "S3:INVALID_PAYER",
            "S3:NO_SUCH_BUCKET_POLICY",
            "S3:INVALID_SECURITY",
            "S3:OPERATION_ABORTED",
            "S3:INVALID_ACCESS_KEY_ID",
            "S3:INVALID_LOCATION_CONSTRAINT",
            "S3:INLINE_DATA_TOO_LARGE",
            "S3:SIGNATURE_DOES_NOT_MATCH",
            "S3:UNRESOLVABLE_GRANT_BY_EMAIL_ADDRESS",
            "S3:NO_SUCH_LIFECYCLE_CONFIGURATION",
            "S3:KEY_TOO_LONG",
            "S3:INVALID_BUCKET_NAME",
            "S3:INVALID_TOKEN",
            "S3:TEMPORARY_REDIRECT",
            "S3:BUCKET_NOT_EMPTY",
            "S3:BAD_DIGEST",
            "S3:CROSS_LOCATION_LOGGING_PROHIBITED",
            "S3:MALFORMED_POST_REQUEST",
            "S3:REQUEST_TIMEOUT",
            "S3:TOO_MANY_BUCKETS",
            "S3:NO_SUCH_KEY",
            "S3:MISSING_ATTACHMENT",
            "S3:INVALID_BUCKET_STATE",
            "S3:RETRY_EXHAUSTED",
            "S3:INVALID_PART_ORDER",
            "S3:INVALID_RESPONSE_PRESIGNEDURL_MALFORMED",
            "S3:INVALID_POLICY_DOCUMENT",
            "S3:MALFORMED_XML",
            "S3:ACCOUNT_PROBLEM",
            "S3:USER_KEY_MUST_BE_SPECIFIED",
            "S3:MISSING_CONTENT_LENGTH",
            "S3:INVALID_DIGEST",
            "S3:ACCESS_DENIED",
            "S3:MISSING_REQUEST_BODY_ERROR",
            "S3:REQUEST_TORRENT_OF_BUCKET_ERROR",
            "S3:TOKEN_REFRESH_REQUIRED",
            "S3:NO_LOGGING_STATUS_FOR_KEY",
            "S3:RESTORE_ALREADY_IN_PROGRESS",
            "S3:INVALID_OBJECT_STATE",
            "S3:CONNECTIVITY",
            "S3:INVALID_ENCRYPTION_ALGORITHM_ERROR",
            "S3:PERMANENT_REDIRECT",
            "S3:INVALID_REQUEST",
            "S3:INCORRECT_NUMBER_OF_FILES_IN_POST_REQUEST",
            "S3:UNKNOWN",
            "S3:MALFORMED_ACL_ERROR",
            "S3:CREDENTIALS_NOT_SUPPORTED",
            "S3:NOT_IMPLEMENTED",
            "S3:INVALID_ARGUMENT",
            "S3:INVALID_TARGET_BUCKET_FOR_LOGGING",
            "S3:NO_SUCH_UPLOAD",
            "S3:INTERNAL_ERROR",
            "S3:SLOW_DOWN",
            "S3:ENTITY_TOO_LARGE",
            "S3:METHOD_NOT_ALLOWED",
            "S3:EXPIRED_TOKEN",
            "S3:MISSING_SECURITY_HEADER",
            "S3:BUCKET_ALREADY_OWNED_BY_YOU",
            "S3:INCOMPLETE_BODY"
          ],
          "stereotype": {
            "type": "PROCESSOR",
            "namespace": "MULE"
          },
          "parameterGroupModels": [
            {
              "parameters": [
                {
                  "type": {
                    "format": "java",
                    "type": "String"
                  },
                  "hasDynamicType": false,
                  "required": true,
                  "isConfigOverride": false,
                  "expressionSupport": "SUPPORTED",
                  "role": "BEHAVIOUR",
                  "dslConfiguration": {
                    "allowsInlineDefinition": true,
                    "allowsReferences": true,
                    "allowTopLevelDefinition": false
                  },
                  "layoutModel": {
                    "password": false,
                    "text": false,
                    "query": false,
                    "order": 1
                  },
                  "allowedStereotypeModels": [],
                  "name": "bucketName",
                  "description": "the object\u0027s bucket name",
                  "modelProperties": {}
                },
                {
                  "type": {
                    "format": "java",
                    "type": "String"
                  },
                  "hasDynamicType": false,
                  "required": true,
                  "isConfigOverride": false,
                  "expressionSupport": "SUPPORTED",
                  "role": "BEHAVIOUR",
                  "dslConfiguration": {
                    "allowsInlineDefinition": true,
                    "allowsReferences": true,
                    "allowTopLevelDefinition": false
                  },
                  "layoutModel": {
                    "password": false,
                    "text": false,
                    "query": false,
                    "order": 2
                  },
                  "allowedStereotypeModels": [],
                  "name": "key",
                  "description": "the object\u0027s key",
                  "modelProperties": {}
                },
                {
                  "type": {
                    "format": "java",
                    "type": "String",
                    "annotations": {
                      "typeId": "org.mule.extension.s3.api.model.StorageClass",
                      "enum": {
                        "type": "[Ljava.lang.String;",
                        "values": [
                          "STANDARD",
                          "STANDARD_IA",
                          "INTELLIGENT_TIERING",
                          "ONEZONE_IA",
                          "REDUCED_REDUNDANCY",
                          "GLACIER"
                        ]
                      }
                    }
                  },
                  "hasDynamicType": false,
                  "required": false,
                  "isConfigOverride": false,
                  "expressionSupport": "SUPPORTED",
                  "defaultValue": "STANDARD",
                  "role": "PRIMARY_CONTENT",
                  "dslConfiguration": {
                    "allowsInlineDefinition": true,
                    "allowsReferences": false,
                    "allowTopLevelDefinition": false
                  },
                  "layoutModel": {
                    "password": false,
                    "text": false,
                    "query": false,
                    "order": 3
                  },
                  "allowedStereotypeModels": [],
                  "name": "storageClass",
                  "description": "the storage class to set",
                  "modelProperties": {}
                }
              ],
              "exclusiveParametersModels": [],
              "layoutModel": {
                "password": false,
                "text": false,
                "query": false,
                "order": 1
              },
              "showInDsl": false,
              "name": "General",
              "description": "",
              "modelProperties": {}
            },
            {
              "parameters": [
                {
                  "type": {
                    "format": "java",
                    "type": "Union",
                    "annotations": {
                      "typeId": "ReconnectionStrategy"
                    },
                    "of": [
                      {
                        "type": "Object",
                        "annotations": {
                          "typeId": "reconnect"
                        },
                        "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": [
                                    "java.lang.Comparable"
                                  ],
                                  "parent": "java.lang.Number",
                                  "genericTypes": [],
                                  "isMap": false
                                },
                                "default": "2000"
                              }
                            },
                            "annotations": {
                              "description": {
                                "value": "How often (in ms) to reconnect"
                              }
                            }
                          },
                          {
                            "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"
                        },
                        "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": [
                                    "java.lang.Comparable"
                                  ],
                                  "parent": "java.lang.Number",
                                  "genericTypes": [],
                                  "isMap": false
                                },
                                "default": "2000"
                              }
                            },
                            "annotations": {
                              "description": {
                                "value": "How often (in ms) to reconnect"
                              }
                            }
                          }
                        ]
                      }
                    ]
                  },
                  "hasDynamicType": false,
                  "required": false,
                  "isConfigOverride": false,
                  "expressionSupport": "NOT_SUPPORTED",
                  "role": "BEHAVIOUR",
                  "dslConfiguration": {
                    "allowsInlineDefinition": true,
                    "allowsReferences": false,
                    "allowTopLevelDefinition": false
                  },
                  "layoutModel": {
                    "password": false,
                    "text": false,
                    "query": false,
                    "order": 4,
                    "tabName": "Advanced"
                  },
                  "allowedStereotypeModels": [],
                  "name": "reconnectionStrategy",
                  "description": "A retry strategy in case of connectivity errors",
                  "modelProperties": {
                    "org.mule.runtime.extension.api.property.QNameModelProperty": {
                      "value": {
                        "namespaceURI": "http://www.mulesoft.org/schema/mule/core",
                        "localPart": "abstract-reconnection-strategy",
                        "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": "setObjectStorageClass",
          "description": "Sets the Amazon S3 storage class for the given object. Changing the storage class of an object in a bucket that has enabled versioning creates a new version of the object with the new storage class. The existing version of the object preservers the previous storage class.",
          "modelProperties": {},
          "kind": "operation"
        },
        {
          "blocking": true,
          "executionType": "BLOCKING",
          "output": {
            "type": {
              "format": "java",
              "type": "@ref:org.mule.extension.s3.api.model.UploadPartResult"
            },
            "hasDynamicType": false,
            "description": "",
            "modelProperties": {}
          },
          "outputAttributes": {
            "type": {
              "format": "java",
              "type": "Void"
            },
            "hasDynamicType": false,
            "description": "",
            "modelProperties": {}
          },
          "transactional": false,
          "requiresConnection": true,
          "supportsStreaming": false,
          "notifications": [],
          "nestedComponents": [],
          "errors": [
            "S3:INVALID_RANGE",
            "S3:SERVICE_UNAVAILABLE",
            "S3:REQUEST_TIME_TOO_SKEWED",
            "S3:REDIRECT",
            "S3:INVALID_STORAGE_CLASS",
            "S3:MAX_MESSAGE_LENGTH_EXCEEDED",
            "S3:REQUEST_IS_NOT_MULTI_PART_CONTENT",
            "S3:UNEXPECTED_CONTENT",
            "S3:ENTITY_TOO_SMALL",
            "S3:NO_SUCH_BUCKET",
            "S3:INVALID_PART",
            "S3:INVALID_SOAP_REQUEST",
            "S3:NO_SUCH_VERSION",
            "S3:METADATA_TOO_LARGE",
            "S3:PRECONDITION_FAILED",
            "S3:BUCKET_ALREADY_EXISTS",
            "S3:AMBIGUOUS_GRANT_BY_EMAIL_ADDRESS",
            "S3:MISSING_SECURITY_ELEMENT",
            "S3:INVALID_URI",
            "S3:NOT_SIGNED_UP",
            "S3:INVALID_ADDRESSING_HEADER",
            "S3:MAX_POST_PRE_DATA_LENGTH_EXCEEDED_ERROR",
            "S3:ILLEGAL_VERSIONING_CONFIGURATION_EXCEPTION",
            "S3:INVALID_PAYER",
            "S3:NO_SUCH_BUCKET_POLICY",
            "S3:INVALID_SECURITY",
            "S3:OPERATION_ABORTED",
            "S3:INVALID_ACCESS_KEY_ID",
            "S3:INVALID_LOCATION_CONSTRAINT",
            "S3:INLINE_DATA_TOO_LARGE",
            "S3:SIGNATURE_DOES_NOT_MATCH",
            "S3:UNRESOLVABLE_GRANT_BY_EMAIL_ADDRESS",
            "S3:NO_SUCH_LIFECYCLE_CONFIGURATION",
            "S3:KEY_TOO_LONG",
            "S3:INVALID_BUCKET_NAME",
            "S3:INVALID_TOKEN",
            "S3:TEMPORARY_REDIRECT",
            "S3:BUCKET_NOT_EMPTY",
            "S3:BAD_DIGEST",
            "S3:CROSS_LOCATION_LOGGING_PROHIBITED",
            "S3:MALFORMED_POST_REQUEST",
            "S3:REQUEST_TIMEOUT",
            "S3:TOO_MANY_BUCKETS",
            "S3:NO_SUCH_KEY",
            "S3:MISSING_ATTACHMENT",
            "S3:INVALID_BUCKET_STATE",
            "S3:RETRY_EXHAUSTED",
            "S3:INVALID_PART_ORDER",
            "S3:INVALID_RESPONSE_PRESIGNEDURL_MALFORMED",
            "S3:INVALID_POLICY_DOCUMENT",
            "S3:MALFORMED_XML",
            "S3:ACCOUNT_PROBLEM",
            "S3:USER_KEY_MUST_BE_SPECIFIED",
            "S3:MISSING_CONTENT_LENGTH",
            "S3:INVALID_DIGEST",
            "S3:ACCESS_DENIED",
            "S3:MISSING_REQUEST_BODY_ERROR",
            "S3:REQUEST_TORRENT_OF_BUCKET_ERROR",
            "S3:TOKEN_REFRESH_REQUIRED",
            "S3:NO_LOGGING_STATUS_FOR_KEY",
            "S3:RESTORE_ALREADY_IN_PROGRESS",
            "S3:INVALID_OBJECT_STATE",
            "S3:CONNECTIVITY",
            "S3:INVALID_ENCRYPTION_ALGORITHM_ERROR",
            "S3:PERMANENT_REDIRECT",
            "S3:INVALID_REQUEST",
            "S3:INCORRECT_NUMBER_OF_FILES_IN_POST_REQUEST",
            "S3:UNKNOWN",
            "S3:MALFORMED_ACL_ERROR",
            "S3:CREDENTIALS_NOT_SUPPORTED",
            "S3:NOT_IMPLEMENTED",
            "S3:INVALID_ARGUMENT",
            "S3:INVALID_TARGET_BUCKET_FOR_LOGGING",
            "S3:NO_SUCH_UPLOAD",
            "S3:INTERNAL_ERROR",
            "S3:SLOW_DOWN",
            "S3:ENTITY_TOO_LARGE",
            "S3:METHOD_NOT_ALLOWED",
            "S3:EXPIRED_TOKEN",
            "S3:MISSING_SECURITY_HEADER",
            "S3:BUCKET_ALREADY_OWNED_BY_YOU",
            "S3:INCOMPLETE_BODY"
          ],
          "stereotype": {
            "type": "PROCESSOR",
            "namespace": "MULE"
          },
          "parameterGroupModels": [
            {
              "parameters": [
                {
                  "type": {
                    "format": "java",
                    "type": "String"
                  },
                  "hasDynamicType": false,
                  "required": true,
                  "isConfigOverride": false,
                  "expressionSupport": "SUPPORTED",
                  "role": "BEHAVIOUR",
                  "dslConfiguration": {
                    "allowsInlineDefinition": true,
                    "allowsReferences": true,
                    "allowTopLevelDefinition": false
                  },
                  "layoutModel": {
                    "password": false,
                    "text": false,
                    "query": false,
                    "order": 1
                  },
                  "allowedStereotypeModels": [],
                  "name": "bucketName",
                  "displayModel": {
                    "summary": "The name of the bucket containing the existing, initiated multipart upload, with which this new part will be associated."
                  },
                  "description": "the name of the bucket containing the existing, initiated multipart upload, with which this new part will be associated.",
                  "modelProperties": {}
                },
                {
                  "type": {
                    "format": "java",
                    "type": "String"
                  },
                  "hasDynamicType": false,
                  "required": true,
                  "isConfigOverride": false,
                  "expressionSupport": "SUPPORTED",
                  "role": "BEHAVIOUR",
                  "dslConfiguration": {
                    "allowsInlineDefinition": true,
                    "allowsReferences": true,
                    "allowTopLevelDefinition": false
                  },
                  "layoutModel": {
                    "password": false,
                    "text": false,
                    "query": false,
                    "order": 2
                  },
                  "allowedStereotypeModels": [],
                  "name": "key",
                  "description": "the key of the initiated multipart upload.",
                  "modelProperties": {}
                },
                {
                  "type": {
                    "format": "java",
                    "type": "String"
                  },
                  "hasDynamicType": false,
                  "required": true,
                  "isConfigOverride": false,
                  "expressionSupport": "SUPPORTED",
                  "role": "BEHAVIOUR",
                  "dslConfiguration": {
                    "allowsInlineDefinition": true,
                    "allowsReferences": true,
                    "allowTopLevelDefinition": false
                  },
                  "layoutModel": {
                    "password": false,
                    "text": false,
                    "query": false,
                    "order": 3
                  },
                  "allowedStereotypeModels": [],
                  "name": "uploadId",
                  "displayModel": {
                    "summary": "The ID of the existing, initiated multipart upload with which this new part will be associated."
                  },
                  "description": "the ID of the existing, initiated multipart upload with which this new part will be associated.",
                  "modelProperties": {}
                },
                {
                  "type": {
                    "format": "java",
                    "type": "Number",
                    "annotations": {
                      "classInformation": {
                        "classname": "java.lang.Integer",
                        "hasDefaultConstructor": false,
                        "isInterface": false,
                        "isInstantiable": false,
                        "isAbstract": false,
                        "isFinal": true,
                        "implementedInterfaces": [
                          "java.lang.Comparable"
                        ],
                        "parent": "java.lang.Number",
                        "genericTypes": [],
                        "isMap": false
                      },
                      "int": {}
                    }
                  },
                  "hasDynamicType": false,
                  "required": true,
                  "isConfigOverride": false,
                  "expressionSupport": "SUPPORTED",
                  "role": "BEHAVIOUR",
                  "dslConfiguration": {
                    "allowsInlineDefinition": true,
                    "allowsReferences": true,
                    "allowTopLevelDefinition": false
                  },
                  "layoutModel": {
                    "password": false,
                    "text": false,
                    "query": false,
                    "order": 4
                  },
                  "allowedStereotypeModels": [],
                  "name": "partNumber",
                  "displayModel": {
                    "summary": "the part number describing this part\u0027s position relative to the other parts in the multipart upload."
                  },
                  "description": "the part number describing this part\u0027s position relative to the other parts in the multipart upload.",
                  "modelProperties": {}
                },
                {
                  "type": {
                    "format": "java",
                    "type": "Number",
                    "annotations": {
                      "classInformation": {
                        "classname": "java.lang.Long",
                        "hasDefaultConstructor": false,
                        "isInterface": false,
                        "isInstantiable": false,
                        "isAbstract": false,
                        "isFinal": true,
                        "implementedInterfaces": [
                          "java.lang.Comparable"
                        ],
                        "parent": "java.lang.Number",
                        "genericTypes": [],
                        "isMap": false
                      },
                      "int": {}
                    }
                  },
                  "hasDynamicType": false,
                  "required": true,
                  "isConfigOverride": false,
                  "expressionSupport": "SUPPORTED",
                  "role": "BEHAVIOUR",
                  "dslConfiguration": {
                    "allowsInlineDefinition": true,
                    "allowsReferences": true,
                    "allowTopLevelDefinition": false
                  },
                  "layoutModel": {
                    "password": false,
                    "text": false,
                    "query": false,
                    "order": 5
                  },
                  "allowedStereotypeModels": [],
                  "name": "partSize",
                  "description": "the size of this part, in bytes.",
                  "modelProperties": {}
                },
                {
                  "type": {
                    "format": "java",
                    "type": "String"
                  },
                  "hasDynamicType": false,
                  "required": false,
                  "isConfigOverride": false,
                  "expressionSupport": "SUPPORTED",
                  "role": "BEHAVIOUR",
                  "dslConfiguration": {
                    "allowsInlineDefinition": true,
                    "allowsReferences": true,
                    "allowTopLevelDefinition": false
                  },
                  "layoutModel": {
                    "password": false,
                    "text": false,
                    "query": false,
                    "order": 6
                  },
                  "allowedStereotypeModels": [],
                  "name": "md5Digest",
                  "description": "optional, but recommended, MD5 hash of the content of this part.",
                  "modelProperties": {}
                },
                {
                  "type": {
                    "format": "java",
                    "type": "Binary",
                    "annotations": {
                      "classInformation": {
                        "classname": "java.io.InputStream",
                        "hasDefaultConstructor": true,
                        "isInterface": false,
                        "isInstantiable": false,
                        "isAbstract": true,
                        "isFinal": false,
                        "implementedInterfaces": [
                          "java.io.Closeable"
                        ],
                        "parent": "",
                        "genericTypes": [],
                        "isMap": false
                      }
                    }
                  },
                  "hasDynamicType": false,
                  "required": false,
                  "isConfigOverride": false,
                  "expressionSupport": "SUPPORTED",
                  "defaultValue": "#[payload]",
                  "role": "PRIMARY_CONTENT",
                  "dslConfiguration": {
                    "allowsInlineDefinition": true,
                    "allowsReferences": false,
                    "allowTopLevelDefinition": false
                  },
                  "layoutModel": {
                    "password": false,
                    "text": false,
                    "query": false,
                    "order": 7
                  },
                  "allowedStereotypeModels": [],
                  "name": "content",
                  "description": "the stream containing the data to upload for the new part.",
                  "modelProperties": {}
                },
                {
                  "type": {
                    "format": "java",
                    "type": "Number",
                    "annotations": {
                      "classInformation": {
                        "classname": "java.lang.Long",
                        "hasDefaultConstructor": false,
                        "isInterface": false,
                        "isInstantiable": false,
                        "isAbstract": false,
                        "isFinal": true,
                        "implementedInterfaces": [
                          "java.lang.Comparable"
                        ],
                        "parent": "java.lang.Number",
                        "genericTypes": [],
                        "isMap": false
                      },
                      "int": {}
                    }
                  },
                  "hasDynamicType": false,
                  "required": false,
                  "isConfigOverride": false,
                  "expressionSupport": "SUPPORTED",
                  "role": "BEHAVIOUR",
                  "dslConfiguration": {
                    "allowsInlineDefinition": true,
                    "allowsReferences": true,
                    "allowTopLevelDefinition": false
                  },
                  "layoutModel": {
                    "password": false,
                    "text": false,
                    "query": false,
                    "order": 8
                  },
                  "allowedStereotypeModels": [],
                  "name": "fileOffset",
                  "displayModel": {
                    "summary": "The optional offset in the specified file, at which to begin uploading data for this part."
                  },
                  "description": "the optional offset in the specified file, at which to begin uploading data for this part.",
                  "modelProperties": {}
                },
                {
                  "type": {
                    "format": "java",
                    "type": "Boolean",
                    "annotations": {
                      "typeId": "boolean"
                    }
                  },
                  "hasDynamicType": false,
                  "required": false,
                  "isConfigOverride": false,
                  "expressionSupport": "SUPPORTED",
                  "defaultValue": "false",
                  "role": "BEHAVIOUR",
                  "dslConfiguration": {
                    "allowsInlineDefinition": true,
                    "allowsReferences": true,
                    "allowTopLevelDefinition": false
                  },
                  "layoutModel": {
                    "password": false,
                    "text": false,
                    "query": false,
                    "order": 9
                  },
                  "allowedStereotypeModels": [],
                  "name": "isLastPart",
                  "displayModel": {
                    "summary": "True if the creator of this request has indicated this part is the last part being uploaded in a multipart upload."
                  },
                  "description": "true if the creator of this request has indicated this part is the last part being uploaded in a multipart upload.",
                  "modelProperties": {}
                }
              ],
              "exclusiveParametersModels": [],
              "layoutModel": {
                "password": false,
                "text": false,
                "query": false,
                "order": 1
              },
              "showInDsl": false,
              "name": "General",
              "description": "",
              "modelProperties": {}
            },
            {
              "parameters": [
                {
                  "type": {
                    "format": "java",
                    "type": "String"
                  },
                  "hasDynamicType": false,
                  "required": false,
                  "isConfigOverride": false,
                  "expressionSupport": "NOT_SUPPORTED",
                  "role": "BEHAVIOUR",
                  "dslConfiguration": {
                    "allowsInlineDefinition": true,
                    "allowsReferences": true,
                    "allowTopLevelDefinition": false
                  },
                  "layoutModel": {
                    "password": false,
                    "text": false,
                    "query": false,
                    "order": 10,
                    "tabName": "Advanced"
                  },
                  "allowedStereotypeModels": [],
                  "name": "target",
                  "displayModel": {
                    "displayName": "Target Variable"
                  },
                  "description": "The name of a variable on which the operation\u0027s output will be placed",
                  "modelProperties": {}
                },
                {
                  "type": {
                    "format": "java",
                    "type": "String"
                  },
                  "hasDynamicType": false,
                  "required": false,
                  "isConfigOverride": false,
                  "expressionSupport": "REQUIRED",
                  "defaultValue": "#[payload]",
                  "role": "BEHAVIOUR",
                  "dslConfiguration": {
                    "allowsInlineDefinition": true,
                    "allowsReferences": true,
                    "allowTopLevelDefinition": false
                  },
                  "layoutModel": {
                    "password": false,
                    "text": false,
                    "query": false,
                    "order": 11,
                    "tabName": "Advanced"
                  },
                  "allowedStereotypeModels": [],
                  "name": "targetValue",
                  "displayModel": {
                    "displayName": "Target Value"
                  },
                  "description": "An expression that will be evaluated against the operation\u0027s output and the outcome of that expression will be stored in the target variable",
                  "modelProperties": {}
                }
              ],
              "exclusiveParametersModels": [],
              "layoutModel": {
                "password": false,
                "text": false,
                "query": false,
                "order": 2
              },
              "showInDsl": false,
              "name": "Output",
              "description": "",
              "modelProperties": {}
            },
            {
              "parameters": [
                {
                  "type": {
                    "format": "java",
                    "type": "Union",
                    "annotations": {
                      "typeId": "ReconnectionStrategy"
                    },
                    "of": [
                      {
                        "type": "Object",
                        "annotations": {
                          "typeId": "reconnect"
                        },
                        "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": [
                                    "java.lang.Comparable"
                                  ],
                                  "parent": "java.lang.Number",
                                  "genericTypes": [],
                                  "isMap": false
                                },
                                "default": "2000"
                              }
                            },
                            "annotations": {
                              "description": {
                                "value": "How often (in ms) to reconnect"
                              }
                            }
                          },
                          {
                            "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"
                        },
                        "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": [
                                    "java.lang.Comparable"
                                  ],
                                  "parent": "java.lang.Number",
                                  "genericTypes": [],
                                  "isMap": false
                                },
                                "default": "2000"
                              }
                            },
                            "annotations": {
                              "description": {
                                "value": "How often (in ms) to reconnect"
                              }
                            }
                          }
                        ]
                      }
                    ]
                  },
                  "hasDynamicType": false,
                  "required": false,
                  "isConfigOverride": false,
                  "expressionSupport": "NOT_SUPPORTED",
                  "role": "BEHAVIOUR",
                  "dslConfiguration": {
                    "allowsInlineDefinition": true,
                    "allowsReferences": false,
                    "allowTopLevelDefinition": false
                  },
                  "layoutModel": {
                    "password": false,
                    "text": false,
                    "query": false,
                    "order": 12,
                    "tabName": "Advanced"
                  },
                  "allowedStereotypeModels": [],
                  "name": "reconnectionStrategy",
                  "description": "A retry strategy in case of connectivity errors",
                  "modelProperties": {
                    "org.mule.runtime.extension.api.property.QNameModelProperty": {
                      "value": {
                        "namespaceURI": "http://www.mulesoft.org/schema/mule/core",
                        "localPart": "abstract-reconnection-strategy",
                        "prefix": "mule"
                      }
                    },
                    "org.mule.runtime.extension.api.property.InfrastructureParameterModelProperty": {
                      "sequence": 3
                    }
                  }
                }
              ],
              "exclusiveParametersModels": [],
              "layoutModel": {
                "password": false,
                "text": false,
                "query": false,
                "order": 3
              },
              "showInDsl": false,
              "name": "Connection",
              "description": "",
              "modelProperties": {}
            }
          ],
          "name": "uploadPart",
          "description": "Uploads a part in a multipart upload. You must initiate a multipart upload before you can upload any part.",
          "modelProperties": {},
          "kind": "operation"
        },
        {
          "blocking": true,
          "executionType": "BLOCKING",
          "output": {
            "type": {
              "format": "java",
              "type": "@ref:org.mule.extension.s3.api.model.CopyPartResult"
            },
            "hasDynamicType": false,
            "description": "",
            "modelProperties": {}
          },
          "outputAttributes": {
            "type": {
              "format": "java",
              "type": "Void"
            },
            "hasDynamicType": false,
            "description": "",
            "modelProperties": {}
          },
          "transactional": false,
          "requiresConnection": true,
          "supportsStreaming": false,
          "notifications": [],
          "nestedComponents": [],
          "errors": [
            "S3:INVALID_RANGE",
            "S3:SERVICE_UNAVAILABLE",
            "S3:REQUEST_TIME_TOO_SKEWED",
            "S3:REDIRECT",
            "S3:INVALID_STORAGE_CLASS",
            "S3:MAX_MESSAGE_LENGTH_EXCEEDED",
            "S3:REQUEST_IS_NOT_MULTI_PART_CONTENT",
            "S3:UNEXPECTED_CONTENT",
            "S3:ENTITY_TOO_SMALL",
            "S3:NO_SUCH_BUCKET",
            "S3:INVALID_PART",
            "S3:INVALID_SOAP_REQUEST",
            "S3:NO_SUCH_VERSION",
            "S3:METADATA_TOO_LARGE",
            "S3:PRECONDITION_FAILED",
            "S3:BUCKET_ALREADY_EXISTS",
            "S3:AMBIGUOUS_GRANT_BY_EMAIL_ADDRESS",
            "S3:MISSING_SECURITY_ELEMENT",
            "S3:INVALID_URI",
            "S3:NOT_SIGNED_UP",
            "S3:INVALID_ADDRESSING_HEADER",
            "S3:MAX_POST_PRE_DATA_LENGTH_EXCEEDED_ERROR",
            "S3:ILLEGAL_VERSIONING_CONFIGURATION_EXCEPTION",
            "S3:INVALID_PAYER",
            "S3:NO_SUCH_BUCKET_POLICY",
            "S3:INVALID_SECURITY",
            "S3:OPERATION_ABORTED",
            "S3:INVALID_ACCESS_KEY_ID",
            "S3:INVALID_LOCATION_CONSTRAINT",
            "S3:INLINE_DATA_TOO_LARGE",
            "S3:SIGNATURE_DOES_NOT_MATCH",
            "S3:UNRESOLVABLE_GRANT_BY_EMAIL_ADDRESS",
            "S3:NO_SUCH_LIFECYCLE_CONFIGURATION",
            "S3:KEY_TOO_LONG",
            "S3:INVALID_BUCKET_NAME",
            "S3:INVALID_TOKEN",
            "S3:TEMPORARY_REDIRECT",
            "S3:BUCKET_NOT_EMPTY",
            "S3:BAD_DIGEST",
            "S3:CROSS_LOCATION_LOGGING_PROHIBITED",
            "S3:MALFORMED_POST_REQUEST",
            "S3:REQUEST_TIMEOUT",
            "S3:TOO_MANY_BUCKETS",
            "S3:NO_SUCH_KEY",
            "S3:MISSING_ATTACHMENT",
            "S3:INVALID_BUCKET_STATE",
            "S3:RETRY_EXHAUSTED",
            "S3:INVALID_PART_ORDER",
            "S3:INVALID_RESPONSE_PRESIGNEDURL_MALFORMED",
            "S3:INVALID_POLICY_DOCUMENT",
            "S3:MALFORMED_XML",
            "S3:ACCOUNT_PROBLEM",
            "S3:USER_KEY_MUST_BE_SPECIFIED",
            "S3:MISSING_CONTENT_LENGTH",
            "S3:INVALID_DIGEST",
            "S3:ACCESS_DENIED",
            "S3:MISSING_REQUEST_BODY_ERROR",
            "S3:REQUEST_TORRENT_OF_BUCKET_ERROR",
            "S3:TOKEN_REFRESH_REQUIRED",
            "S3:NO_LOGGING_STATUS_FOR_KEY",
            "S3:RESTORE_ALREADY_IN_PROGRESS",
            "S3:INVALID_OBJECT_STATE",
            "S3:CONNECTIVITY",
            "S3:INVALID_ENCRYPTION_ALGORITHM_ERROR",
            "S3:PERMANENT_REDIRECT",
            "S3:INVALID_REQUEST",
            "S3:INCORRECT_NUMBER_OF_FILES_IN_POST_REQUEST",
            "S3:UNKNOWN",
            "S3:MALFORMED_ACL_ERROR",
            "S3:CREDENTIALS_NOT_SUPPORTED",
            "S3:NOT_IMPLEMENTED",
            "S3:INVALID_ARGUMENT",
            "S3:INVALID_TARGET_BUCKET_FOR_LOGGING",
            "S3:NO_SUCH_UPLOAD",
            "S3:INTERNAL_ERROR",
            "S3:SLOW_DOWN",
            "S3:ENTITY_TOO_LARGE",
            "S3:METHOD_NOT_ALLOWED",
            "S3:EXPIRED_TOKEN",
            "S3:MISSING_SECURITY_HEADER",
            "S3:BUCKET_ALREADY_OWNED_BY_YOU",
            "S3:INCOMPLETE_BODY"
          ],
          "stereotype": {
            "type": "PROCESSOR",
            "namespace": "MULE"
          },
          "parameterGroupModels": [
            {
              "parameters": [
                {
                  "type": {
                    "format": "java",
                    "type": "String"
                  },
                  "hasDynamicType": false,
                  "required": true,
                  "isConfigOverride": false,
                  "expressionSupport": "SUPPORTED",
                  "role": "BEHAVIOUR",
                  "dslConfiguration": {
                    "allowsInlineDefinition": true,
                    "allowsReferences": true,
                    "allowTopLevelDefinition": false
                  },
                  "layoutModel": {
                    "password": false,
                    "text": false,
                    "query": false,
                    "order": 1
                  },
                  "allowedStereotypeModels": [],
                  "name": "sourceBucketName",
                  "description": "the name of the bucket containing the source object to be copied.",
                  "modelProperties": {}
                },
                {
                  "type": {
                    "format": "java",
                    "type": "String"
                  },
                  "hasDynamicType": false,
                  "required": true,
                  "isConfigOverride": false,
                  "expressionSupport": "SUPPORTED",
                  "role": "BEHAVIOUR",
                  "dslConfiguration": {
                    "allowsInlineDefinition": true,
                    "allowsReferences": true,
                    "allowTopLevelDefinition": false
                  },
                  "layoutModel": {
                    "password": false,
                    "text": false,
                    "query": false,
                    "order": 2
                  },
                  "allowedStereotypeModels": [],
                  "name": "sourceKey",
                  "description": "the source bucket key under which the source object to be copied is stored.",
                  "modelProperties": {}
                },
                {
                  "type": {
                    "format": "java",
                    "type": "String"
                  },
                  "hasDynamicType": false,
                  "required": false,
                  "isConfigOverride": false,
                  "expressionSupport": "SUPPORTED",
                  "role": "BEHAVIOUR",
                  "dslConfiguration": {
                    "allowsInlineDefinition": true,
                    "allowsReferences": true,
                    "allowTopLevelDefinition": false
                  },
                  "layoutModel": {
                    "password": false,
                    "text": false,
                    "query": false,
                    "order": 3
                  },
                  "allowedStereotypeModels": [],
                  "name": "sourceVersionId",
                  "displayModel": {
                    "summary": "The version of the source object that was copied, if you have enabled versioning on the source bucket."
                  },
                  "description": "the version of the source object that was copied, if you have enabled versioning on the source bucket.",
                  "modelProperties": {}
                },
                {
                  "type": {
                    "format": "java",
                    "type": "String"
                  },
                  "hasDynamicType": false,
                  "required": true,
                  "isConfigOverride": false,
                  "expressionSupport": "SUPPORTED",
                  "role": "BEHAVIOUR",
                  "dslConfiguration": {
                    "allowsInlineDefinition": true,
                    "allowsReferences": true,
                    "allowTopLevelDefinition": false
                  },
                  "layoutModel": {
                    "password": false,
                    "text": false,
                    "query": false,
                    "order": 4
                  },
                  "allowedStereotypeModels": [],
                  "name": "destinationBucketName",
                  "description": "the destination bucket name which will contain the new, copied object.",
                  "modelProperties": {}
                },
                {
                  "type": {
                    "format": "java",
                    "type": "String"
                  },
                  "hasDynamicType": false,
                  "required": true,
                  "isConfigOverride": false,
                  "expressionSupport": "SUPPORTED",
                  "role": "BEHAVIOUR",
                  "dslConfiguration": {
                    "allowsInlineDefinition": true,
                    "allowsReferences": true,
                    "allowTopLevelDefinition": false
                  },
                  "layoutModel": {
                    "password": false,
                    "text": false,
                    "query": false,
                    "order": 5
                  },
                  "allowedStereotypeModels": [],
                  "name": "destinationKey",
                  "description": "the destination bucket key under which the new, copied object will be stored.",
                  "modelProperties": {}
                },
                {
                  "type": {
                    "format": "java",
                    "type": "String"
                  },
                  "hasDynamicType": false,
                  "required": true,
                  "isConfigOverride": false,
                  "expressionSupport": "SUPPORTED",
                  "role": "BEHAVIOUR",
                  "dslConfiguration": {
                    "allowsInlineDefinition": true,
                    "allowsReferences": true,
                    "allowTopLevelDefinition": false
                  },
                  "layoutModel": {
                    "password": false,
                    "text": false,
                    "query": false,
                    "order": 6
                  },
                  "allowedStereotypeModels": [],
                  "name": "uploadId",
                  "displayModel": {
                    "summary": "The ID of the existing, initiated multipart upload with which this new part will be associated."
                  },
                  "description": "the ID of the existing, initiated multipart upload with which this new part will be associated.",
                  "modelProperties": {}
                },
                {
                  "type": {
                    "format": "java",
                    "type": "Number",
                    "annotations": {
                      "classInformation": {
                        "classname": "java.lang.Integer",
                        "hasDefaultConstructor": false,
                        "isInterface": false,
                        "isInstantiable": false,
                        "isAbstract": false,
                        "isFinal": true,
                        "implementedInterfaces": [
                          "java.lang.Comparable"
                        ],
                        "parent": "java.lang.Number",
                        "genericTypes": [],
                        "isMap": false
                      },
                      "int": {}
                    }
                  },
                  "hasDynamicType": false,
                  "required": true,
                  "isConfigOverride": false,
                  "expressionSupport": "SUPPORTED",
                  "role": "BEHAVIOUR",
                  "dslConfiguration": {
                    "allowsInlineDefinition": true,
                    "allowsReferences": true,
                    "allowTopLevelDefinition": false
                  },
                  "layoutModel": {
                    "password": false,
                    "text": false,
                    "query": false,
                    "order": 7
                  },
                  "allowedStereotypeModels": [],
                  "name": "partNumber",
                  "displayModel": {
                    "summary": "The part number describing this part\u0027s position relative to the other parts in the multipart upload."
                  },
                  "description": "the part number describing this part\u0027s position relative to the other parts in the multipart upload.",
                  "modelProperties": {}
                },
                {
                  "type": {
                    "format": "java",
                    "type": "Array",
                    "annotations": {
                      "classInformation": {
                        "classname": "java.util.List",
                        "hasDefaultConstructor": false,
                        "isInterface": true,
                        "isInstantiable": false,
                        "isAbstract": true,
                        "isFinal": false,
                        "implementedInterfaces": [
                          "java.util.Collection"
                        ],
                        "parent": "",
                        "genericTypes": [
                          "java.lang.String"
                        ],
                        "isMap": false
                      }
                    },
                    "item": {
                      "type": "String"
                    }
                  },
                  "hasDynamicType": false,
                  "required": false,
                  "isConfigOverride": false,
                  "expressionSupport": "SUPPORTED",
                  "role": "BEHAVIOUR",
                  "dslConfiguration": {
                    "allowsInlineDefinition": true,
                    "allowsReferences": true,
                    "allowTopLevelDefinition": false
                  },
                  "layoutModel": {
                    "password": false,
                    "text": false,
                    "query": false,
                    "order": 8
                  },
                  "allowedStereotypeModels": [],
                  "name": "matchingETagConstraints",
                  "displayModel": {
                    "displayName": "Matching ETag Constraints",
                    "summary": "Perform a copy if the source object entity tag (ETag) matches the specified value."
                  },
                  "description": "perform a copy if the source object entity tag (ETag) matches the specified value.",
                  "modelProperties": {}
                },
                {
                  "type": {
                    "format": "java",
                    "type": "DateTime",
                    "annotations": {
                      "typeId": "java.time.LocalDateTime"
                    }
                  },
                  "hasDynamicType": false,
                  "required": false,
                  "isConfigOverride": false,
                  "expressionSupport": "SUPPORTED",
                  "role": "BEHAVIOUR",
                  "dslConfiguration": {
                    "allowsInlineDefinition": true,
                    "allowsReferences": true,
                    "allowTopLevelDefinition": false
                  },
                  "layoutModel": {
                    "password": false,
                    "text": false,
                    "query": false,
                    "order": 9
                  },
                  "allowedStereotypeModels": [],
                  "name": "modifiedSince",
                  "displayModel": {
                    "summary": "The optional modified constraint that restricts this request to executing only if the source object has been modified after the specified date."
                  },
                  "description": "the optional modified constraint that restricts this request to executing only if the source object has been modified after the specified date.",
                  "modelProperties": {}
                },
                {
                  "type": {
                    "format": "java",
                    "type": "DateTime",
                    "annotations": {
                      "typeId": "java.time.LocalDateTime"
                    }
                  },
                  "hasDynamicType": false,
                  "required": false,
                  "isConfigOverride": false,
                  "expressionSupport": "SUPPORTED",
                  "role": "BEHAVIOUR",
                  "dslConfiguration": {
                    "allowsInlineDefinition": true,
                    "allowsReferences": true,
                    "allowTopLevelDefinition": false
                  },
                  "layoutModel": {
                    "password": false,
                    "text": false,
                    "query": false,
                    "order": 10
                  },
                  "allowedStereotypeModels": [],
                  "name": "unmodifiedSince",
                  "displayModel": {
                    "summary": "The optional unmodified constraint that restricts this request to executing only if the source object has not been modified after the specified date."
                  },
                  "description": "the optional unmodified constraint that restricts this request to executing only if the source object has not been modified after the specified date.",
                  "modelProperties": {}
                },
                {
                  "type": {
                    "format": "java",
                    "type": "Number",
                    "annotations": {
                      "classInformation": {
                        "classname": "java.lang.Long",
                        "hasDefaultConstructor": false,
                        "isInterface": false,
                        "isInstantiable": false,
                        "isAbstract": false,
                        "isFinal": true,
                        "implementedInterfaces": [
                          "java.lang.Comparable"
                        ],
                        "parent": "java.lang.Number",
                        "genericTypes": [],
                        "isMap": false
                      },
                      "int": {}
                    }
                  },
                  "hasDynamicType": false,
                  "required": false,
                  "isConfigOverride": false,
                  "expressionSupport": "SUPPORTED",
                  "role": "BEHAVIOUR",
                  "dslConfiguration": {
                    "allowsInlineDefinition": true,
                    "allowsReferences": true,
                    "allowTopLevelDefinition": false
                  },
                  "layoutModel": {
                    "password": false,
                    "text": false,
                    "query": false,
                    "order": 11
                  },
                  "allowedStereotypeModels": [],
                  "name": "firstByte",
                  "displayModel": {
                    "summary": "The optional first byte from the source bucket to start copy from (starts from 0)."
                  },
                  "description": "the optional first byte from the source bucket to start copy from (starts from 0).",
                  "modelProperties": {}
                },
                {
                  "type": {
                    "format": "java",
                    "type": "Number",
                    "annotations": {
                      "classInformation": {
                        "classname": "java.lang.Long",
                        "hasDefaultConstructor": false,
                        "isInterface": false,
                        "isInstantiable": false,
                        "isAbstract": false,
                        "isFinal": true,
                        "implementedInterfaces": [
                          "java.lang.Comparable"
                        ],
                        "parent": "java.lang.Number",
                        "genericTypes": [],
                        "isMap": false
                      },
                      "int": {}
                    }
                  },
                  "hasDynamicType": false,
                  "required": false,
                  "isConfigOverride": false,
                  "expressionSupport": "SUPPORTED",
                  "role": "BEHAVIOUR",
                  "dslConfiguration": {
                    "allowsInlineDefinition": true,
                    "allowsReferences": true,
                    "allowTopLevelDefinition": false
                  },
                  "layoutModel": {
                    "password": false,
                    "text": false,
                    "query": false,
                    "order": 12
                  },
                  "allowedStereotypeModels": [],
                  "name": "lastByte",
                  "description": "the optional last byte from the source bucket to copy till.",
                  "modelProperties": {}
                }
              ],
              "exclusiveParametersModels": [],
              "layoutModel": {
                "password": false,
                "text": false,
                "query": false,
                "order": 1
              },
              "showInDsl": false,
              "name": "General",
              "description": "",
              "modelProperties": {}
            },
            {
              "parameters": [
                {
                  "type": {
                    "format": "java",
                    "type": "String"
                  },
                  "hasDynamicType": false,
                  "required": false,
                  "isConfigOverride": false,
                  "expressionSupport": "NOT_SUPPORTED",
                  "role": "BEHAVIOUR",
                  "dslConfiguration": {
                    "allowsInlineDefinition": true,
                    "allowsReferences": true,
                    "allowTopLevelDefinition": false
                  },
                  "layoutModel": {
                    "password": false,
                    "text": false,
                    "query": false,
                    "order": 13,
                    "tabName": "Advanced"
                  },
                  "allowedStereotypeModels": [],
                  "name": "target",
                  "displayModel": {
                    "displayName": "Target Variable"
                  },
                  "description": "The name of a variable on which the operation\u0027s output will be placed",
                  "modelProperties": {}
                },
                {
                  "type": {
                    "format": "java",
                    "type": "String"
                  },
                  "hasDynamicType": false,
                  "required": false,
                  "isConfigOverride": false,
                  "expressionSupport": "REQUIRED",
                  "defaultValue": "#[payload]",
                  "role": "BEHAVIOUR",
                  "dslConfiguration": {
                    "allowsInlineDefinition": true,
                    "allowsReferences": true,
                    "allowTopLevelDefinition": false
                  },
                  "layoutModel": {
                    "password": false,
                    "text": false,
                    "query": false,
                    "order": 14,
                    "tabName": "Advanced"
                  },
                  "allowedStereotypeModels": [],
                  "name": "targetValue",
                  "displayModel": {
                    "displayName": "Target Value"
                  },
                  "description": "An expression that will be evaluated against the operation\u0027s output and the outcome of that expression will be stored in the target variable",
                  "modelProperties": {}
                }
              ],
              "exclusiveParametersModels": [],
              "layoutModel": {
                "password": false,
                "text": false,
                "query": false,
                "order": 2
              },
              "showInDsl": false,
              "name": "Output",
              "description": "",
              "modelProperties": {}
            },
            {
              "parameters": [
                {
                  "type": {
                    "format": "java",
                    "type": "Union",
                    "annotations": {
                      "typeId": "ReconnectionStrategy"
                    },
                    "of": [
                      {
                        "type": "Object",
                        "annotations": {
                          "typeId": "reconnect"
                        },
                        "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": [
                                    "java.lang.Comparable"
                                  ],
                                  "parent": "java.lang.Number",
                                  "genericTypes": [],
                                  "isMap": false
                                },
                                "default": "2000"
                              }
                            },
                            "annotations": {
                              "description": {
                                "value": "How often (in ms) to reconnect"
                              }
                            }
                          },
                          {
                            "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"
                        },
                        "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": [
                                    "java.lang.Comparable"
                                  ],
                                  "parent": "java.lang.Number",
                                  "genericTypes": [],
                                  "isMap": false
                                },
                                "default": "2000"
                              }
                            },
                            "annotations": {
                              "description": {
                                "value": "How often (in ms) to reconnect"
                              }
                            }
                          }
                        ]
                      }
                    ]
                  },
                  "hasDynamicType": false,
                  "required": false,
                  "isConfigOverride": false,
                  "expressionSupport": "NOT_SUPPORTED",
                  "role": "BEHAVIOUR",
                  "dslConfiguration": {
                    "allowsInlineDefinition": true,
                    "allowsReferences": false,
                    "allowTopLevelDefinition": false
                  },
                  "layoutModel": {
                    "password": false,
                    "text": false,
                    "query": false,
                    "order": 15,
                    "tabName": "Advanced"
                  },
                  "allowedStereotypeModels": [],
                  "name": "reconnectionStrategy",
                  "description": "A retry strategy in case of connectivity errors",
                  "modelProperties": {
                    "org.mule.runtime.extension.api.property.QNameModelProperty": {
                      "value": {
                        "namespaceURI": "http://www.mulesoft.org/schema/mule/core",
                        "localPart": "abstract-reconnection-strategy",
                        "prefix": "mule"
                      }
                    },
                    "org.mule.runtime.extension.api.property.InfrastructureParameterModelProperty": {
                      "sequence": 3
                    }
                  }
                }
              ],
              "exclusiveParametersModels": [],
              "layoutModel": {
                "password": false,
                "text": false,
                "query": false,
                "order": 3
              },
              "showInDsl": false,
              "name": "Connection",
              "description": "",
              "modelProperties": {}
            }
          ],
          "name": "uploadPartCopy",
          "description": "Copies a source object to a part of a multipart upload. To copy an object, the caller\u0027s account must have read access to the source object and write access to the destination bucket.",
          "modelProperties": {},
          "kind": "operation"
        }
      ],
      "connectionProviders": [
        {
          "connectionManagementType": "CACHED",
          "externalLibraryModels": [],
          "supportsConnectivityTesting": true,
          "stereotype": {
            "type": "BASIC",
            "namespace": "S3",
            "parent": {
              "type": "CONNECTION",
              "namespace": "MULE"
            }
          },
          "parameterGroupModels": [
            {
              "parameters": [
                {
                  "type": {
                    "format": "java",
                    "type": "String"
                  },
                  "hasDynamicType": false,
                  "required": false,
                  "isConfigOverride": false,
                  "expressionSupport": "SUPPORTED",
                  "role": "BEHAVIOUR",
                  "dslConfiguration": {
                    "allowsInlineDefinition": true,
                    "allowsReferences": true,
                    "allowTopLevelDefinition": false
                  },
                  "layoutModel": {
                    "password": false,
                    "text": false,
                    "query": false,
                    "order": 6,
                    "tabName": "General"
                  },
                  "allowedStereotypeModels": [],
                  "name": "sessionToken",
                  "displayModel": {
                    "displayName": "Session Token",
                    "summary": "The session token provided by Amazon STS."
                  },
                  "description": "",
                  "modelProperties": {}
                }
              ],
              "exclusiveParametersModels": [],
              "layoutModel": {
                "password": false,
                "text": false,
                "query": false,
                "order": 0
              },
              "showInDsl": false,
              "name": "General",
              "description": "",
              "modelProperties": {}
            },
            {
              "parameters": [
                {
                  "type": {
                    "format": "java",
                    "type": "Number",
                    "annotations": {
                      "classInformation": {
                        "classname": "java.lang.Integer",
                        "hasDefaultConstructor": false,
                        "isInterface": false,
                        "isInstantiable": false,
                        "isAbstract": false,
                        "isFinal": true,
                        "implementedInterfaces": [
                          "java.lang.Comparable"
                        ],
                        "parent": "java.lang.Number",
                        "genericTypes": [],
                        "isMap": false
                      },
                      "int": {}
                    }
                  },
                  "hasDynamicType": false,
                  "required": false,
                  "isConfigOverride": false,
                  "expressionSupport": "SUPPORTED",
                  "defaultValue": "50",
                  "role": "BEHAVIOUR",
                  "dslConfiguration": {
                    "allowsInlineDefinition": true,
                    "allowsReferences": true,
                    "allowTopLevelDefinition": false
                  },
                  "layoutModel": {
                    "password": false,
                    "text": false,
                    "query": false,
                    "order": 1,
                    "tabName": "Advanced"
                  },
                  "allowedStereotypeModels": [],
                  "name": "connectionTimeout",
                  "displayModel": {
                    "displayName": "Connection Timeout",
                    "summary": "The amount of time to wait (in milliseconds) when initially establishing a connection before the connector gives up and times out. A value of 0 means infinity and is not recommended."
                  },
                  "description": "",
                  "modelProperties": {}
                },
                {
                  "type": {
                    "format": "java",
                    "type": "String",
                    "annotations": {
                      "typeId": "java.util.concurrent.TimeUnit",
                      "enum": {
                        "type": "[Ljava.lang.String;",
                        "values": [
                          "NANOSECONDS",
                          "MICROSECONDS",
                          "MILLISECONDS",
                          "SECONDS",
                          "MINUTES",
                          "HOURS",
                          "DAYS"
                        ]
                      }
                    }
                  },
                  "hasDynamicType": false,
                  "required": false,
                  "isConfigOverride": false,
                  "expressionSupport": "SUPPORTED",
                  "defaultValue": "SECONDS",
                  "role": "BEHAVIOUR",
                  "dslConfiguration": {
                    "allowsInlineDefinition": true,
                    "allowsReferences": true,
                    "allowTopLevelDefinition": false
                  },
                  "layoutModel": {
                    "password": false,
                    "text": false,
                    "query": false,
                    "order": 2,
                    "tabName": "Advanced"
                  },
                  "allowedStereotypeModels": [],
                  "name": "connectionTimeoutUnit",
                  "displayModel": {
                    "summary": "Time unit to be used in the connection timeout configurations"
                  },
                  "description": "",
                  "modelProperties": {}
                },
                {
                  "type": {
                    "format": "java",
                    "type": "Number",
                    "annotations": {
                      "classInformation": {
                        "classname": "java.lang.Integer",
                        "hasDefaultConstructor": false,
                        "isInterface": false,
                        "isInstantiable": false,
                        "isAbstract": false,
                        "isFinal": true,
                        "implementedInterfaces": [
                          "java.lang.Comparable"
                        ],
                        "parent": "java.lang.Number",
                        "genericTypes": [],
                        "isMap": false
                      },
                      "int": {}
                    }
                  },
                  "hasDynamicType": false,
                  "required": false,
                  "isConfigOverride": false,
                  "expressionSupport": "SUPPORTED",
                  "role": "BEHAVIOUR",
                  "dslConfiguration": {
                    "allowsInlineDefinition": true,
                    "allowsReferences": true,
                    "allowTopLevelDefinition": false
                  },
                  "layoutModel": {
                    "password": false,
                    "text": false,
                    "query": false,
                    "order": 3,
                    "tabName": "Advanced"
                  },
                  "allowedStereotypeModels": [],
                  "name": "maxConnections",
                  "displayModel": {
                    "summary": "Sets the maximum number of allowed open HTTP connections."
                  },
                  "description": "",
                  "modelProperties": {}
                },
                {
                  "type": {
                    "format": "java",
                    "type": "Number",
                    "annotations": {
                      "classInformation": {
                        "classname": "java.lang.Integer",
                        "hasDefaultConstructor": false,
                        "isInterface": false,
                        "isInstantiable": false,
                        "isAbstract": false,
                        "isFinal": true,
                        "implementedInterfaces": [
                          "java.lang.Comparable"
                        ],
                        "parent": "java.lang.Number",
                        "genericTypes": [],
                        "isMap": false
                      },
                      "int": {}
                    }
                  },
                  "hasDynamicType": false,
                  "required": false,
                  "isConfigOverride": false,
                  "expressionSupport": "SUPPORTED",
                  "defaultValue": "50",
                  "role": "BEHAVIOUR",
                  "dslConfiguration": {
                    "allowsInlineDefinition": true,
                    "allowsReferences": true,
                    "allowTopLevelDefinition": false
                  },
                  "layoutModel": {
                    "password": false,
                    "text": false,
                    "query": false,
                    "order": 4,
                    "tabName": "Advanced"
                  },
                  "allowedStereotypeModels": [],
                  "name": "socketTimeout",
                  "displayModel": {
                    "displayName": "Socket Timeout",
                    "summary": "The amount of time to wait (in milliseconds) for data to be transferred over an established, open connection before the connection times out. A value of 0 means infinity and is not recommended."
                  },
                  "description": "",
                  "modelProperties": {}
                },
                {
                  "type": {
                    "format": "java",
                    "type": "String",
                    "annotations": {
                      "typeId": "java.util.concurrent.TimeUnit",
                      "enum": {
                        "type": "[Ljava.lang.String;",
                        "values": [
                          "NANOSECONDS",
                          "MICROSECONDS",
                          "MILLISECONDS",
                          "SECONDS",
                          "MINUTES",
                          "HOURS",
                          "DAYS"
                        ]
                      }
                    }
                  },
                  "hasDynamicType": false,
                  "required": false,
                  "isConfigOverride": false,
                  "expressionSupport": "SUPPORTED",
                  "defaultValue": "SECONDS",
                  "role": "BEHAVIOUR",
                  "dslConfiguration": {
                    "allowsInlineDefinition": true,
                    "allowsReferences": true,
                    "allowTopLevelDefinition": false
                  },
                  "layoutModel": {
                    "password": false,
                    "text": false,
                    "query": false,
                    "order": 5,
                    "tabName": "Advanced"
                  },
                  "allowedStereotypeModels": [],
                  "name": "socketTimeoutUnit",
                  "displayModel": {
                    "summary": "Time unit to be used in the socket timeout configurations"
                  },
                  "description": "",
                  "modelProperties": {}
                },
                {
                  "type": {
                    "format": "java",
                    "type": "String"
                  },
                  "hasDynamicType": false,
                  "required": true,
                  "isConfigOverride": false,
                  "expressionSupport": "SUPPORTED",
                  "role": "BEHAVIOUR",
                  "dslConfiguration": {
                    "allowsInlineDefinition": true,
                    "allowsReferences": true,
                    "allowTopLevelDefinition": false
                  },
                  "layoutModel": {
                    "password": false,
                    "text": false,
                    "query": false,
                    "order": 4,
                    "tabName": "General"
                  },
                  "allowedStereotypeModels": [],
                  "name": "accessKey",
                  "displayModel": {
                    "displayName": "Access Key",
                    "summary": "The access key provided by Amazon."
                  },
                  "description": "",
                  "modelProperties": {}
                },
                {
                  "type": {
                    "format": "java",
                    "type": "String"
                  },
                  "hasDynamicType": false,
                  "required": true,
                  "isConfigOverride": false,
                  "expressionSupport": "SUPPORTED",
                  "role": "BEHAVIOUR",
                  "dslConfiguration": {
                    "allowsInlineDefinition": true,
                    "allowsReferences": true,
                    "allowTopLevelDefinition": false
                  },
                  "layoutModel": {
                    "password": false,
                    "text": false,
                    "query": false,
                    "order": 5,
                    "tabName": "General"
                  },
                  "allowedStereotypeModels": [],
                  "name": "secretKey",
                  "displayModel": {
                    "displayName": "Secret Key",
                    "summary": "The secret key provided by Amazon."
                  },
                  "description": "",
                  "modelProperties": {}
                },
                {
                  "type": {
                    "format": "java",
                    "type": "String"
                  },
                  "hasDynamicType": false,
                  "required": false,
                  "isConfigOverride": false,
                  "valueProviderModel": {
                    "actingParameters": [],
                    "partOrder": 1,
                    "providerName": "region",
                    "requiresConfiguration": false,
                    "requiresConnection": false,
                    "isOpen": true
                  },
                  "expressionSupport": "SUPPORTED",
                  "defaultValue": "US_EAST_1",
                  "role": "BEHAVIOUR",
                  "dslConfiguration": {
                    "allowsInlineDefinition": true,
                    "allowsReferences": true,
                    "allowTopLevelDefinition": false
                  },
                  "layoutModel": {
                    "password": false,
                    "text": false,
                    "query": false,
                    "order": 8,
                    "tabName": "General"
                  },
                  "allowedStereotypeModels": [],
                  "name": "region",
                  "displayModel": {
                    "displayName": "Region Endpoint",
                    "summary": "Set the topic region endpoint."
                  },
                  "description": "",
                  "modelProperties": {}
                },
                {
                  "type": {
                    "format": "java",
                    "type": "Boolean",
                    "annotations": {
                      "typeId": "boolean"
                    }
                  },
                  "hasDynamicType": false,
                  "required": false,
                  "isConfigOverride": false,
                  "expressionSupport": "SUPPORTED",
                  "defaultValue": "false",
                  "role": "BEHAVIOUR",
                  "dslConfiguration": {
                    "allowsInlineDefinition": true,
                    "allowsReferences": true,
                    "allowTopLevelDefinition": false
                  },
                  "layoutModel": {
                    "password": false,
                    "text": false,
                    "query": false,
                    "order": 6,
                    "tabName": "Advanced"
                  },
                  "allowedStereotypeModels": [],
                  "name": "tryDefaultAWSCredentialsProviderChain",
                  "displayModel": {
                    "displayName": "Try Default AWSCredentials Provider Chain",
                    "summary": "Set this field to true to obtain credentials from the AWS environment, See: https://docs.aws.amazon.com/sdk-for-java/v2/developer-guide/credentials.html"
                  },
                  "description": "",
                  "modelProperties": {}
                },
                {
                  "type": {
                    "format": "java",
                    "type": "String"
                  },
                  "hasDynamicType": false,
                  "required": false,
                  "isConfigOverride": false,
                  "expressionSupport": "SUPPORTED",
                  "role": "BEHAVIOUR",
                  "dslConfiguration": {
                    "allowsInlineDefinition": true,
                    "allowsReferences": true,
                    "allowTopLevelDefinition": false
                  },
                  "layoutModel": {
                    "password": false,
                    "text": false,
                    "query": false,
                    "order": 7,
                    "tabName": "Advanced"
                  },
                  "allowedStereotypeModels": [],
                  "name": "customServiceEndpoint",
                  "displayModel": {
                    "displayName": "Custom Service Endpoint",
                    "summary": "Sets a custom service endpoint. Useful when a non-standard service endpoint is required, such as a VPC endpoint."
                  },
                  "description": "",
                  "modelProperties": {}
                },
                {
                  "type": {
                    "format": "java",
                    "type": "Object",
                    "annotations": {
                      "typeId": "org.mule.runtime.api.tls.TlsContextFactory",
                      "typeAlias": {
                        "value": "Tls"
                      },
                      "typeDsl": {
                        "allowInlineDefinition": true,
                        "allowTopLevelDefinition": true
                      },
                      "QName": {
                        "value": {
                          "namespaceURI": "http://www.mulesoft.org/schema/mule/tls",
                          "localPart": "context",
                          "prefix": "tls"
                        }
                      }
                    },
                    "fields": [
                      {
                        "key": {
                          "name": "enabledProtocols"
                        },
                        "model": {
                          "type": "String"
                        },
                        "annotations": {
                          "description": {
                            "value": "A comma separated list of protocols enabled for this context."
                          }
                        }
                      },
                      {
                        "key": {
                          "name": "enabledCipherSuites"
                        },
                        "model": {
                          "type": "String"
                        },
                        "annotations": {
                          "description": {
                            "value": "A comma separated list of cipher suites enabled for this context."
                          }
                        }
                      },
                      {
                        "key": {
                          "name": "trust-store"
                        },
                        "model": {
                          "type": "Object",
                          "annotations": {
                            "typeId": "TrustStore",
                            "description": {
                              "value": "Trust store configuration. If used client side, the trust store contains the certificates of the trusted servers. If used server side, it contains the certificates of the trusted clients."
                            }
                          },
                          "fields": [
                            {
                              "key": {
                                "name": "path"
                              },
                              "model": {
                                "type": "String"
                              },
                              "annotations": {
                                "description": {
                                  "value": "The location (which will be resolved relative to the current classpath and file system, if possible) of the trust store."
                                },
                                "display": {
                                  "displayModel": {
                                    "pathModel": {
                                      "type": "FILE",
                                      "fileExtensions": [],
                                      "acceptsUrls": false,
                                      "location": "EMBEDDED"
                                    }
                                  }
                                }
                              }
                            },
                            {
                              "key": {
                                "name": "password"
                              },
                              "model": {
                                "type": "String"
                              },
                              "annotations": {
                                "description": {
                                  "value": "The password used to protect the trust store."
                                },
                                "layout": {
                                  "layoutModel": {
                                    "password": true,
                                    "text": false,
                                    "query": false
                                  }
                                }
                              }
                            },
                            {
                              "key": {
                                "name": "type"
                              },
                              "model": {
                                "type": "String",
                                "annotations": {
                                  "display": {
                                    "displayModel": {
                                      "example": "jks, jceks, pkcs12 or other store type"
                                    }
                                  }
                                }
                              },
                              "annotations": {
                                "description": {
                                  "value": "The type of store used."
                                }
                              }
                            },
                            {
                              "key": {
                                "name": "algorithm"
                              },
                              "model": {
                                "type": "String"
                              },
                              "annotations": {
                                "description": {
                                  "value": "The algorithm used by the trust store."
                                }
                              }
                            },
                            {
                              "key": {
                                "name": "insecure"
                              },
                              "model": {
                                "type": "Boolean",
                                "annotations": {
                                  "default": "false"
                                }
                              },
                              "annotations": {
                                "description": {
                                  "value": "If true, no certificate validations will be performed, rendering connections vulnerable to attacks. Use at your own risk."
                                }
                              }
                            }
                          ]
                        },
                        "annotations": {
                          "parameterDsl": {
                            "allowInlineDefinition": true,
                            "allowReferences": false
                          },
                          "expressionSupport": {
                            "value": "NOT_SUPPORTED"
                          }
                        }
                      },
                      {
                        "key": {
                          "name": "key-store"
                        },
                        "model": {
                          "type": "Object",
                          "annotations": {
                            "typeId": "KeyStore",
                            "description": {
                              "value": "Key store configuration. The key store contains the keys of this server/client."
                            }
                          },
                          "fields": [
                            {
                              "key": {
                                "name": "path"
                              },
                              "model": {
                                "type": "String"
                              },
                              "annotations": {
                                "description": {
                                  "value": "The location (which will be resolved relative to the current classpath and file system, if possible) of the key store."
                                },
                                "display": {
                                  "displayModel": {
                                    "pathModel": {
                                      "type": "FILE",
                                      "fileExtensions": [],
                                      "acceptsUrls": false,
                                      "location": "EMBEDDED"
                                    }
                                  }
                                }
                              }
                            },
                            {
                              "key": {
                                "name": "type"
                              },
                              "model": {
                                "type": "String",
                                "annotations": {
                                  "display": {
                                    "displayModel": {
                                      "example": "jks, jceks, pkcs12 or other store type"
                                    }
                                  }
                                }
                              },
                              "annotations": {
                                "description": {
                                  "value": "The type of store used."
                                }
                              }
                            },
                            {
                              "key": {
                                "name": "alias"
                              },
                              "model": {
                                "type": "String"
                              },
                              "annotations": {
                                "description": {
                                  "value": "When the key store contains many private keys, this attribute indicates the alias of the key that should be used. If not defined, the first key in the file will be used by default."
                                }
                              }
                            },
                            {
                              "key": {
                                "name": "keyPassword"
                              },
                              "model": {
                                "type": "String"
                              },
                              "annotations": {
                                "description": {
                                  "value": "The password used to protect the private key."
                                },
                                "layout": {
                                  "layoutModel": {
                                    "password": true,
                                    "text": false,
                                    "query": false
                                  }
                                }
                              }
                            },
                            {
                              "key": {
                                "name": "password"
                              },
                              "model": {
                                "type": "String"
                              },
                              "annotations": {
                                "description": {
                                  "value": "The password used to protect the key store."
                                },
                                "layout": {
                                  "layoutModel": {
                                    "password": true,
                                    "text": false,
                                    "query": false
                                  }
                                }
                              }
                            },
                            {
                              "key": {
                                "name": "algorithm"
                              },
                              "model": {
                                "type": "String"
                              },
                              "annotations": {
                                "description": {
                                  "value": "The algorithm used by the key store."
                                }
                              }
                            }
                          ]
                        },
                        "annotations": {
                          "parameterDsl": {
                            "allowInlineDefinition": true,
                            "allowReferences": false
                          },
                          "expressionSupport": {
                            "value": "NOT_SUPPORTED"
                          }
                        }
                      },
                      {
                        "key": {
                          "name": "revocation-check"
                        },
                        "model": {
                          "type": "Union",
                          "annotations": {
                            "typeId": "RevocationCheck"
                          },
                          "of": [
                            {
                              "type": "Object",
                              "annotations": {
                                "typeId": "standard-revocation-check",
                                "description": {
                                  "value": "Uses the standard JVM certificate revocation checks, which depend on the certificate having the corresponding extension points (additional tags for CRLDP or OCSP), and the availability of revocation servers."
                                }
                              },
                              "fields": [
                                {
                                  "key": {
                                    "name": "onlyEndEntities"
                                  },
                                  "model": {
                                    "type": "Boolean",
                                    "annotations": {
                                      "default": "false"
                                    }
                                  },
                                  "annotations": {
                                    "description": {
                                      "value": "Only verify the last element of the certificate chain."
                                    }
                                  }
                                },
                                {
                                  "key": {
                                    "name": "preferCrls"
                                  },
                                  "model": {
                                    "type": "Boolean",
                                    "annotations": {
                                      "default": "false"
                                    }
                                  },
                                  "annotations": {
                                    "description": {
                                      "value": "Try CRL instead of OCSP first."
                                    }
                                  }
                                },
                                {
                                  "key": {
                                    "name": "noFallback"
                                  },
                                  "model": {
                                    "type": "Boolean",
                                    "annotations": {
                                      "default": "false"
                                    }
                                  },
                                  "annotations": {
                                    "description": {
                                      "value": "Do not use the secondary checking method (the one not selected before)."
                                    }
                                  }
                                },
                                {
                                  "key": {
                                    "name": "softFail"
                                  },
                                  "model": {
                                    "type": "Boolean",
                                    "annotations": {
                                      "default": "false"
                                    }
                                  },
                                  "annotations": {
                                    "description": {
                                      "value": "Avoid verification failure when the revocation server can not be reached or is busy."
                                    }
                                  }
                                }
                              ]
                            },
                            {
                              "type": "Object",
                              "annotations": {
                                "typeId": "custom-ocsp-responder",
                                "description": {
                                  "value": "Uses a custom OCSP responder for certificate revocation checks, with a specific trusted certificate for revocating other keys. This ignores extension points (additional tags for CRLDP or OCSP) present in the certificate, if any."
                                }
                              },
                              "fields": [
                                {
                                  "key": {
                                    "name": "url"
                                  },
                                  "model": {
                                    "type": "String"
                                  },
                                  "annotations": {
                                    "description": {
                                      "value": "The URL of the OCSP responder."
                                    }
                                  }
                                },
                                {
                                  "key": {
                                    "name": "certAlias"
                                  },
                                  "model": {
                                    "type": "String"
                                  },
                                  "annotations": {
                                    "description": {
                                      "value": "Alias of the signing certificate for the OCSP response (must be in the trust store), if present."
                                    }
                                  }
                                }
                              ]
                            },
                            {
                              "type": "Object",
                              "annotations": {
                                "typeId": "crl-file",
                                "description": {
                                  "value": "Local file based certificate revocation checker, which requires a CRL file to be accessible and ignores extension points (additional tags for CRLDP and OCSP) in the certificate."
                                }
                              },
                              "fields": [
                                {
                                  "key": {
                                    "name": "path"
                                  },
                                  "model": {
                                    "type": "String"
                                  },
                                  "annotations": {
                                    "description": {
                                      "value": "The path to the CRL file."
                                    }
                                  }
                                }
                              ]
                            }
                          ]
                        },
                        "annotations": {
                          "parameterDsl": {
                            "allowInlineDefinition": true,
                            "allowReferences": false
                          },
                          "expressionSupport": {
                            "value": "NOT_SUPPORTED"
                          }
                        }
                      }
                    ]
                  },
                  "hasDynamicType": false,
                  "required": false,
                  "isConfigOverride": false,
                  "expressionSupport": "NOT_SUPPORTED",
                  "role": "BEHAVIOUR",
                  "dslConfiguration": {
                    "allowsInlineDefinition": true,
                    "allowsReferences": true,
                    "allowTopLevelDefinition": true
                  },
                  "layoutModel": {
                    "password": false,
                    "text": false,
                    "query": false,
                    "order": 9,
                    "tabName": "Security"
                  },
                  "allowedStereotypeModels": [],
                  "name": "tlsContext",
                  "displayModel": {
                    "displayName": "TLS Configuration"
                  },
                  "description": "",
                  "modelProperties": {
                    "org.mule.runtime.extension.api.property.InfrastructureParameterModelProperty": {
                      "sequence": 8
                    },
                    "org.mule.runtime.extension.api.property.QNameModelProperty": {
                      "value": {
                        "namespaceURI": "http://www.mulesoft.org/schema/mule/tls",
                        "localPart": "context",
                        "prefix": "tls"
                      }
                    }
                  }
                },
                {
                  "type": {
                    "format": "java",
                    "type": "Object",
                    "annotations": {
                      "typeId": "Reconnection"
                    },
                    "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"
                          },
                          "of": [
                            {
                              "type": "Object",
                              "annotations": {
                                "typeId": "reconnect"
                              },
                              "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": [
                                          "java.lang.Comparable"
                                        ],
                                        "parent": "java.lang.Number",
                                        "genericTypes": [],
                                        "isMap": false
                                      },
                                      "default": "2000"
                                    }
                                  },
                                  "annotations": {
                                    "description": {
                                      "value": "How often (in ms) to reconnect"
                                    }
                                  }
                                },
                                {
                                  "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"
                              },
                              "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": [
                                          "java.lang.Comparable"
                                        ],
                                        "parent": "java.lang.Number",
                                        "genericTypes": [],
                                        "isMap": false
                                      },
                                      "default": "2000"
                                    }
                                  },
                                  "annotations": {
                                    "description": {
                                      "value": "How often (in ms) to reconnect"
                                    }
                                  }
                                }
                              ]
                            }
                          ]
                        },
                        "annotations": {
                          "description": {
                            "value": "The reconnection strategy to use"
                          }
                        }
                      }
                    ]
                  },
                  "hasDynamicType": false,
                  "required": false,
                  "isConfigOverride": false,
                  "expressionSupport": "NOT_SUPPORTED",
                  "role": "BEHAVIOUR",
                  "dslConfiguration": {
                    "allowsInlineDefinition": true,
                    "allowsReferences": false,
                    "allowTopLevelDefinition": false
                  },
                  "layoutModel": {
                    "password": false,
                    "text": false,
                    "query": false,
                    "order": 10,
                    "tabName": "Advanced"
                  },
                  "allowedStereotypeModels": [],
                  "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": 1,
                "tabName": "General"
              },
              "showInDsl": false,
              "name": "Connection",
              "description": "",
              "modelProperties": {}
            },
            {
              "parameters": [
                {
                  "type": {
                    "format": "java",
                    "type": "String"
                  },
                  "hasDynamicType": false,
                  "required": false,
                  "isConfigOverride": false,
                  "expressionSupport": "SUPPORTED",
                  "role": "BEHAVIOUR",
                  "dslConfiguration": {
                    "allowsInlineDefinition": true,
                    "allowsReferences": true,
                    "allowTopLevelDefinition": false
                  },
                  "layoutModel": {
                    "password": false,
                    "text": false,
                    "query": false,
                    "order": 1,
                    "tabName": "Proxy"
                  },
                  "allowedStereotypeModels": [],
                  "name": "proxyHost",
                  "displayModel": {
                    "displayName": "Host",
                    "summary": "The optional proxy host."
                  },
                  "description": "",
                  "modelProperties": {}
                },
                {
                  "type": {
                    "format": "java",
                    "type": "Number",
                    "annotations": {
                      "classInformation": {
                        "classname": "java.lang.Integer",
                        "hasDefaultConstructor": false,
                        "isInterface": false,
                        "isInstantiable": false,
                        "isAbstract": false,
                        "isFinal": true,
                        "implementedInterfaces": [
                          "java.lang.Comparable"
                        ],
                        "parent": "java.lang.Number",
                        "genericTypes": [],
                        "isMap": false
                      },
                      "int": {}
                    }
                  },
                  "hasDynamicType": false,
                  "required": false,
                  "isConfigOverride": false,
                  "expressionSupport": "SUPPORTED",
                  "role": "BEHAVIOUR",
                  "dslConfiguration": {
                    "allowsInlineDefinition": true,
                    "allowsReferences": true,
                    "allowTopLevelDefinition": false
                  },
                  "layoutModel": {
                    "password": false,
                    "text": false,
                    "query": false,
                    "order": 2,
                    "tabName": "Proxy"
                  },
                  "allowedStereotypeModels": [],
                  "name": "proxyPort",
                  "displayModel": {
                    "displayName": "Port",
                    "summary": "The optional proxy port."
                  },
                  "description": "",
                  "modelProperties": {}
                },
                {
                  "type": {
                    "format": "java",
                    "type": "String"
                  },
                  "hasDynamicType": false,
                  "required": false,
                  "isConfigOverride": false,
                  "expressionSupport": "SUPPORTED",
                  "role": "BEHAVIOUR",
                  "dslConfiguration": {
                    "allowsInlineDefinition": true,
                    "allowsReferences": true,
                    "allowTopLevelDefinition": false
                  },
                  "layoutModel": {
                    "password": false,
                    "text": false,
                    "query": false,
                    "order": 3,
                    "tabName": "Proxy"
                  },
                  "allowedStereotypeModels": [],
                  "name": "proxyUsername",
                  "displayModel": {
                    "displayName": "Username",
                    "summary": "The optional proxy username."
                  },
                  "description": "",
                  "modelProperties": {}
                },
                {
                  "type": {
                    "format": "java",
                    "type": "String"
                  },
                  "hasDynamicType": false,
                  "required": false,
                  "isConfigOverride": false,
                  "expressionSupport": "SUPPORTED",
                  "role": "BEHAVIOUR",
                  "dslConfiguration": {
                    "allowsInlineDefinition": true,
                    "allowsReferences": true,
                    "allowTopLevelDefinition": false
                  },
                  "layoutModel": {
                    "password": false,
                    "text": false,
                    "query": false,
                    "order": 4,
                    "tabName": "Proxy"
                  },
                  "allowedStereotypeModels": [],
                  "name": "proxyPassword",
                  "displayModel": {
                    "displayName": "Password",
                    "summary": "The optional proxy password."
                  },
                  "description": "",
                  "modelProperties": {}
                },
                {
                  "type": {
                    "format": "java",
                    "type": "String"
                  },
                  "hasDynamicType": false,
                  "required": false,
                  "isConfigOverride": false,
                  "expressionSupport": "SUPPORTED",
                  "role": "BEHAVIOUR",
                  "dslConfiguration": {
                    "allowsInlineDefinition": true,
                    "allowsReferences": true,
                    "allowTopLevelDefinition": false
                  },
                  "layoutModel": {
                    "password": false,
                    "text": false,
                    "query": false,
                    "order": 5,
                    "tabName": "Proxy"
                  },
                  "allowedStereotypeModels": [],
                  "name": "proxyDomain",
                  "displayModel": {
                    "displayName": "Domain",
                    "summary": "The optional proxy domain."
                  },
                  "description": "",
                  "modelProperties": {}
                },
                {
                  "type": {
                    "format": "java",
                    "type": "String"
                  },
                  "hasDynamicType": false,
                  "required": false,
                  "isConfigOverride": false,
                  "expressionSupport": "SUPPORTED",
                  "role": "BEHAVIOUR",
                  "dslConfiguration": {
                    "allowsInlineDefinition": true,
                    "allowsReferences": true,
                    "allowTopLevelDefinition": false
                  },
                  "layoutModel": {
                    "password": false,
                    "text": false,
                    "query": false,
                    "order": 6,
                    "tabName": "Proxy"
                  },
                  "allowedStereotypeModels": [],
                  "name": "proxyWorkstation",
                  "displayModel": {
                    "displayName": "Workstation",
                    "summary": "The optional proxy workstation."
                  },
                  "description": "",
                  "modelProperties": {}
                }
              ],
              "exclusiveParametersModels": [],
              "layoutModel": {
                "password": false,
                "text": false,
                "query": false,
                "order": 2,
                "tabName": "General"
              },
              "showInDsl": false,
              "name": "Proxy",
              "description": "",
              "modelProperties": {}
            },
            {
              "parameters": [
                {
                  "type": {
                    "format": "java",
                    "type": "Boolean",
                    "annotations": {
                      "typeId": "boolean"
                    }
                  },
                  "hasDynamicType": false,
                  "required": false,
                  "isConfigOverride": false,
                  "expressionSupport": "SUPPORTED",
                  "defaultValue": "false",
                  "role": "BEHAVIOUR",
                  "dslConfiguration": {
                    "allowsInlineDefinition": true,
                    "allowsReferences": true,
                    "allowTopLevelDefinition": false
                  },
                  "layoutModel": {
                    "password": false,
                    "text": false,
                    "query": false,
                    "order": 1,
                    "tabName": "Advanced"
                  },
                  "allowedStereotypeModels": [],
                  "name": "forceGlobalBucketAccess",
                  "displayModel": {
                    "displayName": "Force Global Bucket Access",
                    "summary": "Any bucket-related operations invoked against a client with this option enabled will potentially be executed against other regions than the one configured in the client in order to succeed."
                  },
                  "description": "",
                  "modelProperties": {}
                },
                {
                  "type": {
                    "format": "java",
                    "type": "String"
                  },
                  "hasDynamicType": false,
                  "required": false,
                  "isConfigOverride": false,
                  "expressionSupport": "SUPPORTED",
                  "role": "BEHAVIOUR",
                  "dslConfiguration": {
                    "allowsInlineDefinition": true,
                    "allowsReferences": true,
                    "allowTopLevelDefinition": false
                  },
                  "layoutModel": {
                    "password": false,
                    "text": false,
                    "query": false,
                    "order": 2,
                    "tabName": "Advanced"
                  },
                  "allowedStereotypeModels": [],
                  "name": "storageUrl",
                  "displayModel": {
                    "displayName": "S3 Compatible Storage URL (Deprecated)",
                    "summary": "(If both the Custom Service Endpoint and Storage Url are specified, then the Custom Service Endpoint is used.) The URL to connect to when S3-compatible storage is used. If blank, the connector uses the default AWS S3 URL.",
                    "example": "https://s3.us-east-1.amazonaws.com"
                  },
                  "description": "",
                  "modelProperties": {}
                }
              ],
              "exclusiveParametersModels": [],
              "layoutModel": {
                "password": false,
                "text": false,
                "query": false,
                "order": 1,
                "tabName": "General"
              },
              "showInDsl": false,
              "name": "Advanced",
              "description": "",
              "modelProperties": {}
            }
          ],
          "name": "basic",
          "description": "",
          "modelProperties": {}
        },
        {
          "connectionManagementType": "CACHED",
          "externalLibraryModels": [],
          "supportsConnectivityTesting": true,
          "stereotype": {
            "type": "ROLE",
            "namespace": "S3",
            "parent": {
              "type": "CONNECTION",
              "namespace": "MULE"
            }
          },
          "parameterGroupModels": [
            {
              "parameters": [
                {
                  "type": {
                    "format": "java",
                    "type": "String"
                  },
                  "hasDynamicType": false,
                  "required": true,
                  "isConfigOverride": false,
                  "expressionSupport": "SUPPORTED",
                  "role": "BEHAVIOUR",
                  "dslConfiguration": {
                    "allowsInlineDefinition": true,
                    "allowsReferences": true,
                    "allowTopLevelDefinition": false
                  },
                  "layoutModel": {
                    "password": false,
                    "text": false,
                    "query": false,
                    "order": 1,
                    "tabName": "General"
                  },
                  "allowedStereotypeModels": [],
                  "name": "roleARN",
                  "displayModel": {
                    "displayName": "Role ARN",
                    "summary": "The Role ARN unique identifies role to assume in order to gain cross account access."
                  },
                  "description": "",
                  "modelProperties": {}
                },
                {
                  "type": {
                    "format": "java",
                    "type": "String"
                  },
                  "hasDynamicType": false,
                  "required": false,
                  "isConfigOverride": false,
                  "expressionSupport": "SUPPORTED",
                  "role": "BEHAVIOUR",
                  "dslConfiguration": {
                    "allowsInlineDefinition": true,
                    "allowsReferences": true,
                    "allowTopLevelDefinition": false
                  },
                  "layoutModel": {
                    "password": false,
                    "text": false,
                    "query": false,
                    "order": 1,
                    "tabName": "Advanced"
                  },
                  "allowedStereotypeModels": [],
                  "name": "customStsEndpoint",
                  "displayModel": {
                    "displayName": "Custom STS Endpoint",
                    "summary": "Sets a custom STS endpoint. Useful when a non-standard service endpoint is required, such as a VPC endpoint."
                  },
                  "description": "",
                  "modelProperties": {}
                }
              ],
              "exclusiveParametersModels": [],
              "layoutModel": {
                "password": false,
                "text": false,
                "query": false,
                "order": 0
              },
              "showInDsl": false,
              "name": "General",
              "description": "",
              "modelProperties": {}
            },
            {
              "parameters": [
                {
                  "type": {
                    "format": "java",
                    "type": "Number",
                    "annotations": {
                      "classInformation": {
                        "classname": "java.lang.Integer",
                        "hasDefaultConstructor": false,
                        "isInterface": false,
                        "isInstantiable": false,
                        "isAbstract": false,
                        "isFinal": true,
                        "implementedInterfaces": [
                          "java.lang.Comparable"
                        ],
                        "parent": "java.lang.Number",
                        "genericTypes": [],
                        "isMap": false
                      },
                      "int": {}
                    }
                  },
                  "hasDynamicType": false,
                  "required": false,
                  "isConfigOverride": false,
                  "expressionSupport": "SUPPORTED",
                  "defaultValue": "50",
                  "role": "BEHAVIOUR",
                  "dslConfiguration": {
                    "allowsInlineDefinition": true,
                    "allowsReferences": true,
                    "allowTopLevelDefinition": false
                  },
                  "layoutModel": {
                    "password": false,
                    "text": false,
                    "query": false,
                    "order": 1,
                    "tabName": "Advanced"
                  },
                  "allowedStereotypeModels": [],
                  "name": "connectionTimeout",
                  "displayModel": {
                    "displayName": "Connection Timeout",
                    "summary": "The amount of time to wait (in milliseconds) when initially establishing a connection before the connector gives up and times out. A value of 0 means infinity and is not recommended."
                  },
                  "description": "",
                  "modelProperties": {}
                },
                {
                  "type": {
                    "format": "java",
                    "type": "String",
                    "annotations": {
                      "typeId": "java.util.concurrent.TimeUnit",
                      "enum": {
                        "type": "[Ljava.lang.String;",
                        "values": [
                          "NANOSECONDS",
                          "MICROSECONDS",
                          "MILLISECONDS",
                          "SECONDS",
                          "MINUTES",
                          "HOURS",
                          "DAYS"
                        ]
                      }
                    }
                  },
                  "hasDynamicType": false,
                  "required": false,
                  "isConfigOverride": false,
                  "expressionSupport": "SUPPORTED",
                  "defaultValue": "SECONDS",
                  "role": "BEHAVIOUR",
                  "dslConfiguration": {
                    "allowsInlineDefinition": true,
                    "allowsReferences": true,
                    "allowTopLevelDefinition": false
                  },
                  "layoutModel": {
                    "password": false,
                    "text": false,
                    "query": false,
                    "order": 2,
                    "tabName": "Advanced"
                  },
                  "allowedStereotypeModels": [],
                  "name": "connectionTimeoutUnit",
                  "displayModel": {
                    "summary": "Time unit to be used in the connection timeout configurations"
                  },
                  "description": "",
                  "modelProperties": {}
                },
                {
                  "type": {
                    "format": "java",
                    "type": "Number",
                    "annotations": {
                      "classInformation": {
                        "classname": "java.lang.Integer",
                        "hasDefaultConstructor": false,
                        "isInterface": false,
                        "isInstantiable": false,
                        "isAbstract": false,
                        "isFinal": true,
                        "implementedInterfaces": [
                          "java.lang.Comparable"
                        ],
                        "parent": "java.lang.Number",
                        "genericTypes": [],
                        "isMap": false
                      },
                      "int": {}
                    }
                  },
                  "hasDynamicType": false,
                  "required": false,
                  "isConfigOverride": false,
                  "expressionSupport": "SUPPORTED",
                  "role": "BEHAVIOUR",
                  "dslConfiguration": {
                    "allowsInlineDefinition": true,
                    "allowsReferences": true,
                    "allowTopLevelDefinition": false
                  },
                  "layoutModel": {
                    "password": false,
                    "text": false,
                    "query": false,
                    "order": 3,
                    "tabName": "Advanced"
                  },
                  "allowedStereotypeModels": [],
                  "name": "maxConnections",
                  "displayModel": {
                    "summary": "Sets the maximum number of allowed open HTTP connections."
                  },
                  "description": "",
                  "modelProperties": {}
                },
                {
                  "type": {
                    "format": "java",
                    "type": "Number",
                    "annotations": {
                      "classInformation": {
                        "classname": "java.lang.Integer",
                        "hasDefaultConstructor": false,
                        "isInterface": false,
                        "isInstantiable": false,
                        "isAbstract": false,
                        "isFinal": true,
                        "implementedInterfaces": [
                          "java.lang.Comparable"
                        ],
                        "parent": "java.lang.Number",
                        "genericTypes": [],
                        "isMap": false
                      },
                      "int": {}
                    }
                  },
                  "hasDynamicType": false,
                  "required": false,
                  "isConfigOverride": false,
                  "expressionSupport": "SUPPORTED",
                  "defaultValue": "50",
                  "role": "BEHAVIOUR",
                  "dslConfiguration": {
                    "allowsInlineDefinition": true,
                    "allowsReferences": true,
                    "allowTopLevelDefinition": false
                  },
                  "layoutModel": {
                    "password": false,
                    "text": false,
                    "query": false,
                    "order": 4,
                    "tabName": "Advanced"
                  },
                  "allowedStereotypeModels": [],
                  "name": "socketTimeout",
                  "displayModel": {
                    "displayName": "Socket Timeout",
                    "summary": "The amount of time to wait (in milliseconds) for data to be transferred over an established, open connection before the connection times out. A value of 0 means infinity and is not recommended."
                  },
                  "description": "",
                  "modelProperties": {}
                },
                {
                  "type": {
                    "format": "java",
                    "type": "String",
                    "annotations": {
                      "typeId": "java.util.concurrent.TimeUnit",
                      "enum": {
                        "type": "[Ljava.lang.String;",
                        "values": [
                          "NANOSECONDS",
                          "MICROSECONDS",
                          "MILLISECONDS",
                          "SECONDS",
                          "MINUTES",
                          "HOURS",
                          "DAYS"
                        ]
                      }
                    }
                  },
                  "hasDynamicType": false,
                  "required": false,
                  "isConfigOverride": false,
                  "expressionSupport": "SUPPORTED",
                  "defaultValue": "SECONDS",
                  "role": "BEHAVIOUR",
                  "dslConfiguration": {
                    "allowsInlineDefinition": true,
                    "allowsReferences": true,
                    "allowTopLevelDefinition": false
                  },
                  "layoutModel": {
                    "password": false,
                    "text": false,
                    "query": false,
                    "order": 5,
                    "tabName": "Advanced"
                  },
                  "allowedStereotypeModels": [],
                  "name": "socketTimeoutUnit",
                  "displayModel": {
                    "summary": "Time unit to be used in the socket timeout configurations"
                  },
                  "description": "",
                  "modelProperties": {}
                },
                {
                  "type": {
                    "format": "java",
                    "type": "String"
                  },
                  "hasDynamicType": false,
                  "required": true,
                  "isConfigOverride": false,
                  "expressionSupport": "SUPPORTED",
                  "role": "BEHAVIOUR",
                  "dslConfiguration": {
                    "allowsInlineDefinition": true,
                    "allowsReferences": true,
                    "allowTopLevelDefinition": false
                  },
                  "layoutModel": {
                    "password": false,
                    "text": false,
                    "query": false,
                    "order": 4,
                    "tabName": "General"
                  },
                  "allowedStereotypeModels": [],
                  "name": "accessKey",
                  "displayModel": {
                    "displayName": "Access Key",
                    "summary": "The access key provided by Amazon."
                  },
                  "description": "",
                  "modelProperties": {}
                },
                {
                  "type": {
                    "format": "java",
                    "type": "String"
                  },
                  "hasDynamicType": false,
                  "required": true,
                  "isConfigOverride": false,
                  "expressionSupport": "SUPPORTED",
                  "role": "BEHAVIOUR",
                  "dslConfiguration": {
                    "allowsInlineDefinition": true,
                    "allowsReferences": true,
                    "allowTopLevelDefinition": false
                  },
                  "layoutModel": {
                    "password": false,
                    "text": false,
                    "query": false,
                    "order": 5,
                    "tabName": "General"
                  },
                  "allowedStereotypeModels": [],
                  "name": "secretKey",
                  "displayModel": {
                    "displayName": "Secret Key",
                    "summary": "The secret key provided by Amazon."
                  },
                  "description": "",
                  "modelProperties": {}
                },
                {
                  "type": {
                    "format": "java",
                    "type": "String"
                  },
                  "hasDynamicType": false,
                  "required": false,
                  "isConfigOverride": false,
                  "valueProviderModel": {
                    "actingParameters": [],
                    "partOrder": 1,
                    "providerName": "region",
                    "requiresConfiguration": false,
                    "requiresConnection": false,
                    "isOpen": true
                  },
                  "expressionSupport": "SUPPORTED",
                  "defaultValue": "US_EAST_1",
                  "role": "BEHAVIOUR",
                  "dslConfiguration": {
                    "allowsInlineDefinition": true,
                    "allowsReferences": true,
                    "allowTopLevelDefinition": false
                  },
                  "layoutModel": {
                    "password": false,
                    "text": false,
                    "query": false,
                    "order": 8,
                    "tabName": "General"
                  },
                  "allowedStereotypeModels": [],
                  "name": "region",
                  "displayModel": {
                    "displayName": "Region Endpoint",
                    "summary": "Set the topic region endpoint."
                  },
                  "description": "",
                  "modelProperties": {}
                },
                {
                  "type": {
                    "format": "java",
                    "type": "Boolean",
                    "annotations": {
                      "typeId": "boolean"
                    }
                  },
                  "hasDynamicType": false,
                  "required": false,
                  "isConfigOverride": false,
                  "expressionSupport": "SUPPORTED",
                  "defaultValue": "false",
                  "role": "BEHAVIOUR",
                  "dslConfiguration": {
                    "allowsInlineDefinition": true,
                    "allowsReferences": true,
                    "allowTopLevelDefinition": false
                  },
                  "layoutModel": {
                    "password": false,
                    "text": false,
                    "query": false,
                    "order": 6,
                    "tabName": "Advanced"
                  },
                  "allowedStereotypeModels": [],
                  "name": "tryDefaultAWSCredentialsProviderChain",
                  "displayModel": {
                    "displayName": "Try Default AWSCredentials Provider Chain",
                    "summary": "Set this field to true to obtain credentials from the AWS environment, See: https://docs.aws.amazon.com/sdk-for-java/v2/developer-guide/credentials.html"
                  },
                  "description": "",
                  "modelProperties": {}
                },
                {
                  "type": {
                    "format": "java",
                    "type": "String"
                  },
                  "hasDynamicType": false,
                  "required": false,
                  "isConfigOverride": false,
                  "expressionSupport": "SUPPORTED",
                  "role": "BEHAVIOUR",
                  "dslConfiguration": {
                    "allowsInlineDefinition": true,
                    "allowsReferences": true,
                    "allowTopLevelDefinition": false
                  },
                  "layoutModel": {
                    "password": false,
                    "text": false,
                    "query": false,
                    "order": 7,
                    "tabName": "Advanced"
                  },
                  "allowedStereotypeModels": [],
                  "name": "customServiceEndpoint",
                  "displayModel": {
                    "displayName": "Custom Service Endpoint",
                    "summary": "Sets a custom service endpoint. Useful when a non-standard service endpoint is required, such as a VPC endpoint."
                  },
                  "description": "",
                  "modelProperties": {}
                },
                {
                  "type": {
                    "format": "java",
                    "type": "Object",
                    "annotations": {
                      "typeId": "org.mule.runtime.api.tls.TlsContextFactory",
                      "typeAlias": {
                        "value": "Tls"
                      },
                      "typeDsl": {
                        "allowInlineDefinition": true,
                        "allowTopLevelDefinition": true
                      },
                      "QName": {
                        "value": {
                          "namespaceURI": "http://www.mulesoft.org/schema/mule/tls",
                          "localPart": "context",
                          "prefix": "tls"
                        }
                      }
                    },
                    "fields": [
                      {
                        "key": {
                          "name": "enabledProtocols"
                        },
                        "model": {
                          "type": "String"
                        },
                        "annotations": {
                          "description": {
                            "value": "A comma separated list of protocols enabled for this context."
                          }
                        }
                      },
                      {
                        "key": {
                          "name": "enabledCipherSuites"
                        },
                        "model": {
                          "type": "String"
                        },
                        "annotations": {
                          "description": {
                            "value": "A comma separated list of cipher suites enabled for this context."
                          }
                        }
                      },
                      {
                        "key": {
                          "name": "trust-store"
                        },
                        "model": {
                          "type": "Object",
                          "annotations": {
                            "typeId": "TrustStore",
                            "description": {
                              "value": "Trust store configuration. If used client side, the trust store contains the certificates of the trusted servers. If used server side, it contains the certificates of the trusted clients."
                            }
                          },
                          "fields": [
                            {
                              "key": {
                                "name": "path"
                              },
                              "model": {
                                "type": "String"
                              },
                              "annotations": {
                                "description": {
                                  "value": "The location (which will be resolved relative to the current classpath and file system, if possible) of the trust store."
                                },
                                "display": {
                                  "displayModel": {
                                    "pathModel": {
                                      "type": "FILE",
                                      "fileExtensions": [],
                                      "acceptsUrls": false,
                                      "location": "EMBEDDED"
                                    }
                                  }
                                }
                              }
                            },
                            {
                              "key": {
                                "name": "password"
                              },
                              "model": {
                                "type": "String"
                              },
                              "annotations": {
                                "description": {
                                  "value": "The password used to protect the trust store."
                                },
                                "layout": {
                                  "layoutModel": {
                                    "password": true,
                                    "text": false,
                                    "query": false
                                  }
                                }
                              }
                            },
                            {
                              "key": {
                                "name": "type"
                              },
                              "model": {
                                "type": "String",
                                "annotations": {
                                  "display": {
                                    "displayModel": {
                                      "example": "jks, jceks, pkcs12 or other store type"
                                    }
                                  }
                                }
                              },
                              "annotations": {
                                "description": {
                                  "value": "The type of store used."
                                }
                              }
                            },
                            {
                              "key": {
                                "name": "algorithm"
                              },
                              "model": {
                                "type": "String"
                              },
                              "annotations": {
                                "description": {
                                  "value": "The algorithm used by the trust store."
                                }
                              }
                            },
                            {
                              "key": {
                                "name": "insecure"
                              },
                              "model": {
                                "type": "Boolean",
                                "annotations": {
                                  "default": "false"
                                }
                              },
                              "annotations": {
                                "description": {
                                  "value": "If true, no certificate validations will be performed, rendering connections vulnerable to attacks. Use at your own risk."
                                }
                              }
                            }
                          ]
                        },
                        "annotations": {
                          "parameterDsl": {
                            "allowInlineDefinition": true,
                            "allowReferences": false
                          },
                          "expressionSupport": {
                            "value": "NOT_SUPPORTED"
                          }
                        }
                      },
                      {
                        "key": {
                          "name": "key-store"
                        },
                        "model": {
                          "type": "Object",
                          "annotations": {
                            "typeId": "KeyStore",
                            "description": {
                              "value": "Key store configuration. The key store contains the keys of this server/client."
                            }
                          },
                          "fields": [
                            {
                              "key": {
                                "name": "path"
                              },
                              "model": {
                                "type": "String"
                              },
                              "annotations": {
                                "description": {
                                  "value": "The location (which will be resolved relative to the current classpath and file system, if possible) of the key store."
                                },
                                "display": {
                                  "displayModel": {
                                    "pathModel": {
                                      "type": "FILE",
                                      "fileExtensions": [],
                                      "acceptsUrls": false,
                                      "location": "EMBEDDED"
                                    }
                                  }
                                }
                              }
                            },
                            {
                              "key": {
                                "name": "type"
                              },
                              "model": {
                                "type": "String",
                                "annotations": {
                                  "display": {
                                    "displayModel": {
                                      "example": "jks, jceks, pkcs12 or other store type"
                                    }
                                  }
                                }
                              },
                              "annotations": {
                                "description": {
                                  "value": "The type of store used."
                                }
                              }
                            },
                            {
                              "key": {
                                "name": "alias"
                              },
                              "model": {
                                "type": "String"
                              },
                              "annotations": {
                                "description": {
                                  "value": "When the key store contains many private keys, this attribute indicates the alias of the key that should be used. If not defined, the first key in the file will be used by default."
                                }
                              }
                            },
                            {
                              "key": {
                                "name": "keyPassword"
                              },
                              "model": {
                                "type": "String"
                              },
                              "annotations": {
                                "description": {
                                  "value": "The password used to protect the private key."
                                },
                                "layout": {
                                  "layoutModel": {
                                    "password": true,
                                    "text": false,
                                    "query": false
                                  }
                                }
                              }
                            },
                            {
                              "key": {
                                "name": "password"
                              },
                              "model": {
                                "type": "String"
                              },
                              "annotations": {
                                "description": {
                                  "value": "The password used to protect the key store."
                                },
                                "layout": {
                                  "layoutModel": {
                                    "password": true,
                                    "text": false,
                                    "query": false
                                  }
                                }
                              }
                            },
                            {
                              "key": {
                                "name": "algorithm"
                              },
                              "model": {
                                "type": "String"
                              },
                              "annotations": {
                                "description": {
                                  "value": "The algorithm used by the key store."
                                }
                              }
                            }
                          ]
                        },
                        "annotations": {
                          "parameterDsl": {
                            "allowInlineDefinition": true,
                            "allowReferences": false
                          },
                          "expressionSupport": {
                            "value": "NOT_SUPPORTED"
                          }
                        }
                      },
                      {
                        "key": {
                          "name": "revocation-check"
                        },
                        "model": {
                          "type": "Union",
                          "annotations": {
                            "typeId": "RevocationCheck"
                          },
                          "of": [
                            {
                              "type": "Object",
                              "annotations": {
                                "typeId": "standard-revocation-check",
                                "description": {
                                  "value": "Uses the standard JVM certificate revocation checks, which depend on the certificate having the corresponding extension points (additional tags for CRLDP or OCSP), and the availability of revocation servers."
                                }
                              },
                              "fields": [
                                {
                                  "key": {
                                    "name": "onlyEndEntities"
                                  },
                                  "model": {
                                    "type": "Boolean",
                                    "annotations": {
                                      "default": "false"
                                    }
                                  },
                                  "annotations": {
                                    "description": {
                                      "value": "Only verify the last element of the certificate chain."
                                    }
                                  }
                                },
                                {
                                  "key": {
                                    "name": "preferCrls"
                                  },
                                  "model": {
                                    "type": "Boolean",
                                    "annotations": {
                                      "default": "false"
                                    }
                                  },
                                  "annotations": {
                                    "description": {
                                      "value": "Try CRL instead of OCSP first."
                                    }
                                  }
                                },
                                {
                                  "key": {
                                    "name": "noFallback"
                                  },
                                  "model": {
                                    "type": "Boolean",
                                    "annotations": {
                                      "default": "false"
                                    }
                                  },
                                  "annotations": {
                                    "description": {
                                      "value": "Do not use the secondary checking method (the one not selected before)."
                                    }
                                  }
                                },
                                {
                                  "key": {
                                    "name": "softFail"
                                  },
                                  "model": {
                                    "type": "Boolean",
                                    "annotations": {
                                      "default": "false"
                                    }
                                  },
                                  "annotations": {
                                    "description": {
                                      "value": "Avoid verification failure when the revocation server can not be reached or is busy."
                                    }
                                  }
                                }
                              ]
                            },
                            {
                              "type": "Object",
                              "annotations": {
                                "typeId": "custom-ocsp-responder",
                                "description": {
                                  "value": "Uses a custom OCSP responder for certificate revocation checks, with a specific trusted certificate for revocating other keys. This ignores extension points (additional tags for CRLDP or OCSP) present in the certificate, if any."
                                }
                              },
                              "fields": [
                                {
                                  "key": {
                                    "name": "url"
                                  },
                                  "model": {
                                    "type": "String"
                                  },
                                  "annotations": {
                                    "description": {
                                      "value": "The URL of the OCSP responder."
                                    }
                                  }
                                },
                                {
                                  "key": {
                                    "name": "certAlias"
                                  },
                                  "model": {
                                    "type": "String"
                                  },
                                  "annotations": {
                                    "description": {
                                      "value": "Alias of the signing certificate for the OCSP response (must be in the trust store), if present."
                                    }
                                  }
                                }
                              ]
                            },
                            {
                              "type": "Object",
                              "annotations": {
                                "typeId": "crl-file",
                                "description": {
                                  "value": "Local file based certificate revocation checker, which requires a CRL file to be accessible and ignores extension points (additional tags for CRLDP and OCSP) in the certificate."
                                }
                              },
                              "fields": [
                                {
                                  "key": {
                                    "name": "path"
                                  },
                                  "model": {
                                    "type": "String"
                                  },
                                  "annotations": {
                                    "description": {
                                      "value": "The path to the CRL file."
                                    }
                                  }
                                }
                              ]
                            }
                          ]
                        },
                        "annotations": {
                          "parameterDsl": {
                            "allowInlineDefinition": true,
                            "allowReferences": false
                          },
                          "expressionSupport": {
                            "value": "NOT_SUPPORTED"
                          }
                        }
                      }
                    ]
                  },
                  "hasDynamicType": false,
                  "required": false,
                  "isConfigOverride": false,
                  "expressionSupport": "NOT_SUPPORTED",
                  "role": "BEHAVIOUR",
                  "dslConfiguration": {
                    "allowsInlineDefinition": true,
                    "allowsReferences": true,
                    "allowTopLevelDefinition": true
                  },
                  "layoutModel": {
                    "password": false,
                    "text": false,
                    "query": false,
                    "order": 9,
                    "tabName": "Security"
                  },
                  "allowedStereotypeModels": [],
                  "name": "tlsContext",
                  "displayModel": {
                    "displayName": "TLS Configuration"
                  },
                  "description": "",
                  "modelProperties": {
                    "org.mule.runtime.extension.api.property.InfrastructureParameterModelProperty": {
                      "sequence": 8
                    },
                    "org.mule.runtime.extension.api.property.QNameModelProperty": {
                      "value": {
                        "namespaceURI": "http://www.mulesoft.org/schema/mule/tls",
                        "localPart": "context",
                        "prefix": "tls"
                      }
                    }
                  }
                },
                {
                  "type": {
                    "format": "java",
                    "type": "Object",
                    "annotations": {
                      "typeId": "Reconnection"
                    },
                    "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"
                          },
                          "of": [
                            {
                              "type": "Object",
                              "annotations": {
                                "typeId": "reconnect"
                              },
                              "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": [
                                          "java.lang.Comparable"
                                        ],
                                        "parent": "java.lang.Number",
                                        "genericTypes": [],
                                        "isMap": false
                                      },
                                      "default": "2000"
                                    }
                                  },
                                  "annotations": {
                                    "description": {
                                      "value": "How often (in ms) to reconnect"
                                    }
                                  }
                                },
                                {
                                  "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"
                              },
                              "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": [
                                          "java.lang.Comparable"
                                        ],
                                        "parent": "java.lang.Number",
                                        "genericTypes": [],
                                        "isMap": false
                                      },
                                      "default": "2000"
                                    }
                                  },
                                  "annotations": {
                                    "description": {
                                      "value": "How often (in ms) to reconnect"
                                    }
                                  }
                                }
                              ]
                            }
                          ]
                        },
                        "annotations": {
                          "description": {
                            "value": "The reconnection strategy to use"
                          }
                        }
                      }
                    ]
                  },
                  "hasDynamicType": false,
                  "required": false,
                  "isConfigOverride": false,
                  "expressionSupport": "NOT_SUPPORTED",
                  "role": "BEHAVIOUR",
                  "dslConfiguration": {
                    "allowsInlineDefinition": true,
                    "allowsReferences": false,
                    "allowTopLevelDefinition": false
                  },
                  "layoutModel": {
                    "password": false,
                    "text": false,
                    "query": false,
                    "order": 10,
                    "tabName": "Advanced"
                  },
                  "allowedStereotypeModels": [],
                  "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": 1,
                "tabName": "General"
              },
              "showInDsl": false,
              "name": "Connection",
              "description": "",
              "modelProperties": {}
            },
            {
              "parameters": [
                {
                  "type": {
                    "format": "java",
                    "type": "String"
                  },
                  "hasDynamicType": false,
                  "required": false,
                  "isConfigOverride": false,
                  "expressionSupport": "SUPPORTED",
                  "role": "BEHAVIOUR",
                  "dslConfiguration": {
                    "allowsInlineDefinition": true,
                    "allowsReferences": true,
                    "allowTopLevelDefinition": false
                  },
                  "layoutModel": {
                    "password": false,
                    "text": false,
                    "query": false,
                    "order": 1,
                    "tabName": "Proxy"
                  },
                  "allowedStereotypeModels": [],
                  "name": "proxyHost",
                  "displayModel": {
                    "displayName": "Host",
                    "summary": "The optional proxy host."
                  },
                  "description": "",
                  "modelProperties": {}
                },
                {
                  "type": {
                    "format": "java",
                    "type": "Number",
                    "annotations": {
                      "classInformation": {
                        "classname": "java.lang.Integer",
                        "hasDefaultConstructor": false,
                        "isInterface": false,
                        "isInstantiable": false,
                        "isAbstract": false,
                        "isFinal": true,
                        "implementedInterfaces": [
                          "java.lang.Comparable"
                        ],
                        "parent": "java.lang.Number",
                        "genericTypes": [],
                        "isMap": false
                      },
                      "int": {}
                    }
                  },
                  "hasDynamicType": false,
                  "required": false,
                  "isConfigOverride": false,
                  "expressionSupport": "SUPPORTED",
                  "role": "BEHAVIOUR",
                  "dslConfiguration": {
                    "allowsInlineDefinition": true,
                    "allowsReferences": true,
                    "allowTopLevelDefinition": false
                  },
                  "layoutModel": {
                    "password": false,
                    "text": false,
                    "query": false,
                    "order": 2,
                    "tabName": "Proxy"
                  },
                  "allowedStereotypeModels": [],
                  "name": "proxyPort",
                  "displayModel": {
                    "displayName": "Port",
                    "summary": "The optional proxy port."
                  },
                  "description": "",
                  "modelProperties": {}
                },
                {
                  "type": {
                    "format": "java",
                    "type": "String"
                  },
                  "hasDynamicType": false,
                  "required": false,
                  "isConfigOverride": false,
                  "expressionSupport": "SUPPORTED",
                  "role": "BEHAVIOUR",
                  "dslConfiguration": {
                    "allowsInlineDefinition": true,
                    "allowsReferences": true,
                    "allowTopLevelDefinition": false
                  },
                  "layoutModel": {
                    "password": false,
                    "text": false,
                    "query": false,
                    "order": 3,
                    "tabName": "Proxy"
                  },
                  "allowedStereotypeModels": [],
                  "name": "proxyUsername",
                  "displayModel": {
                    "displayName": "Username",
                    "summary": "The optional proxy username."
                  },
                  "description": "",
                  "modelProperties": {}
                },
                {
                  "type": {
                    "format": "java",
                    "type": "String"
                  },
                  "hasDynamicType": false,
                  "required": false,
                  "isConfigOverride": false,
                  "expressionSupport": "SUPPORTED",
                  "role": "BEHAVIOUR",
                  "dslConfiguration": {
                    "allowsInlineDefinition": true,
                    "allowsReferences": true,
                    "allowTopLevelDefinition": false
                  },
                  "layoutModel": {
                    "password": false,
                    "text": false,
                    "query": false,
                    "order": 4,
                    "tabName": "Proxy"
                  },
                  "allowedStereotypeModels": [],
                  "name": "proxyPassword",
                  "displayModel": {
                    "displayName": "Password",
                    "summary": "The optional proxy password."
                  },
                  "description": "",
                  "modelProperties": {}
                },
                {
                  "type": {
                    "format": "java",
                    "type": "String"
                  },
                  "hasDynamicType": false,
                  "required": false,
                  "isConfigOverride": false,
                  "expressionSupport": "SUPPORTED",
                  "role": "BEHAVIOUR",
                  "dslConfiguration": {
                    "allowsInlineDefinition": true,
                    "allowsReferences": true,
                    "allowTopLevelDefinition": false
                  },
                  "layoutModel": {
                    "password": false,
                    "text": false,
                    "query": false,
                    "order": 5,
                    "tabName": "Proxy"
                  },
                  "allowedStereotypeModels": [],
                  "name": "proxyDomain",
                  "displayModel": {
                    "displayName": "Domain",
                    "summary": "The optional proxy domain."
                  },
                  "description": "",
                  "modelProperties": {}
                },
                {
                  "type": {
                    "format": "java",
                    "type": "String"
                  },
                  "hasDynamicType": false,
                  "required": false,
                  "isConfigOverride": false,
                  "expressionSupport": "SUPPORTED",
                  "role": "BEHAVIOUR",
                  "dslConfiguration": {
                    "allowsInlineDefinition": true,
                    "allowsReferences": true,
                    "allowTopLevelDefinition": false
                  },
                  "layoutModel": {
                    "password": false,
                    "text": false,
                    "query": false,
                    "order": 6,
                    "tabName": "Proxy"
                  },
                  "allowedStereotypeModels": [],
                  "name": "proxyWorkstation",
                  "displayModel": {
                    "displayName": "Workstation",
                    "summary": "The optional proxy workstation."
                  },
                  "description": "",
                  "modelProperties": {}
                }
              ],
              "exclusiveParametersModels": [],
              "layoutModel": {
                "password": false,
                "text": false,
                "query": false,
                "order": 2,
                "tabName": "General"
              },
              "showInDsl": false,
              "name": "Proxy",
              "description": "",
              "modelProperties": {}
            },
            {
              "parameters": [
                {
                  "type": {
                    "format": "java",
                    "type": "Boolean",
                    "annotations": {
                      "typeId": "boolean"
                    }
                  },
                  "hasDynamicType": false,
                  "required": false,
                  "isConfigOverride": false,
                  "expressionSupport": "SUPPORTED",
                  "defaultValue": "false",
                  "role": "BEHAVIOUR",
                  "dslConfiguration": {
                    "allowsInlineDefinition": true,
                    "allowsReferences": true,
                    "allowTopLevelDefinition": false
                  },
                  "layoutModel": {
                    "password": false,
                    "text": false,
                    "query": false,
                    "order": 1,
                    "tabName": "Advanced"
                  },
                  "allowedStereotypeModels": [],
                  "name": "forceGlobalBucketAccess",
                  "displayModel": {
                    "displayName": "Force Global Bucket Access",
                    "summary": "Any bucket-related operations invoked against a client with this option enabled will potentially be executed against other regions than the one configured in the client in order to succeed."
                  },
                  "description": "",
                  "modelProperties": {}
                },
                {
                  "type": {
                    "format": "java",
                    "type": "String"
                  },
                  "hasDynamicType": false,
                  "required": false,
                  "isConfigOverride": false,
                  "expressionSupport": "SUPPORTED",
                  "role": "BEHAVIOUR",
                  "dslConfiguration": {
                    "allowsInlineDefinition": true,
                    "allowsReferences": true,
                    "allowTopLevelDefinition": false
                  },
                  "layoutModel": {
                    "password": false,
                    "text": false,
                    "query": false,
                    "order": 2,
                    "tabName": "Advanced"
                  },
                  "allowedStereotypeModels": [],
                  "name": "storageUrl",
                  "displayModel": {
                    "displayName": "S3 Compatible Storage URL (Deprecated)",
                    "summary": "(If both the Custom Service Endpoint and Storage Url are specified, then the Custom Service Endpoint is used.) The URL to connect to when S3-compatible storage is used. If blank, the connector uses the default AWS S3 URL.",
                    "example": "https://s3.us-east-1.amazonaws.com"
                  },
                  "description": "",
                  "modelProperties": {}
                }
              ],
              "exclusiveParametersModels": [],
              "layoutModel": {
                "password": false,
                "text": false,
                "query": false,
                "order": 1,
                "tabName": "General"
              },
              "showInDsl": false,
              "name": "Advanced",
              "description": "",
              "modelProperties": {}
            }
          ],
          "name": "role",
          "description": "",
          "modelProperties": {}
        }
      ],
      "messageSources": [
        {
          "hasResponse": false,
          "runsOnPrimaryNodeOnly": false,
          "output": {
            "type": {
              "format": "java",
              "type": "@ref:org.mule.extension.s3.api.model.S3ObjectSummary"
            },
            "hasDynamicType": false,
            "description": "",
            "modelProperties": {}
          },
          "outputAttributes": {
            "type": {
              "format": "java",
              "type": "@ref:org.mule.extension.s3.api.attributes.S3ObjectAttributes"
            },
            "hasDynamicType": false,
            "description": "",
            "modelProperties": {}
          },
          "transactional": false,
          "requiresConnection": true,
          "supportsStreaming": false,
          "notifications": [],
          "nestedComponents": [],
          "errors": [],
          "stereotype": {
            "type": "SOURCE",
            "namespace": "MULE"
          },
          "parameterGroupModels": [
            {
              "parameters": [
                {
                  "type": {
                    "format": "java",
                    "type": "String"
                  },
                  "hasDynamicType": false,
                  "required": true,
                  "isConfigOverride": false,
                  "expressionSupport": "NOT_SUPPORTED",
                  "role": "BEHAVIOUR",
                  "dslConfiguration": {
                    "allowsInlineDefinition": true,
                    "allowsReferences": true,
                    "allowTopLevelDefinition": false
                  },
                  "layoutModel": {
                    "password": false,
                    "text": false,
                    "query": false,
                    "order": 1
                  },
                  "allowedStereotypeModels": [],
                  "name": "bucketName",
                  "description": "The name of the bucket to which the source listens for changes",
                  "modelProperties": {}
                },
                {
                  "type": {
                    "format": "java",
                    "type": "String"
                  },
                  "hasDynamicType": false,
                  "required": false,
                  "isConfigOverride": false,
                  "expressionSupport": "NOT_SUPPORTED",
                  "role": "BEHAVIOUR",
                  "dslConfiguration": {
                    "allowsInlineDefinition": true,
                    "allowsReferences": true,
                    "allowTopLevelDefinition": false
                  },
                  "layoutModel": {
                    "password": false,
                    "text": false,
                    "query": false,
                    "order": 2
                  },
                  "allowedStereotypeModels": [],
                  "name": "notificationQueueName",
                  "description": "Amazon SQS queue name used to notify users when a new object is created or deleted in an S3 bucket. If omitted, a chosen queue name is used.",
                  "modelProperties": {}
                },
                {
                  "type": {
                    "format": "java",
                    "type": "Boolean"
                  },
                  "hasDynamicType": false,
                  "required": false,
                  "isConfigOverride": false,
                  "expressionSupport": "NOT_SUPPORTED",
                  "defaultValue": false,
                  "role": "BEHAVIOUR",
                  "dslConfiguration": {
                    "allowsInlineDefinition": true,
                    "allowsReferences": true,
                    "allowTopLevelDefinition": false
                  },
                  "layoutModel": {
                    "password": false,
                    "text": false,
                    "query": false,
                    "order": 6,
                    "tabName": "Advanced"
                  },
                  "allowedStereotypeModels": [],
                  "name": "primaryNodeOnly",
                  "description": "Whether this source should only be executed on the primary node when runnning in Cluster",
                  "modelProperties": {}
                },
                {
                  "type": {
                    "format": "java",
                    "type": "@ref:org.mule.runtime.core.api.source.scheduler.Scheduler"
                  },
                  "hasDynamicType": false,
                  "required": true,
                  "isConfigOverride": false,
                  "expressionSupport": "NOT_SUPPORTED",
                  "role": "BEHAVIOUR",
                  "dslConfiguration": {
                    "allowsInlineDefinition": true,
                    "allowsReferences": false,
                    "allowTopLevelDefinition": false
                  },
                  "layoutModel": {
                    "password": false,
                    "text": false,
                    "query": false,
                    "order": 3
                  },
                  "allowedStereotypeModels": [],
                  "name": "schedulingStrategy",
                  "description": "Configures the scheduler that triggers the polling",
                  "modelProperties": {
                    "org.mule.runtime.extension.api.property.InfrastructureParameterModelProperty": {
                      "sequence": 10
                    },
                    "org.mule.runtime.extension.api.property.QNameModelProperty": {
                      "value": {
                        "namespaceURI": "http://www.mulesoft.org/schema/mule/core",
                        "localPart": "scheduling-strategy",
                        "prefix": "mule"
                      }
                    }
                  }
                },
                {
                  "type": {
                    "format": "java",
                    "type": "Object",
                    "annotations": {
                      "typeId": "RedeliveryPolicy"
                    },
                    "fields": [
                      {
                        "key": {
                          "name": "maxRedeliveryCount"
                        },
                        "model": {
                          "type": "Number",
                          "annotations": {
                            "int": {},
                            "default": "5"
                          }
                        },
                        "annotations": {
                          "description": {
                            "value": "The maximum number of times a message can be redelivered and processed unsuccessfully before triggering process-failed-message"
                          }
                        }
                      },
                      {
                        "key": {
                          "name": "useSecureHash"
                        },
                        "model": {
                          "type": "Boolean",
                          "annotations": {
                            "default": "true"
                          }
                        },
                        "annotations": {
                          "description": {
                            "value": "Whether to use a secure hash algorithm to identify a redelivered message"
                          }
                        }
                      },
                      {
                        "key": {
                          "name": "messageDigestAlgorithm"
                        },
                        "model": {
                          "type": "String"
                        },
                        "annotations": {
                          "description": {
                            "value": "The secure hashing algorithm to use. If not set, the default is SHA-256."
                          }
                        }
                      },
                      {
                        "key": {
                          "name": "idExpression"
                        },
                        "model": {
                          "type": "String"
                        },
                        "annotations": {
                          "description": {
                            "value": "Defines one or more expressions to use to determine when a message has been redelivered. This property may only be set if useSecureHash is false."
                          }
                        }
                      },
                      {
                        "key": {
                          "name": "objectStore"
                        },
                        "model": {
                          "type": "@ref:org.mule.runtime.api.store.ObjectStore"
                        },
                        "annotations": {
                          "stereotype": {
                            "allowedStereotypes": [
                              {
                                "type": "OBJECT_STORE",
                                "namespace": "OS"
                              }
                            ]
                          },
                          "description": {
                            "value": "The object store where the redelivery counter for each message is going to be stored."
                          }
                        }
                      }
                    ]
                  },
                  "hasDynamicType": false,
                  "required": false,
                  "isConfigOverride": false,
                  "expressionSupport": "NOT_SUPPORTED",
                  "role": "BEHAVIOUR",
                  "dslConfiguration": {
                    "allowsInlineDefinition": true,
                    "allowsReferences": false,
                    "allowTopLevelDefinition": false
                  },
                  "layoutModel": {
                    "password": false,
                    "text": false,
                    "query": false,
                    "order": 4,
                    "tabName": "Redelivery"
                  },
                  "allowedStereotypeModels": [],
                  "name": "redeliveryPolicy",
                  "description": "Defines a policy for processing the redelivery of the same message",
                  "modelProperties": {
                    "org.mule.runtime.extension.api.property.QNameModelProperty": {
                      "value": {
                        "namespaceURI": "http://www.mulesoft.org/schema/mule/core",
                        "localPart": "abstract-redelivery-policy",
                        "prefix": "mule"
                      }
                    },
                    "org.mule.runtime.extension.api.property.InfrastructureParameterModelProperty": {
                      "sequence": 1
                    }
                  }
                }
              ],
              "exclusiveParametersModels": [],
              "layoutModel": {
                "password": false,
                "text": false,
                "query": false,
                "order": 1
              },
              "showInDsl": false,
              "name": "General",
              "description": "",
              "modelProperties": {}
            },
            {
              "parameters": [
                {
                  "type": {
                    "format": "java",
                    "type": "Union",
                    "annotations": {
                      "typeId": "ReconnectionStrategy"
                    },
                    "of": [
                      {
                        "type": "Object",
                        "annotations": {
                          "typeId": "reconnect"
                        },
                        "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": [
                                    "java.lang.Comparable"
                                  ],
                                  "parent": "java.lang.Number",
                                  "genericTypes": [],
                                  "isMap": false
                                },
                                "default": "2000"
                              }
                            },
                            "annotations": {
                              "description": {
                                "value": "How often (in ms) to reconnect"
                              }
                            }
                          },
                          {
                            "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"
                        },
                        "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": [
                                    "java.lang.Comparable"
                                  ],
                                  "parent": "java.lang.Number",
                                  "genericTypes": [],
                                  "isMap": false
                                },
                                "default": "2000"
                              }
                            },
                            "annotations": {
                              "description": {
                                "value": "How often (in ms) to reconnect"
                              }
                            }
                          }
                        ]
                      }
                    ]
                  },
                  "hasDynamicType": false,
                  "required": false,
                  "isConfigOverride": false,
                  "expressionSupport": "NOT_SUPPORTED",
                  "role": "BEHAVIOUR",
                  "dslConfiguration": {
                    "allowsInlineDefinition": true,
                    "allowsReferences": false,
                    "allowTopLevelDefinition": false
                  },
                  "layoutModel": {
                    "password": false,
                    "text": false,
                    "query": false,
                    "order": 5,
                    "tabName": "Advanced"
                  },
                  "allowedStereotypeModels": [],
                  "name": "reconnectionStrategy",
                  "description": "A retry strategy in case of connectivity errors",
                  "modelProperties": {
                    "org.mule.runtime.extension.api.property.QNameModelProperty": {
                      "value": {
                        "namespaceURI": "http://www.mulesoft.org/schema/mule/core",
                        "localPart": "abstract-reconnection-strategy",
                        "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": "deleted-object-trigger",
          "displayModel": {
            "displayName": "On Deleted Object"
          },
          "description": "Initiates a Mule flow when an object is deleted from an Amazon S3 bucket and sends an SQS notification about the deleted object",
          "modelProperties": {},
          "kind": "source"
        },
        {
          "hasResponse": false,
          "runsOnPrimaryNodeOnly": false,
          "output": {
            "type": {
              "format": "java",
              "type": "@ref:org.mule.extension.s3.api.model.S3ObjectSummary"
            },
            "hasDynamicType": false,
            "description": "",
            "modelProperties": {}
          },
          "outputAttributes": {
            "type": {
              "format": "java",
              "type": "@ref:org.mule.extension.s3.api.attributes.S3ObjectAttributes"
            },
            "hasDynamicType": false,
            "description": "",
            "modelProperties": {}
          },
          "transactional": false,
          "requiresConnection": true,
          "supportsStreaming": false,
          "notifications": [],
          "nestedComponents": [],
          "errors": [],
          "stereotype": {
            "type": "SOURCE",
            "namespace": "MULE"
          },
          "parameterGroupModels": [
            {
              "parameters": [
                {
                  "type": {
                    "format": "java",
                    "type": "String"
                  },
                  "hasDynamicType": false,
                  "required": true,
                  "isConfigOverride": false,
                  "expressionSupport": "NOT_SUPPORTED",
                  "role": "BEHAVIOUR",
                  "dslConfiguration": {
                    "allowsInlineDefinition": true,
                    "allowsReferences": true,
                    "allowTopLevelDefinition": false
                  },
                  "layoutModel": {
                    "password": false,
                    "text": false,
                    "query": false,
                    "order": 1
                  },
                  "allowedStereotypeModels": [],
                  "name": "bucketName",
                  "description": "The name of the bucket to which the source listens for changes",
                  "modelProperties": {}
                },
                {
                  "type": {
                    "format": "java",
                    "type": "String"
                  },
                  "hasDynamicType": false,
                  "required": false,
                  "isConfigOverride": false,
                  "expressionSupport": "NOT_SUPPORTED",
                  "role": "BEHAVIOUR",
                  "dslConfiguration": {
                    "allowsInlineDefinition": true,
                    "allowsReferences": true,
                    "allowTopLevelDefinition": false
                  },
                  "layoutModel": {
                    "password": false,
                    "text": false,
                    "query": false,
                    "order": 2
                  },
                  "allowedStereotypeModels": [],
                  "name": "notificationQueueName",
                  "description": "Amazon SQS queue name used to notify users when a new object is created or deleted in an S3 bucket. If omitted, a chosen queue name is used.",
                  "modelProperties": {}
                },
                {
                  "type": {
                    "format": "java",
                    "type": "Boolean"
                  },
                  "hasDynamicType": false,
                  "required": false,
                  "isConfigOverride": false,
                  "expressionSupport": "NOT_SUPPORTED",
                  "defaultValue": false,
                  "role": "BEHAVIOUR",
                  "dslConfiguration": {
                    "allowsInlineDefinition": true,
                    "allowsReferences": true,
                    "allowTopLevelDefinition": false
                  },
                  "layoutModel": {
                    "password": false,
                    "text": false,
                    "query": false,
                    "order": 6,
                    "tabName": "Advanced"
                  },
                  "allowedStereotypeModels": [],
                  "name": "primaryNodeOnly",
                  "description": "Whether this source should only be executed on the primary node when runnning in Cluster",
                  "modelProperties": {}
                },
                {
                  "type": {
                    "format": "java",
                    "type": "@ref:org.mule.runtime.core.api.source.scheduler.Scheduler"
                  },
                  "hasDynamicType": false,
                  "required": true,
                  "isConfigOverride": false,
                  "expressionSupport": "NOT_SUPPORTED",
                  "role": "BEHAVIOUR",
                  "dslConfiguration": {
                    "allowsInlineDefinition": true,
                    "allowsReferences": false,
                    "allowTopLevelDefinition": false
                  },
                  "layoutModel": {
                    "password": false,
                    "text": false,
                    "query": false,
                    "order": 3
                  },
                  "allowedStereotypeModels": [],
                  "name": "schedulingStrategy",
                  "description": "Configures the scheduler that triggers the polling",
                  "modelProperties": {
                    "org.mule.runtime.extension.api.property.InfrastructureParameterModelProperty": {
                      "sequence": 10
                    },
                    "org.mule.runtime.extension.api.property.QNameModelProperty": {
                      "value": {
                        "namespaceURI": "http://www.mulesoft.org/schema/mule/core",
                        "localPart": "scheduling-strategy",
                        "prefix": "mule"
                      }
                    }
                  }
                },
                {
                  "type": {
                    "format": "java",
                    "type": "Object",
                    "annotations": {
                      "typeId": "RedeliveryPolicy"
                    },
                    "fields": [
                      {
                        "key": {
                          "name": "maxRedeliveryCount"
                        },
                        "model": {
                          "type": "Number",
                          "annotations": {
                            "int": {},
                            "default": "5"
                          }
                        },
                        "annotations": {
                          "description": {
                            "value": "The maximum number of times a message can be redelivered and processed unsuccessfully before triggering process-failed-message"
                          }
                        }
                      },
                      {
                        "key": {
                          "name": "useSecureHash"
                        },
                        "model": {
                          "type": "Boolean",
                          "annotations": {
                            "default": "true"
                          }
                        },
                        "annotations": {
                          "description": {
                            "value": "Whether to use a secure hash algorithm to identify a redelivered message"
                          }
                        }
                      },
                      {
                        "key": {
                          "name": "messageDigestAlgorithm"
                        },
                        "model": {
                          "type": "String"
                        },
                        "annotations": {
                          "description": {
                            "value": "The secure hashing algorithm to use. If not set, the default is SHA-256."
                          }
                        }
                      },
                      {
                        "key": {
                          "name": "idExpression"
                        },
                        "model": {
                          "type": "String"
                        },
                        "annotations": {
                          "description": {
                            "value": "Defines one or more expressions to use to determine when a message has been redelivered. This property may only be set if useSecureHash is false."
                          }
                        }
                      },
                      {
                        "key": {
                          "name": "objectStore"
                        },
                        "model": {
                          "type": "@ref:org.mule.runtime.api.store.ObjectStore"
                        },
                        "annotations": {
                          "stereotype": {
                            "allowedStereotypes": [
                              {
                                "type": "OBJECT_STORE",
                                "namespace": "OS"
                              }
                            ]
                          },
                          "description": {
                            "value": "The object store where the redelivery counter for each message is going to be stored."
                          }
                        }
                      }
                    ]
                  },
                  "hasDynamicType": false,
                  "required": false,
                  "isConfigOverride": false,
                  "expressionSupport": "NOT_SUPPORTED",
                  "role": "BEHAVIOUR",
                  "dslConfiguration": {
                    "allowsInlineDefinition": true,
                    "allowsReferences": false,
                    "allowTopLevelDefinition": false
                  },
                  "layoutModel": {
                    "password": false,
                    "text": false,
                    "query": false,
                    "order": 4,
                    "tabName": "Redelivery"
                  },
                  "allowedStereotypeModels": [],
                  "name": "redeliveryPolicy",
                  "description": "Defines a policy for processing the redelivery of the same message",
                  "modelProperties": {
                    "org.mule.runtime.extension.api.property.QNameModelProperty": {
                      "value": {
                        "namespaceURI": "http://www.mulesoft.org/schema/mule/core",
                        "localPart": "abstract-redelivery-policy",
                        "prefix": "mule"
                      }
                    },
                    "org.mule.runtime.extension.api.property.InfrastructureParameterModelProperty": {
                      "sequence": 1
                    }
                  }
                }
              ],
              "exclusiveParametersModels": [],
              "layoutModel": {
                "password": false,
                "text": false,
                "query": false,
                "order": 1
              },
              "showInDsl": false,
              "name": "General",
              "description": "",
              "modelProperties": {}
            },
            {
              "parameters": [
                {
                  "type": {
                    "format": "java",
                    "type": "Union",
                    "annotations": {
                      "typeId": "ReconnectionStrategy"
                    },
                    "of": [
                      {
                        "type": "Object",
                        "annotations": {
                          "typeId": "reconnect"
                        },
                        "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": [
                                    "java.lang.Comparable"
                                  ],
                                  "parent": "java.lang.Number",
                                  "genericTypes": [],
                                  "isMap": false
                                },
                                "default": "2000"
                              }
                            },
                            "annotations": {
                              "description": {
                                "value": "How often (in ms) to reconnect"
                              }
                            }
                          },
                          {
                            "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"
                        },
                        "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": [
                                    "java.lang.Comparable"
                                  ],
                                  "parent": "java.lang.Number",
                                  "genericTypes": [],
                                  "isMap": false
                                },
                                "default": "2000"
                              }
                            },
                            "annotations": {
                              "description": {
                                "value": "How often (in ms) to reconnect"
                              }
                            }
                          }
                        ]
                      }
                    ]
                  },
                  "hasDynamicType": false,
                  "required": false,
                  "isConfigOverride": false,
                  "expressionSupport": "NOT_SUPPORTED",
                  "role": "BEHAVIOUR",
                  "dslConfiguration": {
                    "allowsInlineDefinition": true,
                    "allowsReferences": false,
                    "allowTopLevelDefinition": false
                  },
                  "layoutModel": {
                    "password": false,
                    "text": false,
                    "query": false,
                    "order": 5,
                    "tabName": "Advanced"
                  },
                  "allowedStereotypeModels": [],
                  "name": "reconnectionStrategy",
                  "description": "A retry strategy in case of connectivity errors",
                  "modelProperties": {
                    "org.mule.runtime.extension.api.property.QNameModelProperty": {
                      "value": {
                        "namespaceURI": "http://www.mulesoft.org/schema/mule/core",
                        "localPart": "abstract-reconnection-strategy",
                        "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": "new-object-trigger",
          "displayModel": {
            "displayName": "On New Object"
          },
          "description": "Initiates a Mule flow when an object is created in an Amazon S3 bucket and sends an SQS notification about the new object",
          "modelProperties": {},
          "kind": "source"
        }
      ],
      "name": "config",
      "displayModel": {
        "displayName": "Configuration"
      },
      "description": "",
      "modelProperties": {}
    }
  ],
  "operations": [],
  "functions": [],
  "constructs": [],
  "connectionProviders": [],
  "messageSources": [],
  "notifications": [],
  "errors": [
    {
      "error": "S3:RETRY_EXHAUSTED",
      "parent": "MULE:RETRY_EXHAUSTED",
      "handleable": true
    },
    {
      "error": "MULE:RETRY_EXHAUSTED",
      "parent": "MULE:ANY",
      "handleable": true
    },
    {
      "error": "MULE:ANY",
      "handleable": true
    },
    {
      "error": "S3:CONNECTIVITY",
      "parent": "MULE:CONNECTIVITY",
      "handleable": true
    },
    {
      "error": "MULE:CONNECTIVITY",
      "parent": "MULE:ANY",
      "handleable": true
    },
    {
      "error": "S3:INVALID_RANGE",
      "parent": "MULE:ANY",
      "handleable": true
    },
    {
      "error": "S3:SERVICE_UNAVAILABLE",
      "parent": "MULE:ANY",
      "handleable": true
    },
    {
      "error": "S3:REQUEST_TIME_TOO_SKEWED",
      "parent": "MULE:ANY",
      "handleable": true
    },
    {
      "error": "S3:INVALID_STORAGE_CLASS",
      "parent": "MULE:ANY",
      "handleable": true
    },
    {
      "error": "S3:REDIRECT",
      "parent": "MULE:ANY",
      "handleable": true
    },
    {
      "error": "S3:MAX_MESSAGE_LENGTH_EXCEEDED",
      "parent": "MULE:ANY",
      "handleable": true
    },
    {
      "error": "S3:REQUEST_IS_NOT_MULTI_PART_CONTENT",
      "parent": "MULE:ANY",
      "handleable": true
    },
    {
      "error": "S3:UNEXPECTED_CONTENT",
      "parent": "MULE:ANY",
      "handleable": true
    },
    {
      "error": "S3:NO_SUCH_BUCKET",
      "parent": "MULE:ANY",
      "handleable": true
    },
    {
      "error": "S3:ENTITY_TOO_SMALL",
      "parent": "MULE:ANY",
      "handleable": true
    },
    {
      "error": "S3:INVALID_PART",
      "parent": "MULE:ANY",
      "handleable": true
    },
    {
      "error": "S3:INVALID_SOAP_REQUEST",
      "parent": "MULE:ANY",
      "handleable": true
    },
    {
      "error": "S3:NO_SUCH_VERSION",
      "parent": "MULE:ANY",
      "handleable": true
    },
    {
      "error": "S3:METADATA_TOO_LARGE",
      "parent": "MULE:ANY",
      "handleable": true
    },
    {
      "error": "S3:PRECONDITION_FAILED",
      "parent": "MULE:ANY",
      "handleable": true
    },
    {
      "error": "S3:BUCKET_ALREADY_EXISTS",
      "parent": "MULE:ANY",
      "handleable": true
    },
    {
      "error": "S3:AMBIGUOUS_GRANT_BY_EMAIL_ADDRESS",
      "parent": "MULE:ANY",
      "handleable": true
    },
    {
      "error": "S3:MISSING_SECURITY_ELEMENT",
      "parent": "MULE:ANY",
      "handleable": true
    },
    {
      "error": "S3:INVALID_URI",
      "parent": "MULE:ANY",
      "handleable": true
    },
    {
      "error": "S3:NOT_SIGNED_UP",
      "parent": "MULE:ANY",
      "handleable": true
    },
    {
      "error": "S3:INVALID_ADDRESSING_HEADER",
      "parent": "MULE:ANY",
      "handleable": true
    },
    {
      "error": "S3:MAX_POST_PRE_DATA_LENGTH_EXCEEDED_ERROR",
      "parent": "MULE:ANY",
      "handleable": true
    },
    {
      "error": "S3:INVALID_PAYER",
      "parent": "MULE:ANY",
      "handleable": true
    },
    {
      "error": "S3:ILLEGAL_VERSIONING_CONFIGURATION_EXCEPTION",
      "parent": "MULE:ANY",
      "handleable": true
    },
    {
      "error": "S3:INVALID_SECURITY",
      "parent": "MULE:ANY",
      "handleable": true
    },
    {
      "error": "S3:NO_SUCH_BUCKET_POLICY",
      "parent": "MULE:ANY",
      "handleable": true
    },
    {
      "error": "S3:OPERATION_ABORTED",
      "parent": "MULE:ANY",
      "handleable": true
    },
    {
      "error": "S3:INVALID_LOCATION_CONSTRAINT",
      "parent": "MULE:ANY",
      "handleable": true
    },
    {
      "error": "S3:INVALID_ACCESS_KEY_ID",
      "parent": "MULE:ANY",
      "handleable": true
    },
    {
      "error": "S3:INLINE_DATA_TOO_LARGE",
      "parent": "MULE:ANY",
      "handleable": true
    },
    {
      "error": "S3:SIGNATURE_DOES_NOT_MATCH",
      "parent": "MULE:ANY",
      "handleable": true
    },
    {
      "error": "S3:NO_SUCH_LIFECYCLE_CONFIGURATION",
      "parent": "MULE:ANY",
      "handleable": true
    },
    {
      "error": "S3:UNRESOLVABLE_GRANT_BY_EMAIL_ADDRESS",
      "parent": "MULE:ANY",
      "handleable": true
    },
    {
      "error": "S3:KEY_TOO_LONG",
      "parent": "MULE:ANY",
      "handleable": true
    },
    {
      "error": "S3:INVALID_BUCKET_NAME",
      "parent": "MULE:ANY",
      "handleable": true
    },
    {
      "error": "S3:TEMPORARY_REDIRECT",
      "parent": "MULE:ANY",
      "handleable": true
    },
    {
      "error": "S3:INVALID_TOKEN",
      "parent": "MULE:ANY",
      "handleable": true
    },
    {
      "error": "S3:BUCKET_NOT_EMPTY",
      "parent": "MULE:ANY",
      "handleable": true
    },
    {
      "error": "S3:CROSS_LOCATION_LOGGING_PROHIBITED",
      "parent": "MULE:ANY",
      "handleable": true
    },
    {
      "error": "S3:MALFORMED_POST_REQUEST",
      "parent": "MULE:ANY",
      "handleable": true
    },
    {
      "error": "S3:BAD_DIGEST",
      "parent": "MULE:ANY",
      "handleable": true
    },
    {
      "error": "S3:REQUEST_TIMEOUT",
      "parent": "MULE:ANY",
      "handleable": true
    },
    {
      "error": "S3:TOO_MANY_BUCKETS",
      "parent": "MULE:ANY",
      "handleable": true
    },
    {
      "error": "S3:NO_SUCH_KEY",
      "parent": "MULE:ANY",
      "handleable": true
    },
    {
      "error": "S3:MISSING_ATTACHMENT",
      "parent": "MULE:ANY",
      "handleable": true
    },
    {
      "error": "S3:INVALID_BUCKET_STATE",
      "parent": "MULE:ANY",
      "handleable": true
    },
    {
      "error": "S3:INVALID_PART_ORDER",
      "parent": "MULE:ANY",
      "handleable": true
    },
    {
      "error": "S3:INVALID_RESPONSE_PRESIGNEDURL_MALFORMED",
      "parent": "MULE:ANY",
      "handleable": true
    },
    {
      "error": "S3:INVALID_POLICY_DOCUMENT",
      "parent": "MULE:ANY",
      "handleable": true
    },
    {
      "error": "S3:ACCOUNT_PROBLEM",
      "parent": "MULE:ANY",
      "handleable": true
    },
    {
      "error": "S3:MALFORMED_XML",
      "parent": "MULE:ANY",
      "handleable": true
    },
    {
      "error": "S3:USER_KEY_MUST_BE_SPECIFIED",
      "parent": "MULE:ANY",
      "handleable": true
    },
    {
      "error": "S3:MISSING_CONTENT_LENGTH",
      "parent": "MULE:ANY",
      "handleable": true
    },
    {
      "error": "S3:INVALID_DIGEST",
      "parent": "MULE:ANY",
      "handleable": true
    },
    {
      "error": "S3:ACCESS_DENIED",
      "parent": "MULE:ANY",
      "handleable": true
    },
    {
      "error": "S3:MISSING_REQUEST_BODY_ERROR",
      "parent": "MULE:ANY",
      "handleable": true
    },
    {
      "error": "S3:REQUEST_TORRENT_OF_BUCKET_ERROR",
      "parent": "MULE:ANY",
      "handleable": true
    },
    {
      "error": "S3:TOKEN_REFRESH_REQUIRED",
      "parent": "MULE:ANY",
      "handleable": true
    },
    {
      "error": "S3:RESTORE_ALREADY_IN_PROGRESS",
      "parent": "MULE:ANY",
      "handleable": true
    },
    {
      "error": "S3:NO_LOGGING_STATUS_FOR_KEY",
      "parent": "MULE:ANY",
      "handleable": true
    },
    {
      "error": "S3:INVALID_OBJECT_STATE",
      "parent": "MULE:ANY",
      "handleable": true
    },
    {
      "error": "S3:INVALID_ENCRYPTION_ALGORITHM_ERROR",
      "parent": "MULE:ANY",
      "handleable": true
    },
    {
      "error": "S3:PERMANENT_REDIRECT",
      "parent": "MULE:ANY",
      "handleable": true
    },
    {
      "error": "S3:INVALID_REQUEST",
      "parent": "MULE:ANY",
      "handleable": true
    },
    {
      "error": "S3:INCORRECT_NUMBER_OF_FILES_IN_POST_REQUEST",
      "parent": "MULE:ANY",
      "handleable": true
    },
    {
      "error": "S3:UNKNOWN",
      "parent": "MULE:ANY",
      "handleable": true
    },
    {
      "error": "S3:MALFORMED_ACL_ERROR",
      "parent": "MULE:ANY",
      "handleable": true
    },
    {
      "error": "S3:CREDENTIALS_NOT_SUPPORTED",
      "parent": "MULE:ANY",
      "handleable": true
    },
    {
      "error": "S3:NOT_IMPLEMENTED",
      "parent": "MULE:ANY",
      "handleable": true
    },
    {
      "error": "S3:INVALID_TARGET_BUCKET_FOR_LOGGING",
      "parent": "MULE:ANY",
      "handleable": true
    },
    {
      "error": "S3:INVALID_ARGUMENT",
      "parent": "MULE:ANY",
      "handleable": true
    },
    {
      "error": "S3:NO_SUCH_UPLOAD",
      "parent": "MULE:ANY",
      "handleable": true
    },
    {
      "error": "S3:INTERNAL_ERROR",
      "parent": "MULE:ANY",
      "handleable": true
    },
    {
      "error": "S3:SLOW_DOWN",
      "parent": "MULE:ANY",
      "handleable": true
    },
    {
      "error": "S3:METHOD_NOT_ALLOWED",
      "parent": "MULE:ANY",
      "handleable": true
    },
    {
      "error": "S3:ENTITY_TOO_LARGE",
      "parent": "MULE:ANY",
      "handleable": true
    },
    {
      "error": "S3:EXPIRED_TOKEN",
      "parent": "MULE:ANY",
      "handleable": true
    },
    {
      "error": "S3:MISSING_SECURITY_HEADER",
      "parent": "MULE:ANY",
      "handleable": true
    },
    {
      "error": "S3:BUCKET_ALREADY_OWNED_BY_YOU",
      "parent": "MULE:ANY",
      "handleable": true
    },
    {
      "error": "S3:INCOMPLETE_BODY",
      "parent": "MULE:ANY",
      "handleable": true
    }
  ],
  "modelProperties": {},
  "types": [
    {
      "format": "java",
      "type": "Object",
      "annotations": {
        "typeId": "org.mule.extension.s3.api.attributes.AccessControlListAttributes",
        "classInformation": {
          "classname": "org.mule.extension.s3.api.attributes.AccessControlListAttributes",
          "hasDefaultConstructor": true,
          "isInterface": false,
          "isInstantiable": true,
          "isAbstract": false,
          "isFinal": false,
          "implementedInterfaces": [
            "java.io.Serializable"
          ],
          "parent": "",
          "genericTypes": [],
          "isMap": false
        },
        "typeAlias": {
          "value": "AccessControlListAttributes"
        }
      },
      "fields": [
        {
          "key": {
            "name": "ownerDisplayName"
          },
          "model": {
            "type": "String"
          },
          "annotations": {
            "visibility": "READ_ONLY"
          }
        },
        {
          "key": {
            "name": "ownerId"
          },
          "model": {
            "type": "String"
          },
          "annotations": {
            "visibility": "READ_ONLY"
          }
        }
      ]
    },
    {
      "format": "java",
      "type": "Object",
      "annotations": {
        "typeId": "org.mule.extension.s3.api.attributes.S3ObjectAttributes",
        "classInformation": {
          "classname": "org.mule.extension.s3.api.attributes.S3ObjectAttributes",
          "hasDefaultConstructor": true,
          "isInterface": false,
          "isInstantiable": true,
          "isAbstract": false,
          "isFinal": false,
          "implementedInterfaces": [
            "java.io.Serializable"
          ],
          "parent": "",
          "genericTypes": [],
          "isMap": false
        },
        "typeAlias": {
          "value": "S3ObjectAttributes"
        }
      },
      "fields": [
        {
          "key": {
            "name": "bucketName"
          },
          "model": {
            "type": "String"
          },
          "annotations": {
            "visibility": "READ_ONLY"
          }
        },
        {
          "key": {
            "name": "cacheControl"
          },
          "model": {
            "type": "String"
          },
          "annotations": {
            "visibility": "READ_ONLY"
          }
        },
        {
          "key": {
            "name": "contentDisposition"
          },
          "model": {
            "type": "String"
          },
          "annotations": {
            "visibility": "READ_ONLY"
          }
        },
        {
          "key": {
            "name": "contentEncoding"
          },
          "model": {
            "type": "String"
          },
          "annotations": {
            "visibility": "READ_ONLY"
          }
        },
        {
          "key": {
            "name": "contentLanguage"
          },
          "model": {
            "type": "String"
          },
          "annotations": {
            "visibility": "READ_ONLY"
          }
        },
        {
          "key": {
            "name": "contentLength"
          },
          "model": {
            "type": "Number",
            "annotations": {
              "classInformation": {
                "classname": "long",
                "hasDefaultConstructor": false,
                "isInterface": false,
                "isInstantiable": false,
                "isAbstract": true,
                "isFinal": true,
                "implementedInterfaces": [],
                "parent": "",
                "genericTypes": [],
                "isMap": false
              },
              "int": {}
            }
          },
          "annotations": {
            "visibility": "READ_ONLY"
          }
        },
        {
          "key": {
            "name": "contentMD5"
          },
          "model": {
            "type": "String"
          },
          "annotations": {
            "visibility": "READ_ONLY"
          }
        },
        {
          "key": {
            "name": "contentType"
          },
          "model": {
            "type": "String"
          },
          "annotations": {
            "visibility": "READ_ONLY"
          }
        },
        {
          "key": {
            "name": "etag"
          },
          "model": {
            "type": "String"
          },
          "annotations": {
            "visibility": "READ_ONLY"
          }
        },
        {
          "key": {
            "name": "expirationTime"
          },
          "model": {
            "type": "DateTime",
            "annotations": {
              "typeId": "java.time.LocalDateTime"
            }
          },
          "annotations": {
            "visibility": "READ_ONLY"
          }
        },
        {
          "key": {
            "name": "expirationTimeRuleId"
          },
          "model": {
            "type": "String"
          },
          "annotations": {
            "visibility": "READ_ONLY"
          }
        },
        {
          "key": {
            "name": "httpExpiresDate"
          },
          "model": {
            "type": "DateTime",
            "annotations": {
              "typeId": "java.time.LocalDateTime"
            }
          },
          "annotations": {
            "visibility": "READ_ONLY"
          }
        },
        {
          "key": {
            "name": "key"
          },
          "model": {
            "type": "String"
          },
          "annotations": {
            "visibility": "READ_ONLY"
          }
        },
        {
          "key": {
            "name": "lastModified"
          },
          "model": {
            "type": "DateTime",
            "annotations": {
              "typeId": "java.time.LocalDateTime"
            }
          },
          "annotations": {
            "visibility": "READ_ONLY"
          }
        },
        {
          "key": {
            "name": "ongoingRestore"
          },
          "model": {
            "type": "Boolean",
            "annotations": {
              "typeId": "boolean"
            }
          },
          "annotations": {
            "visibility": "READ_ONLY"
          }
        },
        {
          "key": {
            "name": "redirectLocation"
          },
          "model": {
            "type": "String"
          },
          "annotations": {
            "visibility": "READ_ONLY"
          }
        },
        {
          "key": {
            "name": "replicationStatus"
          },
          "model": {
            "type": "String"
          },
          "annotations": {
            "visibility": "READ_ONLY"
          }
        },
        {
          "key": {
            "name": "requesterCharged"
          },
          "model": {
            "type": "Boolean",
            "annotations": {
              "typeId": "boolean"
            }
          },
          "annotations": {
            "visibility": "READ_ONLY"
          }
        },
        {
          "key": {
            "name": "restoreExpirationTime"
          },
          "model": {
            "type": "DateTime",
            "annotations": {
              "typeId": "java.time.LocalDateTime"
            }
          },
          "annotations": {
            "visibility": "READ_ONLY"
          }
        },
        {
          "key": {
            "name": "sseAlgorithm"
          },
          "model": {
            "type": "String"
          },
          "annotations": {
            "visibility": "READ_ONLY"
          }
        },
        {
          "key": {
            "name": "sseAwsKmsKeyId"
          },
          "model": {
            "type": "String"
          },
          "annotations": {
            "visibility": "READ_ONLY"
          }
        },
        {
          "key": {
            "name": "sseCustomerAlgorithm"
          },
          "model": {
            "type": "String"
          },
          "annotations": {
            "visibility": "READ_ONLY"
          }
        },
        {
          "key": {
            "name": "sseCustomerKeyMd5"
          },
          "model": {
            "type": "String"
          },
          "annotations": {
            "visibility": "READ_ONLY"
          }
        },
        {
          "key": {
            "name": "storageClass"
          },
          "model": {
            "type": "String",
            "annotations": {
              "typeId": "org.mule.extension.s3.api.model.StorageClass",
              "enum": {
                "type": "[Ljava.lang.String;",
                "values": [
                  "STANDARD",
                  "STANDARD_IA",
                  "INTELLIGENT_TIERING",
                  "ONEZONE_IA",
                  "REDUCED_REDUNDANCY",
                  "GLACIER"
                ]
              }
            }
          },
          "annotations": {
            "visibility": "READ_ONLY"
          }
        },
        {
          "key": {
            "name": "userMetadata"
          },
          "model": {
            "type": "Object",
            "annotations": {
              "classInformation": {
                "classname": "java.util.Map",
                "hasDefaultConstructor": false,
                "isInterface": true,
                "isInstantiable": false,
                "isAbstract": true,
                "isFinal": false,
                "implementedInterfaces": [],
                "parent": "",
                "genericTypes": [
                  "java.lang.String",
                  "java.lang.String"
                ],
                "isMap": true
              }
            },
            "open": {
              "type": "String"
            },
            "fields": []
          },
          "annotations": {
            "visibility": "READ_ONLY"
          }
        },
        {
          "key": {
            "name": "versionId"
          },
          "model": {
            "type": "String"
          },
          "annotations": {
            "visibility": "READ_ONLY"
          }
        }
      ]
    },
    {
      "format": "java",
      "type": "Object",
      "annotations": {
        "typeId": "org.mule.extension.s3.api.group.ObjectMetadataParameterGroup",
        "classInformation": {
          "classname": "org.mule.extension.s3.api.group.ObjectMetadataParameterGroup",
          "hasDefaultConstructor": true,
          "isInterface": false,
          "isInstantiable": true,
          "isAbstract": false,
          "isFinal": false,
          "implementedInterfaces": [
            "java.io.Serializable"
          ],
          "parent": "",
          "genericTypes": [],
          "isMap": false
        },
        "typeAlias": {
          "value": "ObjectMetadataParameterGroup"
        }
      },
      "fields": [
        {
          "key": {
            "name": "userMetadata"
          },
          "model": {
            "type": "Object",
            "annotations": {
              "classInformation": {
                "classname": "java.util.Map",
                "hasDefaultConstructor": false,
                "isInterface": true,
                "isInstantiable": false,
                "isAbstract": true,
                "isFinal": false,
                "implementedInterfaces": [],
                "parent": "",
                "genericTypes": [
                  "java.lang.String",
                  "java.lang.String"
                ],
                "isMap": true
              }
            },
            "open": {
              "type": "String"
            },
            "fields": []
          },
          "annotations": {
            "expressionSupport": {
              "value": "SUPPORTED"
            }
          }
        },
        {
          "key": {
            "name": "lastModified"
          },
          "model": {
            "type": "DateTime",
            "annotations": {
              "typeId": "java.time.LocalDateTime"
            }
          },
          "annotations": {
            "expressionSupport": {
              "value": "SUPPORTED"
            }
          }
        },
        {
          "key": {
            "name": "contentLength"
          },
          "model": {
            "type": "Number",
            "annotations": {
              "classInformation": {
                "classname": "java.lang.Long",
                "hasDefaultConstructor": false,
                "isInterface": false,
                "isInstantiable": false,
                "isAbstract": false,
                "isFinal": true,
                "implementedInterfaces": [
                  "java.lang.Comparable"
                ],
                "parent": "java.lang.Number",
                "genericTypes": [],
                "isMap": false
              },
              "int": {}
            }
          },
          "annotations": {
            "default": "0",
            "expressionSupport": {
              "value": "SUPPORTED"
            },
            "display": {
              "displayModel": {
                "summary": "The Content-Length HTTP header indicating the size of the associated object in bytes.",
                "example": "3495"
              }
            }
          }
        },
        {
          "key": {
            "name": "contentType"
          },
          "model": {
            "type": "String"
          },
          "annotations": {
            "expressionSupport": {
              "value": "SUPPORTED"
            },
            "display": {
              "displayModel": {
                "summary": "The Content-Type HTTP header indicating the type of content stored in the associated object.",
                "example": "text/html; charset\u003dISO-8859-4"
              }
            }
          }
        },
        {
          "key": {
            "name": "contentLanguage"
          },
          "model": {
            "type": "String"
          },
          "annotations": {
            "expressionSupport": {
              "value": "SUPPORTED"
            },
            "display": {
              "displayModel": {
                "summary": "The Content-Language HTTP header which describes the natural language(s) of the intended audience for the enclosed entity.",
                "example": "en"
              }
            }
          }
        },
        {
          "key": {
            "name": "contentEncoding"
          },
          "model": {
            "type": "String"
          },
          "annotations": {
            "expressionSupport": {
              "value": "SUPPORTED"
            },
            "display": {
              "displayModel": {
                "summary": "The optional Content-Encoding HTTP header specifying what content encodings have been applied to the object and what decoding mechanisms must be applied in order to obtain the media-type referenced by the Content-Type field.",
                "example": "gzip"
              }
            }
          }
        },
        {
          "key": {
            "name": "cacheControl"
          },
          "model": {
            "type": "String"
          },
          "annotations": {
            "expressionSupport": {
              "value": "SUPPORTED"
            },
            "display": {
              "displayModel": {
                "summary": "The optional Cache-Control HTTP header which allows the user to specify caching behavior along the HTTP request/reply chain.",
                "example": "public, max-age\u003d31536000"
              }
            }
          }
        },
        {
          "key": {
            "name": "contentMD5"
          },
          "model": {
            "type": "String"
          },
          "annotations": {
            "expressionSupport": {
              "value": "SUPPORTED"
            },
            "display": {
              "displayModel": {
                "summary": "The base64 encoded 128-bit MD5 digest of the associated object (content - not including headers) according to RFC 1864.",
                "example": "md5-digest"
              }
            }
          }
        },
        {
          "key": {
            "name": "contentDisposition"
          },
          "model": {
            "type": "String"
          },
          "annotations": {
            "expressionSupport": {
              "value": "SUPPORTED"
            },
            "display": {
              "displayModel": {
                "summary": "The optional Content-Disposition HTTP header, which specifies presentational information such as the recommended filename for the object to be saved as.",
                "example": "attachment"
              }
            }
          }
        },
        {
          "key": {
            "name": "etag"
          },
          "model": {
            "type": "String"
          },
          "annotations": {
            "expressionSupport": {
              "value": "SUPPORTED"
            },
            "display": {
              "displayModel": {
                "summary": "The entity tag is a hash of the object.",
                "example": "xyzzy"
              }
            }
          }
        },
        {
          "key": {
            "name": "versionId"
          },
          "model": {
            "type": "String"
          },
          "annotations": {
            "expressionSupport": {
              "value": "SUPPORTED"
            },
            "display": {
              "displayModel": {
                "summary": "The version ID of the associated Amazon S3 object if available.",
                "example": "111111"
              }
            }
          }
        },
        {
          "key": {
            "name": "sseAlgorithm"
          },
          "model": {
            "type": "String"
          },
          "annotations": {
            "expressionSupport": {
              "value": "SUPPORTED"
            },
            "display": {
              "displayModel": {
                "summary": "Specifies the server-side encryption algorithm to use when Amazon S3 creates an object.",
                "example": "aws:kms"
              }
            }
          }
        },
        {
          "key": {
            "name": "sseCustomerAlgorithm"
          },
          "model": {
            "type": "String"
          },
          "annotations": {
            "expressionSupport": {
              "value": "SUPPORTED"
            },
            "display": {
              "displayModel": {
                "summary": "Specifies the algorithm to use to when encrypting the object.",
                "example": "AES256"
              }
            }
          }
        },
        {
          "key": {
            "name": "sseCustomerKeyMd5"
          },
          "model": {
            "type": "String"
          },
          "annotations": {
            "expressionSupport": {
              "value": "SUPPORTED"
            },
            "display": {
              "displayModel": {
                "summary": "Specifies the base64-encoded 128-bit MD5 digest of the encryption key according to RFC 1321. Amazon S3 uses this header for a message integrity check to ensure that the encryption key was transmitted without error.",
                "example": "base64-encoded_128-bit_MD5_digest_of_the_encryption_key"
              }
            }
          }
        },
        {
          "key": {
            "name": "expirationTime"
          },
          "model": {
            "type": "DateTime",
            "annotations": {
              "typeId": "java.time.LocalDateTime"
            }
          },
          "annotations": {
            "expressionSupport": {
              "value": "SUPPORTED"
            },
            "display": {
              "displayModel": {
                "summary": "The expiration time for the object."
              }
            }
          }
        },
        {
          "key": {
            "name": "expirationTimeRuleId"
          },
          "model": {
            "type": "String"
          },
          "annotations": {
            "expressionSupport": {
              "value": "SUPPORTED"
            },
            "display": {
              "displayModel": {
                "summary": "The rule ID of object\u0027s expiration configuration.",
                "example": "This_is_expiration_time_rule_id"
              }
            }
          }
        },
        {
          "key": {
            "name": "restoreExpirationTime"
          },
          "model": {
            "type": "DateTime",
            "annotations": {
              "typeId": "java.time.LocalDateTime"
            }
          },
          "annotations": {
            "expressionSupport": {
              "value": "SUPPORTED"
            },
            "display": {
              "displayModel": {
                "summary": "The new restore expiration time for the object."
              }
            }
          }
        },
        {
          "key": {
            "name": "ongoingRestore"
          },
          "model": {
            "type": "Boolean",
            "annotations": {
              "typeId": "boolean"
            }
          },
          "annotations": {
            "default": "false",
            "expressionSupport": {
              "value": "SUPPORTED"
            },
            "display": {
              "displayModel": {
                "summary": "Sets the boolean value which indicates whether there is ongoing restore request.",
                "example": "false"
              }
            }
          }
        },
        {
          "key": {
            "name": "httpExpiresDate"
          },
          "model": {
            "type": "DateTime",
            "annotations": {
              "typeId": "java.time.LocalDateTime"
            }
          },
          "annotations": {
            "expressionSupport": {
              "value": "SUPPORTED"
            },
            "display": {
              "displayModel": {
                "summary": "Set the date when the object is no longer cacheable."
              }
            }
          }
        },
        {
          "key": {
            "name": "storageClass"
          },
          "model": {
            "type": "String",
            "annotations": {
              "typeId": "org.mule.extension.s3.api.model.StorageClass",
              "enum": {
                "type": "[Ljava.lang.String;",
                "values": [
                  "STANDARD",
                  "STANDARD_IA",
                  "INTELLIGENT_TIERING",
                  "ONEZONE_IA",
                  "REDUCED_REDUNDANCY",
                  "GLACIER"
                ]
              }
            }
          },
          "annotations": {
            "default": "STANDARD",
            "expressionSupport": {
              "value": "SUPPORTED"
            },
            "display": {
              "displayModel": {
                "summary": "The storage class of the object."
              }
            }
          }
        },
        {
          "key": {
            "name": "sseAwsKmsKeyId"
          },
          "model": {
            "type": "String"
          },
          "annotations": {
            "expressionSupport": {
              "value": "SUPPORTED"
            },
            "display": {
              "displayModel": {
                "summary": "the AWS Key Management System key id used for Server Side Encryption of the Amazon S3 object.",
                "example": "testkey"
              }
            }
          }
        },
        {
          "key": {
            "name": "requesterCharged"
          },
          "model": {
            "type": "Boolean",
            "annotations": {
              "typeId": "boolean"
            }
          },
          "annotations": {
            "default": "false",
            "expressionSupport": {
              "value": "SUPPORTED"
            },
            "display": {
              "displayModel": {
                "summary": "If a bucket is enabled for Requester Pays, then any attempt of operation from it without Requester Pays enabled will result in a 403 error and the bucket owner will be charged for the request. Enabling Requester Pays disables the ability to have anonymous access to bucket.",
                "example": "false"
              }
            }
          }
        },
        {
          "key": {
            "name": "replicationStatus"
          },
          "model": {
            "type": "String"
          },
          "annotations": {
            "expressionSupport": {
              "value": "SUPPORTED"
            },
            "display": {
              "displayModel": {
                "summary": "The replication status of the object if it is from a bucket that is the source or destination in a cross-region replication.",
                "example": "COMPLETED"
              }
            }
          }
        }
      ]
    },
    {
      "format": "java",
      "type": "Object",
      "annotations": {
        "typeId": "org.mule.extension.s3.api.model.BLCRule",
        "classInformation": {
          "classname": "org.mule.extension.s3.api.model.BLCRule",
          "hasDefaultConstructor": true,
          "isInterface": false,
          "isInstantiable": true,
          "isAbstract": false,
          "isFinal": false,
          "implementedInterfaces": [
            "java.io.Serializable"
          ],
          "parent": "",
          "genericTypes": [],
          "isMap": false
        },
        "typeAlias": {
          "value": "BLCRule"
        }
      },
      "fields": [
        {
          "key": {
            "name": "expirationDate"
          },
          "model": {
            "type": "DateTime",
            "annotations": {
              "typeId": "java.time.LocalDateTime"
            }
          },
          "annotations": {
            "visibility": "READ_ONLY"
          }
        },
        {
          "key": {
            "name": "expirationInDays"
          },
          "model": {
            "type": "Number",
            "annotations": {
              "classInformation": {
                "classname": "int",
                "hasDefaultConstructor": false,
                "isInterface": false,
                "isInstantiable": false,
                "isAbstract": true,
                "isFinal": true,
                "implementedInterfaces": [],
                "parent": "",
                "genericTypes": [],
                "isMap": false
              },
              "int": {}
            }
          },
          "annotations": {
            "visibility": "READ_ONLY"
          }
        },
        {
          "key": {
            "name": "id"
          },
          "model": {
            "type": "String"
          },
          "annotations": {
            "visibility": "READ_ONLY"
          }
        },
        {
          "key": {
            "name": "noncurrentVersionExpirationInDays"
          },
          "model": {
            "type": "Number",
            "annotations": {
              "classInformation": {
                "classname": "int",
                "hasDefaultConstructor": false,
                "isInterface": false,
                "isInstantiable": false,
                "isAbstract": true,
                "isFinal": true,
                "implementedInterfaces": [],
                "parent": "",
                "genericTypes": [],
                "isMap": false
              },
              "int": {}
            }
          },
          "annotations": {
            "visibility": "READ_ONLY"
          }
        },
        {
          "key": {
            "name": "noncurrentVersionTransition"
          },
          "model": {
            "type": "Object",
            "annotations": {
              "typeId": "org.mule.extension.s3.api.model.NoncurrentVersionTransition",
              "classInformation": {
                "classname": "org.mule.extension.s3.api.model.NoncurrentVersionTransition",
                "hasDefaultConstructor": true,
                "isInterface": false,
                "isInstantiable": true,
                "isAbstract": false,
                "isFinal": false,
                "implementedInterfaces": [
                  "java.io.Serializable"
                ],
                "parent": "",
                "genericTypes": [],
                "isMap": false
              },
              "typeAlias": {
                "value": "NoncurrentVersionTransition"
              }
            },
            "fields": [
              {
                "key": {
                  "name": "days"
                },
                "model": {
                  "type": "Number",
                  "annotations": {
                    "classInformation": {
                      "classname": "int",
                      "hasDefaultConstructor": false,
                      "isInterface": false,
                      "isInstantiable": false,
                      "isAbstract": true,
                      "isFinal": true,
                      "implementedInterfaces": [],
                      "parent": "",
                      "genericTypes": [],
                      "isMap": false
                    },
                    "int": {}
                  }
                },
                "annotations": {
                  "visibility": "READ_ONLY"
                }
              },
              {
                "key": {
                  "name": "storageClass"
                },
                "model": {
                  "type": "String",
                  "annotations": {
                    "typeId": "org.mule.extension.s3.api.model.StorageClass",
                    "enum": {
                      "type": "[Ljava.lang.String;",
                      "values": [
                        "STANDARD",
                        "STANDARD_IA",
                        "INTELLIGENT_TIERING",
                        "ONEZONE_IA",
                        "REDUCED_REDUNDANCY",
                        "GLACIER"
                      ]
                    }
                  }
                },
                "annotations": {
                  "visibility": "READ_ONLY"
                }
              }
            ]
          },
          "annotations": {
            "visibility": "READ_ONLY"
          }
        },
        {
          "key": {
            "name": "prefix"
          },
          "model": {
            "type": "String"
          },
          "annotations": {
            "visibility": "READ_ONLY"
          }
        },
        {
          "key": {
            "name": "status"
          },
          "model": {
            "type": "String"
          },
          "annotations": {
            "visibility": "READ_ONLY"
          }
        },
        {
          "key": {
            "name": "transition"
          },
          "model": {
            "type": "Object",
            "annotations": {
              "typeId": "org.mule.extension.s3.api.model.Transition",
              "classInformation": {
                "classname": "org.mule.extension.s3.api.model.Transition",
                "hasDefaultConstructor": true,
                "isInterface": false,
                "isInstantiable": true,
                "isAbstract": false,
                "isFinal": false,
                "implementedInterfaces": [
                  "java.io.Serializable"
                ],
                "parent": "",
                "genericTypes": [],
                "isMap": false
              },
              "typeAlias": {
                "value": "Transition"
              }
            },
            "fields": [
              {
                "key": {
                  "name": "date"
                },
                "model": {
                  "type": "DateTime",
                  "annotations": {
                    "typeId": "java.time.LocalDateTime"
                  }
                },
                "annotations": {
                  "visibility": "READ_ONLY"
                }
              },
              {
                "key": {
                  "name": "days"
                },
                "model": {
                  "type": "Number",
                  "annotations": {
                    "classInformation": {
                      "classname": "int",
                      "hasDefaultConstructor": false,
                      "isInterface": false,
                      "isInstantiable": false,
                      "isAbstract": true,
                      "isFinal": true,
                      "implementedInterfaces": [],
                      "parent": "",
                      "genericTypes": [],
                      "isMap": false
                    },
                    "int": {}
                  }
                },
                "annotations": {
                  "visibility": "READ_ONLY"
                }
              },
              {
                "key": {
                  "name": "storageClass"
                },
                "model": {
                  "type": "String",
                  "annotations": {
                    "typeId": "org.mule.extension.s3.api.model.StorageClass",
                    "enum": {
                      "type": "[Ljava.lang.String;",
                      "values": [
                        "STANDARD",
                        "STANDARD_IA",
                        "INTELLIGENT_TIERING",
                        "ONEZONE_IA",
                        "REDUCED_REDUNDANCY",
                        "GLACIER"
                      ]
                    }
                  }
                },
                "annotations": {
                  "visibility": "READ_ONLY"
                }
              }
            ]
          },
          "annotations": {
            "visibility": "READ_ONLY"
          }
        }
      ]
    },
    {
      "format": "java",
      "type": "Object",
      "annotations": {
        "typeId": "org.mule.extension.s3.api.model.Bucket",
        "classInformation": {
          "classname": "org.mule.extension.s3.api.model.Bucket",
          "hasDefaultConstructor": true,
          "isInterface": false,
          "isInstantiable": true,
          "isAbstract": false,
          "isFinal": false,
          "implementedInterfaces": [
            "java.io.Serializable"
          ],
          "parent": "",
          "genericTypes": [],
          "isMap": false
        },
        "typeAlias": {
          "value": "Bucket"
        }
      },
      "fields": [
        {
          "key": {
            "name": "creationDate"
          },
          "model": {
            "type": "DateTime",
            "annotations": {
              "typeId": "java.time.LocalDateTime"
            }
          },
          "annotations": {
            "visibility": "READ_ONLY"
          }
        },
        {
          "key": {
            "name": "name"
          },
          "model": {
            "type": "String"
          },
          "annotations": {
            "visibility": "READ_ONLY"
          }
        },
        {
          "key": {
            "name": "owner"
          },
          "model": {
            "type": "Object",
            "annotations": {
              "typeId": "org.mule.extension.s3.api.model.Owner",
              "classInformation": {
                "classname": "org.mule.extension.s3.api.model.Owner",
                "hasDefaultConstructor": true,
                "isInterface": false,
                "isInstantiable": true,
                "isAbstract": false,
                "isFinal": false,
                "implementedInterfaces": [
                  "java.io.Serializable"
                ],
                "parent": "",
                "genericTypes": [],
                "isMap": false
              },
              "typeAlias": {
                "value": "Owner"
              }
            },
            "fields": [
              {
                "key": {
                  "name": "displayName"
                },
                "model": {
                  "type": "String"
                },
                "annotations": {
                  "visibility": "READ_ONLY"
                }
              },
              {
                "key": {
                  "name": "id"
                },
                "model": {
                  "type": "String"
                },
                "annotations": {
                  "visibility": "READ_ONLY"
                }
              }
            ]
          },
          "annotations": {
            "visibility": "READ_ONLY"
          }
        }
      ]
    },
    {
      "format": "java",
      "type": "Object",
      "annotations": {
        "typeId": "org.mule.extension.s3.api.model.BucketLoggingConfiguration",
        "classInformation": {
          "classname": "org.mule.extension.s3.api.model.BucketLoggingConfiguration",
          "hasDefaultConstructor": true,
          "isInterface": false,
          "isInstantiable": true,
          "isAbstract": false,
          "isFinal": false,
          "implementedInterfaces": [
            "java.io.Serializable"
          ],
          "parent": "",
          "genericTypes": [],
          "isMap": false
        },
        "typeAlias": {
          "value": "BucketLoggingConfiguration"
        }
      },
      "fields": [
        {
          "key": {
            "name": "destinationBucketName"
          },
          "model": {
            "type": "String"
          },
          "annotations": {
            "visibility": "READ_ONLY"
          }
        },
        {
          "key": {
            "name": "logFilePrefix"
          },
          "model": {
            "type": "String"
          },
          "annotations": {
            "visibility": "READ_ONLY"
          }
        }
      ]
    },
    {
      "format": "java",
      "type": "Object",
      "annotations": {
        "typeId": "org.mule.extension.s3.api.model.BucketWebsiteConfiguration",
        "classInformation": {
          "classname": "org.mule.extension.s3.api.model.BucketWebsiteConfiguration",
          "hasDefaultConstructor": true,
          "isInterface": false,
          "isInstantiable": true,
          "isAbstract": false,
          "isFinal": false,
          "implementedInterfaces": [
            "java.io.Serializable"
          ],
          "parent": "",
          "genericTypes": [],
          "isMap": false
        },
        "typeAlias": {
          "value": "BucketWebsiteConfiguration"
        }
      },
      "fields": [
        {
          "key": {
            "name": "errorDocument"
          },
          "model": {
            "type": "String"
          },
          "annotations": {
            "visibility": "READ_ONLY"
          }
        },
        {
          "key": {
            "name": "indexDocumentSuffix"
          },
          "model": {
            "type": "String"
          },
          "annotations": {
            "visibility": "READ_ONLY"
          }
        },
        {
          "key": {
            "name": "redirectAllRequestsTo"
          },
          "model": {
            "type": "Object",
            "annotations": {
              "typeId": "org.mule.extension.s3.api.model.RedirectRule",
              "classInformation": {
                "classname": "org.mule.extension.s3.api.model.RedirectRule",
                "hasDefaultConstructor": true,
                "isInterface": false,
                "isInstantiable": true,
                "isAbstract": false,
                "isFinal": false,
                "implementedInterfaces": [
                  "java.io.Serializable"
                ],
                "parent": "",
                "genericTypes": [],
                "isMap": false
              },
              "typeAlias": {
                "value": "RedirectRule"
              }
            },
            "fields": [
              {
                "key": {
                  "name": "hostName"
                },
                "model": {
                  "type": "String"
                },
                "annotations": {
                  "visibility": "READ_ONLY"
                }
              },
              {
                "key": {
                  "name": "httpRedirectCode"
                },
                "model": {
                  "type": "String"
                },
                "annotations": {
                  "visibility": "READ_ONLY"
                }
              },
              {
                "key": {
                  "name": "protocol"
                },
                "model": {
                  "type": "String"
                },
                "annotations": {
                  "visibility": "READ_ONLY"
                }
              },
              {
                "key": {
                  "name": "replaceKeyPrefixWith"
                },
                "model": {
                  "type": "String"
                },
                "annotations": {
                  "visibility": "READ_ONLY"
                }
              },
              {
                "key": {
                  "name": "replaceKeyWith"
                },
                "model": {
                  "type": "String"
                },
                "annotations": {
                  "visibility": "READ_ONLY"
                }
              }
            ]
          },
          "annotations": {
            "visibility": "READ_ONLY"
          }
        },
        {
          "key": {
            "name": "routingRules"
          },
          "model": {
            "type": "Array",
            "annotations": {
              "classInformation": {
                "classname": "java.util.List",
                "hasDefaultConstructor": false,
                "isInterface": true,
                "isInstantiable": false,
                "isAbstract": true,
                "isFinal": false,
                "implementedInterfaces": [
                  "java.util.Collection"
                ],
                "parent": "",
                "genericTypes": [
                  "org.mule.extension.s3.api.model.RoutingRule"
                ],
                "isMap": false
              }
            },
            "item": {
              "type": "Object",
              "annotations": {
                "typeId": "org.mule.extension.s3.api.model.RoutingRule",
                "classInformation": {
                  "classname": "org.mule.extension.s3.api.model.RoutingRule",
                  "hasDefaultConstructor": true,
                  "isInterface": false,
                  "isInstantiable": true,
                  "isAbstract": false,
                  "isFinal": false,
                  "implementedInterfaces": [
                    "java.io.Serializable"
                  ],
                  "parent": "",
                  "genericTypes": [],
                  "isMap": false
                },
                "typeAlias": {
                  "value": "RoutingRule"
                }
              },
              "fields": [
                {
                  "key": {
                    "name": "condition"
                  },
                  "model": {
                    "type": "Object",
                    "annotations": {
                      "typeId": "org.mule.extension.s3.api.model.RoutingRuleCondition",
                      "classInformation": {
                        "classname": "org.mule.extension.s3.api.model.RoutingRuleCondition",
                        "hasDefaultConstructor": true,
                        "isInterface": false,
                        "isInstantiable": true,
                        "isAbstract": false,
                        "isFinal": false,
                        "implementedInterfaces": [
                          "java.io.Serializable"
                        ],
                        "parent": "",
                        "genericTypes": [],
                        "isMap": false
                      },
                      "typeAlias": {
                        "value": "RoutingRuleCondition"
                      }
                    },
                    "fields": [
                      {
                        "key": {
                          "name": "httpErrorCodeReturnedEquals"
                        },
                        "model": {
                          "type": "String"
                        },
                        "annotations": {
                          "visibility": "READ_ONLY"
                        }
                      },
                      {
                        "key": {
                          "name": "keyPrefixEquals"
                        },
                        "model": {
                          "type": "String"
                        },
                        "annotations": {
                          "visibility": "READ_ONLY"
                        }
                      }
                    ]
                  },
                  "annotations": {
                    "visibility": "READ_ONLY"
                  }
                },
                {
                  "key": {
                    "name": "redirect"
                  },
                  "model": {
                    "type": "Object",
                    "annotations": {
                      "typeId": "org.mule.extension.s3.api.model.RedirectRule",
                      "classInformation": {
                        "classname": "org.mule.extension.s3.api.model.RedirectRule",
                        "hasDefaultConstructor": true,
                        "isInterface": false,
                        "isInstantiable": true,
                        "isAbstract": false,
                        "isFinal": false,
                        "implementedInterfaces": [
                          "java.io.Serializable"
                        ],
                        "parent": "",
                        "genericTypes": [],
                        "isMap": false
                      },
                      "typeAlias": {
                        "value": "RedirectRule"
                      }
                    },
                    "fields": [
                      {
                        "key": {
                          "name": "hostName"
                        },
                        "model": {
                          "type": "String"
                        },
                        "annotations": {
                          "visibility": "READ_ONLY"
                        }
                      },
                      {
                        "key": {
                          "name": "httpRedirectCode"
                        },
                        "model": {
                          "type": "String"
                        },
                        "annotations": {
                          "visibility": "READ_ONLY"
                        }
                      },
                      {
                        "key": {
                          "name": "protocol"
                        },
                        "model": {
                          "type": "String"
                        },
                        "annotations": {
                          "visibility": "READ_ONLY"
                        }
                      },
                      {
                        "key": {
                          "name": "replaceKeyPrefixWith"
                        },
                        "model": {
                          "type": "String"
                        },
                        "annotations": {
                          "visibility": "READ_ONLY"
                        }
                      },
                      {
                        "key": {
                          "name": "replaceKeyWith"
                        },
                        "model": {
                          "type": "String"
                        },
                        "annotations": {
                          "visibility": "READ_ONLY"
                        }
                      }
                    ]
                  },
                  "annotations": {
                    "visibility": "READ_ONLY"
                  }
                }
              ]
            }
          },
          "annotations": {
            "visibility": "READ_ONLY"
          }
        }
      ]
    },
    {
      "format": "java",
      "type": "Object",
      "annotations": {
        "typeId": "org.mule.extension.s3.api.model.CORSRule",
        "classInformation": {
          "classname": "org.mule.extension.s3.api.model.CORSRule",
          "hasDefaultConstructor": true,
          "isInterface": false,
          "isInstantiable": true,
          "isAbstract": false,
          "isFinal": false,
          "implementedInterfaces": [
            "java.io.Serializable"
          ],
          "parent": "",
          "genericTypes": [],
          "isMap": false
        },
        "typeAlias": {
          "value": "CORSRule"
        }
      },
      "fields": [
        {
          "key": {
            "name": "allowedHeaders"
          },
          "model": {
            "type": "Array",
            "annotations": {
              "classInformation": {
                "classname": "java.util.List",
                "hasDefaultConstructor": false,
                "isInterface": true,
                "isInstantiable": false,
                "isAbstract": true,
                "isFinal": false,
                "implementedInterfaces": [
                  "java.util.Collection"
                ],
                "parent": "",
                "genericTypes": [
                  "java.lang.String"
                ],
                "isMap": false
              }
            },
            "item": {
              "type": "String"
            }
          },
          "annotations": {
            "visibility": "READ_ONLY"
          }
        },
        {
          "key": {
            "name": "allowedMethods"
          },
          "model": {
            "type": "Array",
            "annotations": {
              "classInformation": {
                "classname": "java.util.List",
                "hasDefaultConstructor": false,
                "isInterface": true,
                "isInstantiable": false,
                "isAbstract": true,
                "isFinal": false,
                "implementedInterfaces": [
                  "java.util.Collection"
                ],
                "parent": "",
                "genericTypes": [
                  "org.mule.extension.s3.api.model.AllowedMethods"
                ],
                "isMap": false
              }
            },
            "item": {
              "type": "String",
              "annotations": {
                "typeId": "org.mule.extension.s3.api.model.AllowedMethods",
                "enum": {
                  "type": "[Ljava.lang.String;",
                  "values": [
                    "GET",
                    "PUT",
                    "HEAD",
                    "POST",
                    "DELETE"
                  ]
                }
              }
            }
          },
          "annotations": {
            "visibility": "READ_ONLY"
          }
        },
        {
          "key": {
            "name": "allowedOrigins"
          },
          "model": {
            "type": "Array",
            "annotations": {
              "classInformation": {
                "classname": "java.util.List",
                "hasDefaultConstructor": false,
                "isInterface": true,
                "isInstantiable": false,
                "isAbstract": true,
                "isFinal": false,
                "implementedInterfaces": [
                  "java.util.Collection"
                ],
                "parent": "",
                "genericTypes": [
                  "java.lang.String"
                ],
                "isMap": false
              }
            },
            "item": {
              "type": "String"
            }
          },
          "annotations": {
            "visibility": "READ_ONLY"
          }
        },
        {
          "key": {
            "name": "exposedHeaders"
          },
          "model": {
            "type": "Array",
            "annotations": {
              "classInformation": {
                "classname": "java.util.List",
                "hasDefaultConstructor": false,
                "isInterface": true,
                "isInstantiable": false,
                "isAbstract": true,
                "isFinal": false,
                "implementedInterfaces": [
                  "java.util.Collection"
                ],
                "parent": "",
                "genericTypes": [
                  "java.lang.String"
                ],
                "isMap": false
              }
            },
            "item": {
              "type": "String"
            }
          },
          "annotations": {
            "visibility": "READ_ONLY"
          }
        },
        {
          "key": {
            "name": "id"
          },
          "model": {
            "type": "String"
          },
          "annotations": {
            "visibility": "READ_ONLY"
          }
        },
        {
          "key": {
            "name": "maxAgeSeconds"
          },
          "model": {
            "type": "Number",
            "annotations": {
              "classInformation": {
                "classname": "int",
                "hasDefaultConstructor": false,
                "isInterface": false,
                "isInstantiable": false,
                "isAbstract": true,
                "isFinal": true,
                "implementedInterfaces": [],
                "parent": "",
                "genericTypes": [],
                "isMap": false
              },
              "int": {}
            }
          },
          "annotations": {
            "visibility": "READ_ONLY"
          }
        }
      ]
    },
    {
      "format": "java",
      "type": "Object",
      "annotations": {
        "typeId": "org.mule.extension.s3.api.model.CompleteMultipartUploadResult",
        "classInformation": {
          "classname": "org.mule.extension.s3.api.model.CompleteMultipartUploadResult",
          "hasDefaultConstructor": true,
          "isInterface": false,
          "isInstantiable": true,
          "isAbstract": false,
          "isFinal": false,
          "implementedInterfaces": [
            "java.io.Serializable"
          ],
          "parent": "",
          "genericTypes": [],
          "isMap": false
        },
        "typeAlias": {
          "value": "CompleteMultipartUploadResult"
        }
      },
      "fields": [
        {
          "key": {
            "name": "bucketName"
          },
          "model": {
            "type": "String"
          },
          "annotations": {
            "visibility": "READ_ONLY"
          }
        },
        {
          "key": {
            "name": "eTag"
          },
          "model": {
            "type": "String"
          },
          "annotations": {
            "visibility": "READ_ONLY"
          }
        },
        {
          "key": {
            "name": "expirationTime"
          },
          "model": {
            "type": "DateTime",
            "annotations": {
              "typeId": "java.time.LocalDateTime"
            }
          },
          "annotations": {
            "visibility": "READ_ONLY"
          }
        },
        {
          "key": {
            "name": "expirationTimeRuleId"
          },
          "model": {
            "type": "String"
          },
          "annotations": {
            "visibility": "READ_ONLY"
          }
        },
        {
          "key": {
            "name": "key"
          },
          "model": {
            "type": "String"
          },
          "annotations": {
            "visibility": "READ_ONLY"
          }
        },
        {
          "key": {
            "name": "location"
          },
          "model": {
            "type": "String"
          },
          "annotations": {
            "visibility": "READ_ONLY"
          }
        },
        {
          "key": {
            "name": "versionId"
          },
          "model": {
            "type": "String"
          },
          "annotations": {
            "visibility": "READ_ONLY"
          }
        }
      ]
    },
    {
      "format": "java",
      "type": "Object",
      "annotations": {
        "typeId": "org.mule.extension.s3.api.model.CopyPartResult",
        "classInformation": {
          "classname": "org.mule.extension.s3.api.model.CopyPartResult",
          "hasDefaultConstructor": true,
          "isInterface": false,
          "isInstantiable": true,
          "isAbstract": false,
          "isFinal": false,
          "implementedInterfaces": [
            "java.io.Serializable"
          ],
          "parent": "",
          "genericTypes": [],
          "isMap": false
        },
        "typeAlias": {
          "value": "CopyPartResult"
        }
      },
      "fields": [
        {
          "key": {
            "name": "etag"
          },
          "model": {
            "type": "String"
          },
          "annotations": {
            "visibility": "READ_ONLY"
          }
        },
        {
          "key": {
            "name": "lastModifiedDate"
          },
          "model": {
            "type": "DateTime",
            "annotations": {
              "typeId": "java.time.LocalDateTime"
            }
          },
          "annotations": {
            "visibility": "READ_ONLY"
          }
        },
        {
          "key": {
            "name": "partNumber"
          },
          "model": {
            "type": "Number",
            "annotations": {
              "classInformation": {
                "classname": "int",
                "hasDefaultConstructor": false,
                "isInterface": false,
                "isInstantiable": false,
                "isAbstract": true,
                "isFinal": true,
                "implementedInterfaces": [],
                "parent": "",
                "genericTypes": [],
                "isMap": false
              },
              "int": {}
            }
          },
          "annotations": {
            "visibility": "READ_ONLY"
          }
        },
        {
          "key": {
            "name": "versionId"
          },
          "model": {
            "type": "String"
          },
          "annotations": {
            "visibility": "READ_ONLY"
          }
        }
      ]
    },
    {
      "format": "java",
      "type": "Object",
      "annotations": {
        "typeId": "org.mule.extension.s3.api.model.Grant",
        "classInformation": {
          "classname": "org.mule.extension.s3.api.model.Grant",
          "hasDefaultConstructor": true,
          "isInterface": false,
          "isInstantiable": true,
          "isAbstract": false,
          "isFinal": false,
          "implementedInterfaces": [
            "java.io.Serializable"
          ],
          "parent": "",
          "genericTypes": [],
          "isMap": false
        },
        "typeAlias": {
          "value": "Grant"
        }
      },
      "fields": [
        {
          "key": {
            "name": "grantee"
          },
          "model": {
            "type": "Object",
            "annotations": {
              "typeId": "org.mule.extension.s3.api.model.Grantee",
              "classInformation": {
                "classname": "org.mule.extension.s3.api.model.Grantee",
                "hasDefaultConstructor": true,
                "isInterface": false,
                "isInstantiable": true,
                "isAbstract": false,
                "isFinal": false,
                "implementedInterfaces": [
                  "java.io.Serializable"
                ],
                "parent": "",
                "genericTypes": [],
                "isMap": false
              },
              "typeAlias": {
                "value": "Grantee"
              }
            },
            "fields": [
              {
                "key": {
                  "name": "displayName"
                },
                "model": {
                  "type": "String"
                },
                "annotations": {
                  "visibility": "READ_ONLY"
                }
              },
              {
                "key": {
                  "name": "groupUri"
                },
                "model": {
                  "type": "String",
                  "annotations": {
                    "typeId": "org.mule.extension.s3.api.model.GroupUri",
                    "enum": {
                      "type": "[Ljava.lang.String;",
                      "values": [
                        "AllUsers",
                        "AuthenticatedUsers",
                        "LogDelivery"
                      ]
                    }
                  }
                },
                "annotations": {
                  "visibility": "READ_ONLY"
                }
              },
              {
                "key": {
                  "name": "identifier"
                },
                "model": {
                  "type": "String"
                },
                "annotations": {
                  "visibility": "READ_ONLY"
                }
              },
              {
                "key": {
                  "name": "typeIdentifier"
                },
                "model": {
                  "type": "String",
                  "annotations": {
                    "typeId": "org.mule.extension.s3.api.model.GranteeType",
                    "enum": {
                      "type": "[Ljava.lang.String;",
                      "values": [
                        "ID",
                        "EMAIL_ADDRESS",
                        "URI"
                      ]
                    }
                  }
                },
                "annotations": {
                  "visibility": "READ_ONLY"
                }
              }
            ]
          },
          "annotations": {
            "visibility": "READ_ONLY"
          }
        },
        {
          "key": {
            "name": "permission"
          },
          "model": {
            "type": "String",
            "annotations": {
              "typeId": "org.mule.extension.s3.api.model.Permission",
              "enum": {
                "type": "[Ljava.lang.String;",
                "values": [
                  "FULL_CONTROL",
                  "READ",
                  "WRITE",
                  "READ_ACP",
                  "WRITE_ACP"
                ]
              }
            }
          },
          "annotations": {
            "visibility": "READ_ONLY"
          }
        }
      ]
    },
    {
      "format": "java",
      "type": "Object",
      "annotations": {
        "typeId": "org.mule.extension.s3.api.model.KeyVersion",
        "classInformation": {
          "classname": "org.mule.extension.s3.api.model.KeyVersion",
          "hasDefaultConstructor": true,
          "isInterface": false,
          "isInstantiable": true,
          "isAbstract": false,
          "isFinal": false,
          "implementedInterfaces": [
            "java.io.Serializable"
          ],
          "parent": "",
          "genericTypes": [],
          "isMap": false
        },
        "typeAlias": {
          "value": "KeyVersion"
        }
      },
      "fields": [
        {
          "key": {
            "name": "value"
          },
          "model": {
            "type": "String"
          },
          "annotations": {
            "visibility": "READ_ONLY"
          }
        },
        {
          "key": {
            "name": "version"
          },
          "model": {
            "type": "String"
          },
          "annotations": {
            "visibility": "READ_ONLY"
          }
        }
      ]
    },
    {
      "format": "java",
      "type": "Object",
      "annotations": {
        "typeId": "org.mule.extension.s3.api.model.MultipartUploadListing",
        "classInformation": {
          "classname": "org.mule.extension.s3.api.model.MultipartUploadListing",
          "hasDefaultConstructor": true,
          "isInterface": false,
          "isInstantiable": true,
          "isAbstract": false,
          "isFinal": false,
          "implementedInterfaces": [
            "java.io.Serializable"
          ],
          "parent": "",
          "genericTypes": [],
          "isMap": false
        },
        "typeAlias": {
          "value": "MultipartUploadListing"
        }
      },
      "fields": [
        {
          "key": {
            "name": "bucketName"
          },
          "model": {
            "type": "String"
          },
          "annotations": {
            "visibility": "READ_ONLY"
          }
        },
        {
          "key": {
            "name": "commonPrefixes"
          },
          "model": {
            "type": "Array",
            "annotations": {
              "classInformation": {
                "classname": "java.util.List",
                "hasDefaultConstructor": false,
                "isInterface": true,
                "isInstantiable": false,
                "isAbstract": true,
                "isFinal": false,
                "implementedInterfaces": [
                  "java.util.Collection"
                ],
                "parent": "",
                "genericTypes": [
                  "java.lang.String"
                ],
                "isMap": false
              }
            },
            "item": {
              "type": "String"
            }
          },
          "annotations": {
            "visibility": "READ_ONLY"
          }
        },
        {
          "key": {
            "name": "delimiter"
          },
          "model": {
            "type": "String"
          },
          "annotations": {
            "visibility": "READ_ONLY"
          }
        },
        {
          "key": {
            "name": "encodingType"
          },
          "model": {
            "type": "String"
          },
          "annotations": {
            "visibility": "READ_ONLY"
          }
        },
        {
          "key": {
            "name": "keyMarker"
          },
          "model": {
            "type": "String"
          },
          "annotations": {
            "visibility": "READ_ONLY"
          }
        },
        {
          "key": {
            "name": "maxUploads"
          },
          "model": {
            "type": "Number",
            "annotations": {
              "classInformation": {
                "classname": "int",
                "hasDefaultConstructor": false,
                "isInterface": false,
                "isInstantiable": false,
                "isAbstract": true,
                "isFinal": true,
                "implementedInterfaces": [],
                "parent": "",
                "genericTypes": [],
                "isMap": false
              },
              "int": {}
            }
          },
          "annotations": {
            "visibility": "READ_ONLY"
          }
        },
        {
          "key": {
            "name": "multipartUploads"
          },
          "model": {
            "type": "Array",
            "annotations": {
              "classInformation": {
                "classname": "java.util.List",
                "hasDefaultConstructor": false,
                "isInterface": true,
                "isInstantiable": false,
                "isAbstract": true,
                "isFinal": false,
                "implementedInterfaces": [
                  "java.util.Collection"
                ],
                "parent": "",
                "genericTypes": [
                  "org.mule.extension.s3.api.model.MultipartUpload"
                ],
                "isMap": false
              }
            },
            "item": {
              "type": "Object",
              "annotations": {
                "typeId": "org.mule.extension.s3.api.model.MultipartUpload",
                "classInformation": {
                  "classname": "org.mule.extension.s3.api.model.MultipartUpload",
                  "hasDefaultConstructor": true,
                  "isInterface": false,
                  "isInstantiable": true,
                  "isAbstract": false,
                  "isFinal": false,
                  "implementedInterfaces": [
                    "java.io.Serializable"
                  ],
                  "parent": "",
                  "genericTypes": [],
                  "isMap": false
                },
                "typeAlias": {
                  "value": "MultipartUpload"
                }
              },
              "fields": [
                {
                  "key": {
                    "name": "initiated"
                  },
                  "model": {
                    "type": "DateTime",
                    "annotations": {
                      "typeId": "java.time.LocalDateTime"
                    }
                  },
                  "annotations": {
                    "visibility": "READ_ONLY"
                  }
                },
                {
                  "key": {
                    "name": "initiator"
                  },
                  "model": {
                    "type": "Object",
                    "annotations": {
                      "typeId": "org.mule.extension.s3.api.model.Owner",
                      "classInformation": {
                        "classname": "org.mule.extension.s3.api.model.Owner",
                        "hasDefaultConstructor": true,
                        "isInterface": false,
                        "isInstantiable": true,
                        "isAbstract": false,
                        "isFinal": false,
                        "implementedInterfaces": [
                          "java.io.Serializable"
                        ],
                        "parent": "",
                        "genericTypes": [],
                        "isMap": false
                      },
                      "typeAlias": {
                        "value": "Owner"
                      }
                    },
                    "fields": [
                      {
                        "key": {
                          "name": "displayName"
                        },
                        "model": {
                          "type": "String"
                        },
                        "annotations": {
                          "visibility": "READ_ONLY"
                        }
                      },
                      {
                        "key": {
                          "name": "id"
                        },
                        "model": {
                          "type": "String"
                        },
                        "annotations": {
                          "visibility": "READ_ONLY"
                        }
                      }
                    ]
                  },
                  "annotations": {
                    "visibility": "READ_ONLY"
                  }
                },
                {
                  "key": {
                    "name": "key"
                  },
                  "model": {
                    "type": "String"
                  },
                  "annotations": {
                    "visibility": "READ_ONLY"
                  }
                },
                {
                  "key": {
                    "name": "owner"
                  },
                  "model": {
                    "type": "Object",
                    "annotations": {
                      "typeId": "org.mule.extension.s3.api.model.Owner",
                      "classInformation": {
                        "classname": "org.mule.extension.s3.api.model.Owner",
                        "hasDefaultConstructor": true,
                        "isInterface": false,
                        "isInstantiable": true,
                        "isAbstract": false,
                        "isFinal": false,
                        "implementedInterfaces": [
                          "java.io.Serializable"
                        ],
                        "parent": "",
                        "genericTypes": [],
                        "isMap": false
                      },
                      "typeAlias": {
                        "value": "Owner"
                      }
                    },
                    "fields": [
                      {
                        "key": {
                          "name": "displayName"
                        },
                        "model": {
                          "type": "String"
                        },
                        "annotations": {
                          "visibility": "READ_ONLY"
                        }
                      },
                      {
                        "key": {
                          "name": "id"
                        },
                        "model": {
                          "type": "String"
                        },
                        "annotations": {
                          "visibility": "READ_ONLY"
                        }
                      }
                    ]
                  },
                  "annotations": {
                    "visibility": "READ_ONLY"
                  }
                },
                {
                  "key": {
                    "name": "storageClass"
                  },
                  "model": {
                    "type": "String"
                  },
                  "annotations": {
                    "visibility": "READ_ONLY"
                  }
                },
                {
                  "key": {
                    "name": "uploadId"
                  },
                  "model": {
                    "type": "String"
                  },
                  "annotations": {
                    "visibility": "READ_ONLY"
                  }
                }
              ]
            }
          },
          "annotations": {
            "visibility": "READ_ONLY"
          }
        },
        {
          "key": {
            "name": "nextKeyMarker"
          },
          "model": {
            "type": "String"
          },
          "annotations": {
            "visibility": "READ_ONLY"
          }
        },
        {
          "key": {
            "name": "nextUploadIdMarker"
          },
          "model": {
            "type": "String"
          },
          "annotations": {
            "visibility": "READ_ONLY"
          }
        },
        {
          "key": {
            "name": "prefix"
          },
          "model": {
            "type": "String"
          },
          "annotations": {
            "visibility": "READ_ONLY"
          }
        },
        {
          "key": {
            "name": "truncated"
          },
          "model": {
            "type": "Boolean",
            "annotations": {
              "typeId": "boolean"
            }
          },
          "annotations": {
            "visibility": "READ_ONLY"
          }
        },
        {
          "key": {
            "name": "uploadIdMarker"
          },
          "model": {
            "type": "String"
          },
          "annotations": {
            "visibility": "READ_ONLY"
          }
        }
      ]
    },
    {
      "format": "java",
      "type": "Object",
      "annotations": {
        "typeId": "org.mule.extension.s3.api.model.ObjectResult",
        "classInformation": {
          "classname": "org.mule.extension.s3.api.model.ObjectResult",
          "hasDefaultConstructor": true,
          "isInterface": false,
          "isInstantiable": true,
          "isAbstract": false,
          "isFinal": false,
          "implementedInterfaces": [
            "java.io.Serializable"
          ],
          "parent": "",
          "genericTypes": [],
          "isMap": false
        },
        "typeAlias": {
          "value": "ObjectResult"
        }
      },
      "fields": [
        {
          "key": {
            "name": "etag"
          },
          "model": {
            "type": "String"
          },
          "annotations": {
            "visibility": "READ_ONLY"
          }
        },
        {
          "key": {
            "name": "expirationTime"
          },
          "model": {
            "type": "DateTime",
            "annotations": {
              "typeId": "java.time.LocalDateTime"
            }
          },
          "annotations": {
            "visibility": "READ_ONLY"
          }
        },
        {
          "key": {
            "name": "expirationTimeRuleId"
          },
          "model": {
            "type": "String"
          },
          "annotations": {
            "visibility": "READ_ONLY"
          }
        },
        {
          "key": {
            "name": "lastModifiedDate"
          },
          "model": {
            "type": "DateTime",
            "annotations": {
              "typeId": "java.time.LocalDateTime"
            }
          },
          "annotations": {
            "visibility": "READ_ONLY"
          }
        },
        {
          "key": {
            "name": "versionId"
          },
          "model": {
            "type": "String"
          },
          "annotations": {
            "visibility": "READ_ONLY"
          }
        }
      ]
    },
    {
      "format": "java",
      "type": "Object",
      "annotations": {
        "typeId": "org.mule.extension.s3.api.model.Owner",
        "classInformation": {
          "classname": "org.mule.extension.s3.api.model.Owner",
          "hasDefaultConstructor": true,
          "isInterface": false,
          "isInstantiable": true,
          "isAbstract": false,
          "isFinal": false,
          "implementedInterfaces": [
            "java.io.Serializable"
          ],
          "parent": "",
          "genericTypes": [],
          "isMap": false
        },
        "typeAlias": {
          "value": "Owner"
        }
      },
      "fields": [
        {
          "key": {
            "name": "displayName"
          },
          "model": {
            "type": "String"
          },
          "annotations": {
            "visibility": "READ_ONLY"
          }
        },
        {
          "key": {
            "name": "id"
          },
          "model": {
            "type": "String"
          },
          "annotations": {
            "visibility": "READ_ONLY"
          }
        }
      ]
    },
    {
      "format": "java",
      "type": "Object",
      "annotations": {
        "typeId": "org.mule.extension.s3.api.model.PartETag",
        "classInformation": {
          "classname": "org.mule.extension.s3.api.model.PartETag",
          "hasDefaultConstructor": true,
          "isInterface": false,
          "isInstantiable": true,
          "isAbstract": false,
          "isFinal": false,
          "implementedInterfaces": [
            "java.io.Serializable"
          ],
          "parent": "",
          "genericTypes": [],
          "isMap": false
        },
        "typeAlias": {
          "value": "PartETag"
        }
      },
      "fields": [
        {
          "key": {
            "name": "etag"
          },
          "model": {
            "type": "String"
          },
          "annotations": {
            "visibility": "READ_ONLY"
          }
        },
        {
          "key": {
            "name": "partNumber"
          },
          "model": {
            "type": "Number",
            "annotations": {
              "classInformation": {
                "classname": "int",
                "hasDefaultConstructor": false,
                "isInterface": false,
                "isInstantiable": false,
                "isAbstract": true,
                "isFinal": true,
                "implementedInterfaces": [],
                "parent": "",
                "genericTypes": [],
                "isMap": false
              },
              "int": {}
            }
          },
          "annotations": {
            "visibility": "READ_ONLY"
          }
        }
      ]
    },
    {
      "format": "java",
      "type": "Object",
      "annotations": {
        "typeId": "org.mule.extension.s3.api.model.PartListing",
        "classInformation": {
          "classname": "org.mule.extension.s3.api.model.PartListing",
          "hasDefaultConstructor": true,
          "isInterface": false,
          "isInstantiable": true,
          "isAbstract": false,
          "isFinal": false,
          "implementedInterfaces": [
            "java.io.Serializable"
          ],
          "parent": "",
          "genericTypes": [],
          "isMap": false
        },
        "typeAlias": {
          "value": "PartListing"
        }
      },
      "fields": [
        {
          "key": {
            "name": "bucketName"
          },
          "model": {
            "type": "String"
          },
          "annotations": {
            "visibility": "READ_ONLY"
          }
        },
        {
          "key": {
            "name": "encodingType"
          },
          "model": {
            "type": "String"
          },
          "annotations": {
            "visibility": "READ_ONLY"
          }
        },
        {
          "key": {
            "name": "initiator"
          },
          "model": {
            "type": "Object",
            "annotations": {
              "typeId": "org.mule.extension.s3.api.model.Owner",
              "classInformation": {
                "classname": "org.mule.extension.s3.api.model.Owner",
                "hasDefaultConstructor": true,
                "isInterface": false,
                "isInstantiable": true,
                "isAbstract": false,
                "isFinal": false,
                "implementedInterfaces": [
                  "java.io.Serializable"
                ],
                "parent": "",
                "genericTypes": [],
                "isMap": false
              },
              "typeAlias": {
                "value": "Owner"
              }
            },
            "fields": [
              {
                "key": {
                  "name": "displayName"
                },
                "model": {
                  "type": "String"
                },
                "annotations": {
                  "visibility": "READ_ONLY"
                }
              },
              {
                "key": {
                  "name": "id"
                },
                "model": {
                  "type": "String"
                },
                "annotations": {
                  "visibility": "READ_ONLY"
                }
              }
            ]
          },
          "annotations": {
            "visibility": "READ_ONLY"
          }
        },
        {
          "key": {
            "name": "key"
          },
          "model": {
            "type": "String"
          },
          "annotations": {
            "visibility": "READ_ONLY"
          }
        },
        {
          "key": {
            "name": "maxParts"
          },
          "model": {
            "type": "Number",
            "annotations": {
              "classInformation": {
                "classname": "java.lang.Integer",
                "hasDefaultConstructor": false,
                "isInterface": false,
                "isInstantiable": false,
                "isAbstract": false,
                "isFinal": true,
                "implementedInterfaces": [
                  "java.lang.Comparable"
                ],
                "parent": "java.lang.Number",
                "genericTypes": [],
                "isMap": false
              },
              "int": {}
            }
          },
          "annotations": {
            "visibility": "READ_ONLY"
          }
        },
        {
          "key": {
            "name": "nextPartNumberMarker"
          },
          "model": {
            "type": "Number",
            "annotations": {
              "classInformation": {
                "classname": "java.lang.Integer",
                "hasDefaultConstructor": false,
                "isInterface": false,
                "isInstantiable": false,
                "isAbstract": false,
                "isFinal": true,
                "implementedInterfaces": [
                  "java.lang.Comparable"
                ],
                "parent": "java.lang.Number",
                "genericTypes": [],
                "isMap": false
              },
              "int": {}
            }
          },
          "annotations": {
            "visibility": "READ_ONLY"
          }
        },
        {
          "key": {
            "name": "owner"
          },
          "model": {
            "type": "Object",
            "annotations": {
              "typeId": "org.mule.extension.s3.api.model.Owner",
              "classInformation": {
                "classname": "org.mule.extension.s3.api.model.Owner",
                "hasDefaultConstructor": true,
                "isInterface": false,
                "isInstantiable": true,
                "isAbstract": false,
                "isFinal": false,
                "implementedInterfaces": [
                  "java.io.Serializable"
                ],
                "parent": "",
                "genericTypes": [],
                "isMap": false
              },
              "typeAlias": {
                "value": "Owner"
              }
            },
            "fields": [
              {
                "key": {
                  "name": "displayName"
                },
                "model": {
                  "type": "String"
                },
                "annotations": {
                  "visibility": "READ_ONLY"
                }
              },
              {
                "key": {
                  "name": "id"
                },
                "model": {
                  "type": "String"
                },
                "annotations": {
                  "visibility": "READ_ONLY"
                }
              }
            ]
          },
          "annotations": {
            "visibility": "READ_ONLY"
          }
        },
        {
          "key": {
            "name": "partNumberMarker"
          },
          "model": {
            "type": "Number",
            "annotations": {
              "classInformation": {
                "classname": "java.lang.Integer",
                "hasDefaultConstructor": false,
                "isInterface": false,
                "isInstantiable": false,
                "isAbstract": false,
                "isFinal": true,
                "implementedInterfaces": [
                  "java.lang.Comparable"
                ],
                "parent": "java.lang.Number",
                "genericTypes": [],
                "isMap": false
              },
              "int": {}
            }
          },
          "annotations": {
            "visibility": "READ_ONLY"
          }
        },
        {
          "key": {
            "name": "parts"
          },
          "model": {
            "type": "Array",
            "annotations": {
              "classInformation": {
                "classname": "java.util.List",
                "hasDefaultConstructor": false,
                "isInterface": true,
                "isInstantiable": false,
                "isAbstract": true,
                "isFinal": false,
                "implementedInterfaces": [
                  "java.util.Collection"
                ],
                "parent": "",
                "genericTypes": [
                  "org.mule.extension.s3.api.model.PartSummary"
                ],
                "isMap": false
              }
            },
            "item": {
              "type": "Object",
              "annotations": {
                "typeId": "org.mule.extension.s3.api.model.PartSummary",
                "classInformation": {
                  "classname": "org.mule.extension.s3.api.model.PartSummary",
                  "hasDefaultConstructor": true,
                  "isInterface": false,
                  "isInstantiable": true,
                  "isAbstract": false,
                  "isFinal": false,
                  "implementedInterfaces": [
                    "java.io.Serializable"
                  ],
                  "parent": "",
                  "genericTypes": [],
                  "isMap": false
                },
                "typeAlias": {
                  "value": "PartSummary"
                }
              },
              "fields": [
                {
                  "key": {
                    "name": "ETag"
                  },
                  "model": {
                    "type": "String"
                  },
                  "annotations": {
                    "visibility": "READ_ONLY"
                  }
                },
                {
                  "key": {
                    "name": "lastModified"
                  },
                  "model": {
                    "type": "DateTime",
                    "annotations": {
                      "typeId": "java.time.LocalDateTime"
                    }
                  },
                  "annotations": {
                    "visibility": "READ_ONLY"
                  }
                },
                {
                  "key": {
                    "name": "partNumber"
                  },
                  "model": {
                    "type": "Number",
                    "annotations": {
                      "classInformation": {
                        "classname": "int",
                        "hasDefaultConstructor": false,
                        "isInterface": false,
                        "isInstantiable": false,
                        "isAbstract": true,
                        "isFinal": true,
                        "implementedInterfaces": [],
                        "parent": "",
                        "genericTypes": [],
                        "isMap": false
                      },
                      "int": {}
                    }
                  },
                  "annotations": {
                    "visibility": "READ_ONLY"
                  }
                },
                {
                  "key": {
                    "name": "size"
                  },
                  "model": {
                    "type": "Number",
                    "annotations": {
                      "classInformation": {
                        "classname": "long",
                        "hasDefaultConstructor": false,
                        "isInterface": false,
                        "isInstantiable": false,
                        "isAbstract": true,
                        "isFinal": true,
                        "implementedInterfaces": [],
                        "parent": "",
                        "genericTypes": [],
                        "isMap": false
                      },
                      "int": {}
                    }
                  },
                  "annotations": {
                    "visibility": "READ_ONLY"
                  }
                }
              ]
            }
          },
          "annotations": {
            "visibility": "READ_ONLY"
          }
        },
        {
          "key": {
            "name": "storageClass"
          },
          "model": {
            "type": "String"
          },
          "annotations": {
            "visibility": "READ_ONLY"
          }
        },
        {
          "key": {
            "name": "truncated"
          },
          "model": {
            "type": "Boolean",
            "annotations": {
              "typeId": "boolean"
            }
          },
          "annotations": {
            "visibility": "READ_ONLY"
          }
        },
        {
          "key": {
            "name": "uploadId"
          },
          "model": {
            "type": "String"
          },
          "annotations": {
            "visibility": "READ_ONLY"
          }
        }
      ]
    },
    {
      "format": "java",
      "type": "Object",
      "annotations": {
        "typeId": "org.mule.extension.s3.api.model.S3ObjectSummary",
        "classInformation": {
          "classname": "org.mule.extension.s3.api.model.S3ObjectSummary",
          "hasDefaultConstructor": true,
          "isInterface": false,
          "isInstantiable": true,
          "isAbstract": false,
          "isFinal": false,
          "implementedInterfaces": [
            "java.io.Serializable"
          ],
          "parent": "",
          "genericTypes": [],
          "isMap": false
        },
        "typeAlias": {
          "value": "S3ObjectSummary"
        }
      },
      "fields": [
        {
          "key": {
            "name": "ETag"
          },
          "model": {
            "type": "String"
          },
          "annotations": {
            "visibility": "READ_ONLY"
          }
        },
        {
          "key": {
            "name": "bucketName"
          },
          "model": {
            "type": "String"
          },
          "annotations": {
            "visibility": "READ_ONLY"
          }
        },
        {
          "key": {
            "name": "key"
          },
          "model": {
            "type": "String"
          },
          "annotations": {
            "visibility": "READ_ONLY"
          }
        },
        {
          "key": {
            "name": "lastModified"
          },
          "model": {
            "type": "DateTime",
            "annotations": {
              "typeId": "java.time.LocalDateTime"
            }
          },
          "annotations": {
            "visibility": "READ_ONLY"
          }
        },
        {
          "key": {
            "name": "owner"
          },
          "model": {
            "type": "Object",
            "annotations": {
              "typeId": "org.mule.extension.s3.api.model.Owner",
              "classInformation": {
                "classname": "org.mule.extension.s3.api.model.Owner",
                "hasDefaultConstructor": true,
                "isInterface": false,
                "isInstantiable": true,
                "isAbstract": false,
                "isFinal": false,
                "implementedInterfaces": [
                  "java.io.Serializable"
                ],
                "parent": "",
                "genericTypes": [],
                "isMap": false
              },
              "typeAlias": {
                "value": "Owner"
              }
            },
            "fields": [
              {
                "key": {
                  "name": "displayName"
                },
                "model": {
                  "type": "String"
                },
                "annotations": {
                  "visibility": "READ_ONLY"
                }
              },
              {
                "key": {
                  "name": "id"
                },
                "model": {
                  "type": "String"
                },
                "annotations": {
                  "visibility": "READ_ONLY"
                }
              }
            ]
          },
          "annotations": {
            "visibility": "READ_ONLY"
          }
        },
        {
          "key": {
            "name": "size"
          },
          "model": {
            "type": "Number",
            "annotations": {
              "classInformation": {
                "classname": "long",
                "hasDefaultConstructor": false,
                "isInterface": false,
                "isInstantiable": false,
                "isAbstract": true,
                "isFinal": true,
                "implementedInterfaces": [],
                "parent": "",
                "genericTypes": [],
                "isMap": false
              },
              "int": {}
            }
          },
          "annotations": {
            "visibility": "READ_ONLY"
          }
        },
        {
          "key": {
            "name": "storageClass"
          },
          "model": {
            "type": "String"
          },
          "annotations": {
            "visibility": "READ_ONLY"
          }
        }
      ]
    },
    {
      "format": "java",
      "type": "Object",
      "annotations": {
        "typeId": "org.mule.extension.s3.api.model.S3VersionSummary",
        "classInformation": {
          "classname": "org.mule.extension.s3.api.model.S3VersionSummary",
          "hasDefaultConstructor": true,
          "isInterface": false,
          "isInstantiable": true,
          "isAbstract": false,
          "isFinal": false,
          "implementedInterfaces": [
            "java.io.Serializable"
          ],
          "parent": "",
          "genericTypes": [],
          "isMap": false
        },
        "typeAlias": {
          "value": "S3VersionSummary"
        }
      },
      "fields": [
        {
          "key": {
            "name": "ETag"
          },
          "model": {
            "type": "String"
          },
          "annotations": {
            "visibility": "READ_ONLY"
          }
        },
        {
          "key": {
            "name": "bucketName"
          },
          "model": {
            "type": "String"
          },
          "annotations": {
            "visibility": "READ_ONLY"
          }
        },
        {
          "key": {
            "name": "deleteMarker"
          },
          "model": {
            "type": "Boolean",
            "annotations": {
              "typeId": "boolean"
            }
          },
          "annotations": {
            "visibility": "READ_ONLY"
          }
        },
        {
          "key": {
            "name": "key"
          },
          "model": {
            "type": "String"
          },
          "annotations": {
            "visibility": "READ_ONLY"
          }
        },
        {
          "key": {
            "name": "lastModified"
          },
          "model": {
            "type": "DateTime",
            "annotations": {
              "typeId": "java.time.LocalDateTime"
            }
          },
          "annotations": {
            "visibility": "READ_ONLY"
          }
        },
        {
          "key": {
            "name": "latest"
          },
          "model": {
            "type": "Boolean",
            "annotations": {
              "typeId": "boolean"
            }
          },
          "annotations": {
            "visibility": "READ_ONLY"
          }
        },
        {
          "key": {
            "name": "owner"
          },
          "model": {
            "type": "Object",
            "annotations": {
              "typeId": "org.mule.extension.s3.api.model.Owner",
              "classInformation": {
                "classname": "org.mule.extension.s3.api.model.Owner",
                "hasDefaultConstructor": true,
                "isInterface": false,
                "isInstantiable": true,
                "isAbstract": false,
                "isFinal": false,
                "implementedInterfaces": [
                  "java.io.Serializable"
                ],
                "parent": "",
                "genericTypes": [],
                "isMap": false
              },
              "typeAlias": {
                "value": "Owner"
              }
            },
            "fields": [
              {
                "key": {
                  "name": "displayName"
                },
                "model": {
                  "type": "String"
                },
                "annotations": {
                  "visibility": "READ_ONLY"
                }
              },
              {
                "key": {
                  "name": "id"
                },
                "model": {
                  "type": "String"
                },
                "annotations": {
                  "visibility": "READ_ONLY"
                }
              }
            ]
          },
          "annotations": {
            "visibility": "READ_ONLY"
          }
        },
        {
          "key": {
            "name": "size"
          },
          "model": {
            "type": "Number",
            "annotations": {
              "classInformation": {
                "classname": "long",
                "hasDefaultConstructor": false,
                "isInterface": false,
                "isInstantiable": false,
                "isAbstract": true,
                "isFinal": true,
                "implementedInterfaces": [],
                "parent": "",
                "genericTypes": [],
                "isMap": false
              },
              "int": {}
            }
          },
          "annotations": {
            "visibility": "READ_ONLY"
          }
        },
        {
          "key": {
            "name": "storageClass"
          },
          "model": {
            "type": "String"
          },
          "annotations": {
            "visibility": "READ_ONLY"
          }
        },
        {
          "key": {
            "name": "versionId"
          },
          "model": {
            "type": "String"
          },
          "annotations": {
            "visibility": "READ_ONLY"
          }
        }
      ]
    },
    {
      "format": "java",
      "type": "Object",
      "annotations": {
        "typeId": "org.mule.extension.s3.api.model.TopicConfiguration",
        "classInformation": {
          "classname": "org.mule.extension.s3.api.model.TopicConfiguration",
          "hasDefaultConstructor": true,
          "isInterface": false,
          "isInstantiable": true,
          "isAbstract": false,
          "isFinal": false,
          "implementedInterfaces": [],
          "parent": "org.mule.extension.s3.api.model.NotificationConfiguration",
          "genericTypes": [],
          "isMap": false
        },
        "typeAlias": {
          "value": "TopicConfiguration"
        }
      },
      "fields": [
        {
          "key": {
            "name": "events"
          },
          "model": {
            "type": "Array",
            "annotations": {
              "classInformation": {
                "classname": "java.util.Set",
                "hasDefaultConstructor": false,
                "isInterface": true,
                "isInstantiable": false,
                "isAbstract": true,
                "isFinal": false,
                "implementedInterfaces": [
                  "java.util.Collection"
                ],
                "parent": "",
                "genericTypes": [
                  "java.lang.String"
                ],
                "isMap": false
              }
            },
            "item": {
              "type": "String"
            }
          },
          "annotations": {
            "visibility": "READ_ONLY"
          }
        },
        {
          "key": {
            "name": "objectPrefixes"
          },
          "model": {
            "type": "Array",
            "annotations": {
              "classInformation": {
                "classname": "java.util.List",
                "hasDefaultConstructor": false,
                "isInterface": true,
                "isInstantiable": false,
                "isAbstract": true,
                "isFinal": false,
                "implementedInterfaces": [
                  "java.util.Collection"
                ],
                "parent": "",
                "genericTypes": [
                  "java.lang.String"
                ],
                "isMap": false
              }
            },
            "item": {
              "type": "String"
            }
          },
          "annotations": {
            "visibility": "READ_ONLY"
          }
        },
        {
          "key": {
            "name": "topicARN"
          },
          "model": {
            "type": "String"
          },
          "annotations": {
            "visibility": "READ_ONLY"
          }
        }
      ]
    },
    {
      "format": "java",
      "type": "Object",
      "annotations": {
        "typeId": "org.mule.extension.s3.api.model.UploadPartResult",
        "classInformation": {
          "classname": "org.mule.extension.s3.api.model.UploadPartResult",
          "hasDefaultConstructor": true,
          "isInterface": false,
          "isInstantiable": true,
          "isAbstract": false,
          "isFinal": false,
          "implementedInterfaces": [
            "java.io.Serializable"
          ],
          "parent": "",
          "genericTypes": [],
          "isMap": false
        },
        "typeAlias": {
          "value": "UploadPartResult"
        }
      },
      "fields": [
        {
          "key": {
            "name": "etag"
          },
          "model": {
            "type": "String"
          },
          "annotations": {
            "visibility": "READ_ONLY"
          }
        },
        {
          "key": {
            "name": "partNumber"
          },
          "model": {
            "type": "Number",
            "annotations": {
              "classInformation": {
                "classname": "int",
                "hasDefaultConstructor": false,
                "isInterface": false,
                "isInstantiable": false,
                "isAbstract": true,
                "isFinal": true,
                "implementedInterfaces": [],
                "parent": "",
                "genericTypes": [],
                "isMap": false
              },
              "int": {}
            }
          },
          "annotations": {
            "visibility": "READ_ONLY"
          }
        }
      ]
    }
  ]
}
