X-Git-Url: https://gerrit.opnfv.org/gerrit/gitweb?a=blobdiff_plain;f=src%2Fceph%2Fsrc%2Frgw%2Frgw_role.h;fp=src%2Fceph%2Fsrc%2Frgw%2Frgw_role.h;h=0000000000000000000000000000000000000000;hb=7da45d65be36d36b880cc55c5036e96c24b53f00;hp=bccb576ed2d83c1e023d6687bcd22321e1afa929;hpb=691462d09d0987b47e112d6ee8740375df3c51b2;p=stor4nfv.git diff --git a/src/ceph/src/rgw/rgw_role.h b/src/ceph/src/rgw/rgw_role.h deleted file mode 100644 index bccb576..0000000 --- a/src/ceph/src/rgw/rgw_role.h +++ /dev/null @@ -1,137 +0,0 @@ -#ifndef CEPH_RGW_ROLE_H -#define CEPH_RGW_ROLE_H - -class RGWRole -{ - static const string role_name_oid_prefix; - static const string role_oid_prefix; - static const string role_path_oid_prefix; - static const string role_arn_prefix; - static constexpr int MAX_ROLE_NAME_LEN = 64; - static constexpr int MAX_PATH_NAME_LEN = 512; - - CephContext *cct; - RGWRados *store; - string id; - string name; - string path; - string arn; - string creation_date; - string trust_policy; - map perm_policy_map; - string tenant; - - int store_info(bool exclusive); - int store_name(bool exclusive); - int store_path(bool exclusive); - int read_id(const string& role_name, const string& tenant, string& role_id); - int read_name(); - int read_info(); - void set_id(const string& id) { this->id = id; } - bool validate_input(); - void extract_name_tenant(const std::string& str); - -public: - RGWRole(CephContext *cct, - RGWRados *store, - string name, - string path, - string trust_policy, - string tenant) - : cct(cct), - store(store), - name(std::move(name)), - path(std::move(path)), - trust_policy(std::move(trust_policy)), - tenant(std::move(tenant)) { - if (this->path.empty()) - this->path = "/"; - extract_name_tenant(this->name); - } - - RGWRole(CephContext *cct, - RGWRados *store, - string name, - string tenant) - : cct(cct), - store(store), - name(std::move(name)), - tenant(std::move(tenant)) { - extract_name_tenant(this->name); - } - - RGWRole(CephContext *cct, - RGWRados *store, - string id) - : cct(cct), - store(store), - id(std::move(id)) {} - - RGWRole(CephContext *cct, - RGWRados *store) - : cct(cct), - store(store) {} - - RGWRole() {} - - ~RGWRole() = default; - - void encode(bufferlist& bl) const { - ENCODE_START(2, 1, bl); - ::encode(id, bl); - ::encode(name, bl); - ::encode(path, bl); - ::encode(arn, bl); - ::encode(creation_date, bl); - ::encode(trust_policy, bl); - ::encode(perm_policy_map, bl); - ::encode(tenant, bl); - ENCODE_FINISH(bl); - } - - void decode(bufferlist::iterator& bl) { - DECODE_START(2, bl); - ::decode(id, bl); - ::decode(name, bl); - ::decode(path, bl); - ::decode(arn, bl); - ::decode(creation_date, bl); - ::decode(trust_policy, bl); - ::decode(perm_policy_map, bl); - if (struct_v >= 2) { - ::decode(tenant, bl); - } - DECODE_FINISH(bl); - } - - const string& get_id() const { return id; } - const string& get_name() const { return name; } - const string& get_path() const { return path; } - const string& get_create_date() const { return creation_date; } - const string& get_assume_role_policy() const { return trust_policy;} - - int create(bool exclusive); - int delete_obj(); - int get(); - int get_by_id(); - int update(); - void update_trust_policy(string& trust_policy); - void set_perm_policy(const string& policy_name, const string& perm_policy); - vector get_role_policy_names(); - int get_role_policy(const string& policy_name, string& perm_policy); - int delete_policy(const string& policy_name); - void dump(Formatter *f) const; - void decode_json(JSONObj *obj); - - static const string& get_names_oid_prefix(); - static const string& get_info_oid_prefix(); - static const string& get_path_oid_prefix(); - static int get_roles_by_path_prefix(RGWRados *store, - CephContext *cct, - const string& path_prefix, - const string& tenant, - vector& roles); -}; -WRITE_CLASS_ENCODER(RGWRole) -#endif /* CEPH_RGW_ROLE_H */ -