Supported AssumeRoleWithOIDC.
This commit is contained in:
@@ -24,10 +24,10 @@
|
||||
#include "StsExport.h"
|
||||
#include "model/AssumeRoleRequest.h"
|
||||
#include "model/AssumeRoleResult.h"
|
||||
#include "model/AssumeRoleWithOIDCRequest.h"
|
||||
#include "model/AssumeRoleWithOIDCResult.h"
|
||||
#include "model/AssumeRoleWithSAMLRequest.h"
|
||||
#include "model/AssumeRoleWithSAMLResult.h"
|
||||
#include "model/GenerateSessionAccessKeyRequest.h"
|
||||
#include "model/GenerateSessionAccessKeyResult.h"
|
||||
#include "model/GetCallerIdentityRequest.h"
|
||||
#include "model/GetCallerIdentityResult.h"
|
||||
|
||||
@@ -42,12 +42,12 @@ namespace AlibabaCloud
|
||||
typedef Outcome<Error, Model::AssumeRoleResult> AssumeRoleOutcome;
|
||||
typedef std::future<AssumeRoleOutcome> AssumeRoleOutcomeCallable;
|
||||
typedef std::function<void(const StsClient*, const Model::AssumeRoleRequest&, const AssumeRoleOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> AssumeRoleAsyncHandler;
|
||||
typedef Outcome<Error, Model::AssumeRoleWithOIDCResult> AssumeRoleWithOIDCOutcome;
|
||||
typedef std::future<AssumeRoleWithOIDCOutcome> AssumeRoleWithOIDCOutcomeCallable;
|
||||
typedef std::function<void(const StsClient*, const Model::AssumeRoleWithOIDCRequest&, const AssumeRoleWithOIDCOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> AssumeRoleWithOIDCAsyncHandler;
|
||||
typedef Outcome<Error, Model::AssumeRoleWithSAMLResult> AssumeRoleWithSAMLOutcome;
|
||||
typedef std::future<AssumeRoleWithSAMLOutcome> AssumeRoleWithSAMLOutcomeCallable;
|
||||
typedef std::function<void(const StsClient*, const Model::AssumeRoleWithSAMLRequest&, const AssumeRoleWithSAMLOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> AssumeRoleWithSAMLAsyncHandler;
|
||||
typedef Outcome<Error, Model::GenerateSessionAccessKeyResult> GenerateSessionAccessKeyOutcome;
|
||||
typedef std::future<GenerateSessionAccessKeyOutcome> GenerateSessionAccessKeyOutcomeCallable;
|
||||
typedef std::function<void(const StsClient*, const Model::GenerateSessionAccessKeyRequest&, const GenerateSessionAccessKeyOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> GenerateSessionAccessKeyAsyncHandler;
|
||||
typedef Outcome<Error, Model::GetCallerIdentityResult> GetCallerIdentityOutcome;
|
||||
typedef std::future<GetCallerIdentityOutcome> GetCallerIdentityOutcomeCallable;
|
||||
typedef std::function<void(const StsClient*, const Model::GetCallerIdentityRequest&, const GetCallerIdentityOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> GetCallerIdentityAsyncHandler;
|
||||
@@ -59,12 +59,12 @@ namespace AlibabaCloud
|
||||
AssumeRoleOutcome assumeRole(const Model::AssumeRoleRequest &request)const;
|
||||
void assumeRoleAsync(const Model::AssumeRoleRequest& request, const AssumeRoleAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
|
||||
AssumeRoleOutcomeCallable assumeRoleCallable(const Model::AssumeRoleRequest& request) const;
|
||||
AssumeRoleWithOIDCOutcome assumeRoleWithOIDC(const Model::AssumeRoleWithOIDCRequest &request)const;
|
||||
void assumeRoleWithOIDCAsync(const Model::AssumeRoleWithOIDCRequest& request, const AssumeRoleWithOIDCAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
|
||||
AssumeRoleWithOIDCOutcomeCallable assumeRoleWithOIDCCallable(const Model::AssumeRoleWithOIDCRequest& request) const;
|
||||
AssumeRoleWithSAMLOutcome assumeRoleWithSAML(const Model::AssumeRoleWithSAMLRequest &request)const;
|
||||
void assumeRoleWithSAMLAsync(const Model::AssumeRoleWithSAMLRequest& request, const AssumeRoleWithSAMLAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
|
||||
AssumeRoleWithSAMLOutcomeCallable assumeRoleWithSAMLCallable(const Model::AssumeRoleWithSAMLRequest& request) const;
|
||||
GenerateSessionAccessKeyOutcome generateSessionAccessKey(const Model::GenerateSessionAccessKeyRequest &request)const;
|
||||
void generateSessionAccessKeyAsync(const Model::GenerateSessionAccessKeyRequest& request, const GenerateSessionAccessKeyAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
|
||||
GenerateSessionAccessKeyOutcomeCallable generateSessionAccessKeyCallable(const Model::GenerateSessionAccessKeyRequest& request) const;
|
||||
GetCallerIdentityOutcome getCallerIdentity(const Model::GetCallerIdentityRequest &request)const;
|
||||
void getCallerIdentityAsync(const Model::GetCallerIdentityRequest& request, const GetCallerIdentityAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
|
||||
GetCallerIdentityOutcomeCallable getCallerIdentityCallable(const Model::GetCallerIdentityRequest& request) const;
|
||||
|
||||
@@ -32,6 +32,11 @@ namespace AlibabaCloud
|
||||
class ALIBABACLOUD_STS_EXPORT AssumeRoleResult : public ServiceResult
|
||||
{
|
||||
public:
|
||||
struct AssumedRoleUser
|
||||
{
|
||||
std::string arn;
|
||||
std::string assumedRoleId;
|
||||
};
|
||||
struct Credentials
|
||||
{
|
||||
std::string securityToken;
|
||||
@@ -39,11 +44,6 @@ namespace AlibabaCloud
|
||||
std::string accessKeySecret;
|
||||
std::string expiration;
|
||||
};
|
||||
struct AssumedRoleUser
|
||||
{
|
||||
std::string arn;
|
||||
std::string assumedRoleId;
|
||||
};
|
||||
|
||||
|
||||
AssumeRoleResult();
|
||||
|
||||
@@ -14,8 +14,8 @@
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
#ifndef ALIBABACLOUD_STS_MODEL_GENERATESESSIONACCESSKEYREQUEST_H_
|
||||
#define ALIBABACLOUD_STS_MODEL_GENERATESESSIONACCESSKEYREQUEST_H_
|
||||
#ifndef ALIBABACLOUD_STS_MODEL_ASSUMEROLEWITHOIDCREQUEST_H_
|
||||
#define ALIBABACLOUD_STS_MODEL_ASSUMEROLEWITHOIDCREQUEST_H_
|
||||
|
||||
#include <string>
|
||||
#include <vector>
|
||||
@@ -28,21 +28,36 @@ namespace AlibabaCloud
|
||||
{
|
||||
namespace Model
|
||||
{
|
||||
class ALIBABACLOUD_STS_EXPORT GenerateSessionAccessKeyRequest : public RpcServiceRequest
|
||||
class ALIBABACLOUD_STS_EXPORT AssumeRoleWithOIDCRequest : public RpcServiceRequest
|
||||
{
|
||||
|
||||
public:
|
||||
GenerateSessionAccessKeyRequest();
|
||||
~GenerateSessionAccessKeyRequest();
|
||||
AssumeRoleWithOIDCRequest();
|
||||
~AssumeRoleWithOIDCRequest();
|
||||
|
||||
std::string getRoleArn()const;
|
||||
void setRoleArn(const std::string& roleArn);
|
||||
std::string getRoleSessionName()const;
|
||||
void setRoleSessionName(const std::string& roleSessionName);
|
||||
std::string getOIDCToken()const;
|
||||
void setOIDCToken(const std::string& oIDCToken);
|
||||
long getDurationSeconds()const;
|
||||
void setDurationSeconds(long durationSeconds);
|
||||
std::string getOIDCProviderArn()const;
|
||||
void setOIDCProviderArn(const std::string& oIDCProviderArn);
|
||||
std::string getPolicy()const;
|
||||
void setPolicy(const std::string& policy);
|
||||
|
||||
private:
|
||||
std::string roleArn_;
|
||||
std::string roleSessionName_;
|
||||
std::string oIDCToken_;
|
||||
long durationSeconds_;
|
||||
std::string oIDCProviderArn_;
|
||||
std::string policy_;
|
||||
|
||||
};
|
||||
}
|
||||
}
|
||||
}
|
||||
#endif // !ALIBABACLOUD_STS_MODEL_GENERATESESSIONACCESSKEYREQUEST_H_
|
||||
#endif // !ALIBABACLOUD_STS_MODEL_ASSUMEROLEWITHOIDCREQUEST_H_
|
||||
@@ -14,8 +14,8 @@
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
#ifndef ALIBABACLOUD_STS_MODEL_GENERATESESSIONACCESSKEYRESULT_H_
|
||||
#define ALIBABACLOUD_STS_MODEL_GENERATESESSIONACCESSKEYRESULT_H_
|
||||
#ifndef ALIBABACLOUD_STS_MODEL_ASSUMEROLEWITHOIDCRESULT_H_
|
||||
#define ALIBABACLOUD_STS_MODEL_ASSUMEROLEWITHOIDCRESULT_H_
|
||||
|
||||
#include <string>
|
||||
#include <vector>
|
||||
@@ -29,29 +29,45 @@ namespace AlibabaCloud
|
||||
{
|
||||
namespace Model
|
||||
{
|
||||
class ALIBABACLOUD_STS_EXPORT GenerateSessionAccessKeyResult : public ServiceResult
|
||||
class ALIBABACLOUD_STS_EXPORT AssumeRoleWithOIDCResult : public ServiceResult
|
||||
{
|
||||
public:
|
||||
struct SessionAccessKey
|
||||
struct OIDCTokenInfo
|
||||
{
|
||||
std::string sessionAccessKeyId;
|
||||
std::string issuer;
|
||||
std::string subject;
|
||||
std::string clientIds;
|
||||
};
|
||||
struct AssumedRoleUser
|
||||
{
|
||||
std::string arn;
|
||||
std::string assumedRoleId;
|
||||
};
|
||||
struct Credentials
|
||||
{
|
||||
std::string securityToken;
|
||||
std::string accessKeyId;
|
||||
std::string accessKeySecret;
|
||||
std::string expiration;
|
||||
std::string sessionAccessKeySecret;
|
||||
};
|
||||
|
||||
|
||||
GenerateSessionAccessKeyResult();
|
||||
explicit GenerateSessionAccessKeyResult(const std::string &payload);
|
||||
~GenerateSessionAccessKeyResult();
|
||||
SessionAccessKey getSessionAccessKey()const;
|
||||
AssumeRoleWithOIDCResult();
|
||||
explicit AssumeRoleWithOIDCResult(const std::string &payload);
|
||||
~AssumeRoleWithOIDCResult();
|
||||
OIDCTokenInfo getOIDCTokenInfo()const;
|
||||
AssumedRoleUser getAssumedRoleUser()const;
|
||||
Credentials getCredentials()const;
|
||||
|
||||
protected:
|
||||
void parse(const std::string &payload);
|
||||
private:
|
||||
SessionAccessKey sessionAccessKey_;
|
||||
OIDCTokenInfo oIDCTokenInfo_;
|
||||
AssumedRoleUser assumedRoleUser_;
|
||||
Credentials credentials_;
|
||||
|
||||
};
|
||||
}
|
||||
}
|
||||
}
|
||||
#endif // !ALIBABACLOUD_STS_MODEL_GENERATESESSIONACCESSKEYRESULT_H_
|
||||
#endif // !ALIBABACLOUD_STS_MODEL_ASSUMEROLEWITHOIDCRESULT_H_
|
||||
@@ -32,18 +32,6 @@ namespace AlibabaCloud
|
||||
class ALIBABACLOUD_STS_EXPORT AssumeRoleWithSAMLResult : public ServiceResult
|
||||
{
|
||||
public:
|
||||
struct Credentials
|
||||
{
|
||||
std::string securityToken;
|
||||
std::string accessKeyId;
|
||||
std::string accessKeySecret;
|
||||
std::string expiration;
|
||||
};
|
||||
struct AssumedRoleUser
|
||||
{
|
||||
std::string arn;
|
||||
std::string assumedRoleId;
|
||||
};
|
||||
struct SAMLAssertionInfo
|
||||
{
|
||||
std::string subjectType;
|
||||
@@ -51,6 +39,18 @@ namespace AlibabaCloud
|
||||
std::string recipient;
|
||||
std::string subject;
|
||||
};
|
||||
struct AssumedRoleUser
|
||||
{
|
||||
std::string arn;
|
||||
std::string assumedRoleId;
|
||||
};
|
||||
struct Credentials
|
||||
{
|
||||
std::string securityToken;
|
||||
std::string accessKeyId;
|
||||
std::string accessKeySecret;
|
||||
std::string expiration;
|
||||
};
|
||||
|
||||
|
||||
AssumeRoleWithSAMLResult();
|
||||
|
||||
Reference in New Issue
Block a user