{
  "groups": [
    {
      "name": "camel.component.aws2-ses",
      "type": "org.apache.camel.component.aws2.ses.springboot.Ses2ComponentConfiguration",
      "sourceType": "org.apache.camel.component.aws2.ses.springboot.Ses2ComponentConfiguration"
    },
    {
      "name": "camel.component.aws2-ses.customizer",
      "type": "org.apache.camel.spring.boot.ComponentConfigurationPropertiesCommon$CustomizerProperties",
      "sourceType": "org.apache.camel.component.aws2.ses.springboot.Ses2ComponentConfiguration",
      "sourceMethod": "getCustomizer()"
    }
  ],
  "properties": [
    {
      "name": "camel.component.aws2-ses.access-key",
      "type": "java.lang.String",
      "description": "Amazon AWS Access Key",
      "sourceType": "org.apache.camel.component.aws2.ses.springboot.Ses2ComponentConfiguration"
    },
    {
      "name": "camel.component.aws2-ses.amazon-s-e-s-client",
      "type": "software.amazon.awssdk.services.ses.SesClient",
      "description": "To use the AmazonSimpleEmailService as the client. The option is a software.amazon.awssdk.services.ses.SesClient type.",
      "sourceType": "org.apache.camel.component.aws2.ses.springboot.Ses2ComponentConfiguration"
    },
    {
      "name": "camel.component.aws2-ses.autowired-enabled",
      "type": "java.lang.Boolean",
      "description": "Whether autowiring is enabled. This is used for automatic autowiring options (the option must be marked as autowired) by looking up in the registry to find if there is a single instance of matching type, which then gets configured on the component. This can be used for automatic configuring JDBC data sources, JMS connection factories, AWS Clients, etc.",
      "sourceType": "org.apache.camel.component.aws2.ses.springboot.Ses2ComponentConfiguration",
      "defaultValue": true
    },
    {
      "name": "camel.component.aws2-ses.configuration",
      "type": "org.apache.camel.component.aws2.ses.Ses2Configuration",
      "description": "component configuration. The option is a org.apache.camel.component.aws2.ses.Ses2Configuration type.",
      "sourceType": "org.apache.camel.component.aws2.ses.springboot.Ses2ComponentConfiguration"
    },
    {
      "name": "camel.component.aws2-ses.customizer.enabled",
      "type": "java.lang.Boolean",
      "sourceType": "org.apache.camel.spring.boot.ComponentConfigurationPropertiesCommon$CustomizerProperties"
    },
    {
      "name": "camel.component.aws2-ses.enabled",
      "type": "java.lang.Boolean",
      "description": "Whether to enable auto configuration of the aws2-ses component. This is enabled by default.",
      "sourceType": "org.apache.camel.component.aws2.ses.springboot.Ses2ComponentConfiguration"
    },
    {
      "name": "camel.component.aws2-ses.lazy-start-producer",
      "type": "java.lang.Boolean",
      "description": "Whether the producer should be started lazy (on the first message). By starting lazy you can use this to allow CamelContext and routes to startup in situations where a producer may otherwise fail during starting and cause the route to fail being started. By deferring this startup to be lazy then the startup failure can be handled during routing messages via Camel's routing error handlers. Beware that when the first message is processed then creating and starting the producer may take a little time and prolong the total processing time of the processing.",
      "sourceType": "org.apache.camel.component.aws2.ses.springboot.Ses2ComponentConfiguration",
      "defaultValue": false
    },
    {
      "name": "camel.component.aws2-ses.override-endpoint",
      "type": "java.lang.Boolean",
      "description": "Set the need for overidding the endpoint. This option needs to be used in combination with uriEndpointOverride option",
      "sourceType": "org.apache.camel.component.aws2.ses.springboot.Ses2ComponentConfiguration",
      "defaultValue": false
    },
    {
      "name": "camel.component.aws2-ses.proxy-host",
      "type": "java.lang.String",
      "description": "To define a proxy host when instantiating the SES client",
      "sourceType": "org.apache.camel.component.aws2.ses.springboot.Ses2ComponentConfiguration"
    },
    {
      "name": "camel.component.aws2-ses.proxy-port",
      "type": "java.lang.Integer",
      "description": "To define a proxy port when instantiating the SES client",
      "sourceType": "org.apache.camel.component.aws2.ses.springboot.Ses2ComponentConfiguration"
    },
    {
      "name": "camel.component.aws2-ses.proxy-protocol",
      "type": "software.amazon.awssdk.core.Protocol",
      "description": "To define a proxy protocol when instantiating the SES client",
      "sourceType": "org.apache.camel.component.aws2.ses.springboot.Ses2ComponentConfiguration"
    },
    {
      "name": "camel.component.aws2-ses.region",
      "type": "java.lang.String",
      "description": "The region in which SES client needs to work. When using this parameter, the configuration will expect the lowercase name of the region (for example ap-east-1) You'll need to use the name Region.EU_WEST_1.id()",
      "sourceType": "org.apache.camel.component.aws2.ses.springboot.Ses2ComponentConfiguration"
    },
    {
      "name": "camel.component.aws2-ses.reply-to-addresses",
      "type": "java.util.List<java.lang.String>",
      "description": "List of reply-to email address(es) for the message, override it using 'CamelAwsSesReplyToAddresses' header.",
      "sourceType": "org.apache.camel.component.aws2.ses.springboot.Ses2ComponentConfiguration"
    },
    {
      "name": "camel.component.aws2-ses.return-path",
      "type": "java.lang.String",
      "description": "The email address to which bounce notifications are to be forwarded, override it using 'CamelAwsSesReturnPath' header.",
      "sourceType": "org.apache.camel.component.aws2.ses.springboot.Ses2ComponentConfiguration"
    },
    {
      "name": "camel.component.aws2-ses.secret-key",
      "type": "java.lang.String",
      "description": "Amazon AWS Secret Key",
      "sourceType": "org.apache.camel.component.aws2.ses.springboot.Ses2ComponentConfiguration"
    },
    {
      "name": "camel.component.aws2-ses.subject",
      "type": "java.lang.String",
      "description": "The subject which is used if the message header 'CamelAwsSesSubject' is not present.",
      "sourceType": "org.apache.camel.component.aws2.ses.springboot.Ses2ComponentConfiguration"
    },
    {
      "name": "camel.component.aws2-ses.to",
      "type": "java.util.List<java.lang.String>",
      "description": "List of destination email address. Can be overriden with 'CamelAwsSesTo' header.",
      "sourceType": "org.apache.camel.component.aws2.ses.springboot.Ses2ComponentConfiguration"
    },
    {
      "name": "camel.component.aws2-ses.trust-all-certificates",
      "type": "java.lang.Boolean",
      "description": "If we want to trust all certificates in case of overriding the endpoint",
      "sourceType": "org.apache.camel.component.aws2.ses.springboot.Ses2ComponentConfiguration",
      "defaultValue": false
    },
    {
      "name": "camel.component.aws2-ses.uri-endpoint-override",
      "type": "java.lang.String",
      "description": "Set the overriding uri endpoint. This option needs to be used in combination with overrideEndpoint option",
      "sourceType": "org.apache.camel.component.aws2.ses.springboot.Ses2ComponentConfiguration"
    },
    {
      "name": "camel.component.aws2-ses.use-default-credentials-provider",
      "type": "java.lang.Boolean",
      "description": "Set whether the Ses client should expect to load credentials through a default credentials provider or to expect static credentials to be passed in.",
      "sourceType": "org.apache.camel.component.aws2.ses.springboot.Ses2ComponentConfiguration",
      "defaultValue": false
    }
  ],
  "hints": []
}