You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@stratos.apache.org by Udara Liyanage <ud...@wso2.com> on 2015/05/15 07:33:06 UTC

New Metadata API

Hi,

Below are the new Metadata APIs currently finished implemented. Oauth is
the only authentication mechanism in medatadata api. There is no username
password base authentication in metadata API since users are not meant to
interact with the metadata API. An JWT <http://jwt.io/> token is generated
per application and sent to the instances in payload. So the cartridge
agent/ or agent plugins can access the API with that token.  Request to the
API should have the Authorization header in the format of "Authorization:
Bearer $jwt_token"


*Add application Property*

curl -X *POST* -d "@prop2.json"  -H "Content-Type: application/json" -k -H
"Authorization: Bearer
eyJhbGciOiJSUzI1NiJ9.eyJleHAiOjE0NDA2ODM0NTUsInN1YiI6ImFkbWluIiwiYXpwIjoieHRwVVYwZldfanJjRU1jODhnN0kxaWY5RTFRYSIsImFwcElkIjoic2luZ2xlLWNhcnRyaWRnZS1hcHAiLCJhdWQiOlsieHRwVVYwZldfanJjRU1jODhnN0kxaWY5RTFRYSJdLCJpc3MiOiJodHRwczpcL1wvbG9jYWxob3N0Ojk0NDNcL29hdXRoMmVuZHBvaW50c1wvdG9rZW4iLCJpYXQiOjE0NDA2ODQ0NTd9.PkVFe1kZQyIkIPRrGwIHE4M6QY0MpFCU2byg2Hig5VJUzuAS_IJzNU8j4RUcx45kn6RRC7Nhk8O9Ywg_j0A83KyEWb2Dmk-LAnpLhROF-IU-abqtr5ANXBLXiZMZttmFt9zMum9oo_MY9wGtVKm8vJR8ZTtL_K6Xls1dA-0753I"
 -k  https://${host_ip}:${host_port}/metadata/api/
*applications/single-cartridge-app/properties *

*Get all application properties*

curl -X *GET*   -H "Content-Type: application/json" -k -H "Authorization:
Bearer
eyJhbGciOiJSUzI1NiJ9.eyJleHAiOjE0NDA2ODM0NTUsInN1YiI6ImFkbWluIiwiYXpwIjoieHRwVVYwZldfanJjRU1jODhnN0kxaWY5RTFRYSIsImFwcElkIjoic2luZ2xlLWNhcnRyaWRnZS1hcHAiLCJhdWQiOlsieHRwVVYwZldfanJjRU1jODhnN0kxaWY5RTFRYSJdLCJpc3MiOiJodHRwczpcL1wvbG9jYWxob3N0Ojk0NDNcL29hdXRoMmVuZHBvaW50c1wvdG9rZW4iLCJpYXQiOjE0NDA2ODQ0NTd9.PkVFe1kZQyIkIPRrGwIHE4M6QY0MpFCU2byg2Hig5VJUzuAS_IJzNU8j4RUcx45kn6RRC7Nhk8O9Ywg_j0A83KyEWb2Dmk-LAnpLhROF-IU-abqtr5ANXBLXiZMZttmFt9zMum9oo_MY9wGtVKm8vJR8ZTtL_K6Xls1dA-0753I"
 -k  https://${host_ip}:${host_port}/metadata/api/
*applications/single-cartridge-app/properties*  | python -m json.tool
  % Total    % Received % Xferd  Average Speed   Time    Time     Time
 Current
                                 Dload  Upload   Total   Spent    Left
 Speed
100   245    0   131  100   114   2585   2250 --:--:-- --:--:-- --:--:--
 2620
{
    "properties": [
        {
            "key": "email",
            "values": [
                "udaraliyanage@gmail.com",
                "udara@wso2.com"
            ]
        },
        {
            "key": "name",
            "values": [
                "udara",
                "liyanage"
            ]
        }
    ]
}

*Get a application property*

curl -X *GET* -H "Content-Type: application/json" -k -H "Authorization:
Bearer
eyJhbGciOiJSUzI1NiJ9.eyJleHAiOjE0NDA2ODM0NTUsInN1YiI6ImFkbWluIiwiYXpwIjoieHRwVVYwZldfanJjRU1jODhnN0kxaWY5RTFRYSIsImFwcElkIjoic2luZ2xlLWNhcnRyaWRnZS1hcHAiLCJhdWQiOlsieHRwVVYwZldfanJjRU1jODhnN0kxaWY5RTFRYSJdLCJpc3MiOiJodHRwczpcL1wvbG9jYWxob3N0Ojk0NDNcL29hdXRoMmVuZHBvaW50c1wvdG9rZW4iLCJpYXQiOjE0NDA2ODQ0NTd9.PkVFe1kZQyIkIPRrGwIHE4M6QY0MpFCU2byg2Hig5VJUzuAS_IJzNU8j4RUcx45kn6RRC7Nhk8O9Ywg_j0A83KyEWb2Dmk-LAnpLhROF-IU-abqtr5ANXBLXiZMZttmFt9zMum9oo_MY9wGtVKm8vJR8ZTtL_K6Xls1dA-0753I"
 -k  https://${host_ip}:${host_port}/metadata/api/applications/*single-cartridge-app/properties/email
* | python -m json.tool
  % Total    % Received % Xferd  Average Speed   Time    Time     Time
 Current
                                 Dload  Upload   Total   Spent    Left
 Speed
100   183    0    69  100   114   1058   1748 --:--:-- --:--:-- --:--:--
 1781
{
    "key": "email",
    "values": [
        "udaraliyanage@gmail.com",
        "udara@wso2.com"
    ]
}

*Delete all application properties*

curl -X *DELETE*   -H "Content-Type: application/json" -k -H
"Authorization: Bearer
eyJhbGciOiJSUzI1NiJ9.eyJleHAiOjE0NDA2ODM0NTUsInN1YiI6ImFkbWluIiwiYXpwIjoieHRwVVYwZldfanJjRU1jODhnN0kxaWY5RTFRYSIsImFwcElkIjoic2luZ2xlLWNhcnRyaWRnZS1hcHAiLCJhdWQiOlsieHRwVVYwZldfanJjRU1jODhnN0kxaWY5RTFRYSJdLCJpc3MiOiJodHRwczpcL1wvbG9jYWxob3N0Ojk0NDNcL29hdXRoMmVuZHBvaW50c1wvdG9rZW4iLCJpYXQiOjE0NDA2ODQ0NTd9.PkVFe1kZQyIkIPRrGwIHE4M6QY0MpFCU2byg2Hig5VJUzuAS_IJzNU8j4RUcx45kn6RRC7Nhk8O9Ywg_j0A83KyEWb2Dmk-LAnpLhROF-IU-abqtr5ANXBLXiZMZttmFt9zMum9oo_MY9wGtVKm8vJR8ZTtL_K6Xls1dA-0753I"
 -k  https://${host_ip}:${host_port}/metadata/api/
*applications/single-cartridge-app/properties *

