/** * 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 GlueDataBrew { namespace Model { /** *

Represents one or more actions to be performed on a DataBrew * dataset.

See Also:

AWS API * Reference

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

The Amazon Resource Name (ARN) of the user who created the recipe.

*/ inline const Aws::String& GetCreatedBy() const{ return m_createdBy; } /** *

The Amazon Resource Name (ARN) of the user who created the recipe.

*/ inline bool CreatedByHasBeenSet() const { return m_createdByHasBeenSet; } /** *

The Amazon Resource Name (ARN) of the user who created the recipe.

*/ inline void SetCreatedBy(const Aws::String& value) { m_createdByHasBeenSet = true; m_createdBy = value; } /** *

The Amazon Resource Name (ARN) of the user who created the recipe.

*/ inline void SetCreatedBy(Aws::String&& value) { m_createdByHasBeenSet = true; m_createdBy = std::move(value); } /** *

The Amazon Resource Name (ARN) of the user who created the recipe.

*/ inline void SetCreatedBy(const char* value) { m_createdByHasBeenSet = true; m_createdBy.assign(value); } /** *

The Amazon Resource Name (ARN) of the user who created the recipe.

*/ inline Recipe& WithCreatedBy(const Aws::String& value) { SetCreatedBy(value); return *this;} /** *

The Amazon Resource Name (ARN) of the user who created the recipe.

*/ inline Recipe& WithCreatedBy(Aws::String&& value) { SetCreatedBy(std::move(value)); return *this;} /** *

The Amazon Resource Name (ARN) of the user who created the recipe.

*/ inline Recipe& WithCreatedBy(const char* value) { SetCreatedBy(value); return *this;} /** *

The date and time that the recipe was created.

*/ inline const Aws::Utils::DateTime& GetCreateDate() const{ return m_createDate; } /** *

The date and time that the recipe was created.

*/ inline bool CreateDateHasBeenSet() const { return m_createDateHasBeenSet; } /** *

The date and time that the recipe was created.

*/ inline void SetCreateDate(const Aws::Utils::DateTime& value) { m_createDateHasBeenSet = true; m_createDate = value; } /** *

The date and time that the recipe was created.

*/ inline void SetCreateDate(Aws::Utils::DateTime&& value) { m_createDateHasBeenSet = true; m_createDate = std::move(value); } /** *

The date and time that the recipe was created.

*/ inline Recipe& WithCreateDate(const Aws::Utils::DateTime& value) { SetCreateDate(value); return *this;} /** *

The date and time that the recipe was created.

*/ inline Recipe& WithCreateDate(Aws::Utils::DateTime&& value) { SetCreateDate(std::move(value)); return *this;} /** *

The Amazon Resource Name (ARN) of the user who last modified the recipe.

*/ inline const Aws::String& GetLastModifiedBy() const{ return m_lastModifiedBy; } /** *

The Amazon Resource Name (ARN) of the user who last modified the recipe.

*/ inline bool LastModifiedByHasBeenSet() const { return m_lastModifiedByHasBeenSet; } /** *

The Amazon Resource Name (ARN) of the user who last modified the recipe.

*/ inline void SetLastModifiedBy(const Aws::String& value) { m_lastModifiedByHasBeenSet = true; m_lastModifiedBy = value; } /** *

The Amazon Resource Name (ARN) of the user who last modified the recipe.

*/ inline void SetLastModifiedBy(Aws::String&& value) { m_lastModifiedByHasBeenSet = true; m_lastModifiedBy = std::move(value); } /** *

The Amazon Resource Name (ARN) of the user who last modified the recipe.

*/ inline void SetLastModifiedBy(const char* value) { m_lastModifiedByHasBeenSet = true; m_lastModifiedBy.assign(value); } /** *

The Amazon Resource Name (ARN) of the user who last modified the recipe.

*/ inline Recipe& WithLastModifiedBy(const Aws::String& value) { SetLastModifiedBy(value); return *this;} /** *

The Amazon Resource Name (ARN) of the user who last modified the recipe.

*/ inline Recipe& WithLastModifiedBy(Aws::String&& value) { SetLastModifiedBy(std::move(value)); return *this;} /** *

The Amazon Resource Name (ARN) of the user who last modified the recipe.

*/ inline Recipe& WithLastModifiedBy(const char* value) { SetLastModifiedBy(value); return *this;} /** *

The last modification date and time of the recipe.

*/ inline const Aws::Utils::DateTime& GetLastModifiedDate() const{ return m_lastModifiedDate; } /** *

The last modification date and time of the recipe.

*/ inline bool LastModifiedDateHasBeenSet() const { return m_lastModifiedDateHasBeenSet; } /** *

The last modification date and time of the recipe.

*/ inline void SetLastModifiedDate(const Aws::Utils::DateTime& value) { m_lastModifiedDateHasBeenSet = true; m_lastModifiedDate = value; } /** *

The last modification date and time of the recipe.

*/ inline void SetLastModifiedDate(Aws::Utils::DateTime&& value) { m_lastModifiedDateHasBeenSet = true; m_lastModifiedDate = std::move(value); } /** *

The last modification date and time of the recipe.

*/ inline Recipe& WithLastModifiedDate(const Aws::Utils::DateTime& value) { SetLastModifiedDate(value); return *this;} /** *

The last modification date and time of the recipe.

*/ inline Recipe& WithLastModifiedDate(Aws::Utils::DateTime&& value) { SetLastModifiedDate(std::move(value)); return *this;} /** *

The name of the project that the recipe is associated with.

*/ inline const Aws::String& GetProjectName() const{ return m_projectName; } /** *

The name of the project that the recipe is associated with.

*/ inline bool ProjectNameHasBeenSet() const { return m_projectNameHasBeenSet; } /** *

The name of the project that the recipe is associated with.

*/ inline void SetProjectName(const Aws::String& value) { m_projectNameHasBeenSet = true; m_projectName = value; } /** *

The name of the project that the recipe is associated with.

*/ inline void SetProjectName(Aws::String&& value) { m_projectNameHasBeenSet = true; m_projectName = std::move(value); } /** *

The name of the project that the recipe is associated with.

*/ inline void SetProjectName(const char* value) { m_projectNameHasBeenSet = true; m_projectName.assign(value); } /** *

The name of the project that the recipe is associated with.

*/ inline Recipe& WithProjectName(const Aws::String& value) { SetProjectName(value); return *this;} /** *

The name of the project that the recipe is associated with.

*/ inline Recipe& WithProjectName(Aws::String&& value) { SetProjectName(std::move(value)); return *this;} /** *

The name of the project that the recipe is associated with.

*/ inline Recipe& WithProjectName(const char* value) { SetProjectName(value); return *this;} /** *

The Amazon Resource Name (ARN) of the user who published the recipe.

*/ inline const Aws::String& GetPublishedBy() const{ return m_publishedBy; } /** *

The Amazon Resource Name (ARN) of the user who published the recipe.

*/ inline bool PublishedByHasBeenSet() const { return m_publishedByHasBeenSet; } /** *

The Amazon Resource Name (ARN) of the user who published the recipe.

*/ inline void SetPublishedBy(const Aws::String& value) { m_publishedByHasBeenSet = true; m_publishedBy = value; } /** *

The Amazon Resource Name (ARN) of the user who published the recipe.

*/ inline void SetPublishedBy(Aws::String&& value) { m_publishedByHasBeenSet = true; m_publishedBy = std::move(value); } /** *

The Amazon Resource Name (ARN) of the user who published the recipe.

*/ inline void SetPublishedBy(const char* value) { m_publishedByHasBeenSet = true; m_publishedBy.assign(value); } /** *

The Amazon Resource Name (ARN) of the user who published the recipe.

*/ inline Recipe& WithPublishedBy(const Aws::String& value) { SetPublishedBy(value); return *this;} /** *

The Amazon Resource Name (ARN) of the user who published the recipe.

*/ inline Recipe& WithPublishedBy(Aws::String&& value) { SetPublishedBy(std::move(value)); return *this;} /** *

The Amazon Resource Name (ARN) of the user who published the recipe.

*/ inline Recipe& WithPublishedBy(const char* value) { SetPublishedBy(value); return *this;} /** *

The date and time when the recipe was published.

*/ inline const Aws::Utils::DateTime& GetPublishedDate() const{ return m_publishedDate; } /** *

The date and time when the recipe was published.

*/ inline bool PublishedDateHasBeenSet() const { return m_publishedDateHasBeenSet; } /** *

The date and time when the recipe was published.

*/ inline void SetPublishedDate(const Aws::Utils::DateTime& value) { m_publishedDateHasBeenSet = true; m_publishedDate = value; } /** *

The date and time when the recipe was published.

*/ inline void SetPublishedDate(Aws::Utils::DateTime&& value) { m_publishedDateHasBeenSet = true; m_publishedDate = std::move(value); } /** *

The date and time when the recipe was published.

*/ inline Recipe& WithPublishedDate(const Aws::Utils::DateTime& value) { SetPublishedDate(value); return *this;} /** *

The date and time when the recipe was published.

*/ inline Recipe& WithPublishedDate(Aws::Utils::DateTime&& value) { SetPublishedDate(std::move(value)); return *this;} /** *

The description of the recipe.

*/ inline const Aws::String& GetDescription() const{ return m_description; } /** *

The description of the recipe.

*/ inline bool DescriptionHasBeenSet() const { return m_descriptionHasBeenSet; } /** *

The description of the recipe.

*/ inline void SetDescription(const Aws::String& value) { m_descriptionHasBeenSet = true; m_description = value; } /** *

The description of the recipe.

*/ inline void SetDescription(Aws::String&& value) { m_descriptionHasBeenSet = true; m_description = std::move(value); } /** *

The description of the recipe.

*/ inline void SetDescription(const char* value) { m_descriptionHasBeenSet = true; m_description.assign(value); } /** *

The description of the recipe.

*/ inline Recipe& WithDescription(const Aws::String& value) { SetDescription(value); return *this;} /** *

The description of the recipe.

*/ inline Recipe& WithDescription(Aws::String&& value) { SetDescription(std::move(value)); return *this;} /** *

The description of the recipe.

*/ inline Recipe& WithDescription(const char* value) { SetDescription(value); return *this;} /** *

The unique name for the recipe.

*/ inline const Aws::String& GetName() const{ return m_name; } /** *

The unique name for the recipe.

*/ inline bool NameHasBeenSet() const { return m_nameHasBeenSet; } /** *

The unique name for the recipe.

*/ inline void SetName(const Aws::String& value) { m_nameHasBeenSet = true; m_name = value; } /** *

The unique name for the recipe.

*/ inline void SetName(Aws::String&& value) { m_nameHasBeenSet = true; m_name = std::move(value); } /** *

The unique name for the recipe.

*/ inline void SetName(const char* value) { m_nameHasBeenSet = true; m_name.assign(value); } /** *

The unique name for the recipe.

*/ inline Recipe& WithName(const Aws::String& value) { SetName(value); return *this;} /** *

The unique name for the recipe.

*/ inline Recipe& WithName(Aws::String&& value) { SetName(std::move(value)); return *this;} /** *

The unique name for the recipe.

*/ inline Recipe& WithName(const char* value) { SetName(value); return *this;} /** *

The Amazon Resource Name (ARN) for the recipe.

*/ inline const Aws::String& GetResourceArn() const{ return m_resourceArn; } /** *

The Amazon Resource Name (ARN) for the recipe.

*/ inline bool ResourceArnHasBeenSet() const { return m_resourceArnHasBeenSet; } /** *

The Amazon Resource Name (ARN) for the recipe.

*/ inline void SetResourceArn(const Aws::String& value) { m_resourceArnHasBeenSet = true; m_resourceArn = value; } /** *

The Amazon Resource Name (ARN) for the recipe.

*/ inline void SetResourceArn(Aws::String&& value) { m_resourceArnHasBeenSet = true; m_resourceArn = std::move(value); } /** *

The Amazon Resource Name (ARN) for the recipe.

*/ inline void SetResourceArn(const char* value) { m_resourceArnHasBeenSet = true; m_resourceArn.assign(value); } /** *

The Amazon Resource Name (ARN) for the recipe.

*/ inline Recipe& WithResourceArn(const Aws::String& value) { SetResourceArn(value); return *this;} /** *

The Amazon Resource Name (ARN) for the recipe.

*/ inline Recipe& WithResourceArn(Aws::String&& value) { SetResourceArn(std::move(value)); return *this;} /** *

The Amazon Resource Name (ARN) for the recipe.

*/ inline Recipe& WithResourceArn(const char* value) { SetResourceArn(value); return *this;} /** *

A list of steps that are defined by the recipe.

*/ inline const Aws::Vector& GetSteps() const{ return m_steps; } /** *

A list of steps that are defined by the recipe.

*/ inline bool StepsHasBeenSet() const { return m_stepsHasBeenSet; } /** *

A list of steps that are defined by the recipe.

*/ inline void SetSteps(const Aws::Vector& value) { m_stepsHasBeenSet = true; m_steps = value; } /** *

A list of steps that are defined by the recipe.

*/ inline void SetSteps(Aws::Vector&& value) { m_stepsHasBeenSet = true; m_steps = std::move(value); } /** *

A list of steps that are defined by the recipe.

*/ inline Recipe& WithSteps(const Aws::Vector& value) { SetSteps(value); return *this;} /** *

A list of steps that are defined by the recipe.

*/ inline Recipe& WithSteps(Aws::Vector&& value) { SetSteps(std::move(value)); return *this;} /** *

A list of steps that are defined by the recipe.

*/ inline Recipe& AddSteps(const RecipeStep& value) { m_stepsHasBeenSet = true; m_steps.push_back(value); return *this; } /** *

A list of steps that are defined by the recipe.

*/ inline Recipe& AddSteps(RecipeStep&& value) { m_stepsHasBeenSet = true; m_steps.push_back(std::move(value)); return *this; } /** *

Metadata tags that have been applied to the recipe.

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

Metadata tags that have been applied to the recipe.

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

Metadata tags that have been applied to the recipe.

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

Metadata tags that have been applied to the recipe.

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

Metadata tags that have been applied to the recipe.

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

Metadata tags that have been applied to the recipe.

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

Metadata tags that have been applied to the recipe.

*/ inline Recipe& AddTags(const Aws::String& key, const Aws::String& value) { m_tagsHasBeenSet = true; m_tags.emplace(key, value); return *this; } /** *

Metadata tags that have been applied to the recipe.

*/ inline Recipe& AddTags(Aws::String&& key, const Aws::String& value) { m_tagsHasBeenSet = true; m_tags.emplace(std::move(key), value); return *this; } /** *

Metadata tags that have been applied to the recipe.

*/ inline Recipe& AddTags(const Aws::String& key, Aws::String&& value) { m_tagsHasBeenSet = true; m_tags.emplace(key, std::move(value)); return *this; } /** *

Metadata tags that have been applied to the recipe.

*/ inline Recipe& AddTags(Aws::String&& key, Aws::String&& value) { m_tagsHasBeenSet = true; m_tags.emplace(std::move(key), std::move(value)); return *this; } /** *

Metadata tags that have been applied to the recipe.

*/ inline Recipe& AddTags(const char* key, Aws::String&& value) { m_tagsHasBeenSet = true; m_tags.emplace(key, std::move(value)); return *this; } /** *

Metadata tags that have been applied to the recipe.

*/ inline Recipe& AddTags(Aws::String&& key, const char* value) { m_tagsHasBeenSet = true; m_tags.emplace(std::move(key), value); return *this; } /** *

Metadata tags that have been applied to the recipe.

*/ inline Recipe& AddTags(const char* key, const char* value) { m_tagsHasBeenSet = true; m_tags.emplace(key, value); return *this; } /** *

The identifier for the version for the recipe. Must be one of the * following:

  • Numeric version (X.Y) - X * and Y stand for major and minor version numbers. The maximum length * of each is 6 digits, and neither can be negative values. Both X and * Y are required, and "0.0" isn't a valid version.

  • * LATEST_WORKING - the most recent valid version being developed in a * DataBrew project.

  • LATEST_PUBLISHED - the most * recent published version.

*/ inline const Aws::String& GetRecipeVersion() const{ return m_recipeVersion; } /** *

The identifier for the version for the recipe. Must be one of the * following:

  • Numeric version (X.Y) - X * and Y stand for major and minor version numbers. The maximum length * of each is 6 digits, and neither can be negative values. Both X and * Y are required, and "0.0" isn't a valid version.

  • * LATEST_WORKING - the most recent valid version being developed in a * DataBrew project.

  • LATEST_PUBLISHED - the most * recent published version.

*/ inline bool RecipeVersionHasBeenSet() const { return m_recipeVersionHasBeenSet; } /** *

The identifier for the version for the recipe. Must be one of the * following:

  • Numeric version (X.Y) - X * and Y stand for major and minor version numbers. The maximum length * of each is 6 digits, and neither can be negative values. Both X and * Y are required, and "0.0" isn't a valid version.

  • * LATEST_WORKING - the most recent valid version being developed in a * DataBrew project.

  • LATEST_PUBLISHED - the most * recent published version.

*/ inline void SetRecipeVersion(const Aws::String& value) { m_recipeVersionHasBeenSet = true; m_recipeVersion = value; } /** *

The identifier for the version for the recipe. Must be one of the * following:

  • Numeric version (X.Y) - X * and Y stand for major and minor version numbers. The maximum length * of each is 6 digits, and neither can be negative values. Both X and * Y are required, and "0.0" isn't a valid version.

  • * LATEST_WORKING - the most recent valid version being developed in a * DataBrew project.

  • LATEST_PUBLISHED - the most * recent published version.

*/ inline void SetRecipeVersion(Aws::String&& value) { m_recipeVersionHasBeenSet = true; m_recipeVersion = std::move(value); } /** *

The identifier for the version for the recipe. Must be one of the * following:

  • Numeric version (X.Y) - X * and Y stand for major and minor version numbers. The maximum length * of each is 6 digits, and neither can be negative values. Both X and * Y are required, and "0.0" isn't a valid version.

  • * LATEST_WORKING - the most recent valid version being developed in a * DataBrew project.

  • LATEST_PUBLISHED - the most * recent published version.

*/ inline void SetRecipeVersion(const char* value) { m_recipeVersionHasBeenSet = true; m_recipeVersion.assign(value); } /** *

The identifier for the version for the recipe. Must be one of the * following:

  • Numeric version (X.Y) - X * and Y stand for major and minor version numbers. The maximum length * of each is 6 digits, and neither can be negative values. Both X and * Y are required, and "0.0" isn't a valid version.

  • * LATEST_WORKING - the most recent valid version being developed in a * DataBrew project.

  • LATEST_PUBLISHED - the most * recent published version.

*/ inline Recipe& WithRecipeVersion(const Aws::String& value) { SetRecipeVersion(value); return *this;} /** *

The identifier for the version for the recipe. Must be one of the * following:

  • Numeric version (X.Y) - X * and Y stand for major and minor version numbers. The maximum length * of each is 6 digits, and neither can be negative values. Both X and * Y are required, and "0.0" isn't a valid version.

  • * LATEST_WORKING - the most recent valid version being developed in a * DataBrew project.

  • LATEST_PUBLISHED - the most * recent published version.

*/ inline Recipe& WithRecipeVersion(Aws::String&& value) { SetRecipeVersion(std::move(value)); return *this;} /** *

The identifier for the version for the recipe. Must be one of the * following:

  • Numeric version (X.Y) - X * and Y stand for major and minor version numbers. The maximum length * of each is 6 digits, and neither can be negative values. Both X and * Y are required, and "0.0" isn't a valid version.

  • * LATEST_WORKING - the most recent valid version being developed in a * DataBrew project.

  • LATEST_PUBLISHED - the most * recent published version.

*/ inline Recipe& WithRecipeVersion(const char* value) { SetRecipeVersion(value); return *this;} private: Aws::String m_createdBy; bool m_createdByHasBeenSet = false; Aws::Utils::DateTime m_createDate; bool m_createDateHasBeenSet = false; Aws::String m_lastModifiedBy; bool m_lastModifiedByHasBeenSet = false; Aws::Utils::DateTime m_lastModifiedDate; bool m_lastModifiedDateHasBeenSet = false; Aws::String m_projectName; bool m_projectNameHasBeenSet = false; Aws::String m_publishedBy; bool m_publishedByHasBeenSet = false; Aws::Utils::DateTime m_publishedDate; bool m_publishedDateHasBeenSet = false; Aws::String m_description; bool m_descriptionHasBeenSet = false; Aws::String m_name; bool m_nameHasBeenSet = false; Aws::String m_resourceArn; bool m_resourceArnHasBeenSet = false; Aws::Vector m_steps; bool m_stepsHasBeenSet = false; Aws::Map m_tags; bool m_tagsHasBeenSet = false; Aws::String m_recipeVersion; bool m_recipeVersionHasBeenSet = false; }; } // namespace Model } // namespace GlueDataBrew } // namespace Aws