/** * 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 #include #include namespace Aws { namespace WellArchitected { namespace Model { /** *

Input for workload creation.

See Also:

AWS * API Reference

*/ class CreateWorkloadRequest : public WellArchitectedRequest { public: AWS_WELLARCHITECTED_API CreateWorkloadRequest(); // 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 "CreateWorkload"; } AWS_WELLARCHITECTED_API Aws::String SerializePayload() const override; inline const Aws::String& GetWorkloadName() const{ return m_workloadName; } inline bool WorkloadNameHasBeenSet() const { return m_workloadNameHasBeenSet; } inline void SetWorkloadName(const Aws::String& value) { m_workloadNameHasBeenSet = true; m_workloadName = value; } inline void SetWorkloadName(Aws::String&& value) { m_workloadNameHasBeenSet = true; m_workloadName = std::move(value); } inline void SetWorkloadName(const char* value) { m_workloadNameHasBeenSet = true; m_workloadName.assign(value); } inline CreateWorkloadRequest& WithWorkloadName(const Aws::String& value) { SetWorkloadName(value); return *this;} inline CreateWorkloadRequest& WithWorkloadName(Aws::String&& value) { SetWorkloadName(std::move(value)); return *this;} inline CreateWorkloadRequest& WithWorkloadName(const char* value) { SetWorkloadName(value); return *this;} inline const Aws::String& GetDescription() const{ return m_description; } inline bool DescriptionHasBeenSet() const { return m_descriptionHasBeenSet; } inline void SetDescription(const Aws::String& value) { m_descriptionHasBeenSet = true; m_description = value; } inline void SetDescription(Aws::String&& value) { m_descriptionHasBeenSet = true; m_description = std::move(value); } inline void SetDescription(const char* value) { m_descriptionHasBeenSet = true; m_description.assign(value); } inline CreateWorkloadRequest& WithDescription(const Aws::String& value) { SetDescription(value); return *this;} inline CreateWorkloadRequest& WithDescription(Aws::String&& value) { SetDescription(std::move(value)); return *this;} inline CreateWorkloadRequest& WithDescription(const char* value) { SetDescription(value); return *this;} inline const WorkloadEnvironment& GetEnvironment() const{ return m_environment; } inline bool EnvironmentHasBeenSet() const { return m_environmentHasBeenSet; } inline void SetEnvironment(const WorkloadEnvironment& value) { m_environmentHasBeenSet = true; m_environment = value; } inline void SetEnvironment(WorkloadEnvironment&& value) { m_environmentHasBeenSet = true; m_environment = std::move(value); } inline CreateWorkloadRequest& WithEnvironment(const WorkloadEnvironment& value) { SetEnvironment(value); return *this;} inline CreateWorkloadRequest& WithEnvironment(WorkloadEnvironment&& value) { SetEnvironment(std::move(value)); return *this;} inline const Aws::Vector& GetAccountIds() const{ return m_accountIds; } inline bool AccountIdsHasBeenSet() const { return m_accountIdsHasBeenSet; } inline void SetAccountIds(const Aws::Vector& value) { m_accountIdsHasBeenSet = true; m_accountIds = value; } inline void SetAccountIds(Aws::Vector&& value) { m_accountIdsHasBeenSet = true; m_accountIds = std::move(value); } inline CreateWorkloadRequest& WithAccountIds(const Aws::Vector& value) { SetAccountIds(value); return *this;} inline CreateWorkloadRequest& WithAccountIds(Aws::Vector&& value) { SetAccountIds(std::move(value)); return *this;} inline CreateWorkloadRequest& AddAccountIds(const Aws::String& value) { m_accountIdsHasBeenSet = true; m_accountIds.push_back(value); return *this; } inline CreateWorkloadRequest& AddAccountIds(Aws::String&& value) { m_accountIdsHasBeenSet = true; m_accountIds.push_back(std::move(value)); return *this; } inline CreateWorkloadRequest& AddAccountIds(const char* value) { m_accountIdsHasBeenSet = true; m_accountIds.push_back(value); return *this; } inline const Aws::Vector& GetAwsRegions() const{ return m_awsRegions; } inline bool AwsRegionsHasBeenSet() const { return m_awsRegionsHasBeenSet; } inline void SetAwsRegions(const Aws::Vector& value) { m_awsRegionsHasBeenSet = true; m_awsRegions = value; } inline void SetAwsRegions(Aws::Vector&& value) { m_awsRegionsHasBeenSet = true; m_awsRegions = std::move(value); } inline CreateWorkloadRequest& WithAwsRegions(const Aws::Vector& value) { SetAwsRegions(value); return *this;} inline CreateWorkloadRequest& WithAwsRegions(Aws::Vector&& value) { SetAwsRegions(std::move(value)); return *this;} inline CreateWorkloadRequest& AddAwsRegions(const Aws::String& value) { m_awsRegionsHasBeenSet = true; m_awsRegions.push_back(value); return *this; } inline CreateWorkloadRequest& AddAwsRegions(Aws::String&& value) { m_awsRegionsHasBeenSet = true; m_awsRegions.push_back(std::move(value)); return *this; } inline CreateWorkloadRequest& AddAwsRegions(const char* value) { m_awsRegionsHasBeenSet = true; m_awsRegions.push_back(value); return *this; } inline const Aws::Vector& GetNonAwsRegions() const{ return m_nonAwsRegions; } inline bool NonAwsRegionsHasBeenSet() const { return m_nonAwsRegionsHasBeenSet; } inline void SetNonAwsRegions(const Aws::Vector& value) { m_nonAwsRegionsHasBeenSet = true; m_nonAwsRegions = value; } inline void SetNonAwsRegions(Aws::Vector&& value) { m_nonAwsRegionsHasBeenSet = true; m_nonAwsRegions = std::move(value); } inline CreateWorkloadRequest& WithNonAwsRegions(const Aws::Vector& value) { SetNonAwsRegions(value); return *this;} inline CreateWorkloadRequest& WithNonAwsRegions(Aws::Vector&& value) { SetNonAwsRegions(std::move(value)); return *this;} inline CreateWorkloadRequest& AddNonAwsRegions(const Aws::String& value) { m_nonAwsRegionsHasBeenSet = true; m_nonAwsRegions.push_back(value); return *this; } inline CreateWorkloadRequest& AddNonAwsRegions(Aws::String&& value) { m_nonAwsRegionsHasBeenSet = true; m_nonAwsRegions.push_back(std::move(value)); return *this; } inline CreateWorkloadRequest& AddNonAwsRegions(const char* value) { m_nonAwsRegionsHasBeenSet = true; m_nonAwsRegions.push_back(value); return *this; } inline const Aws::Vector& GetPillarPriorities() const{ return m_pillarPriorities; } inline bool PillarPrioritiesHasBeenSet() const { return m_pillarPrioritiesHasBeenSet; } inline void SetPillarPriorities(const Aws::Vector& value) { m_pillarPrioritiesHasBeenSet = true; m_pillarPriorities = value; } inline void SetPillarPriorities(Aws::Vector&& value) { m_pillarPrioritiesHasBeenSet = true; m_pillarPriorities = std::move(value); } inline CreateWorkloadRequest& WithPillarPriorities(const Aws::Vector& value) { SetPillarPriorities(value); return *this;} inline CreateWorkloadRequest& WithPillarPriorities(Aws::Vector&& value) { SetPillarPriorities(std::move(value)); return *this;} inline CreateWorkloadRequest& AddPillarPriorities(const Aws::String& value) { m_pillarPrioritiesHasBeenSet = true; m_pillarPriorities.push_back(value); return *this; } inline CreateWorkloadRequest& AddPillarPriorities(Aws::String&& value) { m_pillarPrioritiesHasBeenSet = true; m_pillarPriorities.push_back(std::move(value)); return *this; } inline CreateWorkloadRequest& AddPillarPriorities(const char* value) { m_pillarPrioritiesHasBeenSet = true; m_pillarPriorities.push_back(value); return *this; } inline const Aws::String& GetArchitecturalDesign() const{ return m_architecturalDesign; } inline bool ArchitecturalDesignHasBeenSet() const { return m_architecturalDesignHasBeenSet; } inline void SetArchitecturalDesign(const Aws::String& value) { m_architecturalDesignHasBeenSet = true; m_architecturalDesign = value; } inline void SetArchitecturalDesign(Aws::String&& value) { m_architecturalDesignHasBeenSet = true; m_architecturalDesign = std::move(value); } inline void SetArchitecturalDesign(const char* value) { m_architecturalDesignHasBeenSet = true; m_architecturalDesign.assign(value); } inline CreateWorkloadRequest& WithArchitecturalDesign(const Aws::String& value) { SetArchitecturalDesign(value); return *this;} inline CreateWorkloadRequest& WithArchitecturalDesign(Aws::String&& value) { SetArchitecturalDesign(std::move(value)); return *this;} inline CreateWorkloadRequest& WithArchitecturalDesign(const char* value) { SetArchitecturalDesign(value); return *this;} inline const Aws::String& GetReviewOwner() const{ return m_reviewOwner; } inline bool ReviewOwnerHasBeenSet() const { return m_reviewOwnerHasBeenSet; } inline void SetReviewOwner(const Aws::String& value) { m_reviewOwnerHasBeenSet = true; m_reviewOwner = value; } inline void SetReviewOwner(Aws::String&& value) { m_reviewOwnerHasBeenSet = true; m_reviewOwner = std::move(value); } inline void SetReviewOwner(const char* value) { m_reviewOwnerHasBeenSet = true; m_reviewOwner.assign(value); } inline CreateWorkloadRequest& WithReviewOwner(const Aws::String& value) { SetReviewOwner(value); return *this;} inline CreateWorkloadRequest& WithReviewOwner(Aws::String&& value) { SetReviewOwner(std::move(value)); return *this;} inline CreateWorkloadRequest& WithReviewOwner(const char* value) { SetReviewOwner(value); return *this;} inline const Aws::String& GetIndustryType() const{ return m_industryType; } inline bool IndustryTypeHasBeenSet() const { return m_industryTypeHasBeenSet; } inline void SetIndustryType(const Aws::String& value) { m_industryTypeHasBeenSet = true; m_industryType = value; } inline void SetIndustryType(Aws::String&& value) { m_industryTypeHasBeenSet = true; m_industryType = std::move(value); } inline void SetIndustryType(const char* value) { m_industryTypeHasBeenSet = true; m_industryType.assign(value); } inline CreateWorkloadRequest& WithIndustryType(const Aws::String& value) { SetIndustryType(value); return *this;} inline CreateWorkloadRequest& WithIndustryType(Aws::String&& value) { SetIndustryType(std::move(value)); return *this;} inline CreateWorkloadRequest& WithIndustryType(const char* value) { SetIndustryType(value); return *this;} inline const Aws::String& GetIndustry() const{ return m_industry; } inline bool IndustryHasBeenSet() const { return m_industryHasBeenSet; } inline void SetIndustry(const Aws::String& value) { m_industryHasBeenSet = true; m_industry = value; } inline void SetIndustry(Aws::String&& value) { m_industryHasBeenSet = true; m_industry = std::move(value); } inline void SetIndustry(const char* value) { m_industryHasBeenSet = true; m_industry.assign(value); } inline CreateWorkloadRequest& WithIndustry(const Aws::String& value) { SetIndustry(value); return *this;} inline CreateWorkloadRequest& WithIndustry(Aws::String&& value) { SetIndustry(std::move(value)); return *this;} inline CreateWorkloadRequest& WithIndustry(const char* value) { SetIndustry(value); return *this;} inline const Aws::Vector& GetLenses() const{ return m_lenses; } inline bool LensesHasBeenSet() const { return m_lensesHasBeenSet; } inline void SetLenses(const Aws::Vector& value) { m_lensesHasBeenSet = true; m_lenses = value; } inline void SetLenses(Aws::Vector&& value) { m_lensesHasBeenSet = true; m_lenses = std::move(value); } inline CreateWorkloadRequest& WithLenses(const Aws::Vector& value) { SetLenses(value); return *this;} inline CreateWorkloadRequest& WithLenses(Aws::Vector&& value) { SetLenses(std::move(value)); return *this;} inline CreateWorkloadRequest& AddLenses(const Aws::String& value) { m_lensesHasBeenSet = true; m_lenses.push_back(value); return *this; } inline CreateWorkloadRequest& AddLenses(Aws::String&& value) { m_lensesHasBeenSet = true; m_lenses.push_back(std::move(value)); return *this; } inline CreateWorkloadRequest& AddLenses(const char* value) { m_lensesHasBeenSet = true; m_lenses.push_back(value); return *this; } inline const Aws::String& GetNotes() const{ return m_notes; } inline bool NotesHasBeenSet() const { return m_notesHasBeenSet; } inline void SetNotes(const Aws::String& value) { m_notesHasBeenSet = true; m_notes = value; } inline void SetNotes(Aws::String&& value) { m_notesHasBeenSet = true; m_notes = std::move(value); } inline void SetNotes(const char* value) { m_notesHasBeenSet = true; m_notes.assign(value); } inline CreateWorkloadRequest& WithNotes(const Aws::String& value) { SetNotes(value); return *this;} inline CreateWorkloadRequest& WithNotes(Aws::String&& value) { SetNotes(std::move(value)); return *this;} inline CreateWorkloadRequest& WithNotes(const char* value) { SetNotes(value); return *this;} inline const Aws::String& GetClientRequestToken() const{ return m_clientRequestToken; } inline bool ClientRequestTokenHasBeenSet() const { return m_clientRequestTokenHasBeenSet; } inline void SetClientRequestToken(const Aws::String& value) { m_clientRequestTokenHasBeenSet = true; m_clientRequestToken = value; } inline void SetClientRequestToken(Aws::String&& value) { m_clientRequestTokenHasBeenSet = true; m_clientRequestToken = std::move(value); } inline void SetClientRequestToken(const char* value) { m_clientRequestTokenHasBeenSet = true; m_clientRequestToken.assign(value); } inline CreateWorkloadRequest& WithClientRequestToken(const Aws::String& value) { SetClientRequestToken(value); return *this;} inline CreateWorkloadRequest& WithClientRequestToken(Aws::String&& value) { SetClientRequestToken(std::move(value)); return *this;} inline CreateWorkloadRequest& WithClientRequestToken(const char* value) { SetClientRequestToken(value); return *this;} /** *

The tags to be associated with the workload.

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

The tags to be associated with the workload.

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

The tags to be associated with the workload.

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

The tags to be associated with the workload.

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

The tags to be associated with the workload.

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

The tags to be associated with the workload.

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

The tags to be associated with the workload.

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

The tags to be associated with the workload.

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

The tags to be associated with the workload.

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

The tags to be associated with the workload.

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

The tags to be associated with the workload.

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

The tags to be associated with the workload.

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

The tags to be associated with the workload.

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

Well-Architected discovery configuration settings associated to the * workload.

*/ inline const WorkloadDiscoveryConfig& GetDiscoveryConfig() const{ return m_discoveryConfig; } /** *

Well-Architected discovery configuration settings associated to the * workload.

*/ inline bool DiscoveryConfigHasBeenSet() const { return m_discoveryConfigHasBeenSet; } /** *

Well-Architected discovery configuration settings associated to the * workload.

*/ inline void SetDiscoveryConfig(const WorkloadDiscoveryConfig& value) { m_discoveryConfigHasBeenSet = true; m_discoveryConfig = value; } /** *

Well-Architected discovery configuration settings associated to the * workload.

*/ inline void SetDiscoveryConfig(WorkloadDiscoveryConfig&& value) { m_discoveryConfigHasBeenSet = true; m_discoveryConfig = std::move(value); } /** *

Well-Architected discovery configuration settings associated to the * workload.

*/ inline CreateWorkloadRequest& WithDiscoveryConfig(const WorkloadDiscoveryConfig& value) { SetDiscoveryConfig(value); return *this;} /** *

Well-Architected discovery configuration settings associated to the * workload.

*/ inline CreateWorkloadRequest& WithDiscoveryConfig(WorkloadDiscoveryConfig&& value) { SetDiscoveryConfig(std::move(value)); return *this;} /** *

List of AppRegistry application ARNs associated to the workload.

*/ inline const Aws::Vector& GetApplications() const{ return m_applications; } /** *

List of AppRegistry application ARNs associated to the workload.

*/ inline bool ApplicationsHasBeenSet() const { return m_applicationsHasBeenSet; } /** *

List of AppRegistry application ARNs associated to the workload.

*/ inline void SetApplications(const Aws::Vector& value) { m_applicationsHasBeenSet = true; m_applications = value; } /** *

List of AppRegistry application ARNs associated to the workload.

*/ inline void SetApplications(Aws::Vector&& value) { m_applicationsHasBeenSet = true; m_applications = std::move(value); } /** *

List of AppRegistry application ARNs associated to the workload.

*/ inline CreateWorkloadRequest& WithApplications(const Aws::Vector& value) { SetApplications(value); return *this;} /** *

List of AppRegistry application ARNs associated to the workload.

*/ inline CreateWorkloadRequest& WithApplications(Aws::Vector&& value) { SetApplications(std::move(value)); return *this;} /** *

List of AppRegistry application ARNs associated to the workload.

*/ inline CreateWorkloadRequest& AddApplications(const Aws::String& value) { m_applicationsHasBeenSet = true; m_applications.push_back(value); return *this; } /** *

List of AppRegistry application ARNs associated to the workload.

*/ inline CreateWorkloadRequest& AddApplications(Aws::String&& value) { m_applicationsHasBeenSet = true; m_applications.push_back(std::move(value)); return *this; } /** *

List of AppRegistry application ARNs associated to the workload.

*/ inline CreateWorkloadRequest& AddApplications(const char* value) { m_applicationsHasBeenSet = true; m_applications.push_back(value); return *this; } /** *

The list of profile ARNs associated with the workload.

*/ inline const Aws::Vector& GetProfileArns() const{ return m_profileArns; } /** *

The list of profile ARNs associated with the workload.

*/ inline bool ProfileArnsHasBeenSet() const { return m_profileArnsHasBeenSet; } /** *

The list of profile ARNs associated with the workload.

*/ inline void SetProfileArns(const Aws::Vector& value) { m_profileArnsHasBeenSet = true; m_profileArns = value; } /** *

The list of profile ARNs associated with the workload.

*/ inline void SetProfileArns(Aws::Vector&& value) { m_profileArnsHasBeenSet = true; m_profileArns = std::move(value); } /** *

The list of profile ARNs associated with the workload.

*/ inline CreateWorkloadRequest& WithProfileArns(const Aws::Vector& value) { SetProfileArns(value); return *this;} /** *

The list of profile ARNs associated with the workload.

*/ inline CreateWorkloadRequest& WithProfileArns(Aws::Vector&& value) { SetProfileArns(std::move(value)); return *this;} /** *

The list of profile ARNs associated with the workload.

*/ inline CreateWorkloadRequest& AddProfileArns(const Aws::String& value) { m_profileArnsHasBeenSet = true; m_profileArns.push_back(value); return *this; } /** *

The list of profile ARNs associated with the workload.

*/ inline CreateWorkloadRequest& AddProfileArns(Aws::String&& value) { m_profileArnsHasBeenSet = true; m_profileArns.push_back(std::move(value)); return *this; } /** *

The list of profile ARNs associated with the workload.

*/ inline CreateWorkloadRequest& AddProfileArns(const char* value) { m_profileArnsHasBeenSet = true; m_profileArns.push_back(value); return *this; } private: Aws::String m_workloadName; bool m_workloadNameHasBeenSet = false; Aws::String m_description; bool m_descriptionHasBeenSet = false; WorkloadEnvironment m_environment; bool m_environmentHasBeenSet = false; Aws::Vector m_accountIds; bool m_accountIdsHasBeenSet = false; Aws::Vector m_awsRegions; bool m_awsRegionsHasBeenSet = false; Aws::Vector m_nonAwsRegions; bool m_nonAwsRegionsHasBeenSet = false; Aws::Vector m_pillarPriorities; bool m_pillarPrioritiesHasBeenSet = false; Aws::String m_architecturalDesign; bool m_architecturalDesignHasBeenSet = false; Aws::String m_reviewOwner; bool m_reviewOwnerHasBeenSet = false; Aws::String m_industryType; bool m_industryTypeHasBeenSet = false; Aws::String m_industry; bool m_industryHasBeenSet = false; Aws::Vector m_lenses; bool m_lensesHasBeenSet = false; Aws::String m_notes; bool m_notesHasBeenSet = false; Aws::String m_clientRequestToken; bool m_clientRequestTokenHasBeenSet = false; Aws::Map m_tags; bool m_tagsHasBeenSet = false; WorkloadDiscoveryConfig m_discoveryConfig; bool m_discoveryConfigHasBeenSet = false; Aws::Vector m_applications; bool m_applicationsHasBeenSet = false; Aws::Vector m_profileArns; bool m_profileArnsHasBeenSet = false; }; } // namespace Model } // namespace WellArchitected } // namespace Aws