shreemaan-abhishek commented on code in PR #11569:
URL: https://github.com/apache/apisix/pull/11569#discussion_r1762285546


##########
docs/en/latest/admin-api.md:
##########
@@ -1497,6 +1497,102 @@ HTTP/1.1 200 OK
 
{"key":"\/apisix\/secrets\/vault\/test2","value":{"id":"vault\/test2","token":"apisix","prefix":"apisix","update_time":1669625828,"create_time":1669625828,"uri":"http:\/\/xxx\/get"}}
 ```
 
+#### When Secret Manager is AWS
+
+| Parameter | Required | Type | Description | Example |
+| --- | --- | --- | --- | --- |
+| access_key_id | True | string | AWS Access Key ID |  |
+| secret_access_key | True | string | AWS Secret Access Key |  |
+| session_token | False | string | Temporary access credential information |  |
+| region | False | string | AWS Region |  |
+| endpoint_url | False | URI | AWS Secret Manager URL | 
https://secretsmanager.{region}.amazonaws.com |
+
+Example Configuration:
+
+```shell

Review Comment:
   ```suggestion
   ```json
   ```



##########
docs/en/latest/admin-api.md:
##########
@@ -1497,6 +1497,102 @@ HTTP/1.1 200 OK
 
{"key":"\/apisix\/secrets\/vault\/test2","value":{"id":"vault\/test2","token":"apisix","prefix":"apisix","update_time":1669625828,"create_time":1669625828,"uri":"http:\/\/xxx\/get"}}
 ```
 
+#### When Secret Manager is AWS
+
+| Parameter | Required | Type | Description | Example |
+| --- | --- | --- | --- | --- |
+| access_key_id | True | string | AWS Access Key ID |  |
+| secret_access_key | True | string | AWS Secret Access Key |  |
+| session_token | False | string | Temporary access credential information |  |
+| region | False | string | AWS Region |  |
+| endpoint_url | False | URI | AWS Secret Manager URL | 
https://secretsmanager.{region}.amazonaws.com |

Review Comment:
   The example column seems redundant. I would suggest using the following 
table instead:
   
   ```suggestion
   | Parameter         | Required | Type   | Description                        
                                         |
   | ----------------- | -------- | ------ | 
--------------------------------------------------------------------------- |
   | access_key_id     | True     | string | AWS Access Key ID                  
                                         |
   | secret_access_key | True     | string | AWS Secret Access Key              
                                         |
   | session_token     | False    | string | Temporary access credential 
information                                     |
   | region            | False    | string | AWS Region                         
                                         |
   | endpoint_url      | False    | URI    | AWS Secret Manager URL (e.g: 
https://secretsmanager.{region}.amazonaws.com) |
   ```



##########
docs/en/latest/admin-api.md:
##########
@@ -1497,6 +1497,102 @@ HTTP/1.1 200 OK
 
