class RGWRestRole : public RGWRESTOp {
protected:
- std::string role_name;
- std::string role_path;
- std::string trust_policy;
- std::string policy_name;
- std::string perm_policy;
- std::string path_prefix;
- std::string max_session_duration;
- std::multimap<std::string,std::string> tags;
std::unique_ptr<rgw::sal::RGWRole> _role;
int verify_permission(optional_yield y) override;
int init_processing(optional_yield y) override;
class RGWCreateRole : public RGWRoleWrite {
bufferlist bl_post_body;
+ std::string role_name;
+ std::string role_path;
+ std::string trust_policy;
+ std::string max_session_duration;
+ std::multimap<std::string, std::string> tags;
public:
RGWCreateRole(const bufferlist& bl_post_body) : bl_post_body(bl_post_body) {};
int verify_permission(optional_yield y) override;
class RGWDeleteRole : public RGWRoleWrite {
bufferlist bl_post_body;
+ std::string role_name;
public:
RGWDeleteRole(const bufferlist& bl_post_body) : bl_post_body(bl_post_body) {};
void execute(optional_yield y) override;
};
class RGWGetRole : public RGWRoleRead {
+ std::string role_name;
int _verify_permission(const rgw::sal::RGWRole* role);
public:
RGWGetRole() = default;
class RGWModifyRoleTrustPolicy : public RGWRoleWrite {
bufferlist bl_post_body;
+ std::string role_name;
+ std::string trust_policy;
public:
RGWModifyRoleTrustPolicy(const bufferlist& bl_post_body) : bl_post_body(bl_post_body) {};
void execute(optional_yield y) override;
};
class RGWListRoles : public RGWRoleRead {
+ std::string path_prefix;
public:
RGWListRoles() = default;
int verify_permission(optional_yield y) override;
class RGWPutRolePolicy : public RGWRoleWrite {
bufferlist bl_post_body;
+ std::string role_name;
+ std::string policy_name;
+ std::string perm_policy;
public:
RGWPutRolePolicy(const bufferlist& bl_post_body) : bl_post_body(bl_post_body) {};
void execute(optional_yield y) override;
};
class RGWGetRolePolicy : public RGWRoleRead {
+ std::string role_name;
+ std::string policy_name;
+ std::string perm_policy;
public:
RGWGetRolePolicy() = default;
void execute(optional_yield y) override;
};
class RGWListRolePolicies : public RGWRoleRead {
+ std::string role_name;
public:
RGWListRolePolicies() = default;
void execute(optional_yield y) override;
class RGWDeleteRolePolicy : public RGWRoleWrite {
bufferlist bl_post_body;
+ std::string role_name;
+ std::string policy_name;
public:
RGWDeleteRolePolicy(const bufferlist& bl_post_body) : bl_post_body(bl_post_body) {};
void execute(optional_yield y) override;
class RGWTagRole : public RGWRoleWrite {
bufferlist bl_post_body;
+ std::string role_name;
+ std::multimap<std::string, std::string> tags;
public:
RGWTagRole(const bufferlist& bl_post_body) : bl_post_body(bl_post_body) {};
void execute(optional_yield y) override;
};
class RGWListRoleTags : public RGWRoleRead {
+ std::string role_name;
+ std::multimap<std::string, std::string> tags;
public:
RGWListRoleTags() = default;
void execute(optional_yield y) override;
class RGWUntagRole : public RGWRoleWrite {
bufferlist bl_post_body;
+ std::string role_name;
std::vector<std::string> untag;
public:
RGWUntagRole(const bufferlist& bl_post_body) : bl_post_body(bl_post_body) {};
class RGWUpdateRole : public RGWRoleWrite {
bufferlist bl_post_body;
+ std::string role_name;
+ std::string max_session_duration;
public:
RGWUpdateRole(const bufferlist& bl_post_body) : bl_post_body(bl_post_body) {};
void execute(optional_yield y) override;
const char* name() const override { return "update_role"; }
RGWOpType get_type() override { return RGW_OP_UPDATE_ROLE; }
uint64_t get_op() override { return rgw::IAM::iamUpdateRole; }
-};
\ No newline at end of file
+};