@@ -28,6 +28,8 @@
|
||||
#include "model/GenerateSessionAccessKeyResult.h"
|
||||
#include "model/AssumeRoleRequest.h"
|
||||
#include "model/AssumeRoleResult.h"
|
||||
#include "model/AssumeRoleWithSAMLRequest.h"
|
||||
#include "model/AssumeRoleWithSAMLResult.h"
|
||||
|
||||
|
||||
namespace AlibabaCloud
|
||||
@@ -46,6 +48,9 @@ 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::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;
|
||||
|
||||
StsClient(const Credentials &credentials, const ClientConfiguration &configuration);
|
||||
StsClient(const std::shared_ptr<CredentialsProvider> &credentialsProvider, const ClientConfiguration &configuration);
|
||||
@@ -60,6 +65,9 @@ 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;
|
||||
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;
|
||||
|
||||
private:
|
||||
std::shared_ptr<EndpointProvider> endpointProvider_;
|
||||
|
||||
@@ -0,0 +1,60 @@
|
||||
/*
|
||||
* Copyright 2009-2017 Alibaba Cloud All rights reserved.
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
* You may obtain a copy of the License at
|
||||
*
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing, software
|
||||
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
#ifndef ALIBABACLOUD_STS_MODEL_ASSUMEROLEWITHSAMLREQUEST_H_
|
||||
#define ALIBABACLOUD_STS_MODEL_ASSUMEROLEWITHSAMLREQUEST_H_
|
||||
|
||||
#include <string>
|
||||
#include <vector>
|
||||
#include <alibabacloud/core/RpcServiceRequest.h>
|
||||
#include <alibabacloud/sts/StsExport.h>
|
||||
|
||||
namespace AlibabaCloud
|
||||
{
|
||||
namespace Sts
|
||||
{
|
||||
namespace Model
|
||||
{
|
||||
class ALIBABACLOUD_STS_EXPORT AssumeRoleWithSAMLRequest : public RpcServiceRequest
|
||||
{
|
||||
|
||||
public:
|
||||
AssumeRoleWithSAMLRequest();
|
||||
~AssumeRoleWithSAMLRequest();
|
||||
|
||||
std::string getRoleArn()const;
|
||||
void setRoleArn(const std::string& roleArn);
|
||||
std::string getSAMLProviderArn()const;
|
||||
void setSAMLProviderArn(const std::string& sAMLProviderArn);
|
||||
std::string getSAMLAssertion()const;
|
||||
void setSAMLAssertion(const std::string& sAMLAssertion);
|
||||
long getDurationSeconds()const;
|
||||
void setDurationSeconds(long durationSeconds);
|
||||
std::string getPolicy()const;
|
||||
void setPolicy(const std::string& policy);
|
||||
|
||||
private:
|
||||
std::string roleArn_;
|
||||
std::string sAMLProviderArn_;
|
||||
std::string sAMLAssertion_;
|
||||
long durationSeconds_;
|
||||
std::string policy_;
|
||||
|
||||
};
|
||||
}
|
||||
}
|
||||
}
|
||||
#endif // !ALIBABACLOUD_STS_MODEL_ASSUMEROLEWITHSAMLREQUEST_H_
|
||||
@@ -0,0 +1,74 @@
|
||||
/*
|
||||
* Copyright 2009-2017 Alibaba Cloud All rights reserved.
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
* You may obtain a copy of the License at
|
||||
*
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing, software
|
||||
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
#ifndef ALIBABACLOUD_STS_MODEL_ASSUMEROLEWITHSAMLRESULT_H_
|
||||
#define ALIBABACLOUD_STS_MODEL_ASSUMEROLEWITHSAMLRESULT_H_
|
||||
|
||||
#include <string>
|
||||
#include <vector>
|
||||
#include <utility>
|
||||
#include <alibabacloud/core/ServiceResult.h>
|
||||
#include <alibabacloud/sts/StsExport.h>
|
||||
|
||||
namespace AlibabaCloud
|
||||
{
|
||||
namespace Sts
|
||||
{
|
||||
namespace Model
|
||||
{
|
||||
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;
|
||||
std::string issuer;
|
||||
std::string recipient;
|
||||
std::string subject;
|
||||
};
|
||||
|
||||
|
||||
AssumeRoleWithSAMLResult();
|
||||
explicit AssumeRoleWithSAMLResult(const std::string &payload);
|
||||
~AssumeRoleWithSAMLResult();
|
||||
SAMLAssertionInfo getSAMLAssertionInfo()const;
|
||||
AssumedRoleUser getAssumedRoleUser()const;
|
||||
Credentials getCredentials()const;
|
||||
|
||||
protected:
|
||||
void parse(const std::string &payload);
|
||||
private:
|
||||
SAMLAssertionInfo sAMLAssertionInfo_;
|
||||
AssumedRoleUser assumedRoleUser_;
|
||||
Credentials credentials_;
|
||||
|
||||
};
|
||||
}
|
||||
}
|
||||
}
|
||||
#endif // !ALIBABACLOUD_STS_MODEL_ASSUMEROLEWITHSAMLRESULT_H_
|
||||
Reference in New Issue
Block a user