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 <[email protected]> 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 <[email protected]> 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 <[email protected]> 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 <[email protected]> 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": [ >>>> "[email protected]", >>>> "[email protected]" >>>> ] >>>> }, >>>> { >>>> "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": [ >>>> "[email protected]", >>>> "[email protected]" >>>> ] >>>> } >>>> >>>> *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 >> > >
