/** * 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 Http { class URI; } //namespace Http namespace DLM { namespace Model { /** */ class GetLifecyclePoliciesRequest : public DLMRequest { public: AWS_DLM_API GetLifecyclePoliciesRequest(); // 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 "GetLifecyclePolicies"; } AWS_DLM_API Aws::String SerializePayload() const override; AWS_DLM_API void AddQueryStringParameters(Aws::Http::URI& uri) const override; /** *

The identifiers of the data lifecycle policies.

*/ inline const Aws::Vector& GetPolicyIds() const{ return m_policyIds; } /** *

The identifiers of the data lifecycle policies.

*/ inline bool PolicyIdsHasBeenSet() const { return m_policyIdsHasBeenSet; } /** *

The identifiers of the data lifecycle policies.

*/ inline void SetPolicyIds(const Aws::Vector& value) { m_policyIdsHasBeenSet = true; m_policyIds = value; } /** *

The identifiers of the data lifecycle policies.

*/ inline void SetPolicyIds(Aws::Vector&& value) { m_policyIdsHasBeenSet = true; m_policyIds = std::move(value); } /** *

The identifiers of the data lifecycle policies.

*/ inline GetLifecyclePoliciesRequest& WithPolicyIds(const Aws::Vector& value) { SetPolicyIds(value); return *this;} /** *

The identifiers of the data lifecycle policies.

*/ inline GetLifecyclePoliciesRequest& WithPolicyIds(Aws::Vector&& value) { SetPolicyIds(std::move(value)); return *this;} /** *

The identifiers of the data lifecycle policies.

*/ inline GetLifecyclePoliciesRequest& AddPolicyIds(const Aws::String& value) { m_policyIdsHasBeenSet = true; m_policyIds.push_back(value); return *this; } /** *

The identifiers of the data lifecycle policies.

*/ inline GetLifecyclePoliciesRequest& AddPolicyIds(Aws::String&& value) { m_policyIdsHasBeenSet = true; m_policyIds.push_back(std::move(value)); return *this; } /** *

The identifiers of the data lifecycle policies.

*/ inline GetLifecyclePoliciesRequest& AddPolicyIds(const char* value) { m_policyIdsHasBeenSet = true; m_policyIds.push_back(value); return *this; } /** *

The activation state.

*/ inline const GettablePolicyStateValues& GetState() const{ return m_state; } /** *

The activation state.

*/ inline bool StateHasBeenSet() const { return m_stateHasBeenSet; } /** *

The activation state.

*/ inline void SetState(const GettablePolicyStateValues& value) { m_stateHasBeenSet = true; m_state = value; } /** *

The activation state.

*/ inline void SetState(GettablePolicyStateValues&& value) { m_stateHasBeenSet = true; m_state = std::move(value); } /** *

The activation state.

*/ inline GetLifecyclePoliciesRequest& WithState(const GettablePolicyStateValues& value) { SetState(value); return *this;} /** *

The activation state.

*/ inline GetLifecyclePoliciesRequest& WithState(GettablePolicyStateValues&& value) { SetState(std::move(value)); return *this;} /** *

The resource type.

*/ inline const Aws::Vector& GetResourceTypes() const{ return m_resourceTypes; } /** *

The resource type.

*/ inline bool ResourceTypesHasBeenSet() const { return m_resourceTypesHasBeenSet; } /** *

The resource type.

*/ inline void SetResourceTypes(const Aws::Vector& value) { m_resourceTypesHasBeenSet = true; m_resourceTypes = value; } /** *

The resource type.

*/ inline void SetResourceTypes(Aws::Vector&& value) { m_resourceTypesHasBeenSet = true; m_resourceTypes = std::move(value); } /** *

The resource type.

*/ inline GetLifecyclePoliciesRequest& WithResourceTypes(const Aws::Vector& value) { SetResourceTypes(value); return *this;} /** *

The resource type.

*/ inline GetLifecyclePoliciesRequest& WithResourceTypes(Aws::Vector&& value) { SetResourceTypes(std::move(value)); return *this;} /** *

The resource type.

*/ inline GetLifecyclePoliciesRequest& AddResourceTypes(const ResourceTypeValues& value) { m_resourceTypesHasBeenSet = true; m_resourceTypes.push_back(value); return *this; } /** *

The resource type.

*/ inline GetLifecyclePoliciesRequest& AddResourceTypes(ResourceTypeValues&& value) { m_resourceTypesHasBeenSet = true; m_resourceTypes.push_back(std::move(value)); return *this; } /** *

The target tag for a policy.

Tags are strings in the format * key=value.

*/ inline const Aws::Vector& GetTargetTags() const{ return m_targetTags; } /** *

The target tag for a policy.

Tags are strings in the format * key=value.

*/ inline bool TargetTagsHasBeenSet() const { return m_targetTagsHasBeenSet; } /** *

The target tag for a policy.

Tags are strings in the format * key=value.

*/ inline void SetTargetTags(const Aws::Vector& value) { m_targetTagsHasBeenSet = true; m_targetTags = value; } /** *

The target tag for a policy.

Tags are strings in the format * key=value.

*/ inline void SetTargetTags(Aws::Vector&& value) { m_targetTagsHasBeenSet = true; m_targetTags = std::move(value); } /** *

The target tag for a policy.

Tags are strings in the format * key=value.

*/ inline GetLifecyclePoliciesRequest& WithTargetTags(const Aws::Vector& value) { SetTargetTags(value); return *this;} /** *

The target tag for a policy.

Tags are strings in the format * key=value.

*/ inline GetLifecyclePoliciesRequest& WithTargetTags(Aws::Vector&& value) { SetTargetTags(std::move(value)); return *this;} /** *

The target tag for a policy.

Tags are strings in the format * key=value.

*/ inline GetLifecyclePoliciesRequest& AddTargetTags(const Aws::String& value) { m_targetTagsHasBeenSet = true; m_targetTags.push_back(value); return *this; } /** *

The target tag for a policy.

Tags are strings in the format * key=value.

*/ inline GetLifecyclePoliciesRequest& AddTargetTags(Aws::String&& value) { m_targetTagsHasBeenSet = true; m_targetTags.push_back(std::move(value)); return *this; } /** *

The target tag for a policy.

Tags are strings in the format * key=value.

*/ inline GetLifecyclePoliciesRequest& AddTargetTags(const char* value) { m_targetTagsHasBeenSet = true; m_targetTags.push_back(value); return *this; } /** *

The tags to add to objects created by the policy.

Tags are strings in * the format key=value.

These user-defined tags are added in * addition to the Amazon Web Services-added lifecycle tags.

*/ inline const Aws::Vector& GetTagsToAdd() const{ return m_tagsToAdd; } /** *

The tags to add to objects created by the policy.

Tags are strings in * the format key=value.

These user-defined tags are added in * addition to the Amazon Web Services-added lifecycle tags.

*/ inline bool TagsToAddHasBeenSet() const { return m_tagsToAddHasBeenSet; } /** *

The tags to add to objects created by the policy.

Tags are strings in * the format key=value.

These user-defined tags are added in * addition to the Amazon Web Services-added lifecycle tags.

*/ inline void SetTagsToAdd(const Aws::Vector& value) { m_tagsToAddHasBeenSet = true; m_tagsToAdd = value; } /** *

The tags to add to objects created by the policy.

Tags are strings in * the format key=value.

These user-defined tags are added in * addition to the Amazon Web Services-added lifecycle tags.

*/ inline void SetTagsToAdd(Aws::Vector&& value) { m_tagsToAddHasBeenSet = true; m_tagsToAdd = std::move(value); } /** *

The tags to add to objects created by the policy.

Tags are strings in * the format key=value.

These user-defined tags are added in * addition to the Amazon Web Services-added lifecycle tags.

*/ inline GetLifecyclePoliciesRequest& WithTagsToAdd(const Aws::Vector& value) { SetTagsToAdd(value); return *this;} /** *

The tags to add to objects created by the policy.

Tags are strings in * the format key=value.

These user-defined tags are added in * addition to the Amazon Web Services-added lifecycle tags.

*/ inline GetLifecyclePoliciesRequest& WithTagsToAdd(Aws::Vector&& value) { SetTagsToAdd(std::move(value)); return *this;} /** *

The tags to add to objects created by the policy.

Tags are strings in * the format key=value.

These user-defined tags are added in * addition to the Amazon Web Services-added lifecycle tags.

*/ inline GetLifecyclePoliciesRequest& AddTagsToAdd(const Aws::String& value) { m_tagsToAddHasBeenSet = true; m_tagsToAdd.push_back(value); return *this; } /** *

The tags to add to objects created by the policy.

Tags are strings in * the format key=value.

These user-defined tags are added in * addition to the Amazon Web Services-added lifecycle tags.

*/ inline GetLifecyclePoliciesRequest& AddTagsToAdd(Aws::String&& value) { m_tagsToAddHasBeenSet = true; m_tagsToAdd.push_back(std::move(value)); return *this; } /** *

The tags to add to objects created by the policy.

Tags are strings in * the format key=value.

These user-defined tags are added in * addition to the Amazon Web Services-added lifecycle tags.

*/ inline GetLifecyclePoliciesRequest& AddTagsToAdd(const char* value) { m_tagsToAddHasBeenSet = true; m_tagsToAdd.push_back(value); return *this; } private: Aws::Vector m_policyIds; bool m_policyIdsHasBeenSet = false; GettablePolicyStateValues m_state; bool m_stateHasBeenSet = false; Aws::Vector m_resourceTypes; bool m_resourceTypesHasBeenSet = false; Aws::Vector m_targetTags; bool m_targetTagsHasBeenSet = false; Aws::Vector m_tagsToAdd; bool m_tagsToAddHasBeenSet = false; }; } // namespace Model } // namespace DLM } // namespace Aws