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