{"key":"\/apisix\/secrets\/vault\/test2","value":{"id":"vault\/test2","token":"apisix","prefix":"apisix","update_time":1669625828,"create_time":1669625828,"uri":"http:\/\/xxx\/get"}}
 ```
 
+#### When Secret Manager is AWS
+
+| Parameter | Required | Type | Description | Example |
+| --- | --- | --- | --- | --- |
+| access_key_id | True | string | AWS Access Key ID |  |
+| secret_access_key | True | string | AWS Secret Access Key |  |
+| session_token | False | string | Temporary access credential information |  |
+| region | False | string | AWS Region |  |
+| endpoint_url | False | URI | AWS Secret Manager URL | 
https://secretsmanager.{region}.amazonaws.com |
+
+Example Configuration:
+
+```shell
+{
+    "endpoint_url": "http://127.0.0.1:4566";,
+    "region": "us-east-1",
+    "access_key_id": "access",
+    "secret_access_key": "secret",
+    "session_token": "token"
+}
+```
+
+Example API usage:
+
+```shell
+curl -i http://127.0.0.1:9180/apisix/admin/secrets/aws/test3 \
+-H "X-API-KEY: $admin_key" -X PUT -d '
+{
+    "endpoint_url": "http://127.0.0.1:4566";,
+    "region": "us-east-1",
+    "access_key_id": "access",
+    "secret_access_key": "secret",
+    "session_token": "token"
+}'
+```
+
+```shell
+HTTP/1.1 200 OK
+...
+
+{"value":{"create_time":1726069970,"endpoint_url":"http://127.0.0.1:4566","region":"us-east-1","access_key_id":"access","secret_access_key":"secret","id":"aws/test3","update_time":1726069970,"session_token":"token"},"key":"/apisix/secrets/aws/test3"}
+```
+
+#### When Secret Manager is GCP
+
+| Parameter | Required | Type | Description | Example |
+| --- | --- | --- | --- | --- |
+| auth_config | True | object | Either `auth_config` or `auth_file` must be 
provided. |  |
+| auth_config.client_email | True | string | Email address of the Google Cloud 
service account. |  |
+| auth_config.private_key | True | string | Private key of the Google Cloud 
service account. |  |
+| auth_config.project_id | True | string | Project ID in the Google Cloud 
service account. |  |
+| auth_config.token_uri | False | string | Token URI of the Google Cloud 
service account. | 
[https://oauth2.googleapis.com/token](https://oauth2.googleapis.com/token) |
+| auth_config.entries_uri | False | string | The API access endpoint for the 
Google Secrets Manager. | 
[https://secretmanager.googleapis.com/v1](https://secretmanager.googleapis.com/v1)
 |
+| auth_config.scope | False | string | Access scopes of the Google Cloud 
service account. See [OAuth 2.0 Scopes for Google 
APIs](https://developers.google.com/identity/protocols/oauth2/scopes) | 
[https://www.googleapis.com/auth/cloud-platform](https://www.googleapis.com/auth/cloud-platform)
 |
+| auth_file | True | string | Path to the Google Cloud service account 
authentication JSON file. Either `auth_config` or `auth_file` must be provided. 
|  |
+| ssl_verify | False | boolean | When set to `true`, enables SSL verification 
as mentioned in [OpenResty 
docs](https://github.com/openresty/lua-nginx-module#tcpsocksslhandshake). | 
true |
+
+Example Configuration:
+
+```shell

Review Comment:
   ```suggestion
   ```json
   ```



##########
docs/en/latest/admin-api.md:
##########
@@ -1497,6 +1497,102 @@ HTTP/1.1 200 OK
 
{"key":"\/apisix\/secrets\/vault\/test2","value":{"id":"vault\/test2","token":"apisix","prefix":"apisix","update_time":1669625828,"create_time":1669625828,"uri":"http:\/\/xxx\/get"}}
 ```
 