*Add property to a cluster *
curl -X *POST* -d "@prop2.json"  -H "Content-Type: application/json" -k -H
"Authorization: Bearer
eyJhbGciOiJSUzI1NiJ9.eyJleHAiOjE0NDA2ODM0NTUsInN1YiI6ImFkbWluIiwiYXpwIjoieHRwVVYwZldfanJjRU1jODhnN0kxaWY5RTFRYSIsImFwcElkIjoic2luZ2xlLWNhcnRyaWRnZS1hcHAiLCJhdWQiOlsieHRwVVYwZldfanJjRU1jODhnN0kxaWY5RTFRYSJdLCJpc3MiOiJodHRwczpcL1wvbG9jYWxob3N0Ojk0NDNcL29hdXRoMmVuZHBvaW50c1wvdG9rZW4iLCJpYXQiOjE0NDA2ODQ0NTd9.PkVFe1kZQyIkIPRrGwIHE4M6QY0MpFCU2byg2Hig5VJUzuAS_IJzNU8j4RUcx45kn6RRC7Nhk8O9Ywg_j0A83KyEWb2Dmk-LAnpLhROF-IU-abqtr5ANXBLXiZMZttmFt9zMum9oo_MY9wGtVKm8vJR8ZTtL_K6Xls1dA-0753I"
 -k  https://${host_ip}:${host_port}/metadata/api/
*applications/single-cartridge-app/clusters/mycluster/properties *

Get cluster propertiess
curl -X *GET*  -H "Content-Type: application/json" -k -H "Authorization:
Bearer
eyJhbGciOiJSUzI1NiJ9.eyJleHAiOjE0NDA2ODM0NTUsInN1YiI6ImFkbWluIiwiYXpwIjoieHRwVVYwZldfanJjRU1jODhnN0kxaWY5RTFRYSIsImFwcElkIjoic2luZ2xlLWNhcnRyaWRnZS1hcHAiLCJhdWQiOlsieHRwVVYwZldfanJjRU1jODhnN0kxaWY5RTFRYSJdLCJpc3MiOiJodHRwczpcL1wvbG9jYWxob3N0Ojk0NDNcL29hdXRoMmVuZHBvaW50c1wvdG9rZW4iLCJpYXQiOjE0NDA2ODQ0NTd9.PkVFe1kZQyIkIPRrGwIHE4M6QY0MpFCU2byg2Hig5VJUzuAS_IJzNU8j4RUcx45kn6RRC7Nhk8O9Ywg_j0A83KyEWb2Dmk-LAnpLhROF-IU-abqtr5ANXBLXiZMZttmFt9zMum9oo_MY9wGtVKm8vJR8ZTtL_K6Xls1dA-0753I"
 -k  https://${host_ip}:${host_port}/metadata/api/
*applications/single-cartridge-app/clusters/mycluster/properties*
{"properties":[{"key":"name","values":["udara","liyanage"]}]}

*Works to be done*

Add more fine grained APIs
Add a response message format similar to Stratos REST API, however since
users rarely execute metadata api, it is not much needed.
-- 

Udara Liyanage
Software Engineer
WSO2, Inc.: http://wso2.com
lean. enterprise. middleware

web: http://udaraliyanage.wordpress.com
phone: +94 71 443 6897

Re: New Metadata API

Posted by Mariangela Hills <ma...@wso2.com>.
This new REST method has been documented in [1].

[1]
https://cwiki.apache.org/confluence/display/STRATOS/4.1.0+Deleting+an+Application+Property+via+REST+API

Regards,
Mariangela




*--*
*Mariangela Hills*
PMC Member & Committer of Apache Stratos
Senior Technical Writer
WSO2, Inc.
lean.enterprise.middleware.
m: +94 773 500185
w: http://wso2.com
<http://wso2.com/events/>

On Mon, May 18, 2015 at 6:17 PM, Mariangela Hills <ma...@wso2.com>
wrote:

> Sure, I will document this!
>
> Regards,
> Mariangela
>
>
>
>
> *--*
> *Mariangela Hills*
> PMC Member & Committer of Apache Stratos
> Senior Technical Writer
> WSO2, Inc.
> lean.enterprise.middleware.
> m: +94 773 500185
> w: http://wso2.com
> <http://wso2.com/events/>
>
> On Mon, May 18, 2015 at 3:40 PM, Udara Liyanage <ud...@wso2.com> wrote:
>
>> Hi,
>>
>> I added another API method to DELETE a property from application
>> properties. Shall we document this ?
>> API : *DELETE applications/{app_id}/**properties/{property_name}*
>>
>> On Fri, May 15, 2015 at 11:05 AM, Udara Liyanage <ud...@wso2.com> wrote:
>>
>>> Hi ,
>>>
>>> Below the json format of a property.
>>>
>>> {
>>>             "key": "name",
>>>             "values": [
>>>                 "udara",
>>>                 "liyanage"
>>>             ]
>>> }
>>>
>>>
>>> On Fri, May 15, 2015 at 11:03 AM, Udara Liyanage <ud...@wso2.com> wrote:
>>>
>>>> Hi,
>>>>
>>>> Below are the new Metadata APIs currently finished implemented. Oauth
>>>> is the only authentication mechanism in medatadata api. There is no
>>>> username password base authentication in metadata API since users are not
>>>> meant to interact with the metadata API. An JWT <http://jwt.io/> token
>>>> is generated per application and sent to the instances in payload. So the
>>>> cartridge agent/ or agent plugins can access the API with that token.
>>>> Request to the API should have the Authorization header in the format of
>>>> "Authorization: Bearer $jwt_token"
>>>>
>>>>
>>>> *Add application Property*
>>>>
>>>> curl -X *POST* -d "@prop2.json"  -H "Content-Type: application/json"
>>>> -k -H "Authorization: Bearer
>>>> eyJhbGciOiJSUzI1NiJ9.eyJleHAiOjE0NDA2ODM0NTUsInN1YiI6ImFkbWluIiwiYXpwIjoieHRwVVYwZldfanJjRU1jODhnN0kxaWY5RTFRYSIsImFwcElkIjoic2luZ2xlLWNhcnRyaWRnZS1hcHAiLCJhdWQiOlsieHRwVVYwZldfanJjRU1jODhnN0kxaWY5RTFRYSJdLCJpc3MiOiJodHRwczpcL1wvbG9jYWxob3N0Ojk0NDNcL29hdXRoMmVuZHBvaW50c1wvdG9rZW4iLCJpYXQiOjE0NDA2ODQ0NTd9.PkVFe1kZQyIkIPRrGwIHE4M6QY0MpFCU2byg2Hig5VJUzuAS_IJzNU8j4RUcx45kn6RRC7Nhk8O9Ywg_j0A83KyEWb2Dmk-LAnpLhROF-IU-abqtr5ANXBLXiZMZttmFt9zMum9oo_MY9wGtVKm8vJR8ZTtL_K6Xls1dA-0753I"
>>>>  -k  https://${host_ip}:${host_port}/metadata/api/
>>>> *applications/single-cartridge-app/properties *
>>>>
>>>> *Get all application properties*
>>>>
>>>> curl -X *GET*   -H "Content-Type: application/json" -k -H
>>>> "Authorization: Bearer
>>>> eyJhbGciOiJSUzI1NiJ9.eyJleHAiOjE0NDA2ODM0NTUsInN1YiI6ImFkbWluIiwiYXpwIjoieHRwVVYwZldfanJjRU1jODhnN0kxaWY5RTFRYSIsImFwcElkIjoic2luZ2xlLWNhcnRyaWRnZS1hcHAiLCJhdWQiOlsieHRwVVYwZldfanJjRU1jODhnN0kxaWY5RTFRYSJdLCJpc3MiOiJodHRwczpcL1wvbG9jYWxob3N0Ojk0NDNcL29hdXRoMmVuZHBvaW50c1wvdG9rZW4iLCJpYXQiOjE0NDA2ODQ0NTd9.PkVFe1kZQyIkIPRrGwIHE4M6QY0MpFCU2byg2Hig5VJUzuAS_IJzNU8j4RUcx45kn6RRC7Nhk8O9Ywg_j0A83KyEWb2Dmk-LAnpLhROF-IU-abqtr5ANXBLXiZMZttmFt9zMum9oo_MY9wGtVKm8vJR8ZTtL_K6Xls1dA-0753I"
>>>>  -k  https://${host_ip}:${host_port}/metadata/api/
>>>> *applications/single-cartridge-app/properties*  | python -m json.tool
>>>>   % Total    % Received % Xferd  Average Speed   Time    Time     Time
>>>>  Current
>>>>                                  Dload  Upload   Total   Spent    Left
>>>>  Speed
>>>> 100   245    0   131  100   114   2585   2250 --:--:-- --:--:--
>>>> --:--:--  2620
>>>> {
>>>>     "properties": [
>>>>         {
>>>>             "key": "email",
>>>>             "values": [
>>>>                 "udaraliyanage@gmail.com",
>>>>                 "udara@wso2.com"
>>>>             ]
>>>>         },
>>>>         {
>>>>             "key": "name",
>>>>             "values": [
>>>>                 "udara",
>>>>                 "liyanage"
>>>>             ]
>>>>         }
>>>>     ]
>>>> }
>>>>
>>>> *Get a application property*
>>>>
>>>> curl -X *GET* -H "Content-Type: application/json" -k -H
>>>> "Authorization: Bearer
>>>> eyJhbGciOiJSUzI1NiJ9.eyJleHAiOjE0NDA2ODM0NTUsInN1YiI6ImFkbWluIiwiYXpwIjoieHRwVVYwZldfanJjRU1jODhnN0kxaWY5RTFRYSIsImFwcElkIjoic2luZ2xlLWNhcnRyaWRnZS1hcHAiLCJhdWQiOlsieHRwVVYwZldfanJjRU1jODhnN0kxaWY5RTFRYSJdLCJpc3MiOiJodHRwczpcL1wvbG9jYWxob3N0Ojk0NDNcL29hdXRoMmVuZHBvaW50c1wvdG9rZW4iLCJpYXQiOjE0NDA2ODQ0NTd9.PkVFe1kZQyIkIPRrGwIHE4M6QY0MpFCU2byg2Hig5VJUzuAS_IJzNU8j4RUcx45kn6RRC7Nhk8O9Ywg_j0A83KyEWb2Dmk-LAnpLhROF-IU-abqtr5ANXBLXiZMZttmFt9zMum9oo_MY9wGtVKm8vJR8ZTtL_K6Xls1dA-0753I"
>>>>  -k  https://${host_ip}:${host_port}/metadata/api/applications/*single-cartridge-app/properties/email
>>>> * | python -m json.tool
>>>>   % Total    % Received % Xferd  Average Speed   Time    Time     Time
>>>>  Current
>>>>                                  Dload  Upload   Total   Spent    Left
>>>>  Speed
>>>> 100   183    0    69  100   114   1058   1748 --:--:-- --:--:--
>>>> --:--:--  1781
>>>> {
>>>>     "key": "email",
>>>>     "values": [
>>>>         "udaraliyanage@gmail.com",
>>>>         "udara@wso2.com"
>>>>     ]
>>>> }
>>>>
>>>> *Delete all application properties*
>>>>
>>>> curl -X *DELETE*   -H "Content-Type: application/json" -k -H
>>>> "Authorization: Bearer
>>>> eyJhbGciOiJSUzI1NiJ9.eyJleHAiOjE0NDA2ODM0NTUsInN1YiI6ImFkbWluIiwiYXpwIjoieHRwVVYwZldfanJjRU1jODhnN0kxaWY5RTFRYSIsImFwcElkIjoic2luZ2xlLWNhcnRyaWRnZS1hcHAiLCJhdWQiOlsieHRwVVYwZldfanJjRU1jODhnN0kxaWY5RTFRYSJdLCJpc3MiOiJodHRwczpcL1wvbG9jYWxob3N0Ojk0NDNcL29hdXRoMmVuZHBvaW50c1wvdG9rZW4iLCJpYXQiOjE0NDA2ODQ0NTd9.PkVFe1kZQyIkIPRrGwIHE4M6QY0MpFCU2byg2Hig5VJUzuAS_IJzNU8j4RUcx45kn6RRC7Nhk8O9Ywg_j0A83KyEWb2Dmk-LAnpLhROF-IU-abqtr5ANXBLXiZMZttmFt9zMum9oo_MY9wGtVKm8vJR8ZTtL_K6Xls1dA-0753I"
>>>>  -k  https://${host_ip}:${host_port}/metadata/api/
>>>> *applications/single-cartridge-app/properties *
>>>>
>>>> *Add property to a cluster *
>>>> curl -X *POST* -d "@prop2.json"  -H "Content-Type: application/json"
>>>> -k -H "Authorization: Bearer
>>>> eyJhbGciOiJSUzI1NiJ9.eyJleHAiOjE0NDA2ODM0NTUsInN1YiI6ImFkbWluIiwiYXpwIjoieHRwVVYwZldfanJjRU1jODhnN0kxaWY5RTFRYSIsImFwcElkIjoic2luZ2xlLWNhcnRyaWRnZS1hcHAiLCJhdWQiOlsieHRwVVYwZldfanJjRU1jODhnN0kxaWY5RTFRYSJdLCJpc3MiOiJodHRwczpcL1wvbG9jYWxob3N0Ojk0NDNcL29hdXRoMmVuZHBvaW50c1wvdG9rZW4iLCJpYXQiOjE0NDA2ODQ0NTd9.PkVFe1kZQyIkIPRrGwIHE4M6QY0MpFCU2byg2Hig5VJUzuAS_IJzNU8j4RUcx45kn6RRC7Nhk8O9Ywg_j0A83KyEWb2Dmk-LAnpLhROF-IU-abqtr5ANXBLXiZMZttmFt9zMum9oo_MY9wGtVKm8vJR8ZTtL_K6Xls1dA-0753I"
>>>>  -k  https://${host_ip}:${host_port}/metadata/api/
>>>> *applications/single-cartridge-app/clusters/mycluster/properties *
>>>>
>>>> Get cluster propertiess
>>>> curl -X *GET*  -H "Content-Type: application/json" -k -H
>>>> "Authorization: Bearer
>>>> eyJhbGciOiJSUzI1NiJ9.eyJleHAiOjE0NDA2ODM0NTUsInN1YiI6ImFkbWluIiwiYXpwIjoieHRwVVYwZldfanJjRU1jODhnN0kxaWY5RTFRYSIsImFwcElkIjoic2luZ2xlLWNhcnRyaWRnZS1hcHAiLCJhdWQiOlsieHRwVVYwZldfanJjRU1jODhnN0kxaWY5RTFRYSJdLCJpc3MiOiJodHRwczpcL1wvbG9jYWxob3N0Ojk0NDNcL29hdXRoMmVuZHBvaW50c1wvdG9rZW4iLCJpYXQiOjE0NDA2ODQ0NTd9.PkVFe1kZQyIkIPRrGwIHE4M6QY0MpFCU2byg2Hig5VJUzuAS_IJzNU8j4RUcx45kn6RRC7Nhk8O9Ywg_j0A83KyEWb2Dmk-LAnpLhROF-IU-abqtr5ANXBLXiZMZttmFt9zMum9oo_MY9wGtVKm8vJR8ZTtL_K6Xls1dA-0753I"
>>>>  -k  https://${host_ip}:${host_port}/metadata/api/
>>>> *applications/single-cartridge-app/clusters/mycluster/properties*
>>>> {"properties":[{"key":"name","values":["udara","liyanage"]}]}
>>>>
>>>> *Works to be done*
>>>>
>>>> Add more fine grained APIs
>>>> Add a response message format similar to Stratos REST API, however
>>>> since users rarely execute metadata api, it is not much needed.
>>>> --
>>>>
>>>> Udara Liyanage
>>>> Software Engineer
>>>> WSO2, Inc.: http://wso2.com
>>>> lean. enterprise. middleware
>>>>
>>>> web: http://udaraliyanage.wordpress.com
>>>> phone: +94 71 443 6897
>>>>
>>>
>>>
>>>
>>> --
>>>
>>> Udara Liyanage
>>> Software Engineer
>>> WSO2, Inc.: http://wso2.com
>>> lean. enterprise. middleware
>>>
>>> web: http://udaraliyanage.wordpress.com
>>> phone: +94 71 443 6897
>>>
>>
>>
>>
>> --
>>
>> Udara Liyanage
>> Software Engineer
>> WSO2, Inc.: http://wso2.com
>> lean. enterprise. middleware
>>
>> web: http://udaraliyanage.wordpress.com
>> phone: +94 71 443 6897
>>
>
>

Re: New Metadata API

Posted by Mariangela Hills <ma...@wso2.com>.
Sure, I will document this!

Regards,
Mariangela




*--*
*Mariangela Hills*
PMC Member & Committer of Apache Stratos
Senior Technical Writer
WSO2, Inc.
lean.enterprise.middleware.
m: +94 773 500185
w: http://wso2.com
<http://wso2.com/events/>

On Mon, May 18, 2015 at 3:40 PM, Udara Liyanage <ud...@wso2.com> wrote:

> Hi,
>
> I added another API method to DELETE a property from application
> properties. Shall we document this ?
> API : *DELETE applications/{app_id}/**properties/{property_name}*
>
> On Fri, May 15, 2015 at 11:05 AM, Udara Liyanage <ud...@wso2.com> wrote:
>
>> Hi ,
>>
>> Below the json format of a property.
>>
>> {
>>             "key": "name",
>>             "values": [
>>                 "udara",
>>                 "liyanage"
>>             ]
>> }
>>
>>
>> On Fri, May 15, 2015 at 11:03 AM, Udara Liyanage <ud...@wso2.com> wrote:
>>
>>> Hi,
>>>
>>> Below are the new Metadata APIs currently finished implemented. Oauth is
>>> the only authentication mechanism in medatadata api. There is no username
>>> password base authentication in metadata API since users are not meant to
>>> interact with the metadata API. An JWT <http://jwt.io/> token is
>>> generated per application and sent to the instances in payload. So the
>>> cartridge agent/ or agent plugins can access the API with that token.
>>> Request to the API should have the Authorization header in the format of
>>> "Authorization: Bearer $jwt_token"
>>>
>>>
>>> *Add application Property*
>>>
>>> curl -X *POST* -d "@prop2.json"  -H "Content-Type: application/json" -k
>>> -H "Authorization: Bearer
>>> eyJhbGciOiJSUzI1NiJ9.eyJleHAiOjE0NDA2ODM0NTUsInN1YiI6ImFkbWluIiwiYXpwIjoieHRwVVYwZldfanJjRU1jODhnN0kxaWY5RTFRYSIsImFwcElkIjoic2luZ2xlLWNhcnRyaWRnZS1hcHAiLCJhdWQiOlsieHRwVVYwZldfanJjRU1jODhnN0kxaWY5RTFRYSJdLCJpc3MiOiJodHRwczpcL1wvbG9jYWxob3N0Ojk0NDNcL29hdXRoMmVuZHBvaW50c1wvdG9rZW4iLCJpYXQiOjE0NDA2ODQ0NTd9.PkVFe1kZQyIkIPRrGwIHE4M6QY0MpFCU2byg2Hig5VJUzuAS_IJzNU8j4RUcx45kn6RRC7Nhk8O9Ywg_j0A83KyEWb2Dmk-LAnpLhROF-IU-abqtr5ANXBLXiZMZttmFt9zMum9oo_MY9wGtVKm8vJR8ZTtL_K6Xls1dA-0753I"
>>>  -k  https://${host_ip}:${host_port}/metadata/api/
>>> *applications/single-cartridge-app/properties *
>>>
>>> *Get all application properties*
>>>
>>> curl -X *GET*   -H "Content-Type: application/json" -k -H
>>> "Authorization: Bearer
>>> eyJhbGciOiJSUzI1NiJ9.eyJleHAiOjE0NDA2ODM0NTUsInN1YiI6ImFkbWluIiwiYXpwIjoieHRwVVYwZldfanJjRU1jODhnN0kxaWY5RTFRYSIsImFwcElkIjoic2luZ2xlLWNhcnRyaWRnZS1hcHAiLCJhdWQiOlsieHRwVVYwZldfanJjRU1jODhnN0kxaWY5RTFRYSJdLCJpc3MiOiJodHRwczpcL1wvbG9jYWxob3N0Ojk0NDNcL29hdXRoMmVuZHBvaW50c1wvdG9rZW4iLCJpYXQiOjE0NDA2ODQ0NTd9.PkVFe1kZQyIkIPRrGwIHE4M6QY0MpFCU2byg2Hig5VJUzuAS_IJzNU8j4RUcx45kn6RRC7Nhk8O9Ywg_j0A83KyEWb2Dmk-LAnpLhROF-IU-abqtr5ANXBLXiZMZttmFt9zMum9oo_MY9wGtVKm8vJR8ZTtL_K6Xls1dA-0753I"
>>>  -k  https://${host_ip}:${host_port}/metadata/api/
>>> *applications/single-cartridge-app/properties*  | python -m json.tool
>>>   % Total    % Received % Xferd  Average Speed   Time    Time     Time
>>>  Current
>>>                                  Dload  Upload   Total   Spent    Left
>>>  Speed
>>> 100   245    0   131  100   114   2585   2250 --:--:-- --:--:-- --:--:--
>>>  2620
>>> {
>>>     "properties": [
>>>         {
>>>             "key": "email",
>>>             "values": [
>>>                 "udaraliyanage@gmail.com",
>>>                 "udara@wso2.com"
>>>             ]
>>>         },
>>>         {
>>>             "key": "name",
>>>             "values": [
>>>                 "udara",
>>>                 "liyanage"
>>>             ]
>>>         }
>>>     ]
>>> }
>>>
>>> *Get a application property*
>>>
>>> curl -X *GET* -H "Content-Type: application/json" -k -H "Authorization:
>>> Bearer
>>> eyJhbGciOiJSUzI1NiJ9.eyJleHAiOjE0NDA2ODM0NTUsInN1YiI6ImFkbWluIiwiYXpwIjoieHRwVVYwZldfanJjRU1jODhnN0kxaWY5RTFRYSIsImFwcElkIjoic2luZ2xlLWNhcnRyaWRnZS1hcHAiLCJhdWQiOlsieHRwVVYwZldfanJjRU1jODhnN0kxaWY5RTFRYSJdLCJpc3MiOiJodHRwczpcL1wvbG9jYWxob3N0Ojk0NDNcL29hdXRoMmVuZHBvaW50c1wvdG9rZW4iLCJpYXQiOjE0NDA2ODQ0NTd9.PkVFe1kZQyIkIPRrGwIHE4M6QY0MpFCU2byg2Hig5VJUzuAS_IJzNU8j4RUcx45kn6RRC7Nhk8O9Ywg_j0A83KyEWb2Dmk-LAnpLhROF-IU-abqtr5ANXBLXiZMZttmFt9zMum9oo_MY9wGtVKm8vJR8ZTtL_K6Xls1dA-0753I"
>>>  -k  https://${host_ip}:${host_port}/metadata/api/applications/*single-cartridge-app/properties/email
>>> * | python -m json.tool
>>>   % Total    % Received % Xferd  Average Speed   Time    Time     Time
>>>  Current
>>>                                  Dload  Upload   Total   Spent    Left
>>>  Speed
>>> 100   183    0    69  100   114   1058   1748 --:--:-- --:--:-- --:--:--
>>>  1781
>>> {
>>>     "key": "email",
>>>     "values": [
>>>         "udaraliyanage@gmail.com",
>>>         "udara@wso2.com"
>>>     ]
>>> }
>>>
>>> *Delete all application properties*
>>>
>>> curl -X *DELETE*   -H "Content-Type: application/json" -k -H
>>> "Authorization: Bearer
>>> eyJhbGciOiJSUzI1NiJ9.eyJleHAiOjE0NDA2ODM0NTUsInN1YiI6ImFkbWluIiwiYXpwIjoieHRwVVYwZldfanJjRU1jODhnN0kxaWY5RTFRYSIsImFwcElkIjoic2luZ2xlLWNhcnRyaWRnZS1hcHAiLCJhdWQiOlsieHRwVVYwZldfanJjRU1jODhnN0kxaWY5RTFRYSJdLCJpc3MiOiJodHRwczpcL1wvbG9jYWxob3N0Ojk0NDNcL29hdXRoMmVuZHBvaW50c1wvdG9rZW4iLCJpYXQiOjE0NDA2ODQ0NTd9.PkVFe1kZQyIkIPRrGwIHE4M6QY0MpFCU2byg2Hig5VJUzuAS_IJzNU8j4RUcx45kn6RRC7Nhk8O9Ywg_j0A83KyEWb2Dmk-LAnpLhROF-IU-abqtr5ANXBLXiZMZttmFt9zMum9oo_MY9wGtVKm8vJR8ZTtL_K6Xls1dA-0753I"
>>>  -k  https://${host_ip}:${host_port}/metadata/api/
>>> *applications/single-cartridge-app/properties *
>>>
>>> *Add property to a cluster *
>>> curl -X *POST* -d "@prop2.json"  -H "Content-Type: application/json" -k
>>> -H "Authorization: Bearer
>>> eyJhbGciOiJSUzI1NiJ9.eyJleHAiOjE0NDA2ODM0NTUsInN1YiI6ImFkbWluIiwiYXpwIjoieHRwVVYwZldfanJjRU1jODhnN0kxaWY5RTFRYSIsImFwcElkIjoic2luZ2xlLWNhcnRyaWRnZS1hcHAiLCJhdWQiOlsieHRwVVYwZldfanJjRU1jODhnN0kxaWY5RTFRYSJdLCJpc3MiOiJodHRwczpcL1wvbG9jYWxob3N0Ojk0NDNcL29hdXRoMmVuZHBvaW50c1wvdG9rZW4iLCJpYXQiOjE0NDA2ODQ0NTd9.PkVFe1kZQyIkIPRrGwIHE4M6QY0MpFCU2byg2Hig5VJUzuAS_IJzNU8j4RUcx45kn6RRC7Nhk8O9Ywg_j0A83KyEWb2Dmk-LAnpLhROF-IU-abqtr5ANXBLXiZMZttmFt9zMum9oo_MY9wGtVKm8vJR8ZTtL_K6Xls1dA-0753I"
>>>  -k  https://${host_ip}:${host_port}/metadata/api/
>>> *applications/single-cartridge-app/clusters/mycluster/properties *
>>>
>>> Get cluster propertiess
>>> curl -X *GET*  -H "Content-Type: application/json" -k -H
>>> "Authorization: Bearer
>>> eyJhbGciOiJSUzI1NiJ9.eyJleHAiOjE0NDA2ODM0NTUsInN1YiI6ImFkbWluIiwiYXpwIjoieHRwVVYwZldfanJjRU1jODhnN0kxaWY5RTFRYSIsImFwcElkIjoic2luZ2xlLWNhcnRyaWRnZS1hcHAiLCJhdWQiOlsieHRwVVYwZldfanJjRU1jODhnN0kxaWY5RTFRYSJdLCJpc3MiOiJodHRwczpcL1wvbG9jYWxob3N0Ojk0NDNcL29hdXRoMmVuZHBvaW50c1wvdG9rZW4iLCJpYXQiOjE0NDA2ODQ0NTd9.PkVFe1kZQyIkIPRrGwIHE4M6QY0MpFCU2byg2Hig5VJUzuAS_IJzNU8j4RUcx45kn6RRC7Nhk8O9Ywg_j0A83KyEWb2Dmk-LAnpLhROF-IU-abqtr5ANXBLXiZMZttmFt9zMum9oo_MY9wGtVKm8vJR8ZTtL_K6Xls1dA-0753I"
>>>  -k  https://${host_ip}:${host_port}/metadata/api/
>>> *applications/single-cartridge-app/clusters/mycluster/properties*
>>> {"properties":[{"key":"name","values":["udara","liyanage"]}]}
>>>
>>> *Works to be done*
>>>
>>> Add more fine grained APIs
>>> Add a response message format similar to Stratos REST API, however since
>>> users rarely execute metadata api, it is not much needed.
>>> --
>>>
>>> Udara Liyanage
>>> Software Engineer
>>> WSO2, Inc.: http://wso2.com
>>> lean. enterprise. middleware
>>>
>>> web: http://udaraliyanage.wordpress.com
>>> phone: +94 71 443 6897
>>>
>>
>>
>>
>> --
>>
>> Udara Liyanage
>> Software Engineer
>> WSO2, Inc.: http://wso2.com
>> lean. enterprise. middleware
>>
>> web: http://udaraliyanage.wordpress.com
>> phone: +94 71 443 6897
>>
>
>
>
> --
>
> Udara Liyanage
> Software Engineer
> WSO2, Inc.: http://wso2.com
> lean. enterprise. middleware
>
> web: http://udaraliyanage.wordpress.com
> phone: +94 71 443 6897
>

Re: New Metadata API

Posted by Udara Liyanage <ud...@wso2.com>.
Hi,

I added another API method to DELETE a property from application
properties. Shall we document this ?
API : *DELETE applications/{app_id}/**properties/{property_name}*

On Fri, May 15, 2015 at 11:05 AM, Udara Liyanage <ud...@wso2.com> wrote:

> Hi ,
>
> Below the json format of a property.
>
> {
>             "key": "name",
>             "values": [
>                 "udara",
>                 "liyanage"
>             ]
> }
>
>
> On Fri, May 15, 2015 at 11:03 AM, Udara Liyanage <ud...@wso2.com> wrote:
>
>> Hi,
>>
>> Below are the new Metadata APIs currently finished implemented. Oauth is
>> the only authentication mechanism in medatadata api. There is no username
>> password base authentication in metadata API since users are not meant to
>> interact with the metadata API. An JWT <http://jwt.io/> token is
>> generated per application and sent to the instances in payload. So the
>> cartridge agent/ or agent plugins can access the API with that token.
>> Request to the API should have the Authorization header in the format of
>> "Authorization: Bearer $jwt_token"
>>
>>
>> *Add application Property*
>>
>> curl -X *POST* -d "@prop2.json"  -H "Content-Type: application/json" -k
>> -H "Authorization: Bearer
>> eyJhbGciOiJSUzI1NiJ9.eyJleHAiOjE0NDA2ODM0NTUsInN1YiI6ImFkbWluIiwiYXpwIjoieHRwVVYwZldfanJjRU1jODhnN0kxaWY5RTFRYSIsImFwcElkIjoic2luZ2xlLWNhcnRyaWRnZS1hcHAiLCJhdWQiOlsieHRwVVYwZldfanJjRU1jODhnN0kxaWY5RTFRYSJdLCJpc3MiOiJodHRwczpcL1wvbG9jYWxob3N0Ojk0NDNcL29hdXRoMmVuZHBvaW50c1wvdG9rZW4iLCJpYXQiOjE0NDA2ODQ0NTd9.PkVFe1kZQyIkIPRrGwIHE4M6QY0MpFCU2byg2Hig5VJUzuAS_IJzNU8j4RUcx45kn6RRC7Nhk8O9Ywg_j0A83KyEWb2Dmk-LAnpLhROF-IU-abqtr5ANXBLXiZMZttmFt9zMum9oo_MY9wGtVKm8vJR8ZTtL_K6Xls1dA-0753I"
>>  -k  https://${host_ip}:${host_port}/metadata/api/
>> *applications/single-cartridge-app/properties *
>>
>> *Get all application properties*
>>
>> curl -X *GET*   -H "Content-Type: application/json" -k -H
>> "Authorization: Bearer
>> eyJhbGciOiJSUzI1NiJ9.eyJleHAiOjE0NDA2ODM0NTUsInN1YiI6ImFkbWluIiwiYXpwIjoieHRwVVYwZldfanJjRU1jODhnN0kxaWY5RTFRYSIsImFwcElkIjoic2luZ2xlLWNhcnRyaWRnZS1hcHAiLCJhdWQiOlsieHRwVVYwZldfanJjRU1jODhnN0kxaWY5RTFRYSJdLCJpc3MiOiJodHRwczpcL1wvbG9jYWxob3N0Ojk0NDNcL29hdXRoMmVuZHBvaW50c1wvdG9rZW4iLCJpYXQiOjE0NDA2ODQ0NTd9.PkVFe1kZQyIkIPRrGwIHE4M6QY0MpFCU2byg2Hig5VJUzuAS_IJzNU8j4RUcx45kn6RRC7Nhk8O9Ywg_j0A83KyEWb2Dmk-LAnpLhROF-IU-abqtr5ANXBLXiZMZttmFt9zMum9oo_MY9wGtVKm8vJR8ZTtL_K6Xls1dA-0753I"
>>  -k  https://${host_ip}:${host_port}/metadata/api/
>> *applications/single-cartridge-app/properties*  | python -m json.tool
>>   % Total    % Received % Xferd  Average Speed   Time    Time     Time
>>  Current
>>                                  Dload  Upload   Total   Spent    Left
>>  Speed
>> 100   245    0   131  100   114   2585   2250 --:--:-- --:--:-- --:--:--
>>  2620
>> {
>>     "properties": [
>>         {
>>             "key": "email",
>>             "values": [
>>                 "udaraliyanage@gmail.com",
>>                 "udara@wso2.com"
>>             ]
>>         },
>>         {
>>             "key": "name",
>>             "values": [
>>                 "udara",
>>                 "liyanage"
>>             ]
>>         }
>>     ]
>> }
>>
>> *Get a application property*
>>
>> curl -X *GET* -H "Content-Type: application/json" -k -H "Authorization:
>> Bearer
>> eyJhbGciOiJSUzI1NiJ9.eyJleHAiOjE0NDA2ODM0NTUsInN1YiI6ImFkbWluIiwiYXpwIjoieHRwVVYwZldfanJjRU1jODhnN0kxaWY5RTFRYSIsImFwcElkIjoic2luZ2xlLWNhcnRyaWRnZS1hcHAiLCJhdWQiOlsieHRwVVYwZldfanJjRU1jODhnN0kxaWY5RTFRYSJdLCJpc3MiOiJodHRwczpcL1wvbG9jYWxob3N0Ojk0NDNcL29hdXRoMmVuZHBvaW50c1wvdG9rZW4iLCJpYXQiOjE0NDA2ODQ0NTd9.PkVFe1kZQyIkIPRrGwIHE4M6QY0MpFCU2byg2Hig5VJUzuAS_IJzNU8j4RUcx45kn6RRC7Nhk8O9Ywg_j0A83KyEWb2Dmk-LAnpLhROF-IU-abqtr5ANXBLXiZMZttmFt9zMum9oo_MY9wGtVKm8vJR8ZTtL_K6Xls1dA-0753I"
>>  -k  https://${host_ip}:${host_port}/metadata/api/applications/*single-cartridge-app/properties/email
>> * | python -m json.tool
>>   % Total    % Received % Xferd  Average Speed   Time    Time     Time
>>  Current
>>                                  Dload  Upload   Total   Spent    Left
>>  Speed
>> 100   183    0    69  100   114   1058   1748 --:--:-- --:--:-- --:--:--
>>  1781
>> {
>>     "key": "email",
>>     "values": [
>>         "udaraliyanage@gmail.com",
>>         "udara@wso2.com"
>>     ]
>> }
>>
>> *Delete all application properties*
>>
>> curl -X *DELETE*   -H "Content-Type: application/json" -k -H
>> "Authorization: Bearer
>> eyJhbGciOiJSUzI1NiJ9.eyJleHAiOjE0NDA2ODM0NTUsInN1YiI6ImFkbWluIiwiYXpwIjoieHRwVVYwZldfanJjRU1jODhnN0kxaWY5RTFRYSIsImFwcElkIjoic2luZ2xlLWNhcnRyaWRnZS1hcHAiLCJhdWQiOlsieHRwVVYwZldfanJjRU1jODhnN0kxaWY5RTFRYSJdLCJpc3MiOiJodHRwczpcL1wvbG9jYWxob3N0Ojk0NDNcL29hdXRoMmVuZHBvaW50c1wvdG9rZW4iLCJpYXQiOjE0NDA2ODQ0NTd9.PkVFe1kZQyIkIPRrGwIHE4M6QY0MpFCU2byg2Hig5VJUzuAS_IJzNU8j4RUcx45kn6RRC7Nhk8O9Ywg_j0A83KyEWb2Dmk-LAnpLhROF-IU-abqtr5ANXBLXiZMZttmFt9zMum9oo_MY9wGtVKm8vJR8ZTtL_K6Xls1dA-0753I"
>>  -k  https://${host_ip}:${host_port}/metadata/api/
>> *applications/single-cartridge-app/properties *
>>
>> *Add property to a cluster *
>> curl -X *POST* -d "@prop2.json"  -H "Content-Type: application/json" -k
>> -H "Authorization: Bearer
>> eyJhbGciOiJSUzI1NiJ9.eyJleHAiOjE0NDA2ODM0NTUsInN1YiI6ImFkbWluIiwiYXpwIjoieHRwVVYwZldfanJjRU1jODhnN0kxaWY5RTFRYSIsImFwcElkIjoic2luZ2xlLWNhcnRyaWRnZS1hcHAiLCJhdWQiOlsieHRwVVYwZldfanJjRU1jODhnN0kxaWY5RTFRYSJdLCJpc3MiOiJodHRwczpcL1wvbG9jYWxob3N0Ojk0NDNcL29hdXRoMmVuZHBvaW50c1wvdG9rZW4iLCJpYXQiOjE0NDA2ODQ0NTd9.PkVFe1kZQyIkIPRrGwIHE4M6QY0MpFCU2byg2Hig5VJUzuAS_IJzNU8j4RUcx45kn6RRC7Nhk8O9Ywg_j0A83KyEWb2Dmk-LAnpLhROF-IU-abqtr5ANXBLXiZMZttmFt9zMum9oo_MY9wGtVKm8vJR8ZTtL_K6Xls1dA-0753I"
>>  -k  https://${host_ip}:${host_port}/metadata/api/
>> *applications/single-cartridge-app/clusters/mycluster/properties *
>>
>> Get cluster propertiess
>> curl -X *GET*  -H "Content-Type: application/json" -k -H "Authorization:
>> Bearer
>> eyJhbGciOiJSUzI1NiJ9.eyJleHAiOjE0NDA2ODM0NTUsInN1YiI6ImFkbWluIiwiYXpwIjoieHRwVVYwZldfanJjRU1jODhnN0kxaWY5RTFRYSIsImFwcElkIjoic2luZ2xlLWNhcnRyaWRnZS1hcHAiLCJhdWQiOlsieHRwVVYwZldfanJjRU1jODhnN0kxaWY5RTFRYSJdLCJpc3MiOiJodHRwczpcL1wvbG9jYWxob3N0Ojk0NDNcL29hdXRoMmVuZHBvaW50c1wvdG9rZW4iLCJpYXQiOjE0NDA2ODQ0NTd9.PkVFe1kZQyIkIPRrGwIHE4M6QY0MpFCU2byg2Hig5VJUzuAS_IJzNU8j4RUcx45kn6RRC7Nhk8O9Ywg_j0A83KyEWb2Dmk-LAnpLhROF-IU-abqtr5ANXBLXiZMZttmFt9zMum9oo_MY9wGtVKm8vJR8ZTtL_K6Xls1dA-0753I"
>>  -k  https://${host_ip}:${host_port}/metadata/api/
>> *applications/single-cartridge-app/clusters/mycluster/properties*
>> {"properties":[{"key":"name","values":["udara","liyanage"]}]}
>>
>> *Works to be done*
>>
>> Add more fine grained APIs
>> Add a response message format similar to Stratos REST API, however since
>> users rarely execute metadata api, it is not much needed.
>> --
>>
>> Udara Liyanage
>> Software Engineer
>> WSO2, Inc.: http://wso2.com
>> lean. enterprise. middleware
>>
>> web: http://udaraliyanage.wordpress.com
>> phone: +94 71 443 6897
>>
>
>
>
> --
>
> Udara Liyanage
> Software Engineer
> WSO2, Inc.: http://wso2.com
> lean. enterprise. middleware
>
> web: http://udaraliyanage.wordpress.com
> phone: +94 71 443 6897
>



-- 

Udara Liyanage
Software Engineer
WSO2, Inc.: http://wso2.com
lean. enterprise. middleware

web: http://udaraliyanage.wordpress.com
phone: +94 71 443 6897

Re: New Metadata API

Posted by Udara Liyanage <ud...@wso2.com>.
Hi ,

Below the json format of a property.

{
            "key": "name",
            "values": [
                "udara",
                "liyanage"
            ]
}


On Fri, May 15, 2015 at 11:03 AM, Udara Liyanage <ud...@wso2.com> wrote:

> Hi,
>
> Below are the new Metadata APIs currently finished implemented. Oauth is
> the only authentication mechanism in medatadata api. There is no username
> password base authentication in metadata API since users are not meant to
> interact with the metadata API. An JWT <http://jwt.io/> token is
> generated per application and sent to the instances in payload. So the
> cartridge agent/ or agent plugins can access the API with that token.
> Request to the API should have the Authorization header in the format of
> "Authorization: Bearer $jwt_token"
>
>
> *Add application Property*
>
> curl -X *POST* -d "@prop2.json"  -H "Content-Type: application/json" -k
> -H "Authorization: Bearer
> eyJhbGciOiJSUzI1NiJ9.eyJleHAiOjE0NDA2ODM0NTUsInN1YiI6ImFkbWluIiwiYXpwIjoieHRwVVYwZldfanJjRU1jODhnN0kxaWY5RTFRYSIsImFwcElkIjoic2luZ2xlLWNhcnRyaWRnZS1hcHAiLCJhdWQiOlsieHRwVVYwZldfanJjRU1jODhnN0kxaWY5RTFRYSJdLCJpc3MiOiJodHRwczpcL1wvbG9jYWxob3N0Ojk0NDNcL29hdXRoMmVuZHBvaW50c1wvdG9rZW4iLCJpYXQiOjE0NDA2ODQ0NTd9.PkVFe1kZQyIkIPRrGwIHE4M6QY0MpFCU2byg2Hig5VJUzuAS_IJzNU8j4RUcx45kn6RRC7Nhk8O9Ywg_j0A83KyEWb2Dmk-LAnpLhROF-IU-abqtr5ANXBLXiZMZttmFt9zMum9oo_MY9wGtVKm8vJR8ZTtL_K6Xls1dA-0753I"
>  -k  https://${host_ip}:${host_port}/metadata/api/
> *applications/single-cartridge-app/properties *
>
> *Get all application properties*
>
> curl -X *GET*   -H "Content-Type: application/json" -k -H "Authorization:
> Bearer
> eyJhbGciOiJSUzI1NiJ9.eyJleHAiOjE0NDA2ODM0NTUsInN1YiI6ImFkbWluIiwiYXpwIjoieHRwVVYwZldfanJjRU1jODhnN0kxaWY5RTFRYSIsImFwcElkIjoic2luZ2xlLWNhcnRyaWRnZS1hcHAiLCJhdWQiOlsieHRwVVYwZldfanJjRU1jODhnN0kxaWY5RTFRYSJdLCJpc3MiOiJodHRwczpcL1wvbG9jYWxob3N0Ojk0NDNcL29hdXRoMmVuZHBvaW50c1wvdG9rZW4iLCJpYXQiOjE0NDA2ODQ0NTd9.PkVFe1kZQyIkIPRrGwIHE4M6QY0MpFCU2byg2Hig5VJUzuAS_IJzNU8j4RUcx45kn6RRC7Nhk8O9Ywg_j0A83KyEWb2Dmk-LAnpLhROF-IU-abqtr5ANXBLXiZMZttmFt9zMum9oo_MY9wGtVKm8vJR8ZTtL_K6Xls1dA-0753I"
>  -k  https://${host_ip}:${host_port}/metadata/api/
> *applications/single-cartridge-app/properties*  | python -m json.tool
>   % Total    % Received % Xferd  Average Speed   Time    Time     Time
>  Current
>                                  Dload  Upload   Total   Spent    Left
>  Speed
> 100   245    0   131  100   114   2585   2250 --:--:-- --:--:-- --:--:--
>  2620
> {
>     "properties": [
>         {
>             "key": "email",
>             "values": [
>                 "udaraliyanage@gmail.com",
>                 "udara@wso2.com"
>             ]
>         },
>         {
>             "key": "name",
>             "values": [
>                 "udara",
>                 "liyanage"
>             ]
>         }
>     ]
> }
>
> *Get a application property*
>
> curl -X *GET* -H "Content-Type: application/json" -k -H "Authorization:
> Bearer
> eyJhbGciOiJSUzI1NiJ9.eyJleHAiOjE0NDA2ODM0NTUsInN1YiI6ImFkbWluIiwiYXpwIjoieHRwVVYwZldfanJjRU1jODhnN0kxaWY5RTFRYSIsImFwcElkIjoic2luZ2xlLWNhcnRyaWRnZS1hcHAiLCJhdWQiOlsieHRwVVYwZldfanJjRU1jODhnN0kxaWY5RTFRYSJdLCJpc3MiOiJodHRwczpcL1wvbG9jYWxob3N0Ojk0NDNcL29hdXRoMmVuZHBvaW50c1wvdG9rZW4iLCJpYXQiOjE0NDA2ODQ0NTd9.PkVFe1kZQyIkIPRrGwIHE4M6QY0MpFCU2byg2Hig5VJUzuAS_IJzNU8j4RUcx45kn6RRC7Nhk8O9Ywg_j0A83KyEWb2Dmk-LAnpLhROF-IU-abqtr5ANXBLXiZMZttmFt9zMum9oo_MY9wGtVKm8vJR8ZTtL_K6Xls1dA-0753I"
>  -k  https://${host_ip}:${host_port}/metadata/api/applications/*single-cartridge-app/properties/email
> * | python -m json.tool
>   % Total    % Received % Xferd  Average Speed   Time    Time     Time
>  Current
>                                  Dload  Upload   Total   Spent    Left
>  Speed
> 100   183    0    69  100   114   1058   1748 --:--:-- --:--:-- --:--:--
>  1781
> {
>     "key": "email",
>     "values": [
>         "udaraliyanage@gmail.com",
>         "udara@wso2.com"
>     ]
> }
>
> *Delete all application properties*
>
> curl -X *DELETE*   -H "Content-Type: application/json" -k -H
> "Authorization: Bearer
> eyJhbGciOiJSUzI1NiJ9.eyJleHAiOjE0NDA2ODM0NTUsInN1YiI6ImFkbWluIiwiYXpwIjoieHRwVVYwZldfanJjRU1jODhnN0kxaWY5RTFRYSIsImFwcElkIjoic2luZ2xlLWNhcnRyaWRnZS1hcHAiLCJhdWQiOlsieHRwVVYwZldfanJjRU1jODhnN0kxaWY5RTFRYSJdLCJpc3MiOiJodHRwczpcL1wvbG9jYWxob3N0Ojk0NDNcL29hdXRoMmVuZHBvaW50c1wvdG9rZW4iLCJpYXQiOjE0NDA2ODQ0NTd9.PkVFe1kZQyIkIPRrGwIHE4M6QY0MpFCU2byg2Hig5VJUzuAS_IJzNU8j4RUcx45kn6RRC7Nhk8O9Ywg_j0A83KyEWb2Dmk-LAnpLhROF-IU-abqtr5ANXBLXiZMZttmFt9zMum9oo_MY9wGtVKm8vJR8ZTtL_K6Xls1dA-0753I"
>  -k  https://${host_ip}:${host_port}/metadata/api/
> *applications/single-cartridge-app/properties *
>
> *Add property to a cluster *
> curl -X *POST* -d "@prop2.json"  -H "Content-Type: application/json" -k
> -H "Authorization: Bearer
> eyJhbGciOiJSUzI1NiJ9.eyJleHAiOjE0NDA2ODM0NTUsInN1YiI6ImFkbWluIiwiYXpwIjoieHRwVVYwZldfanJjRU1jODhnN0kxaWY5RTFRYSIsImFwcElkIjoic2luZ2xlLWNhcnRyaWRnZS1hcHAiLCJhdWQiOlsieHRwVVYwZldfanJjRU1jODhnN0kxaWY5RTFRYSJdLCJpc3MiOiJodHRwczpcL1wvbG9jYWxob3N0Ojk0NDNcL29hdXRoMmVuZHBvaW50c1wvdG9rZW4iLCJpYXQiOjE0NDA2ODQ0NTd9.PkVFe1kZQyIkIPRrGwIHE4M6QY0MpFCU2byg2Hig5VJUzuAS_IJzNU8j4RUcx45kn6RRC7Nhk8O9Ywg_j0A83KyEWb2Dmk-LAnpLhROF-IU-abqtr5ANXBLXiZMZttmFt9zMum9oo_MY9wGtVKm8vJR8ZTtL_K6Xls1dA-0753I"
>  -k  https://${host_ip}:${host_port}/metadata/api/
> *applications/single-cartridge-app/clusters/mycluster/properties *
>
> Get cluster propertiess
> curl -X *GET*  -H "Content-Type: application/json" -k -H "Authorization:
> Bearer
> eyJhbGciOiJSUzI1NiJ9.eyJleHAiOjE0NDA2ODM0NTUsInN1YiI6ImFkbWluIiwiYXpwIjoieHRwVVYwZldfanJjRU1jODhnN0kxaWY5RTFRYSIsImFwcElkIjoic2luZ2xlLWNhcnRyaWRnZS1hcHAiLCJhdWQiOlsieHRwVVYwZldfanJjRU1jODhnN0kxaWY5RTFRYSJdLCJpc3MiOiJodHRwczpcL1wvbG9jYWxob3N0Ojk0NDNcL29hdXRoMmVuZHBvaW50c1wvdG9rZW4iLCJpYXQiOjE0NDA2ODQ0NTd9.PkVFe1kZQyIkIPRrGwIHE4M6QY0MpFCU2byg2Hig5VJUzuAS_IJzNU8j4RUcx45kn6RRC7Nhk8O9Ywg_j0A83KyEWb2Dmk-LAnpLhROF-IU-abqtr5ANXBLXiZMZttmFt9zMum9oo_MY9wGtVKm8vJR8ZTtL_K6Xls1dA-0753I"
>  -k  https://${host_ip}:${host_port}/metadata/api/
> *applications/single-cartridge-app/clusters/mycluster/properties*
> {"properties":[{"key":"name","values":["udara","liyanage"]}]}
>
> *Works to be done*
>
> Add more fine grained APIs
> Add a response message format similar to Stratos REST API, however since
> users rarely execute metadata api, it is not much needed.
> --
>
> Udara Liyanage
> Software Engineer
> WSO2, Inc.: http://wso2.com
> lean. enterprise. middleware
>
> web: http://udaraliyanage.wordpress.com
> phone: +94 71 443 6897
>



-- 

Udara Liyanage
Software Engineer
WSO2, Inc.: http://wso2.com
lean. enterprise. middleware

web: http://udaraliyanage.wordpress.com
phone: +94 71 443 6897