/** * 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 Utils { namespace Json { class JsonValue; class JsonView; } // namespace Json } // namespace Utils namespace Glue { namespace Model { /** *

Represents the equivalent of a Hive user-defined function (UDF) * definition.

See Also:

AWS * API Reference

*/ class UserDefinedFunction { public: AWS_GLUE_API UserDefinedFunction(); AWS_GLUE_API UserDefinedFunction(Aws::Utils::Json::JsonView jsonValue); AWS_GLUE_API UserDefinedFunction& operator=(Aws::Utils::Json::JsonView jsonValue); AWS_GLUE_API Aws::Utils::Json::JsonValue Jsonize() const; /** *

The name of the function.

*/ inline const Aws::String& GetFunctionName() const{ return m_functionName; } /** *

The name of the function.

*/ inline bool FunctionNameHasBeenSet() const { return m_functionNameHasBeenSet; } /** *

The name of the function.

*/ inline void SetFunctionName(const Aws::String& value) { m_functionNameHasBeenSet = true; m_functionName = value; } /** *

The name of the function.

*/ inline void SetFunctionName(Aws::String&& value) { m_functionNameHasBeenSet = true; m_functionName = std::move(value); } /** *

The name of the function.

*/ inline void SetFunctionName(const char* value) { m_functionNameHasBeenSet = true; m_functionName.assign(value); } /** *

The name of the function.

*/ inline UserDefinedFunction& WithFunctionName(const Aws::String& value) { SetFunctionName(value); return *this;} /** *

The name of the function.

*/ inline UserDefinedFunction& WithFunctionName(Aws::String&& value) { SetFunctionName(std::move(value)); return *this;} /** *

The name of the function.

*/ inline UserDefinedFunction& WithFunctionName(const char* value) { SetFunctionName(value); return *this;} /** *

The name of the catalog database that contains the function.

*/ inline const Aws::String& GetDatabaseName() const{ return m_databaseName; } /** *

The name of the catalog database that contains the function.

*/ inline bool DatabaseNameHasBeenSet() const { return m_databaseNameHasBeenSet; } /** *

The name of the catalog database that contains the function.

*/ inline void SetDatabaseName(const Aws::String& value) { m_databaseNameHasBeenSet = true; m_databaseName = value; } /** *

The name of the catalog database that contains the function.

*/ inline void SetDatabaseName(Aws::String&& value) { m_databaseNameHasBeenSet = true; m_databaseName = std::move(value); } /** *

The name of the catalog database that contains the function.

*/ inline void SetDatabaseName(const char* value) { m_databaseNameHasBeenSet = true; m_databaseName.assign(value); } /** *

The name of the catalog database that contains the function.

*/ inline UserDefinedFunction& WithDatabaseName(const Aws::String& value) { SetDatabaseName(value); return *this;} /** *

The name of the catalog database that contains the function.

*/ inline UserDefinedFunction& WithDatabaseName(Aws::String&& value) { SetDatabaseName(std::move(value)); return *this;} /** *

The name of the catalog database that contains the function.

*/ inline UserDefinedFunction& WithDatabaseName(const char* value) { SetDatabaseName(value); return *this;} /** *

The Java class that contains the function code.

*/ inline const Aws::String& GetClassName() const{ return m_className; } /** *

The Java class that contains the function code.

*/ inline bool ClassNameHasBeenSet() const { return m_classNameHasBeenSet; } /** *

The Java class that contains the function code.

*/ inline void SetClassName(const Aws::String& value) { m_classNameHasBeenSet = true; m_className = value; } /** *

The Java class that contains the function code.

*/ inline void SetClassName(Aws::String&& value) { m_classNameHasBeenSet = true; m_className = std::move(value); } /** *

The Java class that contains the function code.

*/ inline void SetClassName(const char* value) { m_classNameHasBeenSet = true; m_className.assign(value); } /** *

The Java class that contains the function code.

*/ inline UserDefinedFunction& WithClassName(const Aws::String& value) { SetClassName(value); return *this;} /** *

The Java class that contains the function code.

*/ inline UserDefinedFunction& WithClassName(Aws::String&& value) { SetClassName(std::move(value)); return *this;} /** *

The Java class that contains the function code.

*/ inline UserDefinedFunction& WithClassName(const char* value) { SetClassName(value); return *this;} /** *

The owner of the function.

*/ inline const Aws::String& GetOwnerName() const{ return m_ownerName; } /** *

The owner of the function.

*/ inline bool OwnerNameHasBeenSet() const { return m_ownerNameHasBeenSet; } /** *

The owner of the function.

*/ inline void SetOwnerName(const Aws::String& value) { m_ownerNameHasBeenSet = true; m_ownerName = value; } /** *

The owner of the function.

*/ inline void SetOwnerName(Aws::String&& value) { m_ownerNameHasBeenSet = true; m_ownerName = std::move(value); } /** *

The owner of the function.

*/ inline void SetOwnerName(const char* value) { m_ownerNameHasBeenSet = true; m_ownerName.assign(value); } /** *

The owner of the function.

*/ inline UserDefinedFunction& WithOwnerName(const Aws::String& value) { SetOwnerName(value); return *this;} /** *

The owner of the function.

*/ inline UserDefinedFunction& WithOwnerName(Aws::String&& value) { SetOwnerName(std::move(value)); return *this;} /** *

The owner of the function.

*/ inline UserDefinedFunction& WithOwnerName(const char* value) { SetOwnerName(value); return *this;} /** *

The owner type.

*/ inline const PrincipalType& GetOwnerType() const{ return m_ownerType; } /** *

The owner type.

*/ inline bool OwnerTypeHasBeenSet() const { return m_ownerTypeHasBeenSet; } /** *

The owner type.

*/ inline void SetOwnerType(const PrincipalType& value) { m_ownerTypeHasBeenSet = true; m_ownerType = value; } /** *

The owner type.

*/ inline void SetOwnerType(PrincipalType&& value) { m_ownerTypeHasBeenSet = true; m_ownerType = std::move(value); } /** *

The owner type.

*/ inline UserDefinedFunction& WithOwnerType(const PrincipalType& value) { SetOwnerType(value); return *this;} /** *

The owner type.

*/ inline UserDefinedFunction& WithOwnerType(PrincipalType&& value) { SetOwnerType(std::move(value)); return *this;} /** *

The time at which the function was created.

*/ inline const Aws::Utils::DateTime& GetCreateTime() const{ return m_createTime; } /** *

The time at which the function was created.

*/ inline bool CreateTimeHasBeenSet() const { return m_createTimeHasBeenSet; } /** *

The time at which the function was created.

*/ inline void SetCreateTime(const Aws::Utils::DateTime& value) { m_createTimeHasBeenSet = true; m_createTime = value; } /** *

The time at which the function was created.

*/ inline void SetCreateTime(Aws::Utils::DateTime&& value) { m_createTimeHasBeenSet = true; m_createTime = std::move(value); } /** *

The time at which the function was created.

*/ inline UserDefinedFunction& WithCreateTime(const Aws::Utils::DateTime& value) { SetCreateTime(value); return *this;} /** *

The time at which the function was created.

*/ inline UserDefinedFunction& WithCreateTime(Aws::Utils::DateTime&& value) { SetCreateTime(std::move(value)); return *this;} /** *

The resource URIs for the function.

*/ inline const Aws::Vector& GetResourceUris() const{ return m_resourceUris; } /** *

The resource URIs for the function.

*/ inline bool ResourceUrisHasBeenSet() const { return m_resourceUrisHasBeenSet; } /** *

The resource URIs for the function.

*/ inline void SetResourceUris(const Aws::Vector& value) { m_resourceUrisHasBeenSet = true; m_resourceUris = value; } /** *

The resource URIs for the function.

*/ inline void SetResourceUris(Aws::Vector&& value) { m_resourceUrisHasBeenSet = true; m_resourceUris = std::move(value); } /** *

The resource URIs for the function.

*/ inline UserDefinedFunction& WithResourceUris(const Aws::Vector& value) { SetResourceUris(value); return *this;} /** *

The resource URIs for the function.

*/ inline UserDefinedFunction& WithResourceUris(Aws::Vector&& value) { SetResourceUris(std::move(value)); return *this;} /** *

The resource URIs for the function.

*/ inline UserDefinedFunction& AddResourceUris(const ResourceUri& value) { m_resourceUrisHasBeenSet = true; m_resourceUris.push_back(value); return *this; } /** *

The resource URIs for the function.

*/ inline UserDefinedFunction& AddResourceUris(ResourceUri&& value) { m_resourceUrisHasBeenSet = true; m_resourceUris.push_back(std::move(value)); return *this; } /** *

The ID of the Data Catalog in which the function resides.

*/ inline const Aws::String& GetCatalogId() const{ return m_catalogId; } /** *

The ID of the Data Catalog in which the function resides.

*/ inline bool CatalogIdHasBeenSet() const { return m_catalogIdHasBeenSet; } /** *

The ID of the Data Catalog in which the function resides.

*/ inline void SetCatalogId(const Aws::String& value) { m_catalogIdHasBeenSet = true; m_catalogId = value; } /** *

The ID of the Data Catalog in which the function resides.

*/ inline void SetCatalogId(Aws::String&& value) { m_catalogIdHasBeenSet = true; m_catalogId = std::move(value); } /** *

The ID of the Data Catalog in which the function resides.

*/ inline void SetCatalogId(const char* value) { m_catalogIdHasBeenSet = true; m_catalogId.assign(value); } /** *

The ID of the Data Catalog in which the function resides.

*/ inline UserDefinedFunction& WithCatalogId(const Aws::String& value) { SetCatalogId(value); return *this;} /** *

The ID of the Data Catalog in which the function resides.

*/ inline UserDefinedFunction& WithCatalogId(Aws::String&& value) { SetCatalogId(std::move(value)); return *this;} /** *

The ID of the Data Catalog in which the function resides.

*/ inline UserDefinedFunction& WithCatalogId(const char* value) { SetCatalogId(value); return *this;} private: Aws::String m_functionName; bool m_functionNameHasBeenSet = false; Aws::String m_databaseName; bool m_databaseNameHasBeenSet = false; Aws::String m_className; bool m_classNameHasBeenSet = false; Aws::String m_ownerName; bool m_ownerNameHasBeenSet = false; PrincipalType m_ownerType; bool m_ownerTypeHasBeenSet = false; Aws::Utils::DateTime m_createTime; bool m_createTimeHasBeenSet = false; Aws::Vector m_resourceUris; bool m_resourceUrisHasBeenSet = false; Aws::String m_catalogId; bool m_catalogIdHasBeenSet = false; }; } // namespace Model } // namespace Glue } // namespace Aws