Merge of new rebased code
[appc.git] / appc-adapters / appc-chef-adapter / appc-chef-adapter-bundle / src / main / java / org / openecomp / appc / adapter / chef / chefclient / ChefApiClient.java
1 /*-
2  * ============LICENSE_START=======================================================
3  * openECOMP : APP-C
4  * ================================================================================
5  * Copyright (C) 2017 AT&T Intellectual Property. All rights
6  *                                              reserved.
7  * ================================================================================
8  * Licensed under the Apache License, Version 2.0 (the "License");
9  * you may not use this file except in compliance with the License.
10  * You may obtain a copy of the License at
11  * 
12  *      http://www.apache.org/licenses/LICENSE-2.0
13  * 
14  * Unless required by applicable law or agreed to in writing, software
15  * distributed under the License is distributed on an "AS IS" BASIS,
16  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
17  * See the License for the specific language governing permissions and
18  * limitations under the License.
19  * ============LICENSE_END=========================================================
20  */
21
22 package org.openecomp.appc.adapter.chef.chefclient;
23 import org.apache.http.client.methods.*;
24 import org.openecomp.appc.adapter.chef.chefapi.*;
25
26 public class ChefApiClient {
27         private String endpoint;
28         private String userId;
29         private String pemPath;
30         private String organizations;
31
32         
33
34          
35         /**
36          *
37          * @param userId user name correspond to the pem key
38          * @param pemPath path of the auth key
39          * @param endpoint chef api server address
40          */
41         public ChefApiClient(String userId, String pemPath, String endpoint,String organizations){
42                 this.userId = userId;
43                 this.pemPath = pemPath;
44                 this.endpoint = endpoint;
45                 this.organizations=organizations;
46         }
47
48         /**
49          *
50          * @param path in the endpoint. e.g /clients
51          * @return
52          */
53         public Get get(String path){
54                 Get get = new Get(new HttpGet(endpoint+path));
55                 get.setPemPath(pemPath);
56                 get.setUserId(userId);
57                 get.setOrganizations(organizations);
58                 get.setChefPath(path);
59                 return get;
60         }
61
62         public Put put(String path){
63                 Put put = new Put(new HttpPut(endpoint+path));
64                 put.setPemPath(pemPath);
65                 put.setUserId(userId);
66                 put.setOrganizations(organizations);
67                 put.setChefPath(path);
68                 return put;
69    }
70         public Post post(String path){
71                 Post post = new Post(new HttpPost(endpoint+path));
72                 post.setPemPath(pemPath);
73                 post.setUserId(userId);
74                 post.setOrganizations(organizations);
75                 post.setChefPath(path);
76                 return post;
77         }
78         
79         public Delete delete(String path){
80             Delete del = new Delete(new HttpDelete(endpoint+path));
81             del.setPemPath(pemPath);
82             del.setUserId(userId);
83             del.setOrganizations(organizations);
84             del.setChefPath(path);
85             return del;
86         }
87
88         
89 /*      public Header[] buildHeaders(){
90
91             return null;
92         }
93 */
94 }