---
apiVersion: v1
kind: List
items:
- apiVersion: v1
  kind: ConfigMap
  metadata:
    labels:
      funktion.fabric8.io/kind: Connector
      provider: fabric8
      project: connector-aws-ec2
      version: 1.1.37
      group: io.fabric8.funktion.connector
    name: aws-ec2
  data:
    deployment.yml: |
      ---
      apiVersion: extensions/v1beta1
      kind: Deployment
      metadata:
        labels:
          funktion.fabric8.io/kind: Subscription
          connector: aws-ec2
      spec:
        replicas: 1
        template:
          metadata:
            labels:
              funktion.fabric8.io/kind: Subscription
              connector: aws-ec2
          spec:
            containers:
            - image: funktion/connector-aws-ec2:1.1.37
              name: connector
    schema.yml: |
      ---
      component:
        kind: component
        scheme: aws-ec2
        syntax: aws-ec2:label
        title: AWS EC2
        description: The aws-ec2 is used for managing Amazon EC2 instances.
        label: cloud,management
        deprecated: false
        async: false
        producerOnly: true
        javaType: org.apache.camel.component.aws.ec2.EC2Component
        groupId: org.apache.camel
        artifactId: camel-aws
        version: 2.18.1
      componentProperties: {}
      properties:
        label:
          kind: path
          group: producer
          required: true
          type: string
          javaType: java.lang.String
          deprecated: false
          secret: false
          description: Logical name
          order: 0
        accessKey:
          kind: parameter
          group: producer
          type: string
          javaType: java.lang.String
          deprecated: false
          secret: false
          description: Amazon AWS Access Key
          order: 1
        amazonEc2Client:
          kind: parameter
          group: producer
          type: object
          javaType: com.amazonaws.services.ec2.AmazonEC2Client
          deprecated: false
          secret: false
          description: To use a existing configured AmazonEC2Client as client
          order: 2
        amazonEc2Endpoint:
          kind: parameter
          group: producer
          type: string
          javaType: java.lang.String
          deprecated: false
          secret: false
          description: The region with which the AWS-EC2 client wants to work with.
          order: 3
        operation:
          kind: parameter
          group: producer
          label: producer
          required: true
          type: string
          javaType: org.apache.camel.component.aws.ec2.EC2Operations
          enum:
          - createAndRunInstances
          - ' startInstances'
          - ' stopInstances'
          - ' terminateInstances'
          - ' describeInstances'
          - ' describeInstancesStatus'
          - ' rebootInstances'
          - ' monitorInstances'
          - ' unmonitorInstances'
          - ' createTags'
          - ' deleteTags'
          deprecated: false
          secret: false
          description: The operation to perform. It can be createAndRunInstances startInstances stopInstances terminateInstances describeInstances describeInstancesStatus rebootInstances monitorInstances unmonitorInstances createTags or deleteTags
          order: 4
        proxyHost:
          kind: parameter
          group: producer
          type: string
          javaType: java.lang.String
          deprecated: false
          secret: false
          description: To define a proxy host when instantiating the SQS client
          order: 5
        proxyPort:
          kind: parameter
          group: producer
          type: integer
          javaType: java.lang.Integer
          deprecated: false
          secret: false
          description: To define a proxy port when instantiating the SQS client
          order: 6
        secretKey:
          kind: parameter
          group: producer
          type: string
          javaType: java.lang.String
          deprecated: false
          secret: false
          description: Amazon AWS Secret Key
          order: 7
        synchronous:
          kind: parameter
          group: advanced
          label: advanced
          type: boolean
          javaType: boolean
          deprecated: false
          secret: false
          defaultValue: false
          description: Sets whether synchronous processing should be strictly used or Camel is allowed to use asynchronous processing (if supported).
          order: 8
    documentation.adoc: |+
      [[AWS-EC2-EC2Component]]
      EC2 Component
      ~~~~~~~~~~~~~

      *Available as of Camel 2.16*

      The EC2 component supports create, run, start, stop and terminate
      https://aws.amazon.com/it/ec2/[AWS EC2] instances.

      Prerequisites

      You must have a valid Amazon Web Services developer account, and be
      signed up to use Amazon EC2. More information are available at
      https://aws.amazon.com/it/ec2/[Amazon EC2].

      [[AWS-EC2-URIFormat]]
      URI Format
      ^^^^^^^^^^

      [source,java]
      -------------------------
      aws-ec2://label[?options]
      -------------------------

      You can append query options to the URI in the following format,
      ?options=value&option2=value&...

      [[AWS-EC2-URIOptions]]
      URI Options
      ^^^^^^^^^^^


      // component options: START
      The AWS EC2 component has no options.
      // component options: END




      // endpoint options: START
      The AWS EC2 component supports 9 endpoint options which are listed below:

      {% raw %}
      [width="100%",cols="2,1,1m,1m,5",options="header"]
      |=======================================================================
      | Name | Group | Default | Java Type | Description
      | label | producer |  | String | *Required* Logical name
      | accessKey | producer |  | String | Amazon AWS Access Key
      | amazonEc2Client | producer |  | AmazonEC2Client | To use a existing configured AmazonEC2Client as client
      | amazonEc2Endpoint | producer |  | String | The region with which the AWS-EC2 client wants to work with.
      | operation | producer |  | EC2Operations | *Required* The operation to perform. It can be createAndRunInstances startInstances stopInstances terminateInstances describeInstances describeInstancesStatus rebootInstances monitorInstances unmonitorInstances createTags or deleteTags
      | proxyHost | producer |  | String | To define a proxy host when instantiating the SQS client
      | proxyPort | producer |  | Integer | To define a proxy port when instantiating the SQS client
      | secretKey | producer |  | String | Amazon AWS Secret Key
      | synchronous | advanced | false | boolean | Sets whether synchronous processing should be strictly used or Camel is allowed to use asynchronous processing (if supported).
      |=======================================================================
      {% endraw %}
      // endpoint options: END



      Required EC2 component options

      You have to provide the amazonEc2Client in the
      link:registry.html[Registry] or your accessKey and secretKey to access
      the https://aws.amazon.com/it/ec2/[Amazon EC2] service.

      [[AWS-EC2-Usage]]
      Usage
      ^^^^^

      [[AWS-EC2-MessageheadersevaluatedbytheEC2producer]]
      Message headers evaluated by the EC2 producer
      +++++++++++++++++++++++++++++++++++++++++++++

      [width="100%",cols="10%,10%,80%",options="header",]
      |=======================================================================
      |Header |Type |Description

      |`CamelAwsEC2ImageId` |`String` |An image ID of the AWS marketplace

      |`CamelAwsEC2InstanceType` |com.amazonaws.services.ec2.model.InstanceType |The instance type we want to create and run

      |`CamelAwsEC2Operation` |`String` |The operation we want to perform

      |`CamelAwsEC2InstanceMinCount` |`Int` |The mininum number of instances we want to run.

      |`CamelAwsEC2InstanceMaxCount` |`Int` |The maximum number of instances we want to run.

      |`CamelAwsEC2InstanceMonitoring` |Boolean |Define if we want the running instances to be monitored

      |`CamelAwsEC2InstanceEbsOptimized` |`Boolean` |Define if the creating instance is optimized for EBS I/O.

      |`CamelAwsEC2InstanceSecurityGroups` |Collection |The security groups to associate to the instances

      |`CamelAwsEC2InstancesIds` |`Collection` |A collection of instances IDS to execute start, stop, describe and
      terminate operations on.

      |`CamelAwsEC2InstancesTags` |`Collection` |A collection of tags to add or remove from EC2 resources
      |=======================================================================

      Dependencies

      Maven users will need to add the following dependency to their pom.xml.

      *pom.xml*

      [source,xml]
      ---------------------------------------
      <dependency>
          <groupId>org.apache.camel</groupId>
          <artifactId>camel-aws</artifactId>
          <version>${camel-version}</version>
      </dependency>
      ---------------------------------------

      where `${camel-version`} must be replaced by the actual version of Camel
      (2.16 or higher).

      [[AWS-EC2-SeeAlso]]
      See Also
      ^^^^^^^^

      * link:configuring-camel.html[Configuring Camel]
      * link:component.html[Component]
      * link:endpoint.html[Endpoint]
      * link:getting-started.html[Getting Started]

      * link:aws.html[AWS Component]

