/** * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. * SPDX-License-Identifier: Apache-2.0. */ #pragma once #include #include #include #include #include #include #include namespace Aws { namespace RedshiftServerless { namespace Model { /** */ class CreateNamespaceRequest : public RedshiftServerlessRequest { public: AWS_REDSHIFTSERVERLESS_API CreateNamespaceRequest(); // 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 "CreateNamespace"; } AWS_REDSHIFTSERVERLESS_API Aws::String SerializePayload() const override; AWS_REDSHIFTSERVERLESS_API Aws::Http::HeaderValueCollection GetRequestSpecificHeaders() const override; /** *

The password of the administrator for the first database created in the * namespace.

*/ inline const Aws::String& GetAdminUserPassword() const{ return m_adminUserPassword; } /** *

The password of the administrator for the first database created in the * namespace.

*/ inline bool AdminUserPasswordHasBeenSet() const { return m_adminUserPasswordHasBeenSet; } /** *

The password of the administrator for the first database created in the * namespace.

*/ inline void SetAdminUserPassword(const Aws::String& value) { m_adminUserPasswordHasBeenSet = true; m_adminUserPassword = value; } /** *

The password of the administrator for the first database created in the * namespace.

*/ inline void SetAdminUserPassword(Aws::String&& value) { m_adminUserPasswordHasBeenSet = true; m_adminUserPassword = std::move(value); } /** *

The password of the administrator for the first database created in the * namespace.

*/ inline void SetAdminUserPassword(const char* value) { m_adminUserPasswordHasBeenSet = true; m_adminUserPassword.assign(value); } /** *

The password of the administrator for the first database created in the * namespace.

*/ inline CreateNamespaceRequest& WithAdminUserPassword(const Aws::String& value) { SetAdminUserPassword(value); return *this;} /** *

The password of the administrator for the first database created in the * namespace.

*/ inline CreateNamespaceRequest& WithAdminUserPassword(Aws::String&& value) { SetAdminUserPassword(std::move(value)); return *this;} /** *

The password of the administrator for the first database created in the * namespace.

*/ inline CreateNamespaceRequest& WithAdminUserPassword(const char* value) { SetAdminUserPassword(value); return *this;} /** *

The username of the administrator for the first database created in the * namespace.

*/ inline const Aws::String& GetAdminUsername() const{ return m_adminUsername; } /** *

The username of the administrator for the first database created in the * namespace.

*/ inline bool AdminUsernameHasBeenSet() const { return m_adminUsernameHasBeenSet; } /** *

The username of the administrator for the first database created in the * namespace.

*/ inline void SetAdminUsername(const Aws::String& value) { m_adminUsernameHasBeenSet = true; m_adminUsername = value; } /** *

The username of the administrator for the first database created in the * namespace.

*/ inline void SetAdminUsername(Aws::String&& value) { m_adminUsernameHasBeenSet = true; m_adminUsername = std::move(value); } /** *

The username of the administrator for the first database created in the * namespace.

*/ inline void SetAdminUsername(const char* value) { m_adminUsernameHasBeenSet = true; m_adminUsername.assign(value); } /** *

The username of the administrator for the first database created in the * namespace.

*/ inline CreateNamespaceRequest& WithAdminUsername(const Aws::String& value) { SetAdminUsername(value); return *this;} /** *

The username of the administrator for the first database created in the * namespace.

*/ inline CreateNamespaceRequest& WithAdminUsername(Aws::String&& value) { SetAdminUsername(std::move(value)); return *this;} /** *

The username of the administrator for the first database created in the * namespace.

*/ inline CreateNamespaceRequest& WithAdminUsername(const char* value) { SetAdminUsername(value); return *this;} /** *

The name of the first database created in the namespace.

*/ inline const Aws::String& GetDbName() const{ return m_dbName; } /** *

The name of the first database created in the namespace.

*/ inline bool DbNameHasBeenSet() const { return m_dbNameHasBeenSet; } /** *

The name of the first database created in the namespace.

*/ inline void SetDbName(const Aws::String& value) { m_dbNameHasBeenSet = true; m_dbName = value; } /** *

The name of the first database created in the namespace.

*/ inline void SetDbName(Aws::String&& value) { m_dbNameHasBeenSet = true; m_dbName = std::move(value); } /** *

The name of the first database created in the namespace.

*/ inline void SetDbName(const char* value) { m_dbNameHasBeenSet = true; m_dbName.assign(value); } /** *

The name of the first database created in the namespace.

*/ inline CreateNamespaceRequest& WithDbName(const Aws::String& value) { SetDbName(value); return *this;} /** *

The name of the first database created in the namespace.

*/ inline CreateNamespaceRequest& WithDbName(Aws::String&& value) { SetDbName(std::move(value)); return *this;} /** *

The name of the first database created in the namespace.

*/ inline CreateNamespaceRequest& WithDbName(const char* value) { SetDbName(value); return *this;} /** *

The Amazon Resource Name (ARN) of the IAM role to set as a default in the * namespace.

*/ inline const Aws::String& GetDefaultIamRoleArn() const{ return m_defaultIamRoleArn; } /** *

The Amazon Resource Name (ARN) of the IAM role to set as a default in the * namespace.

*/ inline bool DefaultIamRoleArnHasBeenSet() const { return m_defaultIamRoleArnHasBeenSet; } /** *

The Amazon Resource Name (ARN) of the IAM role to set as a default in the * namespace.

*/ inline void SetDefaultIamRoleArn(const Aws::String& value) { m_defaultIamRoleArnHasBeenSet = true; m_defaultIamRoleArn = value; } /** *

The Amazon Resource Name (ARN) of the IAM role to set as a default in the * namespace.

*/ inline void SetDefaultIamRoleArn(Aws::String&& value) { m_defaultIamRoleArnHasBeenSet = true; m_defaultIamRoleArn = std::move(value); } /** *

The Amazon Resource Name (ARN) of the IAM role to set as a default in the * namespace.

*/ inline void SetDefaultIamRoleArn(const char* value) { m_defaultIamRoleArnHasBeenSet = true; m_defaultIamRoleArn.assign(value); } /** *

The Amazon Resource Name (ARN) of the IAM role to set as a default in the * namespace.

*/ inline CreateNamespaceRequest& WithDefaultIamRoleArn(const Aws::String& value) { SetDefaultIamRoleArn(value); return *this;} /** *

The Amazon Resource Name (ARN) of the IAM role to set as a default in the * namespace.

*/ inline CreateNamespaceRequest& WithDefaultIamRoleArn(Aws::String&& value) { SetDefaultIamRoleArn(std::move(value)); return *this;} /** *

The Amazon Resource Name (ARN) of the IAM role to set as a default in the * namespace.

*/ inline CreateNamespaceRequest& WithDefaultIamRoleArn(const char* value) { SetDefaultIamRoleArn(value); return *this;} /** *

A list of IAM roles to associate with the namespace.

*/ inline const Aws::Vector& GetIamRoles() const{ return m_iamRoles; } /** *

A list of IAM roles to associate with the namespace.

*/ inline bool IamRolesHasBeenSet() const { return m_iamRolesHasBeenSet; } /** *

A list of IAM roles to associate with the namespace.

*/ inline void SetIamRoles(const Aws::Vector& value) { m_iamRolesHasBeenSet = true; m_iamRoles = value; } /** *

A list of IAM roles to associate with the namespace.

*/ inline void SetIamRoles(Aws::Vector&& value) { m_iamRolesHasBeenSet = true; m_iamRoles = std::move(value); } /** *

A list of IAM roles to associate with the namespace.

*/ inline CreateNamespaceRequest& WithIamRoles(const Aws::Vector& value) { SetIamRoles(value); return *this;} /** *

A list of IAM roles to associate with the namespace.

*/ inline CreateNamespaceRequest& WithIamRoles(Aws::Vector&& value) { SetIamRoles(std::move(value)); return *this;} /** *

A list of IAM roles to associate with the namespace.

*/ inline CreateNamespaceRequest& AddIamRoles(const Aws::String& value) { m_iamRolesHasBeenSet = true; m_iamRoles.push_back(value); return *this; } /** *

A list of IAM roles to associate with the namespace.

*/ inline CreateNamespaceRequest& AddIamRoles(Aws::String&& value) { m_iamRolesHasBeenSet = true; m_iamRoles.push_back(std::move(value)); return *this; } /** *

A list of IAM roles to associate with the namespace.

*/ inline CreateNamespaceRequest& AddIamRoles(const char* value) { m_iamRolesHasBeenSet = true; m_iamRoles.push_back(value); return *this; } /** *

The ID of the Amazon Web Services Key Management Service key used to encrypt * your data.

*/ inline const Aws::String& GetKmsKeyId() const{ return m_kmsKeyId; } /** *

The ID of the Amazon Web Services Key Management Service key used to encrypt * your data.

*/ inline bool KmsKeyIdHasBeenSet() const { return m_kmsKeyIdHasBeenSet; } /** *

The ID of the Amazon Web Services Key Management Service key used to encrypt * your data.

*/ inline void SetKmsKeyId(const Aws::String& value) { m_kmsKeyIdHasBeenSet = true; m_kmsKeyId = value; } /** *

The ID of the Amazon Web Services Key Management Service key used to encrypt * your data.

*/ inline void SetKmsKeyId(Aws::String&& value) { m_kmsKeyIdHasBeenSet = true; m_kmsKeyId = std::move(value); } /** *

The ID of the Amazon Web Services Key Management Service key used to encrypt * your data.

*/ inline void SetKmsKeyId(const char* value) { m_kmsKeyIdHasBeenSet = true; m_kmsKeyId.assign(value); } /** *

The ID of the Amazon Web Services Key Management Service key used to encrypt * your data.

*/ inline CreateNamespaceRequest& WithKmsKeyId(const Aws::String& value) { SetKmsKeyId(value); return *this;} /** *

The ID of the Amazon Web Services Key Management Service key used to encrypt * your data.

*/ inline CreateNamespaceRequest& WithKmsKeyId(Aws::String&& value) { SetKmsKeyId(std::move(value)); return *this;} /** *

The ID of the Amazon Web Services Key Management Service key used to encrypt * your data.

*/ inline CreateNamespaceRequest& WithKmsKeyId(const char* value) { SetKmsKeyId(value); return *this;} /** *

The types of logs the namespace can export. Available export types are * userlog, connectionlog, and * useractivitylog.

*/ inline const Aws::Vector& GetLogExports() const{ return m_logExports; } /** *

The types of logs the namespace can export. Available export types are * userlog, connectionlog, and * useractivitylog.

*/ inline bool LogExportsHasBeenSet() const { return m_logExportsHasBeenSet; } /** *

The types of logs the namespace can export. Available export types are * userlog, connectionlog, and * useractivitylog.

*/ inline void SetLogExports(const Aws::Vector& value) { m_logExportsHasBeenSet = true; m_logExports = value; } /** *

The types of logs the namespace can export. Available export types are * userlog, connectionlog, and * useractivitylog.

*/ inline void SetLogExports(Aws::Vector&& value) { m_logExportsHasBeenSet = true; m_logExports = std::move(value); } /** *

The types of logs the namespace can export. Available export types are * userlog, connectionlog, and * useractivitylog.

*/ inline CreateNamespaceRequest& WithLogExports(const Aws::Vector& value) { SetLogExports(value); return *this;} /** *

The types of logs the namespace can export. Available export types are * userlog, connectionlog, and * useractivitylog.

*/ inline CreateNamespaceRequest& WithLogExports(Aws::Vector&& value) { SetLogExports(std::move(value)); return *this;} /** *

The types of logs the namespace can export. Available export types are * userlog, connectionlog, and * useractivitylog.

*/ inline CreateNamespaceRequest& AddLogExports(const LogExport& value) { m_logExportsHasBeenSet = true; m_logExports.push_back(value); return *this; } /** *

The types of logs the namespace can export. Available export types are * userlog, connectionlog, and * useractivitylog.

*/ inline CreateNamespaceRequest& AddLogExports(LogExport&& value) { m_logExportsHasBeenSet = true; m_logExports.push_back(std::move(value)); return *this; } /** *

The name of the namespace.

*/ inline const Aws::String& GetNamespaceName() const{ return m_namespaceName; } /** *

The name of the namespace.

*/ inline bool NamespaceNameHasBeenSet() const { return m_namespaceNameHasBeenSet; } /** *

The name of the namespace.

*/ inline void SetNamespaceName(const Aws::String& value) { m_namespaceNameHasBeenSet = true; m_namespaceName = value; } /** *

The name of the namespace.

*/ inline void SetNamespaceName(Aws::String&& value) { m_namespaceNameHasBeenSet = true; m_namespaceName = std::move(value); } /** *

The name of the namespace.

*/ inline void SetNamespaceName(const char* value) { m_namespaceNameHasBeenSet = true; m_namespaceName.assign(value); } /** *

The name of the namespace.

*/ inline CreateNamespaceRequest& WithNamespaceName(const Aws::String& value) { SetNamespaceName(value); return *this;} /** *

The name of the namespace.

*/ inline CreateNamespaceRequest& WithNamespaceName(Aws::String&& value) { SetNamespaceName(std::move(value)); return *this;} /** *

The name of the namespace.

*/ inline CreateNamespaceRequest& WithNamespaceName(const char* value) { SetNamespaceName(value); return *this;} /** *

A list of tag instances.

*/ inline const Aws::Vector& GetTags() const{ return m_tags; } /** *

A list of tag instances.

*/ inline bool TagsHasBeenSet() const { return m_tagsHasBeenSet; } /** *

A list of tag instances.

*/ inline void SetTags(const Aws::Vector& value) { m_tagsHasBeenSet = true; m_tags = value; } /** *

A list of tag instances.

*/ inline void SetTags(Aws::Vector&& value) { m_tagsHasBeenSet = true; m_tags = std::move(value); } /** *

A list of tag instances.

*/ inline CreateNamespaceRequest& WithTags(const Aws::Vector& value) { SetTags(value); return *this;} /** *

A list of tag instances.

*/ inline CreateNamespaceRequest& WithTags(Aws::Vector&& value) { SetTags(std::move(value)); return *this;} /** *

A list of tag instances.

*/ inline CreateNamespaceRequest& AddTags(const Tag& value) { m_tagsHasBeenSet = true; m_tags.push_back(value); return *this; } /** *

A list of tag instances.

*/ inline CreateNamespaceRequest& AddTags(Tag&& value) { m_tagsHasBeenSet = true; m_tags.push_back(std::move(value)); return *this; } private: Aws::String m_adminUserPassword; bool m_adminUserPasswordHasBeenSet = false; Aws::String m_adminUsername; bool m_adminUsernameHasBeenSet = false; Aws::String m_dbName; bool m_dbNameHasBeenSet = false; Aws::String m_defaultIamRoleArn; bool m_defaultIamRoleArnHasBeenSet = false; Aws::Vector m_iamRoles; bool m_iamRolesHasBeenSet = false; Aws::String m_kmsKeyId; bool m_kmsKeyIdHasBeenSet = false; Aws::Vector m_logExports; bool m_logExportsHasBeenSet = false; Aws::String m_namespaceName; bool m_namespaceNameHasBeenSet = false; Aws::Vector m_tags; bool m_tagsHasBeenSet = false; }; } // namespace Model } // namespace RedshiftServerless } // namespace Aws