+#### When Secret Manager is AWS
+
+| Parameter | Required | Type | Description | Example |
+| --- | --- | --- | --- | --- |
+| access_key_id | True | string | AWS Access Key ID |  |
+| secret_access_key | True | string | AWS Secret Access Key |  |
+| session_token | False | string | Temporary access credential information |  |
+| region | False | string | AWS Region |  |
+| endpoint_url | False | URI | AWS Secret Manager URL | 
https://secretsmanager.{region}.amazonaws.com |
+
+Example Configuration:
+
+```shell
+{
+    "endpoint_url": "http://127.0.0.1:4566";,
+    "region": "us-east-1",
+    "access_key_id": "access",
+    "secret_access_key": "secret",
+    "session_token": "token"
+}
+```
+
+Example API usage:
+
+```shell
+curl -i http://127.0.0.1:9180/apisix/admin/secrets/aws/test3 \
+-H "X-API-KEY: $admin_key" -X PUT -d '
+{
+    "endpoint_url": "http://127.0.0.1:4566";,
+    "region": "us-east-1",
+    "access_key_id": "access",
+    "secret_access_key": "secret",
+    "session_token": "token"
+}'
+```
+
+```shell
+HTTP/1.1 200 OK
+...
+
+{"value":{"create_time":1726069970,"endpoint_url":"http://127.0.0.1:4566","region":"us-east-1","access_key_id":"access","secret_access_key":"secret","id":"aws/test3","update_time":1726069970,"session_token":"token"},"key":"/apisix/secrets/aws/test3"}
+```
+
+#### When Secret Manager is GCP
+
+| Parameter | Required | Type | Description | Example |
+| --- | --- | --- | --- | --- |
+| auth_config | True | object | Either `auth_config` or `auth_file` must be 
provided. |  |
+| auth_config.client_email | True | string | Email address of the Google Cloud 
service account. |  |
+| auth_config.private_key | True | string | Private key of the Google Cloud 
service account. |  |
+| auth_config.project_id | True | string | Project ID in the Google Cloud 
service account. |  |
+| auth_config.token_uri | False | string | Token URI of the Google Cloud 
service account. | 
[https://oauth2.googleapis.com/token](https://oauth2.googleapis.com/token) |
+| auth_config.entries_uri | False | string | The API access endpoint for the 
Google Secrets Manager. | 
[https://secretmanager.googleapis.com/v1](https://secretmanager.googleapis.com/v1)
 |
+| auth_config.scope | False | string | Access scopes of the Google Cloud 
service account. See [OAuth 2.0 Scopes for Google 
APIs](https://developers.google.com/identity/protocols/oauth2/scopes) | 
[https://www.googleapis.com/auth/cloud-platform](https://www.googleapis.com/auth/cloud-platform)
 |
+| auth_file | True | string | Path to the Google Cloud service account 
authentication JSON file. Either `auth_config` or `auth_file` must be provided. 
|  |
+| ssl_verify | False | boolean | When set to `true`, enables SSL verification 
as mentioned in [OpenResty 
docs](https://github.com/openresty/lua-nginx-module#tcpsocksslhandshake). | 
true |

Review Comment:
   Table formatting.
   
   ```suggestion
   | Parameter                | Required | Type    | Description                
                                                                                
                                               | Example                        
                                                                  |
   | ------------------------ | -------- | ------- | 
---------------------------------------------------------------------------------------------------------------------------------------------------------
 | 
------------------------------------------------------------------------------------------------
 |
   | auth_config              | True     | object  | Either `auth_config` or 
`auth_file` must be provided.                                                   
                                                  |                             
                                                                     |
   | auth_config.client_email | True     | string  | Email address of the 
Google Cloud service account.                                                   
                                                     |                          
                                                                        |
   | auth_config.private_key  | True     | string  | Private key of the Google 
Cloud service account.                                                          
                                                |                               
                                                                   |
   | auth_config.project_id   | True     | string  | Project ID in the Google 
Cloud service account.                                                          
                                                 |                              
                                                                    |
   | auth_config.token_uri    | False    | string  | Token URI of the Google 
Cloud service account.                                                          
                                                  | 
[https://oauth2.googleapis.com/token](https://oauth2.googleapis.com/token)      
                 |
   | auth_config.entries_uri  | False    | string  | The API access endpoint 
for the Google Secrets Manager.                                                 
                                                  | 
[https://secretmanager.googleapis.com/v1](https://secretmanager.googleapis.com/v1)
               |
   | auth_config.scope        | False    | string  | Access scopes of the 
Google Cloud service account. See [OAuth 2.0 Scopes for Google 
APIs](https://developers.google.com/identity/protocols/oauth2/scopes) | 
[https://www.googleapis.com/auth/cloud-platform](https://www.googleapis.com/auth/cloud-platform)
 |
   | auth_file                | True     | string  | Path to the Google Cloud 
service account authentication JSON file. Either `auth_config` or `auth_file` 
must be provided.                                  |                            
                                                                      |
   | ssl_verify               | False    | boolean | When set to `true`, 
enables SSL verification as mentioned in [OpenResty 
docs](https://github.com/openresty/lua-nginx-module#tcpsocksslhandshake).       
  | true                                                                        
                     |
   ```



-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: [email protected]

For queries about this service, please contact Infrastructure at:
[email protected]

Reply via email to