This is an automated email from the ASF dual-hosted git repository.

acosentino pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/camel.git

commit 34471dde83ce29cc742829f9fb71de0f551ee5fe
Author: Andrea Cosentino <[email protected]>
AuthorDate: Mon Feb 21 14:04:14 2022 +0100

    CAMEL-17685 - Create a Camel Google Secrets Manager component
---
 .../src/main/docs/google-functions-component.adoc  | 237 ---------------------
 .../main/docs/google-secret-manager-component.adoc |  97 +++++++++
 2 files changed, 97 insertions(+), 237 deletions(-)

diff --git 
a/components/camel-google/camel-google-secrets-manager/src/main/docs/google-functions-component.adoc
 
b/components/camel-google/camel-google-secrets-manager/src/main/docs/google-functions-component.adoc
deleted file mode 100644
index 2bd645f..0000000
--- 
a/components/camel-google/camel-google-secrets-manager/src/main/docs/google-functions-component.adoc
+++ /dev/null
@@ -1,237 +0,0 @@
-= Google Cloud Functions Component
-:doctitle: Google Cloud Functions
-:shortname: google-functions
-:artifactid: camel-google-functions
-:description: Manage and invoke Google Cloud Functions
-:since: 3.9
-:supportlevel: Stable
-:component-header: Only producer is supported
-//Manually maintained attributes
-:group: Google
-:camel-spring-boot-name: google-functions
-
-*Since Camel {since}*
-
-*{component-header}*
-
-The Google Functions component provides access to 
https://cloud.google.com/functions/[Google Cloud Functions] via
-the https://github.com/googleapis/java-functions[Google Cloud Functions Client 
for Java].
-
-Maven users will need to add the following dependency to their pom.xml
-for this component:
-
-[source,xml]
-------------------------------------------------------
-<dependency>
-    <groupId>org.apache.camel</groupId>
-    <artifactId>camel-google-functions</artifactId>
-    <!-- use the same version as your Camel core version -->
-    <version>x.x.x</version>
-</dependency>
-
-------------------------------------------------------
-
-[[GoogleFunctions-AuthenticationConfiguration]]
-
-== Authentication Configuration
-
-Google Functions component authentication is targeted for use with the GCP 
Service Accounts.
-For more information please refer to 
https://github.com/googleapis/google-cloud-java#authentication[Google Cloud 
Authentication].
-
-When you have the **service account key** you can provide authentication 
credentials to your application code.
-Google security credentials can be set through the component endpoint:
-
-[source,java]
---------------------------------------------------------
-String endpoint = 
"google-functions://myCamelFunction?serviceAccountKey=/home/user/Downloads/my-key.json";
---------------------------------------------------------
-
-Or by setting the environment variable `GOOGLE_APPLICATION_CREDENTIALS` :
-
---------------------------------------------------------
-export GOOGLE_APPLICATION_CREDENTIALS="/home/user/Downloads/my-key.json"
---------------------------------------------------------
-
-
-== URI Format
-
---------------------------------------------------------
-google-functions://functionName[?options]
---------------------------------------------------------
-
-You can append query options to the URI in the following format,
-`?options=value&option2=value&...`
-
-For example in order to call the function `myCamelFunction` from the project 
`myProject` and location `us-central1`, use the following snippet:
-
-[source,java]
---------------------------------------------------------------------------------
-from("google-functions://myCamelFunction?project=myProject&location=us-central1&operation=callFunction&serviceAccountKey=/home/user/Downloads/my-key.json")
-  .to("direct:test");
---------------------------------------------------------------------------------
-
-
-
-// component-configure options: START
-
-// component-configure options: END
-
-// component options: START
-include::partial$component-configure-options.adoc[]
-include::partial$component-endpoint-options.adoc[]
-// component options: END
-
-// endpoint options: START
-
-// endpoint options: END
-
-
-== Usage
-
-=== Message headers evaluated by the Google Functions Producer
-
-[width="100%",cols="10%,10%,80%",options="header",]
-|=======================================================================
-|Header |Type |Description
-|`GoogleCloudFunctionsOperation` |`String` |The operation to perform. 
Permitted values are listFunctions, getFunction, callFunction, 
generateDownloadUrl, generateUploadUrl, createFunction, updateFunction, 
deleteFunction
-|`GoogleCloudFunctionsEntryPoint` |`String` |The name of the function (as 
defined in source code) that will be executed. Used for createFunction 
operation.
-|`GoogleCloudFunctionsRuntime` |`String` |The runtime in which to run the 
function. Possible values are `nodejs10`, `nodejs12`, `nodejs14`, `python37`, 
`python38`, `python39`, `go111`, `go113`, `java11`, `dotnet3`, `ruby26`, 
`nodejs6`, `nodejs8`. Used for createFunction operation.
-|`GoogleCloudFunctionsSourceArchiveUrl` |`String` |The Google Cloud Storage 
URL, starting with `gs://`, pointing to the zip archive which contains the 
function. Used for createFunction operation.
-
-|=======================================================================
-
-=== Message headers set by the Google Functions Producer
-
-[width="100%",cols="10%,10%,80%",options="header",]
-|=======================================================================
-|Header |Type |Description
-|`GoogleCloudFunctionsResponseObject` |`Object` |The response object resulting 
from the Google Functions Client invocation
-|=======================================================================
-
-=== Google Functions Producer operations
-
-Google Functions component provides the following operation on the producer 
side:
-
-- listFunctions
-- getFunction
-- callFunction
-- generateDownloadUrl
-- generateUploadUrl
-- createFunction
-- updateFunction
-- deleteFunction
-
-If you don't specify an operation by default the producer will use the 
`callFunction` operation.
-
-=== Advanced component configuration
-
-If you need to have more control over the `client` instance configuration, you 
can create your own instance and refer to it in your Camel google-functions 
component configuration:
-
-[source,java]
---------------------------------------------------------------------------------
-from("google-functions://myCamelFunction?client=#myClient")
-    .to("mock:result");
---------------------------------------------------------------------------------
-
-=== Google Functions Producer Operation examples
-
-- ListFunctions: This operation invoke the Google Functions client and get the 
list of cloud Functions
-
-[source,java]
---------------------------------------------------------------------------------
-//list functions
-from("direct:start")
-    
.to("google-functions://myCamelFunction?serviceAccountKey=/home/user/Downloads/my-key.json&project=myProject&location=us-central1&operation=listFunctions")
-    .log("body:${body}")
---------------------------------------------------------------------------------
-
-This operation will get the list of cloud functions for the project 
`myProject` and location `us-central1`.
-
-- GetFunction: this operation get the Cloud Functions object
-
-[source,java]
---------------------------------------------------------------------------------
-//get function
-from("direct:start")
-    
.to("google-functions://myCamelFunction?serviceAccountKey=/home/user/Downloads/my-key.json&project=myProject&location=us-central1&operation=getFunction")
-    .log("body:${body}")
-    .to("mock:result");
---------------------------------------------------------------------------------
-
-This operation will get the `CloudFunction` object for the project 
`myProject`, location `us-central1` and functionName `myCamelFunction`.
-
-- CallFunction: this operation call the function using an HTTP request
-
-[source,java]
---------------------------------------------------------------------------------
-//call function
-from("direct:start")
-    .process(exchange -> {
-      exchange.getIn().setBody("just a message");
-    })
-    
.to("google-functions://myCamelFunction?serviceAccountKey=/home/user/Downloads/my-key.json&project=myProject&location=us-central1&operation=callFunction")
-    .log("body:${body}")
-    .to("mock:result");
---------------------------------------------------------------------------------
-
-- GenerateDownloadUrl: this operation generate the signed URL for downloading 
deployed function source code.
-
-[source,java]
---------------------------------------------------------------------------------
-//generate download url
-from("direct:start").to("google-functions://myCamelFunction?serviceAccountKey=/home/user/Downloads/my-key.json&project=myProject&location=us-central1&operation=generateDownloadUrl")
-.log("body:${body}")
-.to("mock:result");
---------------------------------------------------------------------------------
-
-- GenerateUploadUrl: this operation generate a signed URL for uploading a 
function source code.
-
-[source,java]
---------------------------------------------------------------------------------
-from("direct:start").to("google-functions://myCamelFunction?serviceAccountKey=/home/user/Downloads/my-key.json&project=myProject&location=us-central1&operation=generateUploadUrl")
-    .log("body:${body}")
-    .to("mock:result");
---------------------------------------------------------------------------------
-
-- createFunction: this operation creates a new function.
-
-[source,java]
---------------------------------------------------------------------------------
-
-from("direct:start")
-    .process(exchange -> {
-      exchange.getIn().setHeader(GoogleCloudFunctionsConstants.ENTRY_POINT, 
"com.example.Example");
-      exchange.getIn().setHeader(GoogleCloudFunctionsConstants.RUNTIME, 
"java11");
-      
exchange.getIn().setHeader(GoogleCloudFunctionsConstants.SOURCE_ARCHIVE_URL, 
"gs://myBucket/source.zip");
-    
}).to("google-functions://myCamelFunction?serviceAccountKey=/home/user/Downloads/my-key.json&project=myProject&location=us-central1&operation=createFunction")
-    .log("body:${body}")
-    .to("mock:result");
---------------------------------------------------------------------------------
-
-- updateFunction: this operation updates existing function.
-
-[source,java]
---------------------------------------------------------------------------------
-from("direct:start")
-.process(exchange -> {
-  UpdateFunctionRequest request = UpdateFunctionRequest.newBuilder()
-    .setFunction(CloudFunction.newBuilder().build())
-    .setUpdateMask(FieldMask.newBuilder().build()).build();
-  exchange.getIn().setBody(request);
-}).to("google-functions://myCamelFunction?serviceAccountKey=/home/user/Downloads/my-key.json&project=myProject&location=us-central1&operation=updateFunction&pojoRequest=true")
-.log("body:${body}")
-.to("mock:result");
---------------------------------------------------------------------------------
-
-- deleteFunction: this operation Deletes a function with the given name from 
the specified project.
-
-[source,java]
---------------------------------------------------------------------------------
-from("direct:start")
-.to("google-functions://myCamelFunction?serviceAccountKey=/home/user/Downloads/my-key.json&project=myProject&location=us-central1&operation=deleteFunction")
-.log("body:${body}")
-.to("mock:result");
---------------------------------------------------------------------------------
-
-
-include::spring-boot:partial$starter.adoc[]
diff --git 
a/components/camel-google/camel-google-secrets-manager/src/main/docs/google-secret-manager-component.adoc
 
