/** * 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 Inspector { namespace Model { /** */ class CreateAssessmentTemplateRequest : public InspectorRequest { public: AWS_INSPECTOR_API CreateAssessmentTemplateRequest(); // 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 "CreateAssessmentTemplate"; } AWS_INSPECTOR_API Aws::String SerializePayload() const override; AWS_INSPECTOR_API Aws::Http::HeaderValueCollection GetRequestSpecificHeaders() const override; /** *

The ARN that specifies the assessment target for which you want to create the * assessment template.

*/ inline const Aws::String& GetAssessmentTargetArn() const{ return m_assessmentTargetArn; } /** *

The ARN that specifies the assessment target for which you want to create the * assessment template.

*/ inline bool AssessmentTargetArnHasBeenSet() const { return m_assessmentTargetArnHasBeenSet; } /** *

The ARN that specifies the assessment target for which you want to create the * assessment template.

*/ inline void SetAssessmentTargetArn(const Aws::String& value) { m_assessmentTargetArnHasBeenSet = true; m_assessmentTargetArn = value; } /** *

The ARN that specifies the assessment target for which you want to create the * assessment template.

*/ inline void SetAssessmentTargetArn(Aws::String&& value) { m_assessmentTargetArnHasBeenSet = true; m_assessmentTargetArn = std::move(value); } /** *

The ARN that specifies the assessment target for which you want to create the * assessment template.

*/ inline void SetAssessmentTargetArn(const char* value) { m_assessmentTargetArnHasBeenSet = true; m_assessmentTargetArn.assign(value); } /** *

The ARN that specifies the assessment target for which you want to create the * assessment template.

*/ inline CreateAssessmentTemplateRequest& WithAssessmentTargetArn(const Aws::String& value) { SetAssessmentTargetArn(value); return *this;} /** *

The ARN that specifies the assessment target for which you want to create the * assessment template.

*/ inline CreateAssessmentTemplateRequest& WithAssessmentTargetArn(Aws::String&& value) { SetAssessmentTargetArn(std::move(value)); return *this;} /** *

The ARN that specifies the assessment target for which you want to create the * assessment template.

*/ inline CreateAssessmentTemplateRequest& WithAssessmentTargetArn(const char* value) { SetAssessmentTargetArn(value); return *this;} /** *

The user-defined name that identifies the assessment template that you want * to create. You can create several assessment templates for an assessment target. * The names of the assessment templates that correspond to a particular assessment * target must be unique.

*/ inline const Aws::String& GetAssessmentTemplateName() const{ return m_assessmentTemplateName; } /** *

The user-defined name that identifies the assessment template that you want * to create. You can create several assessment templates for an assessment target. * The names of the assessment templates that correspond to a particular assessment * target must be unique.

*/ inline bool AssessmentTemplateNameHasBeenSet() const { return m_assessmentTemplateNameHasBeenSet; } /** *

The user-defined name that identifies the assessment template that you want * to create. You can create several assessment templates for an assessment target. * The names of the assessment templates that correspond to a particular assessment * target must be unique.

*/ inline void SetAssessmentTemplateName(const Aws::String& value) { m_assessmentTemplateNameHasBeenSet = true; m_assessmentTemplateName = value; } /** *

The user-defined name that identifies the assessment template that you want * to create. You can create several assessment templates for an assessment target. * The names of the assessment templates that correspond to a particular assessment * target must be unique.

*/ inline void SetAssessmentTemplateName(Aws::String&& value) { m_assessmentTemplateNameHasBeenSet = true; m_assessmentTemplateName = std::move(value); } /** *

The user-defined name that identifies the assessment template that you want * to create. You can create several assessment templates for an assessment target. * The names of the assessment templates that correspond to a particular assessment * target must be unique.

*/ inline void SetAssessmentTemplateName(const char* value) { m_assessmentTemplateNameHasBeenSet = true; m_assessmentTemplateName.assign(value); } /** *

The user-defined name that identifies the assessment template that you want * to create. You can create several assessment templates for an assessment target. * The names of the assessment templates that correspond to a particular assessment * target must be unique.

*/ inline CreateAssessmentTemplateRequest& WithAssessmentTemplateName(const Aws::String& value) { SetAssessmentTemplateName(value); return *this;} /** *

The user-defined name that identifies the assessment template that you want * to create. You can create several assessment templates for an assessment target. * The names of the assessment templates that correspond to a particular assessment * target must be unique.

*/ inline CreateAssessmentTemplateRequest& WithAssessmentTemplateName(Aws::String&& value) { SetAssessmentTemplateName(std::move(value)); return *this;} /** *

The user-defined name that identifies the assessment template that you want * to create. You can create several assessment templates for an assessment target. * The names of the assessment templates that correspond to a particular assessment * target must be unique.

*/ inline CreateAssessmentTemplateRequest& WithAssessmentTemplateName(const char* value) { SetAssessmentTemplateName(value); return *this;} /** *

The duration of the assessment run in seconds.

*/ inline int GetDurationInSeconds() const{ return m_durationInSeconds; } /** *

The duration of the assessment run in seconds.

*/ inline bool DurationInSecondsHasBeenSet() const { return m_durationInSecondsHasBeenSet; } /** *

The duration of the assessment run in seconds.

*/ inline void SetDurationInSeconds(int value) { m_durationInSecondsHasBeenSet = true; m_durationInSeconds = value; } /** *

The duration of the assessment run in seconds.

*/ inline CreateAssessmentTemplateRequest& WithDurationInSeconds(int value) { SetDurationInSeconds(value); return *this;} /** *

The ARNs that specify the rules packages that you want to attach to the * assessment template.

*/ inline const Aws::Vector& GetRulesPackageArns() const{ return m_rulesPackageArns; } /** *

The ARNs that specify the rules packages that you want to attach to the * assessment template.

*/ inline bool RulesPackageArnsHasBeenSet() const { return m_rulesPackageArnsHasBeenSet; } /** *

The ARNs that specify the rules packages that you want to attach to the * assessment template.

*/ inline void SetRulesPackageArns(const Aws::Vector& value) { m_rulesPackageArnsHasBeenSet = true; m_rulesPackageArns = value; } /** *

The ARNs that specify the rules packages that you want to attach to the * assessment template.

*/ inline void SetRulesPackageArns(Aws::Vector&& value) { m_rulesPackageArnsHasBeenSet = true; m_rulesPackageArns = std::move(value); } /** *

The ARNs that specify the rules packages that you want to attach to the * assessment template.

*/ inline CreateAssessmentTemplateRequest& WithRulesPackageArns(const Aws::Vector& value) { SetRulesPackageArns(value); return *this;} /** *

The ARNs that specify the rules packages that you want to attach to the * assessment template.

*/ inline CreateAssessmentTemplateRequest& WithRulesPackageArns(Aws::Vector&& value) { SetRulesPackageArns(std::move(value)); return *this;} /** *

The ARNs that specify the rules packages that you want to attach to the * assessment template.

*/ inline CreateAssessmentTemplateRequest& AddRulesPackageArns(const Aws::String& value) { m_rulesPackageArnsHasBeenSet = true; m_rulesPackageArns.push_back(value); return *this; } /** *

The ARNs that specify the rules packages that you want to attach to the * assessment template.

*/ inline CreateAssessmentTemplateRequest& AddRulesPackageArns(Aws::String&& value) { m_rulesPackageArnsHasBeenSet = true; m_rulesPackageArns.push_back(std::move(value)); return *this; } /** *

The ARNs that specify the rules packages that you want to attach to the * assessment template.

*/ inline CreateAssessmentTemplateRequest& AddRulesPackageArns(const char* value) { m_rulesPackageArnsHasBeenSet = true; m_rulesPackageArns.push_back(value); return *this; } /** *

The user-defined attributes that are assigned to every finding that is * generated by the assessment run that uses this assessment template. An attribute * is a key and value pair (an Attribute object). Within an assessment * template, each key must be unique.

*/ inline const Aws::Vector& GetUserAttributesForFindings() const{ return m_userAttributesForFindings; } /** *

The user-defined attributes that are assigned to every finding that is * generated by the assessment run that uses this assessment template. An attribute * is a key and value pair (an Attribute object). Within an assessment * template, each key must be unique.

*/ inline bool UserAttributesForFindingsHasBeenSet() const { return m_userAttributesForFindingsHasBeenSet; } /** *

The user-defined attributes that are assigned to every finding that is * generated by the assessment run that uses this assessment template. An attribute * is a key and value pair (an Attribute object). Within an assessment * template, each key must be unique.

*/ inline void SetUserAttributesForFindings(const Aws::Vector& value) { m_userAttributesForFindingsHasBeenSet = true; m_userAttributesForFindings = value; } /** *

The user-defined attributes that are assigned to every finding that is * generated by the assessment run that uses this assessment template. An attribute * is a key and value pair (an Attribute object). Within an assessment * template, each key must be unique.

*/ inline void SetUserAttributesForFindings(Aws::Vector&& value) { m_userAttributesForFindingsHasBeenSet = true; m_userAttributesForFindings = std::move(value); } /** *

The user-defined attributes that are assigned to every finding that is * generated by the assessment run that uses this assessment template. An attribute * is a key and value pair (an Attribute object). Within an assessment * template, each key must be unique.

*/ inline CreateAssessmentTemplateRequest& WithUserAttributesForFindings(const Aws::Vector& value) { SetUserAttributesForFindings(value); return *this;} /** *

The user-defined attributes that are assigned to every finding that is * generated by the assessment run that uses this assessment template. An attribute * is a key and value pair (an Attribute object). Within an assessment * template, each key must be unique.

*/ inline CreateAssessmentTemplateRequest& WithUserAttributesForFindings(Aws::Vector&& value) { SetUserAttributesForFindings(std::move(value)); return *this;} /** *

The user-defined attributes that are assigned to every finding that is * generated by the assessment run that uses this assessment template. An attribute * is a key and value pair (an Attribute object). Within an assessment * template, each key must be unique.

*/ inline CreateAssessmentTemplateRequest& AddUserAttributesForFindings(const Attribute& value) { m_userAttributesForFindingsHasBeenSet = true; m_userAttributesForFindings.push_back(value); return *this; } /** *

The user-defined attributes that are assigned to every finding that is * generated by the assessment run that uses this assessment template. An attribute * is a key and value pair (an Attribute object). Within an assessment * template, each key must be unique.

*/ inline CreateAssessmentTemplateRequest& AddUserAttributesForFindings(Attribute&& value) { m_userAttributesForFindingsHasBeenSet = true; m_userAttributesForFindings.push_back(std::move(value)); return *this; } private: Aws::String m_assessmentTargetArn; bool m_assessmentTargetArnHasBeenSet = false; Aws::String m_assessmentTemplateName; bool m_assessmentTemplateNameHasBeenSet = false; int m_durationInSeconds; bool m_durationInSecondsHasBeenSet = false; Aws::Vector m_rulesPackageArns; bool m_rulesPackageArnsHasBeenSet = false; Aws::Vector m_userAttributesForFindings; bool m_userAttributesForFindingsHasBeenSet = false; }; } // namespace Model } // namespace Inspector } // namespace Aws