/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#pragma once
#include [All policy types] Detailed information about a snapshot, AMI, or
* event-based lifecycle policy.See Also:
AWS
* API Reference
The identifier of the lifecycle policy.
*/ inline const Aws::String& GetPolicyId() const{ return m_policyId; } /** *The identifier of the lifecycle policy.
*/ inline bool PolicyIdHasBeenSet() const { return m_policyIdHasBeenSet; } /** *The identifier of the lifecycle policy.
*/ inline void SetPolicyId(const Aws::String& value) { m_policyIdHasBeenSet = true; m_policyId = value; } /** *The identifier of the lifecycle policy.
*/ inline void SetPolicyId(Aws::String&& value) { m_policyIdHasBeenSet = true; m_policyId = std::move(value); } /** *The identifier of the lifecycle policy.
*/ inline void SetPolicyId(const char* value) { m_policyIdHasBeenSet = true; m_policyId.assign(value); } /** *The identifier of the lifecycle policy.
*/ inline LifecyclePolicy& WithPolicyId(const Aws::String& value) { SetPolicyId(value); return *this;} /** *The identifier of the lifecycle policy.
*/ inline LifecyclePolicy& WithPolicyId(Aws::String&& value) { SetPolicyId(std::move(value)); return *this;} /** *The identifier of the lifecycle policy.
*/ inline LifecyclePolicy& WithPolicyId(const char* value) { SetPolicyId(value); return *this;} /** *The description of the lifecycle policy.
*/ inline const Aws::String& GetDescription() const{ return m_description; } /** *The description of the lifecycle policy.
*/ inline bool DescriptionHasBeenSet() const { return m_descriptionHasBeenSet; } /** *The description of the lifecycle policy.
*/ inline void SetDescription(const Aws::String& value) { m_descriptionHasBeenSet = true; m_description = value; } /** *The description of the lifecycle policy.
*/ inline void SetDescription(Aws::String&& value) { m_descriptionHasBeenSet = true; m_description = std::move(value); } /** *The description of the lifecycle policy.
*/ inline void SetDescription(const char* value) { m_descriptionHasBeenSet = true; m_description.assign(value); } /** *The description of the lifecycle policy.
*/ inline LifecyclePolicy& WithDescription(const Aws::String& value) { SetDescription(value); return *this;} /** *The description of the lifecycle policy.
*/ inline LifecyclePolicy& WithDescription(Aws::String&& value) { SetDescription(std::move(value)); return *this;} /** *The description of the lifecycle policy.
*/ inline LifecyclePolicy& WithDescription(const char* value) { SetDescription(value); return *this;} /** *The activation state of the lifecycle policy.
*/ inline const GettablePolicyStateValues& GetState() const{ return m_state; } /** *The activation state of the lifecycle policy.
*/ inline bool StateHasBeenSet() const { return m_stateHasBeenSet; } /** *The activation state of the lifecycle policy.
*/ inline void SetState(const GettablePolicyStateValues& value) { m_stateHasBeenSet = true; m_state = value; } /** *The activation state of the lifecycle policy.
*/ inline void SetState(GettablePolicyStateValues&& value) { m_stateHasBeenSet = true; m_state = std::move(value); } /** *The activation state of the lifecycle policy.
*/ inline LifecyclePolicy& WithState(const GettablePolicyStateValues& value) { SetState(value); return *this;} /** *The activation state of the lifecycle policy.
*/ inline LifecyclePolicy& WithState(GettablePolicyStateValues&& value) { SetState(std::move(value)); return *this;} /** *The description of the status.
*/ inline const Aws::String& GetStatusMessage() const{ return m_statusMessage; } /** *The description of the status.
*/ inline bool StatusMessageHasBeenSet() const { return m_statusMessageHasBeenSet; } /** *The description of the status.
*/ inline void SetStatusMessage(const Aws::String& value) { m_statusMessageHasBeenSet = true; m_statusMessage = value; } /** *The description of the status.
*/ inline void SetStatusMessage(Aws::String&& value) { m_statusMessageHasBeenSet = true; m_statusMessage = std::move(value); } /** *The description of the status.
*/ inline void SetStatusMessage(const char* value) { m_statusMessageHasBeenSet = true; m_statusMessage.assign(value); } /** *The description of the status.
*/ inline LifecyclePolicy& WithStatusMessage(const Aws::String& value) { SetStatusMessage(value); return *this;} /** *The description of the status.
*/ inline LifecyclePolicy& WithStatusMessage(Aws::String&& value) { SetStatusMessage(std::move(value)); return *this;} /** *The description of the status.
*/ inline LifecyclePolicy& WithStatusMessage(const char* value) { SetStatusMessage(value); return *this;} /** *The Amazon Resource Name (ARN) of the IAM role used to run the operations * specified by the lifecycle policy.
*/ inline const Aws::String& GetExecutionRoleArn() const{ return m_executionRoleArn; } /** *The Amazon Resource Name (ARN) of the IAM role used to run the operations * specified by the lifecycle policy.
*/ inline bool ExecutionRoleArnHasBeenSet() const { return m_executionRoleArnHasBeenSet; } /** *The Amazon Resource Name (ARN) of the IAM role used to run the operations * specified by the lifecycle policy.
*/ inline void SetExecutionRoleArn(const Aws::String& value) { m_executionRoleArnHasBeenSet = true; m_executionRoleArn = value; } /** *The Amazon Resource Name (ARN) of the IAM role used to run the operations * specified by the lifecycle policy.
*/ inline void SetExecutionRoleArn(Aws::String&& value) { m_executionRoleArnHasBeenSet = true; m_executionRoleArn = std::move(value); } /** *The Amazon Resource Name (ARN) of the IAM role used to run the operations * specified by the lifecycle policy.
*/ inline void SetExecutionRoleArn(const char* value) { m_executionRoleArnHasBeenSet = true; m_executionRoleArn.assign(value); } /** *The Amazon Resource Name (ARN) of the IAM role used to run the operations * specified by the lifecycle policy.
*/ inline LifecyclePolicy& WithExecutionRoleArn(const Aws::String& value) { SetExecutionRoleArn(value); return *this;} /** *The Amazon Resource Name (ARN) of the IAM role used to run the operations * specified by the lifecycle policy.
*/ inline LifecyclePolicy& WithExecutionRoleArn(Aws::String&& value) { SetExecutionRoleArn(std::move(value)); return *this;} /** *The Amazon Resource Name (ARN) of the IAM role used to run the operations * specified by the lifecycle policy.
*/ inline LifecyclePolicy& WithExecutionRoleArn(const char* value) { SetExecutionRoleArn(value); return *this;} /** *The local date and time when the lifecycle policy was created.
*/ inline const Aws::Utils::DateTime& GetDateCreated() const{ return m_dateCreated; } /** *The local date and time when the lifecycle policy was created.
*/ inline bool DateCreatedHasBeenSet() const { return m_dateCreatedHasBeenSet; } /** *The local date and time when the lifecycle policy was created.
*/ inline void SetDateCreated(const Aws::Utils::DateTime& value) { m_dateCreatedHasBeenSet = true; m_dateCreated = value; } /** *The local date and time when the lifecycle policy was created.
*/ inline void SetDateCreated(Aws::Utils::DateTime&& value) { m_dateCreatedHasBeenSet = true; m_dateCreated = std::move(value); } /** *The local date and time when the lifecycle policy was created.
*/ inline LifecyclePolicy& WithDateCreated(const Aws::Utils::DateTime& value) { SetDateCreated(value); return *this;} /** *The local date and time when the lifecycle policy was created.
*/ inline LifecyclePolicy& WithDateCreated(Aws::Utils::DateTime&& value) { SetDateCreated(std::move(value)); return *this;} /** *The local date and time when the lifecycle policy was last modified.
*/ inline const Aws::Utils::DateTime& GetDateModified() const{ return m_dateModified; } /** *The local date and time when the lifecycle policy was last modified.
*/ inline bool DateModifiedHasBeenSet() const { return m_dateModifiedHasBeenSet; } /** *The local date and time when the lifecycle policy was last modified.
*/ inline void SetDateModified(const Aws::Utils::DateTime& value) { m_dateModifiedHasBeenSet = true; m_dateModified = value; } /** *The local date and time when the lifecycle policy was last modified.
*/ inline void SetDateModified(Aws::Utils::DateTime&& value) { m_dateModifiedHasBeenSet = true; m_dateModified = std::move(value); } /** *The local date and time when the lifecycle policy was last modified.
*/ inline LifecyclePolicy& WithDateModified(const Aws::Utils::DateTime& value) { SetDateModified(value); return *this;} /** *The local date and time when the lifecycle policy was last modified.
*/ inline LifecyclePolicy& WithDateModified(Aws::Utils::DateTime&& value) { SetDateModified(std::move(value)); return *this;} /** *The configuration of the lifecycle policy
*/ inline const PolicyDetails& GetPolicyDetails() const{ return m_policyDetails; } /** *The configuration of the lifecycle policy
*/ inline bool PolicyDetailsHasBeenSet() const { return m_policyDetailsHasBeenSet; } /** *The configuration of the lifecycle policy
*/ inline void SetPolicyDetails(const PolicyDetails& value) { m_policyDetailsHasBeenSet = true; m_policyDetails = value; } /** *The configuration of the lifecycle policy
*/ inline void SetPolicyDetails(PolicyDetails&& value) { m_policyDetailsHasBeenSet = true; m_policyDetails = std::move(value); } /** *The configuration of the lifecycle policy
*/ inline LifecyclePolicy& WithPolicyDetails(const PolicyDetails& value) { SetPolicyDetails(value); return *this;} /** *The configuration of the lifecycle policy
*/ inline LifecyclePolicy& WithPolicyDetails(PolicyDetails&& value) { SetPolicyDetails(std::move(value)); return *this;} /** *The tags.
*/ inline const Aws::MapThe tags.
*/ inline bool TagsHasBeenSet() const { return m_tagsHasBeenSet; } /** *The tags.
*/ inline void SetTags(const Aws::MapThe tags.
*/ inline void SetTags(Aws::MapThe tags.
*/ inline LifecyclePolicy& WithTags(const Aws::MapThe tags.
*/ inline LifecyclePolicy& WithTags(Aws::MapThe tags.
*/ inline LifecyclePolicy& AddTags(const Aws::String& key, const Aws::String& value) { m_tagsHasBeenSet = true; m_tags.emplace(key, value); return *this; } /** *The tags.
*/ inline LifecyclePolicy& AddTags(Aws::String&& key, const Aws::String& value) { m_tagsHasBeenSet = true; m_tags.emplace(std::move(key), value); return *this; } /** *The tags.
*/ inline LifecyclePolicy& AddTags(const Aws::String& key, Aws::String&& value) { m_tagsHasBeenSet = true; m_tags.emplace(key, std::move(value)); return *this; } /** *The tags.
*/ inline LifecyclePolicy& AddTags(Aws::String&& key, Aws::String&& value) { m_tagsHasBeenSet = true; m_tags.emplace(std::move(key), std::move(value)); return *this; } /** *The tags.
*/ inline LifecyclePolicy& AddTags(const char* key, Aws::String&& value) { m_tagsHasBeenSet = true; m_tags.emplace(key, std::move(value)); return *this; } /** *The tags.
*/ inline LifecyclePolicy& AddTags(Aws::String&& key, const char* value) { m_tagsHasBeenSet = true; m_tags.emplace(std::move(key), value); return *this; } /** *The tags.
*/ inline LifecyclePolicy& AddTags(const char* key, const char* value) { m_tagsHasBeenSet = true; m_tags.emplace(key, value); return *this; } /** *The Amazon Resource Name (ARN) of the policy.
*/ inline const Aws::String& GetPolicyArn() const{ return m_policyArn; } /** *The Amazon Resource Name (ARN) of the policy.
*/ inline bool PolicyArnHasBeenSet() const { return m_policyArnHasBeenSet; } /** *The Amazon Resource Name (ARN) of the policy.
*/ inline void SetPolicyArn(const Aws::String& value) { m_policyArnHasBeenSet = true; m_policyArn = value; } /** *The Amazon Resource Name (ARN) of the policy.
*/ inline void SetPolicyArn(Aws::String&& value) { m_policyArnHasBeenSet = true; m_policyArn = std::move(value); } /** *The Amazon Resource Name (ARN) of the policy.
*/ inline void SetPolicyArn(const char* value) { m_policyArnHasBeenSet = true; m_policyArn.assign(value); } /** *The Amazon Resource Name (ARN) of the policy.
*/ inline LifecyclePolicy& WithPolicyArn(const Aws::String& value) { SetPolicyArn(value); return *this;} /** *The Amazon Resource Name (ARN) of the policy.
*/ inline LifecyclePolicy& WithPolicyArn(Aws::String&& value) { SetPolicyArn(std::move(value)); return *this;} /** *The Amazon Resource Name (ARN) of the policy.
*/ inline LifecyclePolicy& WithPolicyArn(const char* value) { SetPolicyArn(value); return *this;} private: Aws::String m_policyId; bool m_policyIdHasBeenSet = false; Aws::String m_description; bool m_descriptionHasBeenSet = false; GettablePolicyStateValues m_state; bool m_stateHasBeenSet = false; Aws::String m_statusMessage; bool m_statusMessageHasBeenSet = false; Aws::String m_executionRoleArn; bool m_executionRoleArnHasBeenSet = false; Aws::Utils::DateTime m_dateCreated; bool m_dateCreatedHasBeenSet = false; Aws::Utils::DateTime m_dateModified; bool m_dateModifiedHasBeenSet = false; PolicyDetails m_policyDetails; bool m_policyDetailsHasBeenSet = false; Aws::Map