/** * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. * SPDX-License-Identifier: Apache-2.0. */ #pragma once #include #include #include #include #include namespace Aws { namespace SES { namespace Model { /** *

Represents a request to create a receipt rule. You use receipt rules to * receive email with Amazon SES. For more information, see the Amazon * SES Developer Guide.

See Also:

AWS * API Reference

*/ class CreateReceiptRuleRequest : public SESRequest { public: AWS_SES_API CreateReceiptRuleRequest(); // 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 "CreateReceiptRule"; } AWS_SES_API Aws::String SerializePayload() const override; protected: AWS_SES_API void DumpBodyToUrl(Aws::Http::URI& uri ) const override; public: /** *

The name of the rule set that the receipt rule will be added to.

*/ inline const Aws::String& GetRuleSetName() const{ return m_ruleSetName; } /** *

The name of the rule set that the receipt rule will be added to.

*/ inline bool RuleSetNameHasBeenSet() const { return m_ruleSetNameHasBeenSet; } /** *

The name of the rule set that the receipt rule will be added to.

*/ inline void SetRuleSetName(const Aws::String& value) { m_ruleSetNameHasBeenSet = true; m_ruleSetName = value; } /** *

The name of the rule set that the receipt rule will be added to.

*/ inline void SetRuleSetName(Aws::String&& value) { m_ruleSetNameHasBeenSet = true; m_ruleSetName = std::move(value); } /** *

The name of the rule set that the receipt rule will be added to.

*/ inline void SetRuleSetName(const char* value) { m_ruleSetNameHasBeenSet = true; m_ruleSetName.assign(value); } /** *

The name of the rule set that the receipt rule will be added to.

*/ inline CreateReceiptRuleRequest& WithRuleSetName(const Aws::String& value) { SetRuleSetName(value); return *this;} /** *

The name of the rule set that the receipt rule will be added to.

*/ inline CreateReceiptRuleRequest& WithRuleSetName(Aws::String&& value) { SetRuleSetName(std::move(value)); return *this;} /** *

The name of the rule set that the receipt rule will be added to.

*/ inline CreateReceiptRuleRequest& WithRuleSetName(const char* value) { SetRuleSetName(value); return *this;} /** *

The name of an existing rule after which the new rule will be placed. If this * parameter is null, the new rule will be inserted at the beginning of the rule * list.

*/ inline const Aws::String& GetAfter() const{ return m_after; } /** *

The name of an existing rule after which the new rule will be placed. If this * parameter is null, the new rule will be inserted at the beginning of the rule * list.

*/ inline bool AfterHasBeenSet() const { return m_afterHasBeenSet; } /** *

The name of an existing rule after which the new rule will be placed. If this * parameter is null, the new rule will be inserted at the beginning of the rule * list.

*/ inline void SetAfter(const Aws::String& value) { m_afterHasBeenSet = true; m_after = value; } /** *

The name of an existing rule after which the new rule will be placed. If this * parameter is null, the new rule will be inserted at the beginning of the rule * list.

*/ inline void SetAfter(Aws::String&& value) { m_afterHasBeenSet = true; m_after = std::move(value); } /** *

The name of an existing rule after which the new rule will be placed. If this * parameter is null, the new rule will be inserted at the beginning of the rule * list.

*/ inline void SetAfter(const char* value) { m_afterHasBeenSet = true; m_after.assign(value); } /** *

The name of an existing rule after which the new rule will be placed. If this * parameter is null, the new rule will be inserted at the beginning of the rule * list.

*/ inline CreateReceiptRuleRequest& WithAfter(const Aws::String& value) { SetAfter(value); return *this;} /** *

The name of an existing rule after which the new rule will be placed. If this * parameter is null, the new rule will be inserted at the beginning of the rule * list.

*/ inline CreateReceiptRuleRequest& WithAfter(Aws::String&& value) { SetAfter(std::move(value)); return *this;} /** *

The name of an existing rule after which the new rule will be placed. If this * parameter is null, the new rule will be inserted at the beginning of the rule * list.

*/ inline CreateReceiptRuleRequest& WithAfter(const char* value) { SetAfter(value); return *this;} /** *

A data structure that contains the specified rule's name, actions, * recipients, domains, enabled status, scan status, and TLS policy.

*/ inline const ReceiptRule& GetRule() const{ return m_rule; } /** *

A data structure that contains the specified rule's name, actions, * recipients, domains, enabled status, scan status, and TLS policy.

*/ inline bool RuleHasBeenSet() const { return m_ruleHasBeenSet; } /** *

A data structure that contains the specified rule's name, actions, * recipients, domains, enabled status, scan status, and TLS policy.

*/ inline void SetRule(const ReceiptRule& value) { m_ruleHasBeenSet = true; m_rule = value; } /** *

A data structure that contains the specified rule's name, actions, * recipients, domains, enabled status, scan status, and TLS policy.

*/ inline void SetRule(ReceiptRule&& value) { m_ruleHasBeenSet = true; m_rule = std::move(value); } /** *

A data structure that contains the specified rule's name, actions, * recipients, domains, enabled status, scan status, and TLS policy.

*/ inline CreateReceiptRuleRequest& WithRule(const ReceiptRule& value) { SetRule(value); return *this;} /** *

A data structure that contains the specified rule's name, actions, * recipients, domains, enabled status, scan status, and TLS policy.

*/ inline CreateReceiptRuleRequest& WithRule(ReceiptRule&& value) { SetRule(std::move(value)); return *this;} private: Aws::String m_ruleSetName; bool m_ruleSetNameHasBeenSet = false; Aws::String m_after; bool m_afterHasBeenSet = false; ReceiptRule m_rule; bool m_ruleHasBeenSet = false; }; } // namespace Model } // namespace SES } // namespace Aws