b/components/camel-google/camel-google-secrets-manager/src/main/docs/google-secret-manager-component.adoc
new file mode 100644
index 0000000..0c76d47
--- /dev/null
+++ 
b/components/camel-google/camel-google-secrets-manager/src/main/docs/google-secret-manager-component.adoc
@@ -0,0 +1,97 @@
+= Google Secret Manager Component
+:doctitle: Google Secret Manager
+:shortname: google-secret-manager
+:artifactid: camel-google-secret-manager
+:description: Manage and invoke Google Cloud Functions
+:since: 3.9
+:supportlevel: Stable
+:component-header: Only producer is supported
+//Manually maintained attributes
+:group: Google
+:camel-spring-boot-name: google-functions
+
+*Since Camel {since}*
+
+*{component-header}*
+
+The Google Secret Manager component provides access to 
https://cloud.google.com/secret-manager/[Google Cloud Secret Manager]
+
+Maven users will need to add the following dependency to their pom.xml
+for this component:
+
+[source,xml]
+------------------------------------------------------
+<dependency>
+    <groupId>org.apache.camel</groupId>
+    <artifactId>camel-google-secret-manager</artifactId>
+    <!-- use the same version as your Camel core version -->
+    <version>x.x.x</version>
+</dependency>
+
+------------------------------------------------------
+
+[[GoogleSecretManager-AuthenticationConfiguration]]
+
+== Authentication Configuration
+
+Google Secret Manager component authentication is targeted for use with the 
GCP Service Accounts.
+For more information please refer to 
https://github.com/googleapis/google-cloud-java#authentication[Google Cloud 
Authentication].
+
+When you have the **service account key** you can provide authentication 
credentials to your application code.
+Google security credentials can be set through the component endpoint:
+
+[source,java]
+--------------------------------------------------------
+String endpoint = 
"google-secret-manager://myCamelFunction?serviceAccountKey=/home/user/Downloads/my-key.json";
+--------------------------------------------------------
+
+Or by setting the environment variable `GOOGLE_APPLICATION_CREDENTIALS` :
+
+--------------------------------------------------------
+export GOOGLE_APPLICATION_CREDENTIALS="/home/user/Downloads/my-key.json"
+--------------------------------------------------------
+
+
+== URI Format
+
+--------------------------------------------------------
+google-secret-manager://functionName[?options]
+--------------------------------------------------------
+
+You can append query options to the URI in the following format,
+`?options=value&option2=value&...`
+
+For example in order to call the function `myCamelFunction` from the project 
`myProject` and location `us-central1`, use the following snippet:
+
+[source,java]
+--------------------------------------------------------------------------------
+from("google-secret-manager://myProject?serviceAccountKey=/home/user/Downloads/my-key.json&operation=createSecret")
+  .to("direct:test");
+--------------------------------------------------------------------------------
+
+
+
+// component-configure options: START
+
+// component-configure options: END
+
+// component options: START
+include::partial$component-configure-options.adoc[]
+include::partial$component-endpoint-options.adoc[]
+// component options: END
+
+// endpoint options: START
+
+// endpoint options: END
+
+
+=== Google Secret Manager Producer operations
+
+Google Functions component provides the following operation on the producer 
side:
+
+- createSecret
+
+If you don't specify an operation by default the producer will use the 
`createSecret` operation.
+
+
+include::spring-boot:partial$starter.adoc[]

Reply via email to