7#include <aws/core/utils/DateTime.h>
8#include <aws/core/utils/memory/stl/AWSStreamFwd.h>
9#include <aws/core/utils/memory/stl/AWSString.h>
10#include <aws/core/utils/memory/stl/AWSVector.h>
11#include <aws/iam/IAM_EXPORTS.h>
12#include <aws/iam/model/InlinePolicy.h>
13#include <aws/iam/model/ManagedByTypeType.h>
14#include <aws/iam/model/ParameterDefinition.h>
15#include <aws/iam/model/TagTemplate.h>
57 template <
typename TemplateArnT = Aws::String>
59 m_templateArnHasBeenSet =
true;
60 m_templateArn = std::forward<TemplateArnT>(value);
62 template <
typename TemplateArnT = Aws::String>
75 template <
typename TemplateNameT = Aws::String>
77 m_templateNameHasBeenSet =
true;
78 m_templateName = std::forward<TemplateNameT>(value);
80 template <
typename TemplateNameT = Aws::String>
93 template <
typename TemplateVersionIdT = Aws::String>
95 m_templateVersionIdHasBeenSet =
true;
96 m_templateVersionId = std::forward<TemplateVersionIdT>(value);
98 template <
typename TemplateVersionIdT = Aws::String>
111 template <
typename DescriptionT = Aws::String>
113 m_descriptionHasBeenSet =
true;
114 m_description = std::forward<DescriptionT>(value);
116 template <
typename DescriptionT = Aws::String>
130 m_majorVersionHasBeenSet =
true;
131 m_majorVersion = value;
147 m_defaultMinorVersionHasBeenSet =
true;
148 m_defaultMinorVersion = value;
164 m_managedByTypeHasBeenSet =
true;
165 m_managedByType = value;
180 template <
typename ManagedByValueT = Aws::String>
182 m_managedByValueHasBeenSet =
true;
183 m_managedByValue = std::forward<ManagedByValueT>(value);
185 template <
typename ManagedByValueT = Aws::String>
200 m_enabledHasBeenSet =
true;
216 m_minorVersionHasBeenSet =
true;
217 m_minorVersion = value;
235 template <
typename RoleNamePatternT = Aws::String>
237 m_roleNamePatternHasBeenSet =
true;
238 m_roleNamePattern = std::forward<RoleNamePatternT>(value);
240 template <
typename RoleNamePatternT = Aws::String>
254 template <
typename RolePathPatternT = Aws::String>
256 m_rolePathPatternHasBeenSet =
true;
257 m_rolePathPattern = std::forward<RolePathPatternT>(value);
259 template <
typename RolePathPatternT = Aws::String>
273 template <
typename RoleDescriptionPatternT = Aws::String>
275 m_roleDescriptionPatternHasBeenSet =
true;
276 m_roleDescriptionPattern = std::forward<RoleDescriptionPatternT>(value);
278 template <
typename RoleDescriptionPatternT = Aws::String>
292 template <
typename AssumeRolePolicyDocumentTemplateT = Aws::String>
294 m_assumeRolePolicyDocumentTemplateHasBeenSet =
true;
295 m_assumeRolePolicyDocumentTemplate = std::forward<AssumeRolePolicyDocumentTemplateT>(value);
297 template <
typename AssumeRolePolicyDocumentTemplateT = Aws::String>
311 template <
typename InlinePolicyTemplatesT = Aws::Vector<InlinePolicy>>
313 m_inlinePolicyTemplatesHasBeenSet =
true;
314 m_inlinePolicyTemplates = std::forward<InlinePolicyTemplatesT>(value);
316 template <
typename InlinePolicyTemplatesT = Aws::Vector<InlinePolicy>>
321 template <
typename InlinePolicyTemplatesT = InlinePolicy>
323 m_inlinePolicyTemplatesHasBeenSet =
true;
324 m_inlinePolicyTemplates.emplace_back(std::forward<InlinePolicyTemplatesT>(value));
336 template <
typename ManagedPolicyArnsT = Aws::Vector<Aws::String>>
338 m_managedPolicyArnsHasBeenSet =
true;
339 m_managedPolicyArns = std::forward<ManagedPolicyArnsT>(value);
341 template <
typename ManagedPolicyArnsT = Aws::Vector<Aws::String>>
346 template <
typename ManagedPolicyArnsT = Aws::String>
348 m_managedPolicyArnsHasBeenSet =
true;
349 m_managedPolicyArns.emplace_back(std::forward<ManagedPolicyArnsT>(value));
364 template <
typename PermissionBoundaryArnT = Aws::String>
366 m_permissionBoundaryArnHasBeenSet =
true;
367 m_permissionBoundaryArn = std::forward<PermissionBoundaryArnT>(value);
369 template <
typename PermissionBoundaryArnT = Aws::String>
384 template <
typename ParametersDefinitionT = Aws::Vector<ParameterDefinition>>
386 m_parametersDefinitionHasBeenSet =
true;
387 m_parametersDefinition = std::forward<ParametersDefinitionT>(value);
389 template <
typename ParametersDefinitionT = Aws::Vector<ParameterDefinition>>
394 template <
typename ParametersDefinitionT = ParameterDefinition>
396 m_parametersDefinitionHasBeenSet =
true;
397 m_parametersDefinition.emplace_back(std::forward<ParametersDefinitionT>(value));
409 template <
typename RoleTagsTemplateT = Aws::Vector<TagTemplate>>
411 m_roleTagsTemplateHasBeenSet =
true;
412 m_roleTagsTemplate = std::forward<RoleTagsTemplateT>(value);
414 template <
typename RoleTagsTemplateT = Aws::Vector<TagTemplate>>
419 template <
typename RoleTagsTemplateT = TagTemplate>
421 m_roleTagsTemplateHasBeenSet =
true;
422 m_roleTagsTemplate.emplace_back(std::forward<RoleTagsTemplateT>(value));
435 m_maxSessionDurationHasBeenSet =
true;
436 m_maxSessionDuration = value;
452 m_versionEnabledHasBeenSet =
true;
453 m_versionEnabled = value;
468 template <
typename CreateTimestampT = Aws::Utils::DateTime>
470 m_createTimestampHasBeenSet =
true;
471 m_createTimestamp = std::forward<CreateTimestampT>(value);
473 template <
typename CreateTimestampT = Aws::Utils::DateTime>
487 template <
typename UpdateTimestampT = Aws::Utils::DateTime>
489 m_updateTimestampHasBeenSet =
true;
490 m_updateTimestamp = std::forward<UpdateTimestampT>(value);
492 template <
typename UpdateTimestampT = Aws::Utils::DateTime>
507 int m_majorVersion{0};
509 int m_defaultMinorVersion{0};
515 bool m_enabled{
false};
517 int m_minorVersion{0};
537 int m_maxSessionDuration{0};
539 bool m_versionEnabled{
false};
544 bool m_templateArnHasBeenSet =
false;
545 bool m_templateNameHasBeenSet =
false;
546 bool m_templateVersionIdHasBeenSet =
false;
547 bool m_descriptionHasBeenSet =
false;
548 bool m_majorVersionHasBeenSet =
false;
549 bool m_defaultMinorVersionHasBeenSet =
false;
550 bool m_managedByTypeHasBeenSet =
false;
551 bool m_managedByValueHasBeenSet =
false;
552 bool m_enabledHasBeenSet =
false;
553 bool m_minorVersionHasBeenSet =
false;
554 bool m_roleNamePatternHasBeenSet =
false;
555 bool m_rolePathPatternHasBeenSet =
false;
556 bool m_roleDescriptionPatternHasBeenSet =
false;
557 bool m_assumeRolePolicyDocumentTemplateHasBeenSet =
false;
558 bool m_inlinePolicyTemplatesHasBeenSet =
false;
559 bool m_managedPolicyArnsHasBeenSet =
false;
560 bool m_permissionBoundaryArnHasBeenSet =
false;
561 bool m_parametersDefinitionHasBeenSet =
false;
562 bool m_roleTagsTemplateHasBeenSet =
false;
563 bool m_maxSessionDurationHasBeenSet =
false;
564 bool m_versionEnabledHasBeenSet =
false;
565 bool m_createTimestampHasBeenSet =
false;
566 bool m_updateTimestampHasBeenSet =
false;
bool DefaultMinorVersionHasBeenSet() const
void SetParametersDefinition(ParametersDefinitionT &&value)
const Aws::String & GetDescription() const
RoleTemplateVersion & AddParametersDefinition(ParametersDefinitionT &&value)
void SetCreateTimestamp(CreateTimestampT &&value)
RoleTemplateVersion & AddManagedPolicyArns(ManagedPolicyArnsT &&value)
RoleTemplateVersion & WithRolePathPattern(RolePathPatternT &&value)
AWS_IAM_API void OutputToStream(Aws::OStream &ostream, const char *location, unsigned index, const char *locationValue) const
bool ManagedPolicyArnsHasBeenSet() const
const Aws::String & GetRoleDescriptionPattern() const
void SetManagedByType(ManagedByTypeType value)
RoleTemplateVersion & WithRoleDescriptionPattern(RoleDescriptionPatternT &&value)
bool ParametersDefinitionHasBeenSet() const
RoleTemplateVersion & WithPermissionBoundaryArn(PermissionBoundaryArnT &&value)
RoleTemplateVersion & WithMinorVersion(int value)
const Aws::Vector< ParameterDefinition > & GetParametersDefinition() const
const Aws::Vector< TagTemplate > & GetRoleTagsTemplate() const
bool ManagedByValueHasBeenSet() const
RoleTemplateVersion & WithVersionEnabled(bool value)
void SetMinorVersion(int value)
const Aws::Vector< Aws::String > & GetManagedPolicyArns() const
void SetVersionEnabled(bool value)
RoleTemplateVersion & WithManagedByType(ManagedByTypeType value)
bool TemplateNameHasBeenSet() const
bool RoleTagsTemplateHasBeenSet() const
AWS_IAM_API void OutputToStream(Aws::OStream &oStream, const char *location) const
void SetAssumeRolePolicyDocumentTemplate(AssumeRolePolicyDocumentTemplateT &&value)
bool ManagedByTypeHasBeenSet() const
bool PermissionBoundaryArnHasBeenSet() const
RoleTemplateVersion & WithInlinePolicyTemplates(InlinePolicyTemplatesT &&value)
void SetPermissionBoundaryArn(PermissionBoundaryArnT &&value)
RoleTemplateVersion & WithUpdateTimestamp(UpdateTimestampT &&value)
void SetUpdateTimestamp(UpdateTimestampT &&value)
bool MajorVersionHasBeenSet() const
RoleTemplateVersion & WithCreateTimestamp(CreateTimestampT &&value)
RoleTemplateVersion & WithRoleTagsTemplate(RoleTagsTemplateT &&value)
void SetTemplateName(TemplateNameT &&value)
void SetRoleNamePattern(RoleNamePatternT &&value)
bool MaxSessionDurationHasBeenSet() const
void SetMajorVersion(int value)
RoleTemplateVersion & WithAssumeRolePolicyDocumentTemplate(AssumeRolePolicyDocumentTemplateT &&value)
RoleTemplateVersion & WithManagedPolicyArns(ManagedPolicyArnsT &&value)
void SetDefaultMinorVersion(int value)
AWS_IAM_API RoleTemplateVersion(const Aws::Utils::Xml::XmlNode &xmlNode)
bool InlinePolicyTemplatesHasBeenSet() const
bool MinorVersionHasBeenSet() const
void SetRolePathPattern(RolePathPatternT &&value)
int GetDefaultMinorVersion() const
const Aws::String & GetRoleNamePattern() const
const Aws::String & GetTemplateName() const
int GetMajorVersion() const
const Aws::Utils::DateTime & GetCreateTimestamp() const
RoleTemplateVersion & WithDefaultMinorVersion(int value)
RoleTemplateVersion & WithMaxSessionDuration(int value)
const Aws::String & GetPermissionBoundaryArn() const
const Aws::Vector< InlinePolicy > & GetInlinePolicyTemplates() const
RoleTemplateVersion & WithEnabled(bool value)
RoleTemplateVersion & WithMajorVersion(int value)
const Aws::String & GetTemplateVersionId() const
AWS_IAM_API RoleTemplateVersion()=default
RoleTemplateVersion & WithParametersDefinition(ParametersDefinitionT &&value)
RoleTemplateVersion & WithRoleNamePattern(RoleNamePatternT &&value)
int GetMinorVersion() const
bool DescriptionHasBeenSet() const
void SetRoleTagsTemplate(RoleTagsTemplateT &&value)
void SetManagedPolicyArns(ManagedPolicyArnsT &&value)
void SetTemplateVersionId(TemplateVersionIdT &&value)
bool RoleDescriptionPatternHasBeenSet() const
bool CreateTimestampHasBeenSet() const
bool TemplateVersionIdHasBeenSet() const
void SetTemplateArn(TemplateArnT &&value)
void SetRoleDescriptionPattern(RoleDescriptionPatternT &&value)
void SetDescription(DescriptionT &&value)
ManagedByTypeType GetManagedByType() const
const Aws::Utils::DateTime & GetUpdateTimestamp() const
const Aws::String & GetRolePathPattern() const
bool RoleNamePatternHasBeenSet() const
const Aws::String & GetTemplateArn() const
bool TemplateArnHasBeenSet() const
RoleTemplateVersion & WithTemplateVersionId(TemplateVersionIdT &&value)
void SetManagedByValue(ManagedByValueT &&value)
const Aws::String & GetManagedByValue() const
bool EnabledHasBeenSet() const
RoleTemplateVersion & WithTemplateName(TemplateNameT &&value)
bool AssumeRolePolicyDocumentTemplateHasBeenSet() const
bool UpdateTimestampHasBeenSet() const
void SetInlinePolicyTemplates(InlinePolicyTemplatesT &&value)
bool GetVersionEnabled() const
const Aws::String & GetAssumeRolePolicyDocumentTemplate() const
RoleTemplateVersion & WithTemplateArn(TemplateArnT &&value)
void SetEnabled(bool value)
RoleTemplateVersion & AddInlinePolicyTemplates(InlinePolicyTemplatesT &&value)
AWS_IAM_API RoleTemplateVersion & operator=(const Aws::Utils::Xml::XmlNode &xmlNode)
RoleTemplateVersion & WithDescription(DescriptionT &&value)
void SetMaxSessionDuration(int value)
bool RolePathPatternHasBeenSet() const
bool VersionEnabledHasBeenSet() const
int GetMaxSessionDuration() const
RoleTemplateVersion & WithManagedByValue(ManagedByValueT &&value)
RoleTemplateVersion & AddRoleTagsTemplate(RoleTagsTemplateT &&value)
std::basic_string< char, std::char_traits< char >, Aws::Allocator< char > > String
std::vector< T, Aws::Allocator< T > > Vector
std::basic_ostream< char, std::char_traits< char > > OStream