This repository has been archived on 2025-09-14. You can view files and clone it, but cannot push or open issues or pull requests.
Files
pxz-hos-client-cpp-module/support/aws-sdk-cpp-master/aws-cpp-sdk-redshift/include/aws/redshift/model/ModifyClusterIamRolesRequest.h

234 lines
9.9 KiB
C++

/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#pragma once
#include <aws/redshift/Redshift_EXPORTS.h>
#include <aws/redshift/RedshiftRequest.h>
#include <aws/core/utils/memory/stl/AWSString.h>
#include <aws/core/utils/memory/stl/AWSVector.h>
#include <utility>
namespace Aws
{
namespace Redshift
{
namespace Model
{
/**
* <p/><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/redshift-2012-12-01/ModifyClusterIamRolesMessage">AWS
* API Reference</a></p>
*/
class AWS_REDSHIFT_API ModifyClusterIamRolesRequest : public RedshiftRequest
{
public:
ModifyClusterIamRolesRequest();
// Service request name is the Operation name which will send this request out,
// each operation should has unique request name, so that we can get operation's name from this request.
// Note: this is not true for response, multiple operations may have the same response name,
// so we can not get operation's name from response.
inline virtual const char* GetServiceRequestName() const override { return "ModifyClusterIamRoles"; }
Aws::String SerializePayload() const override;
protected:
void DumpBodyToUrl(Aws::Http::URI& uri ) const override;
public:
/**
* <p>The unique identifier of the cluster for which you want to associate or
* disassociate IAM roles.</p>
*/
inline const Aws::String& GetClusterIdentifier() const{ return m_clusterIdentifier; }
/**
* <p>The unique identifier of the cluster for which you want to associate or
* disassociate IAM roles.</p>
*/
inline bool ClusterIdentifierHasBeenSet() const { return m_clusterIdentifierHasBeenSet; }
/**
* <p>The unique identifier of the cluster for which you want to associate or
* disassociate IAM roles.</p>
*/
inline void SetClusterIdentifier(const Aws::String& value) { m_clusterIdentifierHasBeenSet = true; m_clusterIdentifier = value; }
/**
* <p>The unique identifier of the cluster for which you want to associate or
* disassociate IAM roles.</p>
*/
inline void SetClusterIdentifier(Aws::String&& value) { m_clusterIdentifierHasBeenSet = true; m_clusterIdentifier = std::move(value); }
/**
* <p>The unique identifier of the cluster for which you want to associate or
* disassociate IAM roles.</p>
*/
inline void SetClusterIdentifier(const char* value) { m_clusterIdentifierHasBeenSet = true; m_clusterIdentifier.assign(value); }
/**
* <p>The unique identifier of the cluster for which you want to associate or
* disassociate IAM roles.</p>
*/
inline ModifyClusterIamRolesRequest& WithClusterIdentifier(const Aws::String& value) { SetClusterIdentifier(value); return *this;}
/**
* <p>The unique identifier of the cluster for which you want to associate or
* disassociate IAM roles.</p>
*/
inline ModifyClusterIamRolesRequest& WithClusterIdentifier(Aws::String&& value) { SetClusterIdentifier(std::move(value)); return *this;}
/**
* <p>The unique identifier of the cluster for which you want to associate or
* disassociate IAM roles.</p>
*/
inline ModifyClusterIamRolesRequest& WithClusterIdentifier(const char* value) { SetClusterIdentifier(value); return *this;}
/**
* <p>Zero or more IAM roles to associate with the cluster. The roles must be in
* their Amazon Resource Name (ARN) format. You can associate up to 10 IAM roles
* with a single cluster in a single request.</p>
*/
inline const Aws::Vector<Aws::String>& GetAddIamRoles() const{ return m_addIamRoles; }
/**
* <p>Zero or more IAM roles to associate with the cluster. The roles must be in
* their Amazon Resource Name (ARN) format. You can associate up to 10 IAM roles
* with a single cluster in a single request.</p>
*/
inline bool AddIamRolesHasBeenSet() const { return m_addIamRolesHasBeenSet; }
/**
* <p>Zero or more IAM roles to associate with the cluster. The roles must be in
* their Amazon Resource Name (ARN) format. You can associate up to 10 IAM roles
* with a single cluster in a single request.</p>
*/
inline void SetAddIamRoles(const Aws::Vector<Aws::String>& value) { m_addIamRolesHasBeenSet = true; m_addIamRoles = value; }
/**
* <p>Zero or more IAM roles to associate with the cluster. The roles must be in
* their Amazon Resource Name (ARN) format. You can associate up to 10 IAM roles
* with a single cluster in a single request.</p>
*/
inline void SetAddIamRoles(Aws::Vector<Aws::String>&& value) { m_addIamRolesHasBeenSet = true; m_addIamRoles = std::move(value); }
/**
* <p>Zero or more IAM roles to associate with the cluster. The roles must be in
* their Amazon Resource Name (ARN) format. You can associate up to 10 IAM roles
* with a single cluster in a single request.</p>
*/
inline ModifyClusterIamRolesRequest& WithAddIamRoles(const Aws::Vector<Aws::String>& value) { SetAddIamRoles(value); return *this;}
/**
* <p>Zero or more IAM roles to associate with the cluster. The roles must be in
* their Amazon Resource Name (ARN) format. You can associate up to 10 IAM roles
* with a single cluster in a single request.</p>
*/
inline ModifyClusterIamRolesRequest& WithAddIamRoles(Aws::Vector<Aws::String>&& value) { SetAddIamRoles(std::move(value)); return *this;}
/**
* <p>Zero or more IAM roles to associate with the cluster. The roles must be in
* their Amazon Resource Name (ARN) format. You can associate up to 10 IAM roles
* with a single cluster in a single request.</p>
*/
inline ModifyClusterIamRolesRequest& AddAddIamRoles(const Aws::String& value) { m_addIamRolesHasBeenSet = true; m_addIamRoles.push_back(value); return *this; }
/**
* <p>Zero or more IAM roles to associate with the cluster. The roles must be in
* their Amazon Resource Name (ARN) format. You can associate up to 10 IAM roles
* with a single cluster in a single request.</p>
*/
inline ModifyClusterIamRolesRequest& AddAddIamRoles(Aws::String&& value) { m_addIamRolesHasBeenSet = true; m_addIamRoles.push_back(std::move(value)); return *this; }
/**
* <p>Zero or more IAM roles to associate with the cluster. The roles must be in
* their Amazon Resource Name (ARN) format. You can associate up to 10 IAM roles
* with a single cluster in a single request.</p>
*/
inline ModifyClusterIamRolesRequest& AddAddIamRoles(const char* value) { m_addIamRolesHasBeenSet = true; m_addIamRoles.push_back(value); return *this; }
/**
* <p>Zero or more IAM roles in ARN format to disassociate from the cluster. You
* can disassociate up to 10 IAM roles from a single cluster in a single
* request.</p>
*/
inline const Aws::Vector<Aws::String>& GetRemoveIamRoles() const{ return m_removeIamRoles; }
/**
* <p>Zero or more IAM roles in ARN format to disassociate from the cluster. You
* can disassociate up to 10 IAM roles from a single cluster in a single
* request.</p>
*/
inline bool RemoveIamRolesHasBeenSet() const { return m_removeIamRolesHasBeenSet; }
/**
* <p>Zero or more IAM roles in ARN format to disassociate from the cluster. You
* can disassociate up to 10 IAM roles from a single cluster in a single
* request.</p>
*/
inline void SetRemoveIamRoles(const Aws::Vector<Aws::String>& value) { m_removeIamRolesHasBeenSet = true; m_removeIamRoles = value; }
/**
* <p>Zero or more IAM roles in ARN format to disassociate from the cluster. You
* can disassociate up to 10 IAM roles from a single cluster in a single
* request.</p>
*/
inline void SetRemoveIamRoles(Aws::Vector<Aws::String>&& value) { m_removeIamRolesHasBeenSet = true; m_removeIamRoles = std::move(value); }
/**
* <p>Zero or more IAM roles in ARN format to disassociate from the cluster. You
* can disassociate up to 10 IAM roles from a single cluster in a single
* request.</p>
*/
inline ModifyClusterIamRolesRequest& WithRemoveIamRoles(const Aws::Vector<Aws::String>& value) { SetRemoveIamRoles(value); return *this;}
/**
* <p>Zero or more IAM roles in ARN format to disassociate from the cluster. You
* can disassociate up to 10 IAM roles from a single cluster in a single
* request.</p>
*/
inline ModifyClusterIamRolesRequest& WithRemoveIamRoles(Aws::Vector<Aws::String>&& value) { SetRemoveIamRoles(std::move(value)); return *this;}
/**
* <p>Zero or more IAM roles in ARN format to disassociate from the cluster. You
* can disassociate up to 10 IAM roles from a single cluster in a single
* request.</p>
*/
inline ModifyClusterIamRolesRequest& AddRemoveIamRoles(const Aws::String& value) { m_removeIamRolesHasBeenSet = true; m_removeIamRoles.push_back(value); return *this; }
/**
* <p>Zero or more IAM roles in ARN format to disassociate from the cluster. You
* can disassociate up to 10 IAM roles from a single cluster in a single
* request.</p>
*/
inline ModifyClusterIamRolesRequest& AddRemoveIamRoles(Aws::String&& value) { m_removeIamRolesHasBeenSet = true; m_removeIamRoles.push_back(std::move(value)); return *this; }
/**
* <p>Zero or more IAM roles in ARN format to disassociate from the cluster. You
* can disassociate up to 10 IAM roles from a single cluster in a single
* request.</p>
*/
inline ModifyClusterIamRolesRequest& AddRemoveIamRoles(const char* value) { m_removeIamRolesHasBeenSet = true; m_removeIamRoles.push_back(value); return *this; }
private:
Aws::String m_clusterIdentifier;
bool m_clusterIdentifierHasBeenSet;
Aws::Vector<Aws::String> m_addIamRoles;
bool m_addIamRolesHasBeenSet;
Aws::Vector<Aws::String> m_removeIamRoles;
bool m_removeIamRolesHasBeenSet;
};
} // namespace Model
} // namespace Redshift
} // namespace Aws