/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#pragma once
#include The state of the profile after a read or write operation.See
* Also:
AWS
* API Reference
The ISO-8601 timestamp when the profile was created.
*/ inline const Aws::Utils::DateTime& GetCreatedAt() const{ return m_createdAt; } /** *The ISO-8601 timestamp when the profile was created.
*/ inline bool CreatedAtHasBeenSet() const { return m_createdAtHasBeenSet; } /** *The ISO-8601 timestamp when the profile was created.
*/ inline void SetCreatedAt(const Aws::Utils::DateTime& value) { m_createdAtHasBeenSet = true; m_createdAt = value; } /** *The ISO-8601 timestamp when the profile was created.
*/ inline void SetCreatedAt(Aws::Utils::DateTime&& value) { m_createdAtHasBeenSet = true; m_createdAt = std::move(value); } /** *The ISO-8601 timestamp when the profile was created.
*/ inline ProfileDetail& WithCreatedAt(const Aws::Utils::DateTime& value) { SetCreatedAt(value); return *this;} /** *The ISO-8601 timestamp when the profile was created.
*/ inline ProfileDetail& WithCreatedAt(Aws::Utils::DateTime&& value) { SetCreatedAt(std::move(value)); return *this;} /** *The Amazon Web Services account that created the profile.
*/ inline const Aws::String& GetCreatedBy() const{ return m_createdBy; } /** *The Amazon Web Services account that created the profile.
*/ inline bool CreatedByHasBeenSet() const { return m_createdByHasBeenSet; } /** *The Amazon Web Services account that created the profile.
*/ inline void SetCreatedBy(const Aws::String& value) { m_createdByHasBeenSet = true; m_createdBy = value; } /** *The Amazon Web Services account that created the profile.
*/ inline void SetCreatedBy(Aws::String&& value) { m_createdByHasBeenSet = true; m_createdBy = std::move(value); } /** *The Amazon Web Services account that created the profile.
*/ inline void SetCreatedBy(const char* value) { m_createdByHasBeenSet = true; m_createdBy.assign(value); } /** *The Amazon Web Services account that created the profile.
*/ inline ProfileDetail& WithCreatedBy(const Aws::String& value) { SetCreatedBy(value); return *this;} /** *The Amazon Web Services account that created the profile.
*/ inline ProfileDetail& WithCreatedBy(Aws::String&& value) { SetCreatedBy(std::move(value)); return *this;} /** *The Amazon Web Services account that created the profile.
*/ inline ProfileDetail& WithCreatedBy(const char* value) { SetCreatedBy(value); return *this;} /** *The number of seconds the vended session credentials are valid for.
*/ inline int GetDurationSeconds() const{ return m_durationSeconds; } /** *The number of seconds the vended session credentials are valid for.
*/ inline bool DurationSecondsHasBeenSet() const { return m_durationSecondsHasBeenSet; } /** *The number of seconds the vended session credentials are valid for.
*/ inline void SetDurationSeconds(int value) { m_durationSecondsHasBeenSet = true; m_durationSeconds = value; } /** *The number of seconds the vended session credentials are valid for.
*/ inline ProfileDetail& WithDurationSeconds(int value) { SetDurationSeconds(value); return *this;} /** *Indicates whether the profile is enabled.
*/ inline bool GetEnabled() const{ return m_enabled; } /** *Indicates whether the profile is enabled.
*/ inline bool EnabledHasBeenSet() const { return m_enabledHasBeenSet; } /** *Indicates whether the profile is enabled.
*/ inline void SetEnabled(bool value) { m_enabledHasBeenSet = true; m_enabled = value; } /** *Indicates whether the profile is enabled.
*/ inline ProfileDetail& WithEnabled(bool value) { SetEnabled(value); return *this;} /** *A list of managed policy ARNs that apply to the vended session credentials. *
*/ inline const Aws::VectorA list of managed policy ARNs that apply to the vended session credentials. *
*/ inline bool ManagedPolicyArnsHasBeenSet() const { return m_managedPolicyArnsHasBeenSet; } /** *A list of managed policy ARNs that apply to the vended session credentials. *
*/ inline void SetManagedPolicyArns(const Aws::VectorA list of managed policy ARNs that apply to the vended session credentials. *
*/ inline void SetManagedPolicyArns(Aws::VectorA list of managed policy ARNs that apply to the vended session credentials. *
*/ inline ProfileDetail& WithManagedPolicyArns(const Aws::VectorA list of managed policy ARNs that apply to the vended session credentials. *
*/ inline ProfileDetail& WithManagedPolicyArns(Aws::VectorA list of managed policy ARNs that apply to the vended session credentials. *
*/ inline ProfileDetail& AddManagedPolicyArns(const Aws::String& value) { m_managedPolicyArnsHasBeenSet = true; m_managedPolicyArns.push_back(value); return *this; } /** *A list of managed policy ARNs that apply to the vended session credentials. *
*/ inline ProfileDetail& AddManagedPolicyArns(Aws::String&& value) { m_managedPolicyArnsHasBeenSet = true; m_managedPolicyArns.push_back(std::move(value)); return *this; } /** *A list of managed policy ARNs that apply to the vended session credentials. *
*/ inline ProfileDetail& AddManagedPolicyArns(const char* value) { m_managedPolicyArnsHasBeenSet = true; m_managedPolicyArns.push_back(value); return *this; } /** *The name of the profile.
*/ inline const Aws::String& GetName() const{ return m_name; } /** *The name of the profile.
*/ inline bool NameHasBeenSet() const { return m_nameHasBeenSet; } /** *The name of the profile.
*/ inline void SetName(const Aws::String& value) { m_nameHasBeenSet = true; m_name = value; } /** *The name of the profile.
*/ inline void SetName(Aws::String&& value) { m_nameHasBeenSet = true; m_name = std::move(value); } /** *The name of the profile.
*/ inline void SetName(const char* value) { m_nameHasBeenSet = true; m_name.assign(value); } /** *The name of the profile.
*/ inline ProfileDetail& WithName(const Aws::String& value) { SetName(value); return *this;} /** *The name of the profile.
*/ inline ProfileDetail& WithName(Aws::String&& value) { SetName(std::move(value)); return *this;} /** *The name of the profile.
*/ inline ProfileDetail& WithName(const char* value) { SetName(value); return *this;} /** *The ARN of the profile.
*/ inline const Aws::String& GetProfileArn() const{ return m_profileArn; } /** *The ARN of the profile.
*/ inline bool ProfileArnHasBeenSet() const { return m_profileArnHasBeenSet; } /** *The ARN of the profile.
*/ inline void SetProfileArn(const Aws::String& value) { m_profileArnHasBeenSet = true; m_profileArn = value; } /** *The ARN of the profile.
*/ inline void SetProfileArn(Aws::String&& value) { m_profileArnHasBeenSet = true; m_profileArn = std::move(value); } /** *The ARN of the profile.
*/ inline void SetProfileArn(const char* value) { m_profileArnHasBeenSet = true; m_profileArn.assign(value); } /** *The ARN of the profile.
*/ inline ProfileDetail& WithProfileArn(const Aws::String& value) { SetProfileArn(value); return *this;} /** *The ARN of the profile.
*/ inline ProfileDetail& WithProfileArn(Aws::String&& value) { SetProfileArn(std::move(value)); return *this;} /** *The ARN of the profile.
*/ inline ProfileDetail& WithProfileArn(const char* value) { SetProfileArn(value); return *this;} /** *The unique identifier of the profile.
*/ inline const Aws::String& GetProfileId() const{ return m_profileId; } /** *The unique identifier of the profile.
*/ inline bool ProfileIdHasBeenSet() const { return m_profileIdHasBeenSet; } /** *The unique identifier of the profile.
*/ inline void SetProfileId(const Aws::String& value) { m_profileIdHasBeenSet = true; m_profileId = value; } /** *The unique identifier of the profile.
*/ inline void SetProfileId(Aws::String&& value) { m_profileIdHasBeenSet = true; m_profileId = std::move(value); } /** *The unique identifier of the profile.
*/ inline void SetProfileId(const char* value) { m_profileIdHasBeenSet = true; m_profileId.assign(value); } /** *The unique identifier of the profile.
*/ inline ProfileDetail& WithProfileId(const Aws::String& value) { SetProfileId(value); return *this;} /** *The unique identifier of the profile.
*/ inline ProfileDetail& WithProfileId(Aws::String&& value) { SetProfileId(std::move(value)); return *this;} /** *The unique identifier of the profile.
*/ inline ProfileDetail& WithProfileId(const char* value) { SetProfileId(value); return *this;} /** *Specifies whether instance properties are required in temporary credential * requests with this profile.
*/ inline bool GetRequireInstanceProperties() const{ return m_requireInstanceProperties; } /** *Specifies whether instance properties are required in temporary credential * requests with this profile.
*/ inline bool RequireInstancePropertiesHasBeenSet() const { return m_requireInstancePropertiesHasBeenSet; } /** *Specifies whether instance properties are required in temporary credential * requests with this profile.
*/ inline void SetRequireInstanceProperties(bool value) { m_requireInstancePropertiesHasBeenSet = true; m_requireInstanceProperties = value; } /** *Specifies whether instance properties are required in temporary credential * requests with this profile.
*/ inline ProfileDetail& WithRequireInstanceProperties(bool value) { SetRequireInstanceProperties(value); return *this;} /** *A list of IAM roles that this profile can assume in a temporary credential * request.
*/ inline const Aws::VectorA list of IAM roles that this profile can assume in a temporary credential * request.
*/ inline bool RoleArnsHasBeenSet() const { return m_roleArnsHasBeenSet; } /** *A list of IAM roles that this profile can assume in a temporary credential * request.
*/ inline void SetRoleArns(const Aws::VectorA list of IAM roles that this profile can assume in a temporary credential * request.
*/ inline void SetRoleArns(Aws::VectorA list of IAM roles that this profile can assume in a temporary credential * request.
*/ inline ProfileDetail& WithRoleArns(const Aws::VectorA list of IAM roles that this profile can assume in a temporary credential * request.
*/ inline ProfileDetail& WithRoleArns(Aws::VectorA list of IAM roles that this profile can assume in a temporary credential * request.
*/ inline ProfileDetail& AddRoleArns(const Aws::String& value) { m_roleArnsHasBeenSet = true; m_roleArns.push_back(value); return *this; } /** *A list of IAM roles that this profile can assume in a temporary credential * request.
*/ inline ProfileDetail& AddRoleArns(Aws::String&& value) { m_roleArnsHasBeenSet = true; m_roleArns.push_back(std::move(value)); return *this; } /** *A list of IAM roles that this profile can assume in a temporary credential * request.
*/ inline ProfileDetail& AddRoleArns(const char* value) { m_roleArnsHasBeenSet = true; m_roleArns.push_back(value); return *this; } /** *A session policy that applies to the trust boundary of the vended session * credentials.
*/ inline const Aws::String& GetSessionPolicy() const{ return m_sessionPolicy; } /** *A session policy that applies to the trust boundary of the vended session * credentials.
*/ inline bool SessionPolicyHasBeenSet() const { return m_sessionPolicyHasBeenSet; } /** *A session policy that applies to the trust boundary of the vended session * credentials.
*/ inline void SetSessionPolicy(const Aws::String& value) { m_sessionPolicyHasBeenSet = true; m_sessionPolicy = value; } /** *A session policy that applies to the trust boundary of the vended session * credentials.
*/ inline void SetSessionPolicy(Aws::String&& value) { m_sessionPolicyHasBeenSet = true; m_sessionPolicy = std::move(value); } /** *A session policy that applies to the trust boundary of the vended session * credentials.
*/ inline void SetSessionPolicy(const char* value) { m_sessionPolicyHasBeenSet = true; m_sessionPolicy.assign(value); } /** *A session policy that applies to the trust boundary of the vended session * credentials.
*/ inline ProfileDetail& WithSessionPolicy(const Aws::String& value) { SetSessionPolicy(value); return *this;} /** *A session policy that applies to the trust boundary of the vended session * credentials.
*/ inline ProfileDetail& WithSessionPolicy(Aws::String&& value) { SetSessionPolicy(std::move(value)); return *this;} /** *A session policy that applies to the trust boundary of the vended session * credentials.
*/ inline ProfileDetail& WithSessionPolicy(const char* value) { SetSessionPolicy(value); return *this;} /** *The ISO-8601 timestamp when the profile was last updated.
*/ inline const Aws::Utils::DateTime& GetUpdatedAt() const{ return m_updatedAt; } /** *The ISO-8601 timestamp when the profile was last updated.
*/ inline bool UpdatedAtHasBeenSet() const { return m_updatedAtHasBeenSet; } /** *The ISO-8601 timestamp when the profile was last updated.
*/ inline void SetUpdatedAt(const Aws::Utils::DateTime& value) { m_updatedAtHasBeenSet = true; m_updatedAt = value; } /** *The ISO-8601 timestamp when the profile was last updated.
*/ inline void SetUpdatedAt(Aws::Utils::DateTime&& value) { m_updatedAtHasBeenSet = true; m_updatedAt = std::move(value); } /** *The ISO-8601 timestamp when the profile was last updated.
*/ inline ProfileDetail& WithUpdatedAt(const Aws::Utils::DateTime& value) { SetUpdatedAt(value); return *this;} /** *The ISO-8601 timestamp when the profile was last updated.
*/ inline ProfileDetail& WithUpdatedAt(Aws::Utils::DateTime&& value) { SetUpdatedAt(std::move(value)); return *this;} private: Aws::Utils::DateTime m_createdAt; bool m_createdAtHasBeenSet = false; Aws::String m_createdBy; bool m_createdByHasBeenSet = false; int m_durationSeconds; bool m_durationSecondsHasBeenSet = false; bool m_enabled; bool m_enabledHasBeenSet = false; Aws::Vector