/** * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. * SPDX-License-Identifier: Apache-2.0. */ #pragma once #include #include #include #include #include #include namespace Aws { namespace Utils { namespace Json { class JsonValue; class JsonView; } // namespace Json } // namespace Utils namespace Glue { namespace Model { /** *

A structure used to create or update a user-defined function.

See * Also:

AWS * API Reference

*/ class UserDefinedFunctionInput { public: AWS_GLUE_API UserDefinedFunctionInput(); AWS_GLUE_API UserDefinedFunctionInput(Aws::Utils::Json::JsonView jsonValue); AWS_GLUE_API UserDefinedFunctionInput& 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 UserDefinedFunctionInput& WithFunctionName(const Aws::String& value) { SetFunctionName(value); return *this;} /** *

The name of the function.

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

The name of the function.

*/ inline UserDefinedFunctionInput& WithFunctionName(const char* value) { SetFunctionName(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 UserDefinedFunctionInput& WithClassName(const Aws::String& value) { SetClassName(value); return *this;} /** *

The Java class that contains the function code.

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

The Java class that contains the function code.

*/ inline UserDefinedFunctionInput& 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 UserDefinedFunctionInput& WithOwnerName(const Aws::String& value) { SetOwnerName(value); return *this;} /** *

The owner of the function.

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

The owner of the function.

*/ inline UserDefinedFunctionInput& 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 UserDefinedFunctionInput& WithOwnerType(const PrincipalType& value) { SetOwnerType(value); return *this;} /** *

The owner type.

*/ inline UserDefinedFunctionInput& WithOwnerType(PrincipalType&& value) { SetOwnerType(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 UserDefinedFunctionInput& WithResourceUris(const Aws::Vector& value) { SetResourceUris(value); return *this;} /** *

The resource URIs for the function.

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

The resource URIs for the function.

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

The resource URIs for the function.

*/ inline UserDefinedFunctionInput& AddResourceUris(ResourceUri&& value) { m_resourceUrisHasBeenSet = true; m_resourceUris.push_back(std::move(value)); return *this; } private: Aws::String m_functionName; bool m_functionNameHasBeenSet = 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::Vector m_resourceUris; bool m_resourceUrisHasBeenSet = false; }; } // namespace Model } // namespace Glue } // namespace Aws