/** * 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 #include namespace Aws { namespace SSM { namespace Model { /** */ class PutParameterRequest : public SSMRequest { public: AWS_SSM_API PutParameterRequest(); // 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 "PutParameter"; } AWS_SSM_API Aws::String SerializePayload() const override; AWS_SSM_API Aws::Http::HeaderValueCollection GetRequestSpecificHeaders() const override; /** *

The fully qualified name of the parameter that you want to add to the system. * The fully qualified name includes the complete hierarchy of the parameter path * and name. For parameters in a hierarchy, you must include a leading forward * slash character (/) when you create or reference a parameter. For example: * /Dev/DBServer/MySQL/db-string13

Naming Constraints:

*
  • Parameter names are case sensitive.

  • A parameter * name must be unique within an Amazon Web Services Region

  • A * parameter name can't be prefixed with "aws" or "ssm" * (case-insensitive).

  • Parameter names can include only the * following symbols and letters: a-zA-Z0-9_.-

    In addition, * the slash character ( / ) is used to delineate hierarchies in parameter names. * For example: /Dev/Production/East/Project-ABC/MyParameter

    *
  • A parameter name can't include spaces.

  • Parameter * hierarchies are limited to a maximum depth of fifteen levels.

*

For additional information about valid values for parameter names, see Creating * Systems Manager parameters in the Amazon Web Services Systems Manager * User Guide.

The maximum length constraint of 2048 characters * listed below includes 1037 characters reserved for internal use by Systems * Manager. The maximum length for a parameter name that you create is 1011 * characters. This includes the characters in the ARN that precede the name you * specify, such as arn:aws:ssm:us-east-2:111122223333:parameter/.

* */ inline const Aws::String& GetName() const{ return m_name; } /** *

The fully qualified name of the parameter that you want to add to the system. * The fully qualified name includes the complete hierarchy of the parameter path * and name. For parameters in a hierarchy, you must include a leading forward * slash character (/) when you create or reference a parameter. For example: * /Dev/DBServer/MySQL/db-string13

Naming Constraints:

*
  • Parameter names are case sensitive.

  • A parameter * name must be unique within an Amazon Web Services Region

  • A * parameter name can't be prefixed with "aws" or "ssm" * (case-insensitive).

  • Parameter names can include only the * following symbols and letters: a-zA-Z0-9_.-

    In addition, * the slash character ( / ) is used to delineate hierarchies in parameter names. * For example: /Dev/Production/East/Project-ABC/MyParameter

    *
  • A parameter name can't include spaces.

  • Parameter * hierarchies are limited to a maximum depth of fifteen levels.

*

For additional information about valid values for parameter names, see Creating * Systems Manager parameters in the Amazon Web Services Systems Manager * User Guide.

The maximum length constraint of 2048 characters * listed below includes 1037 characters reserved for internal use by Systems * Manager. The maximum length for a parameter name that you create is 1011 * characters. This includes the characters in the ARN that precede the name you * specify, such as arn:aws:ssm:us-east-2:111122223333:parameter/.

* */ inline bool NameHasBeenSet() const { return m_nameHasBeenSet; } /** *

The fully qualified name of the parameter that you want to add to the system. * The fully qualified name includes the complete hierarchy of the parameter path * and name. For parameters in a hierarchy, you must include a leading forward * slash character (/) when you create or reference a parameter. For example: * /Dev/DBServer/MySQL/db-string13

Naming Constraints:

*
  • Parameter names are case sensitive.

  • A parameter * name must be unique within an Amazon Web Services Region

  • A * parameter name can't be prefixed with "aws" or "ssm" * (case-insensitive).

  • Parameter names can include only the * following symbols and letters: a-zA-Z0-9_.-

    In addition, * the slash character ( / ) is used to delineate hierarchies in parameter names. * For example: /Dev/Production/East/Project-ABC/MyParameter

    *
  • A parameter name can't include spaces.

  • Parameter * hierarchies are limited to a maximum depth of fifteen levels.

*

For additional information about valid values for parameter names, see Creating * Systems Manager parameters in the Amazon Web Services Systems Manager * User Guide.

The maximum length constraint of 2048 characters * listed below includes 1037 characters reserved for internal use by Systems * Manager. The maximum length for a parameter name that you create is 1011 * characters. This includes the characters in the ARN that precede the name you * specify, such as arn:aws:ssm:us-east-2:111122223333:parameter/.

* */ inline void SetName(const Aws::String& value) { m_nameHasBeenSet = true; m_name = value; } /** *

The fully qualified name of the parameter that you want to add to the system. * The fully qualified name includes the complete hierarchy of the parameter path * and name. For parameters in a hierarchy, you must include a leading forward * slash character (/) when you create or reference a parameter. For example: * /Dev/DBServer/MySQL/db-string13

Naming Constraints:

*
  • Parameter names are case sensitive.

  • A parameter * name must be unique within an Amazon Web Services Region

  • A * parameter name can't be prefixed with "aws" or "ssm" * (case-insensitive).

  • Parameter names can include only the * following symbols and letters: a-zA-Z0-9_.-

    In addition, * the slash character ( / ) is used to delineate hierarchies in parameter names. * For example: /Dev/Production/East/Project-ABC/MyParameter

    *
  • A parameter name can't include spaces.

  • Parameter * hierarchies are limited to a maximum depth of fifteen levels.

*

For additional information about valid values for parameter names, see Creating * Systems Manager parameters in the Amazon Web Services Systems Manager * User Guide.

The maximum length constraint of 2048 characters * listed below includes 1037 characters reserved for internal use by Systems * Manager. The maximum length for a parameter name that you create is 1011 * characters. This includes the characters in the ARN that precede the name you * specify, such as arn:aws:ssm:us-east-2:111122223333:parameter/.

* */ inline void SetName(Aws::String&& value) { m_nameHasBeenSet = true; m_name = std::move(value); } /** *

The fully qualified name of the parameter that you want to add to the system. * The fully qualified name includes the complete hierarchy of the parameter path * and name. For parameters in a hierarchy, you must include a leading forward * slash character (/) when you create or reference a parameter. For example: * /Dev/DBServer/MySQL/db-string13

Naming Constraints:

*
  • Parameter names are case sensitive.

  • A parameter * name must be unique within an Amazon Web Services Region

  • A * parameter name can't be prefixed with "aws" or "ssm" * (case-insensitive).

  • Parameter names can include only the * following symbols and letters: a-zA-Z0-9_.-

    In addition, * the slash character ( / ) is used to delineate hierarchies in parameter names. * For example: /Dev/Production/East/Project-ABC/MyParameter

    *
  • A parameter name can't include spaces.

  • Parameter * hierarchies are limited to a maximum depth of fifteen levels.

*

For additional information about valid values for parameter names, see Creating * Systems Manager parameters in the Amazon Web Services Systems Manager * User Guide.

The maximum length constraint of 2048 characters * listed below includes 1037 characters reserved for internal use by Systems * Manager. The maximum length for a parameter name that you create is 1011 * characters. This includes the characters in the ARN that precede the name you * specify, such as arn:aws:ssm:us-east-2:111122223333:parameter/.

* */ inline void SetName(const char* value) { m_nameHasBeenSet = true; m_name.assign(value); } /** *

The fully qualified name of the parameter that you want to add to the system. * The fully qualified name includes the complete hierarchy of the parameter path * and name. For parameters in a hierarchy, you must include a leading forward * slash character (/) when you create or reference a parameter. For example: * /Dev/DBServer/MySQL/db-string13

Naming Constraints:

*
  • Parameter names are case sensitive.

  • A parameter * name must be unique within an Amazon Web Services Region

  • A * parameter name can't be prefixed with "aws" or "ssm" * (case-insensitive).

  • Parameter names can include only the * following symbols and letters: a-zA-Z0-9_.-

    In addition, * the slash character ( / ) is used to delineate hierarchies in parameter names. * For example: /Dev/Production/East/Project-ABC/MyParameter

    *
  • A parameter name can't include spaces.

  • Parameter * hierarchies are limited to a maximum depth of fifteen levels.

*

For additional information about valid values for parameter names, see Creating * Systems Manager parameters in the Amazon Web Services Systems Manager * User Guide.

The maximum length constraint of 2048 characters * listed below includes 1037 characters reserved for internal use by Systems * Manager. The maximum length for a parameter name that you create is 1011 * characters. This includes the characters in the ARN that precede the name you * specify, such as arn:aws:ssm:us-east-2:111122223333:parameter/.

* */ inline PutParameterRequest& WithName(const Aws::String& value) { SetName(value); return *this;} /** *

The fully qualified name of the parameter that you want to add to the system. * The fully qualified name includes the complete hierarchy of the parameter path * and name. For parameters in a hierarchy, you must include a leading forward * slash character (/) when you create or reference a parameter. For example: * /Dev/DBServer/MySQL/db-string13

Naming Constraints:

*
  • Parameter names are case sensitive.

  • A parameter * name must be unique within an Amazon Web Services Region

  • A * parameter name can't be prefixed with "aws" or "ssm" * (case-insensitive).

  • Parameter names can include only the * following symbols and letters: a-zA-Z0-9_.-

    In addition, * the slash character ( / ) is used to delineate hierarchies in parameter names. * For example: /Dev/Production/East/Project-ABC/MyParameter

    *
  • A parameter name can't include spaces.

  • Parameter * hierarchies are limited to a maximum depth of fifteen levels.

*

For additional information about valid values for parameter names, see Creating * Systems Manager parameters in the Amazon Web Services Systems Manager * User Guide.

The maximum length constraint of 2048 characters * listed below includes 1037 characters reserved for internal use by Systems * Manager. The maximum length for a parameter name that you create is 1011 * characters. This includes the characters in the ARN that precede the name you * specify, such as arn:aws:ssm:us-east-2:111122223333:parameter/.

* */ inline PutParameterRequest& WithName(Aws::String&& value) { SetName(std::move(value)); return *this;} /** *

The fully qualified name of the parameter that you want to add to the system. * The fully qualified name includes the complete hierarchy of the parameter path * and name. For parameters in a hierarchy, you must include a leading forward * slash character (/) when you create or reference a parameter. For example: * /Dev/DBServer/MySQL/db-string13

Naming Constraints:

*
  • Parameter names are case sensitive.

  • A parameter * name must be unique within an Amazon Web Services Region

  • A * parameter name can't be prefixed with "aws" or "ssm" * (case-insensitive).

  • Parameter names can include only the * following symbols and letters: a-zA-Z0-9_.-

    In addition, * the slash character ( / ) is used to delineate hierarchies in parameter names. * For example: /Dev/Production/East/Project-ABC/MyParameter

    *
  • A parameter name can't include spaces.

  • Parameter * hierarchies are limited to a maximum depth of fifteen levels.

*

For additional information about valid values for parameter names, see Creating * Systems Manager parameters in the Amazon Web Services Systems Manager * User Guide.

The maximum length constraint of 2048 characters * listed below includes 1037 characters reserved for internal use by Systems * Manager. The maximum length for a parameter name that you create is 1011 * characters. This includes the characters in the ARN that precede the name you * specify, such as arn:aws:ssm:us-east-2:111122223333:parameter/.

* */ inline PutParameterRequest& WithName(const char* value) { SetName(value); return *this;} /** *

Information about the parameter that you want to add to the system. Optional * but recommended.

Don't enter personally identifiable * information in this field.

*/ inline const Aws::String& GetDescription() const{ return m_description; } /** *

Information about the parameter that you want to add to the system. Optional * but recommended.

Don't enter personally identifiable * information in this field.

*/ inline bool DescriptionHasBeenSet() const { return m_descriptionHasBeenSet; } /** *

Information about the parameter that you want to add to the system. Optional * but recommended.

Don't enter personally identifiable * information in this field.

*/ inline void SetDescription(const Aws::String& value) { m_descriptionHasBeenSet = true; m_description = value; } /** *

Information about the parameter that you want to add to the system. Optional * but recommended.

Don't enter personally identifiable * information in this field.

*/ inline void SetDescription(Aws::String&& value) { m_descriptionHasBeenSet = true; m_description = std::move(value); } /** *

Information about the parameter that you want to add to the system. Optional * but recommended.

Don't enter personally identifiable * information in this field.

*/ inline void SetDescription(const char* value) { m_descriptionHasBeenSet = true; m_description.assign(value); } /** *

Information about the parameter that you want to add to the system. Optional * but recommended.

Don't enter personally identifiable * information in this field.

*/ inline PutParameterRequest& WithDescription(const Aws::String& value) { SetDescription(value); return *this;} /** *

Information about the parameter that you want to add to the system. Optional * but recommended.

Don't enter personally identifiable * information in this field.

*/ inline PutParameterRequest& WithDescription(Aws::String&& value) { SetDescription(std::move(value)); return *this;} /** *

Information about the parameter that you want to add to the system. Optional * but recommended.

Don't enter personally identifiable * information in this field.

*/ inline PutParameterRequest& WithDescription(const char* value) { SetDescription(value); return *this;} /** *

The parameter value that you want to add to the system. Standard parameters * have a value limit of 4 KB. Advanced parameters have a value limit of 8 KB.

*

Parameters can't be referenced or nested in the values of other * parameters. You can't include {{}} or * {{ssm:parameter-name}} in a parameter value.

*/ inline const Aws::String& GetValue() const{ return m_value; } /** *

The parameter value that you want to add to the system. Standard parameters * have a value limit of 4 KB. Advanced parameters have a value limit of 8 KB.

*

Parameters can't be referenced or nested in the values of other * parameters. You can't include {{}} or * {{ssm:parameter-name}} in a parameter value.

*/ inline bool ValueHasBeenSet() const { return m_valueHasBeenSet; } /** *

The parameter value that you want to add to the system. Standard parameters * have a value limit of 4 KB. Advanced parameters have a value limit of 8 KB.

*

Parameters can't be referenced or nested in the values of other * parameters. You can't include {{}} or * {{ssm:parameter-name}} in a parameter value.

*/ inline void SetValue(const Aws::String& value) { m_valueHasBeenSet = true; m_value = value; } /** *

The parameter value that you want to add to the system. Standard parameters * have a value limit of 4 KB. Advanced parameters have a value limit of 8 KB.

*

Parameters can't be referenced or nested in the values of other * parameters. You can't include {{}} or * {{ssm:parameter-name}} in a parameter value.

*/ inline void SetValue(Aws::String&& value) { m_valueHasBeenSet = true; m_value = std::move(value); } /** *

The parameter value that you want to add to the system. Standard parameters * have a value limit of 4 KB. Advanced parameters have a value limit of 8 KB.

*

Parameters can't be referenced or nested in the values of other * parameters. You can't include {{}} or * {{ssm:parameter-name}} in a parameter value.

*/ inline void SetValue(const char* value) { m_valueHasBeenSet = true; m_value.assign(value); } /** *

The parameter value that you want to add to the system. Standard parameters * have a value limit of 4 KB. Advanced parameters have a value limit of 8 KB.

*

Parameters can't be referenced or nested in the values of other * parameters. You can't include {{}} or * {{ssm:parameter-name}} in a parameter value.

*/ inline PutParameterRequest& WithValue(const Aws::String& value) { SetValue(value); return *this;} /** *

The parameter value that you want to add to the system. Standard parameters * have a value limit of 4 KB. Advanced parameters have a value limit of 8 KB.

*

Parameters can't be referenced or nested in the values of other * parameters. You can't include {{}} or * {{ssm:parameter-name}} in a parameter value.

*/ inline PutParameterRequest& WithValue(Aws::String&& value) { SetValue(std::move(value)); return *this;} /** *

The parameter value that you want to add to the system. Standard parameters * have a value limit of 4 KB. Advanced parameters have a value limit of 8 KB.

*

Parameters can't be referenced or nested in the values of other * parameters. You can't include {{}} or * {{ssm:parameter-name}} in a parameter value.

*/ inline PutParameterRequest& WithValue(const char* value) { SetValue(value); return *this;} /** *

The type of parameter that you want to add to the system.

* SecureString isn't currently supported for CloudFormation * templates.

Items in a StringList must be separated * by a comma (,). You can't use other punctuation or special character to escape * items in the list. If you have a parameter value that requires a comma, then use * the String data type.

Specifying a parameter * type isn't required when updating a parameter. You must specify a parameter type * when creating a parameter.

*/ inline const ParameterType& GetType() const{ return m_type; } /** *

The type of parameter that you want to add to the system.

* SecureString isn't currently supported for CloudFormation * templates.

Items in a StringList must be separated * by a comma (,). You can't use other punctuation or special character to escape * items in the list. If you have a parameter value that requires a comma, then use * the String data type.

Specifying a parameter * type isn't required when updating a parameter. You must specify a parameter type * when creating a parameter.

*/ inline bool TypeHasBeenSet() const { return m_typeHasBeenSet; } /** *

The type of parameter that you want to add to the system.

* SecureString isn't currently supported for CloudFormation * templates.

Items in a StringList must be separated * by a comma (,). You can't use other punctuation or special character to escape * items in the list. If you have a parameter value that requires a comma, then use * the String data type.

Specifying a parameter * type isn't required when updating a parameter. You must specify a parameter type * when creating a parameter.

*/ inline void SetType(const ParameterType& value) { m_typeHasBeenSet = true; m_type = value; } /** *

The type of parameter that you want to add to the system.

* SecureString isn't currently supported for CloudFormation * templates.

Items in a StringList must be separated * by a comma (,). You can't use other punctuation or special character to escape * items in the list. If you have a parameter value that requires a comma, then use * the String data type.

Specifying a parameter * type isn't required when updating a parameter. You must specify a parameter type * when creating a parameter.

*/ inline void SetType(ParameterType&& value) { m_typeHasBeenSet = true; m_type = std::move(value); } /** *

The type of parameter that you want to add to the system.

* SecureString isn't currently supported for CloudFormation * templates.

Items in a StringList must be separated * by a comma (,). You can't use other punctuation or special character to escape * items in the list. If you have a parameter value that requires a comma, then use * the String data type.

Specifying a parameter * type isn't required when updating a parameter. You must specify a parameter type * when creating a parameter.

*/ inline PutParameterRequest& WithType(const ParameterType& value) { SetType(value); return *this;} /** *

The type of parameter that you want to add to the system.

* SecureString isn't currently supported for CloudFormation * templates.

Items in a StringList must be separated * by a comma (,). You can't use other punctuation or special character to escape * items in the list. If you have a parameter value that requires a comma, then use * the String data type.

Specifying a parameter * type isn't required when updating a parameter. You must specify a parameter type * when creating a parameter.

*/ inline PutParameterRequest& WithType(ParameterType&& value) { SetType(std::move(value)); return *this;} /** *

The Key Management Service (KMS) ID that you want to use to encrypt a * parameter. Use a custom key for better security. Required for parameters that * use the SecureString data type.

If you don't specify a key * ID, the system uses the default key associated with your Amazon Web Services * account which is not as secure as using a custom key.

  • To use a * custom KMS key, choose the SecureString data type with the * Key ID parameter.

*/ inline const Aws::String& GetKeyId() const{ return m_keyId; } /** *

The Key Management Service (KMS) ID that you want to use to encrypt a * parameter. Use a custom key for better security. Required for parameters that * use the SecureString data type.

If you don't specify a key * ID, the system uses the default key associated with your Amazon Web Services * account which is not as secure as using a custom key.

  • To use a * custom KMS key, choose the SecureString data type with the * Key ID parameter.

*/ inline bool KeyIdHasBeenSet() const { return m_keyIdHasBeenSet; } /** *

The Key Management Service (KMS) ID that you want to use to encrypt a * parameter. Use a custom key for better security. Required for parameters that * use the SecureString data type.

If you don't specify a key * ID, the system uses the default key associated with your Amazon Web Services * account which is not as secure as using a custom key.

  • To use a * custom KMS key, choose the SecureString data type with the * Key ID parameter.

*/ inline void SetKeyId(const Aws::String& value) { m_keyIdHasBeenSet = true; m_keyId = value; } /** *

The Key Management Service (KMS) ID that you want to use to encrypt a * parameter. Use a custom key for better security. Required for parameters that * use the SecureString data type.

If you don't specify a key * ID, the system uses the default key associated with your Amazon Web Services * account which is not as secure as using a custom key.

  • To use a * custom KMS key, choose the SecureString data type with the * Key ID parameter.

*/ inline void SetKeyId(Aws::String&& value) { m_keyIdHasBeenSet = true; m_keyId = std::move(value); } /** *

The Key Management Service (KMS) ID that you want to use to encrypt a * parameter. Use a custom key for better security. Required for parameters that * use the SecureString data type.

If you don't specify a key * ID, the system uses the default key associated with your Amazon Web Services * account which is not as secure as using a custom key.

  • To use a * custom KMS key, choose the SecureString data type with the * Key ID parameter.

*/ inline void SetKeyId(const char* value) { m_keyIdHasBeenSet = true; m_keyId.assign(value); } /** *

The Key Management Service (KMS) ID that you want to use to encrypt a * parameter. Use a custom key for better security. Required for parameters that * use the SecureString data type.

If you don't specify a key * ID, the system uses the default key associated with your Amazon Web Services * account which is not as secure as using a custom key.

  • To use a * custom KMS key, choose the SecureString data type with the * Key ID parameter.

*/ inline PutParameterRequest& WithKeyId(const Aws::String& value) { SetKeyId(value); return *this;} /** *

The Key Management Service (KMS) ID that you want to use to encrypt a * parameter. Use a custom key for better security. Required for parameters that * use the SecureString data type.

If you don't specify a key * ID, the system uses the default key associated with your Amazon Web Services * account which is not as secure as using a custom key.

  • To use a * custom KMS key, choose the SecureString data type with the * Key ID parameter.

*/ inline PutParameterRequest& WithKeyId(Aws::String&& value) { SetKeyId(std::move(value)); return *this;} /** *

The Key Management Service (KMS) ID that you want to use to encrypt a * parameter. Use a custom key for better security. Required for parameters that * use the SecureString data type.

If you don't specify a key * ID, the system uses the default key associated with your Amazon Web Services * account which is not as secure as using a custom key.

  • To use a * custom KMS key, choose the SecureString data type with the * Key ID parameter.

*/ inline PutParameterRequest& WithKeyId(const char* value) { SetKeyId(value); return *this;} /** *

Overwrite an existing parameter. The default value is false.

*/ inline bool GetOverwrite() const{ return m_overwrite; } /** *

Overwrite an existing parameter. The default value is false.

*/ inline bool OverwriteHasBeenSet() const { return m_overwriteHasBeenSet; } /** *

Overwrite an existing parameter. The default value is false.

*/ inline void SetOverwrite(bool value) { m_overwriteHasBeenSet = true; m_overwrite = value; } /** *

Overwrite an existing parameter. The default value is false.

*/ inline PutParameterRequest& WithOverwrite(bool value) { SetOverwrite(value); return *this;} /** *

A regular expression used to validate the parameter value. For example, for * String types with values restricted to numbers, you can specify the following: * AllowedPattern=^\d+$

*/ inline const Aws::String& GetAllowedPattern() const{ return m_allowedPattern; } /** *

A regular expression used to validate the parameter value. For example, for * String types with values restricted to numbers, you can specify the following: * AllowedPattern=^\d+$

*/ inline bool AllowedPatternHasBeenSet() const { return m_allowedPatternHasBeenSet; } /** *

A regular expression used to validate the parameter value. For example, for * String types with values restricted to numbers, you can specify the following: * AllowedPattern=^\d+$

*/ inline void SetAllowedPattern(const Aws::String& value) { m_allowedPatternHasBeenSet = true; m_allowedPattern = value; } /** *

A regular expression used to validate the parameter value. For example, for * String types with values restricted to numbers, you can specify the following: * AllowedPattern=^\d+$

*/ inline void SetAllowedPattern(Aws::String&& value) { m_allowedPatternHasBeenSet = true; m_allowedPattern = std::move(value); } /** *

A regular expression used to validate the parameter value. For example, for * String types with values restricted to numbers, you can specify the following: * AllowedPattern=^\d+$

*/ inline void SetAllowedPattern(const char* value) { m_allowedPatternHasBeenSet = true; m_allowedPattern.assign(value); } /** *

A regular expression used to validate the parameter value. For example, for * String types with values restricted to numbers, you can specify the following: * AllowedPattern=^\d+$

*/ inline PutParameterRequest& WithAllowedPattern(const Aws::String& value) { SetAllowedPattern(value); return *this;} /** *

A regular expression used to validate the parameter value. For example, for * String types with values restricted to numbers, you can specify the following: * AllowedPattern=^\d+$

*/ inline PutParameterRequest& WithAllowedPattern(Aws::String&& value) { SetAllowedPattern(std::move(value)); return *this;} /** *

A regular expression used to validate the parameter value. For example, for * String types with values restricted to numbers, you can specify the following: * AllowedPattern=^\d+$

*/ inline PutParameterRequest& WithAllowedPattern(const char* value) { SetAllowedPattern(value); return *this;} /** *

Optional metadata that you assign to a resource. Tags enable you to * categorize a resource in different ways, such as by purpose, owner, or * environment. For example, you might want to tag a Systems Manager parameter to * identify the type of resource to which it applies, the environment, or the type * of configuration data referenced by the parameter. In this case, you could * specify the following key-value pairs:

  • * Key=Resource,Value=S3bucket

  • * Key=OS,Value=Windows

  • * Key=ParameterType,Value=LicenseKey

To * add tags to an existing Systems Manager parameter, use the * AddTagsToResource operation.

*/ inline const Aws::Vector& GetTags() const{ return m_tags; } /** *

Optional metadata that you assign to a resource. Tags enable you to * categorize a resource in different ways, such as by purpose, owner, or * environment. For example, you might want to tag a Systems Manager parameter to * identify the type of resource to which it applies, the environment, or the type * of configuration data referenced by the parameter. In this case, you could * specify the following key-value pairs:

  • * Key=Resource,Value=S3bucket

  • * Key=OS,Value=Windows

  • * Key=ParameterType,Value=LicenseKey

To * add tags to an existing Systems Manager parameter, use the * AddTagsToResource operation.

*/ inline bool TagsHasBeenSet() const { return m_tagsHasBeenSet; } /** *

Optional metadata that you assign to a resource. Tags enable you to * categorize a resource in different ways, such as by purpose, owner, or * environment. For example, you might want to tag a Systems Manager parameter to * identify the type of resource to which it applies, the environment, or the type * of configuration data referenced by the parameter. In this case, you could * specify the following key-value pairs:

  • * Key=Resource,Value=S3bucket

  • * Key=OS,Value=Windows

  • * Key=ParameterType,Value=LicenseKey

To * add tags to an existing Systems Manager parameter, use the * AddTagsToResource operation.

*/ inline void SetTags(const Aws::Vector& value) { m_tagsHasBeenSet = true; m_tags = value; } /** *

Optional metadata that you assign to a resource. Tags enable you to * categorize a resource in different ways, such as by purpose, owner, or * environment. For example, you might want to tag a Systems Manager parameter to * identify the type of resource to which it applies, the environment, or the type * of configuration data referenced by the parameter. In this case, you could * specify the following key-value pairs:

  • * Key=Resource,Value=S3bucket

  • * Key=OS,Value=Windows

  • * Key=ParameterType,Value=LicenseKey

To * add tags to an existing Systems Manager parameter, use the * AddTagsToResource operation.

*/ inline void SetTags(Aws::Vector&& value) { m_tagsHasBeenSet = true; m_tags = std::move(value); } /** *

Optional metadata that you assign to a resource. Tags enable you to * categorize a resource in different ways, such as by purpose, owner, or * environment. For example, you might want to tag a Systems Manager parameter to * identify the type of resource to which it applies, the environment, or the type * of configuration data referenced by the parameter. In this case, you could * specify the following key-value pairs:

  • * Key=Resource,Value=S3bucket

  • * Key=OS,Value=Windows

  • * Key=ParameterType,Value=LicenseKey

To * add tags to an existing Systems Manager parameter, use the * AddTagsToResource operation.

*/ inline PutParameterRequest& WithTags(const Aws::Vector& value) { SetTags(value); return *this;} /** *

Optional metadata that you assign to a resource. Tags enable you to * categorize a resource in different ways, such as by purpose, owner, or * environment. For example, you might want to tag a Systems Manager parameter to * identify the type of resource to which it applies, the environment, or the type * of configuration data referenced by the parameter. In this case, you could * specify the following key-value pairs:

  • * Key=Resource,Value=S3bucket

  • * Key=OS,Value=Windows

  • * Key=ParameterType,Value=LicenseKey

To * add tags to an existing Systems Manager parameter, use the * AddTagsToResource operation.

*/ inline PutParameterRequest& WithTags(Aws::Vector&& value) { SetTags(std::move(value)); return *this;} /** *

Optional metadata that you assign to a resource. Tags enable you to * categorize a resource in different ways, such as by purpose, owner, or * environment. For example, you might want to tag a Systems Manager parameter to * identify the type of resource to which it applies, the environment, or the type * of configuration data referenced by the parameter. In this case, you could * specify the following key-value pairs:

  • * Key=Resource,Value=S3bucket

  • * Key=OS,Value=Windows

  • * Key=ParameterType,Value=LicenseKey

To * add tags to an existing Systems Manager parameter, use the * AddTagsToResource operation.

*/ inline PutParameterRequest& AddTags(const Tag& value) { m_tagsHasBeenSet = true; m_tags.push_back(value); return *this; } /** *

Optional metadata that you assign to a resource. Tags enable you to * categorize a resource in different ways, such as by purpose, owner, or * environment. For example, you might want to tag a Systems Manager parameter to * identify the type of resource to which it applies, the environment, or the type * of configuration data referenced by the parameter. In this case, you could * specify the following key-value pairs:

  • * Key=Resource,Value=S3bucket

  • * Key=OS,Value=Windows

  • * Key=ParameterType,Value=LicenseKey

To * add tags to an existing Systems Manager parameter, use the * AddTagsToResource operation.

*/ inline PutParameterRequest& AddTags(Tag&& value) { m_tagsHasBeenSet = true; m_tags.push_back(std::move(value)); return *this; } /** *

The parameter tier to assign to a parameter.

Parameter Store offers a * standard tier and an advanced tier for parameters. Standard parameters have a * content size limit of 4 KB and can't be configured to use parameter policies. * You can create a maximum of 10,000 standard parameters for each Region in an * Amazon Web Services account. Standard parameters are offered at no additional * cost.

Advanced parameters have a content size limit of 8 KB and can be * configured to use parameter policies. You can create a maximum of 100,000 * advanced parameters for each Region in an Amazon Web Services account. Advanced * parameters incur a charge. For more information, see Standard * and advanced parameter tiers in the Amazon Web Services Systems Manager * User Guide.

You can change a standard parameter to an advanced * parameter any time. But you can't revert an advanced parameter to a standard * parameter. Reverting an advanced parameter to a standard parameter would result * in data loss because the system would truncate the size of the parameter from 8 * KB to 4 KB. Reverting would also remove any policies attached to the parameter. * Lastly, advanced parameters use a different form of encryption than standard * parameters.

If you no longer need an advanced parameter, or if you no * longer want to incur charges for an advanced parameter, you must delete it and * recreate it as a new standard parameter.

Using the Default Tier * Configuration

In PutParameter requests, you can specify * the tier to create the parameter in. Whenever you specify a tier in the request, * Parameter Store creates or updates the parameter according to that request. * However, if you don't specify a tier in a request, Parameter Store assigns the * tier based on the current Parameter Store default tier configuration.

The * default tier when you begin using Parameter Store is the standard-parameter * tier. If you use the advanced-parameter tier, you can specify one of the * following as the default:

  • Advanced: With this option, * Parameter Store evaluates all requests as advanced parameters.

  • *

    Intelligent-Tiering: With this option, Parameter Store evaluates each * request to determine if the parameter is standard or advanced.

    If the * request doesn't include any options that require an advanced parameter, the * parameter is created in the standard-parameter tier. If one or more options * requiring an advanced parameter are included in the request, Parameter Store * create a parameter in the advanced-parameter tier.

    This approach helps * control your parameter-related costs by always creating standard parameters * unless an advanced parameter is necessary.

Options that * require an advanced parameter include the following:

  • The * content size of the parameter is more than 4 KB.

  • The parameter * uses a parameter policy.

  • More than 10,000 parameters already * exist in your Amazon Web Services account in the current Amazon Web Services * Region.

For more information about configuring the default * tier option, see Specifying * a default parameter tier in the Amazon Web Services Systems Manager User * Guide.

*/ inline const ParameterTier& GetTier() const{ return m_tier; } /** *

The parameter tier to assign to a parameter.

Parameter Store offers a * standard tier and an advanced tier for parameters. Standard parameters have a * content size limit of 4 KB and can't be configured to use parameter policies. * You can create a maximum of 10,000 standard parameters for each Region in an * Amazon Web Services account. Standard parameters are offered at no additional * cost.

Advanced parameters have a content size limit of 8 KB and can be * configured to use parameter policies. You can create a maximum of 100,000 * advanced parameters for each Region in an Amazon Web Services account. Advanced * parameters incur a charge. For more information, see Standard * and advanced parameter tiers in the Amazon Web Services Systems Manager * User Guide.

You can change a standard parameter to an advanced * parameter any time. But you can't revert an advanced parameter to a standard * parameter. Reverting an advanced parameter to a standard parameter would result * in data loss because the system would truncate the size of the parameter from 8 * KB to 4 KB. Reverting would also remove any policies attached to the parameter. * Lastly, advanced parameters use a different form of encryption than standard * parameters.

If you no longer need an advanced parameter, or if you no * longer want to incur charges for an advanced parameter, you must delete it and * recreate it as a new standard parameter.

Using the Default Tier * Configuration

In PutParameter requests, you can specify * the tier to create the parameter in. Whenever you specify a tier in the request, * Parameter Store creates or updates the parameter according to that request. * However, if you don't specify a tier in a request, Parameter Store assigns the * tier based on the current Parameter Store default tier configuration.

The * default tier when you begin using Parameter Store is the standard-parameter * tier. If you use the advanced-parameter tier, you can specify one of the * following as the default:

  • Advanced: With this option, * Parameter Store evaluates all requests as advanced parameters.

  • *

    Intelligent-Tiering: With this option, Parameter Store evaluates each * request to determine if the parameter is standard or advanced.

    If the * request doesn't include any options that require an advanced parameter, the * parameter is created in the standard-parameter tier. If one or more options * requiring an advanced parameter are included in the request, Parameter Store * create a parameter in the advanced-parameter tier.

    This approach helps * control your parameter-related costs by always creating standard parameters * unless an advanced parameter is necessary.

Options that * require an advanced parameter include the following:

  • The * content size of the parameter is more than 4 KB.

  • The parameter * uses a parameter policy.

  • More than 10,000 parameters already * exist in your Amazon Web Services account in the current Amazon Web Services * Region.

For more information about configuring the default * tier option, see Specifying * a default parameter tier in the Amazon Web Services Systems Manager User * Guide.

*/ inline bool TierHasBeenSet() const { return m_tierHasBeenSet; } /** *

The parameter tier to assign to a parameter.

Parameter Store offers a * standard tier and an advanced tier for parameters. Standard parameters have a * content size limit of 4 KB and can't be configured to use parameter policies. * You can create a maximum of 10,000 standard parameters for each Region in an * Amazon Web Services account. Standard parameters are offered at no additional * cost.

Advanced parameters have a content size limit of 8 KB and can be * configured to use parameter policies. You can create a maximum of 100,000 * advanced parameters for each Region in an Amazon Web Services account. Advanced * parameters incur a charge. For more information, see Standard * and advanced parameter tiers in the Amazon Web Services Systems Manager * User Guide.

You can change a standard parameter to an advanced * parameter any time. But you can't revert an advanced parameter to a standard * parameter. Reverting an advanced parameter to a standard parameter would result * in data loss because the system would truncate the size of the parameter from 8 * KB to 4 KB. Reverting would also remove any policies attached to the parameter. * Lastly, advanced parameters use a different form of encryption than standard * parameters.

If you no longer need an advanced parameter, or if you no * longer want to incur charges for an advanced parameter, you must delete it and * recreate it as a new standard parameter.

Using the Default Tier * Configuration

In PutParameter requests, you can specify * the tier to create the parameter in. Whenever you specify a tier in the request, * Parameter Store creates or updates the parameter according to that request. * However, if you don't specify a tier in a request, Parameter Store assigns the * tier based on the current Parameter Store default tier configuration.

The * default tier when you begin using Parameter Store is the standard-parameter * tier. If you use the advanced-parameter tier, you can specify one of the * following as the default:

  • Advanced: With this option, * Parameter Store evaluates all requests as advanced parameters.

  • *

    Intelligent-Tiering: With this option, Parameter Store evaluates each * request to determine if the parameter is standard or advanced.

    If the * request doesn't include any options that require an advanced parameter, the * parameter is created in the standard-parameter tier. If one or more options * requiring an advanced parameter are included in the request, Parameter Store * create a parameter in the advanced-parameter tier.

    This approach helps * control your parameter-related costs by always creating standard parameters * unless an advanced parameter is necessary.

Options that * require an advanced parameter include the following:

  • The * content size of the parameter is more than 4 KB.

  • The parameter * uses a parameter policy.

  • More than 10,000 parameters already * exist in your Amazon Web Services account in the current Amazon Web Services * Region.

For more information about configuring the default * tier option, see Specifying * a default parameter tier in the Amazon Web Services Systems Manager User * Guide.

*/ inline void SetTier(const ParameterTier& value) { m_tierHasBeenSet = true; m_tier = value; } /** *

The parameter tier to assign to a parameter.

Parameter Store offers a * standard tier and an advanced tier for parameters. Standard parameters have a * content size limit of 4 KB and can't be configured to use parameter policies. * You can create a maximum of 10,000 standard parameters for each Region in an * Amazon Web Services account. Standard parameters are offered at no additional * cost.

Advanced parameters have a content size limit of 8 KB and can be * configured to use parameter policies. You can create a maximum of 100,000 * advanced parameters for each Region in an Amazon Web Services account. Advanced * parameters incur a charge. For more information, see Standard * and advanced parameter tiers in the Amazon Web Services Systems Manager * User Guide.

You can change a standard parameter to an advanced * parameter any time. But you can't revert an advanced parameter to a standard * parameter. Reverting an advanced parameter to a standard parameter would result * in data loss because the system would truncate the size of the parameter from 8 * KB to 4 KB. Reverting would also remove any policies attached to the parameter. * Lastly, advanced parameters use a different form of encryption than standard * parameters.

If you no longer need an advanced parameter, or if you no * longer want to incur charges for an advanced parameter, you must delete it and * recreate it as a new standard parameter.

Using the Default Tier * Configuration

In PutParameter requests, you can specify * the tier to create the parameter in. Whenever you specify a tier in the request, * Parameter Store creates or updates the parameter according to that request. * However, if you don't specify a tier in a request, Parameter Store assigns the * tier based on the current Parameter Store default tier configuration.

The * default tier when you begin using Parameter Store is the standard-parameter * tier. If you use the advanced-parameter tier, you can specify one of the * following as the default:

  • Advanced: With this option, * Parameter Store evaluates all requests as advanced parameters.

  • *

    Intelligent-Tiering: With this option, Parameter Store evaluates each * request to determine if the parameter is standard or advanced.

    If the * request doesn't include any options that require an advanced parameter, the * parameter is created in the standard-parameter tier. If one or more options * requiring an advanced parameter are included in the request, Parameter Store * create a parameter in the advanced-parameter tier.

    This approach helps * control your parameter-related costs by always creating standard parameters * unless an advanced parameter is necessary.

Options that * require an advanced parameter include the following:

  • The * content size of the parameter is more than 4 KB.

  • The parameter * uses a parameter policy.

  • More than 10,000 parameters already * exist in your Amazon Web Services account in the current Amazon Web Services * Region.

For more information about configuring the default * tier option, see Specifying * a default parameter tier in the Amazon Web Services Systems Manager User * Guide.

*/ inline void SetTier(ParameterTier&& value) { m_tierHasBeenSet = true; m_tier = std::move(value); } /** *

The parameter tier to assign to a parameter.

Parameter Store offers a * standard tier and an advanced tier for parameters. Standard parameters have a * content size limit of 4 KB and can't be configured to use parameter policies. * You can create a maximum of 10,000 standard parameters for each Region in an * Amazon Web Services account. Standard parameters are offered at no additional * cost.

Advanced parameters have a content size limit of 8 KB and can be * configured to use parameter policies. You can create a maximum of 100,000 * advanced parameters for each Region in an Amazon Web Services account. Advanced * parameters incur a charge. For more information, see Standard * and advanced parameter tiers in the Amazon Web Services Systems Manager * User Guide.

You can change a standard parameter to an advanced * parameter any time. But you can't revert an advanced parameter to a standard * parameter. Reverting an advanced parameter to a standard parameter would result * in data loss because the system would truncate the size of the parameter from 8 * KB to 4 KB. Reverting would also remove any policies attached to the parameter. * Lastly, advanced parameters use a different form of encryption than standard * parameters.

If you no longer need an advanced parameter, or if you no * longer want to incur charges for an advanced parameter, you must delete it and * recreate it as a new standard parameter.

Using the Default Tier * Configuration

In PutParameter requests, you can specify * the tier to create the parameter in. Whenever you specify a tier in the request, * Parameter Store creates or updates the parameter according to that request. * However, if you don't specify a tier in a request, Parameter Store assigns the * tier based on the current Parameter Store default tier configuration.

The * default tier when you begin using Parameter Store is the standard-parameter * tier. If you use the advanced-parameter tier, you can specify one of the * following as the default:

  • Advanced: With this option, * Parameter Store evaluates all requests as advanced parameters.

  • *

    Intelligent-Tiering: With this option, Parameter Store evaluates each * request to determine if the parameter is standard or advanced.

    If the * request doesn't include any options that require an advanced parameter, the * parameter is created in the standard-parameter tier. If one or more options * requiring an advanced parameter are included in the request, Parameter Store * create a parameter in the advanced-parameter tier.

    This approach helps * control your parameter-related costs by always creating standard parameters * unless an advanced parameter is necessary.

Options that * require an advanced parameter include the following:

  • The * content size of the parameter is more than 4 KB.

  • The parameter * uses a parameter policy.

  • More than 10,000 parameters already * exist in your Amazon Web Services account in the current Amazon Web Services * Region.

For more information about configuring the default * tier option, see Specifying * a default parameter tier in the Amazon Web Services Systems Manager User * Guide.

*/ inline PutParameterRequest& WithTier(const ParameterTier& value) { SetTier(value); return *this;} /** *

The parameter tier to assign to a parameter.

Parameter Store offers a * standard tier and an advanced tier for parameters. Standard parameters have a * content size limit of 4 KB and can't be configured to use parameter policies. * You can create a maximum of 10,000 standard parameters for each Region in an * Amazon Web Services account. Standard parameters are offered at no additional * cost.

Advanced parameters have a content size limit of 8 KB and can be * configured to use parameter policies. You can create a maximum of 100,000 * advanced parameters for each Region in an Amazon Web Services account. Advanced * parameters incur a charge. For more information, see Standard * and advanced parameter tiers in the Amazon Web Services Systems Manager * User Guide.

You can change a standard parameter to an advanced * parameter any time. But you can't revert an advanced parameter to a standard * parameter. Reverting an advanced parameter to a standard parameter would result * in data loss because the system would truncate the size of the parameter from 8 * KB to 4 KB. Reverting would also remove any policies attached to the parameter. * Lastly, advanced parameters use a different form of encryption than standard * parameters.

If you no longer need an advanced parameter, or if you no * longer want to incur charges for an advanced parameter, you must delete it and * recreate it as a new standard parameter.

Using the Default Tier * Configuration

In PutParameter requests, you can specify * the tier to create the parameter in. Whenever you specify a tier in the request, * Parameter Store creates or updates the parameter according to that request. * However, if you don't specify a tier in a request, Parameter Store assigns the * tier based on the current Parameter Store default tier configuration.

The * default tier when you begin using Parameter Store is the standard-parameter * tier. If you use the advanced-parameter tier, you can specify one of the * following as the default:

  • Advanced: With this option, * Parameter Store evaluates all requests as advanced parameters.

  • *

    Intelligent-Tiering: With this option, Parameter Store evaluates each * request to determine if the parameter is standard or advanced.

    If the * request doesn't include any options that require an advanced parameter, the * parameter is created in the standard-parameter tier. If one or more options * requiring an advanced parameter are included in the request, Parameter Store * create a parameter in the advanced-parameter tier.

    This approach helps * control your parameter-related costs by always creating standard parameters * unless an advanced parameter is necessary.

Options that * require an advanced parameter include the following:

  • The * content size of the parameter is more than 4 KB.

  • The parameter * uses a parameter policy.

  • More than 10,000 parameters already * exist in your Amazon Web Services account in the current Amazon Web Services * Region.

For more information about configuring the default * tier option, see Specifying * a default parameter tier in the Amazon Web Services Systems Manager User * Guide.

*/ inline PutParameterRequest& WithTier(ParameterTier&& value) { SetTier(std::move(value)); return *this;} /** *

One or more policies to apply to a parameter. This operation takes a JSON * array. Parameter Store, a capability of Amazon Web Services Systems Manager * supports the following policy types:

Expiration: This policy deletes the * parameter after it expires. When you create the policy, you specify the * expiration date. You can update the expiration date and time by updating the * policy. Updating the parameter doesn't affect the expiration date and * time. When the expiration time is reached, Parameter Store deletes the * parameter.

ExpirationNotification: This policy initiates an event in * Amazon CloudWatch Events that notifies you about the expiration. By using this * policy, you can receive notification before or after the expiration time is * reached, in units of days or hours.

NoChangeNotification: This policy * initiates a CloudWatch Events event if a parameter hasn't been modified for a * specified period of time. This policy type is useful when, for example, a secret * needs to be changed within a period of time, but it hasn't been changed.

*

All existing policies are preserved until you send new policies or an empty * policy. For more information about parameter policies, see Assigning * parameter policies.

*/ inline const Aws::String& GetPolicies() const{ return m_policies; } /** *

One or more policies to apply to a parameter. This operation takes a JSON * array. Parameter Store, a capability of Amazon Web Services Systems Manager * supports the following policy types:

Expiration: This policy deletes the * parameter after it expires. When you create the policy, you specify the * expiration date. You can update the expiration date and time by updating the * policy. Updating the parameter doesn't affect the expiration date and * time. When the expiration time is reached, Parameter Store deletes the * parameter.

ExpirationNotification: This policy initiates an event in * Amazon CloudWatch Events that notifies you about the expiration. By using this * policy, you can receive notification before or after the expiration time is * reached, in units of days or hours.

NoChangeNotification: This policy * initiates a CloudWatch Events event if a parameter hasn't been modified for a * specified period of time. This policy type is useful when, for example, a secret * needs to be changed within a period of time, but it hasn't been changed.

*

All existing policies are preserved until you send new policies or an empty * policy. For more information about parameter policies, see Assigning * parameter policies.

*/ inline bool PoliciesHasBeenSet() const { return m_policiesHasBeenSet; } /** *

One or more policies to apply to a parameter. This operation takes a JSON * array. Parameter Store, a capability of Amazon Web Services Systems Manager * supports the following policy types:

Expiration: This policy deletes the * parameter after it expires. When you create the policy, you specify the * expiration date. You can update the expiration date and time by updating the * policy. Updating the parameter doesn't affect the expiration date and * time. When the expiration time is reached, Parameter Store deletes the * parameter.

ExpirationNotification: This policy initiates an event in * Amazon CloudWatch Events that notifies you about the expiration. By using this * policy, you can receive notification before or after the expiration time is * reached, in units of days or hours.

NoChangeNotification: This policy * initiates a CloudWatch Events event if a parameter hasn't been modified for a * specified period of time. This policy type is useful when, for example, a secret * needs to be changed within a period of time, but it hasn't been changed.

*

All existing policies are preserved until you send new policies or an empty * policy. For more information about parameter policies, see Assigning * parameter policies.

*/ inline void SetPolicies(const Aws::String& value) { m_policiesHasBeenSet = true; m_policies = value; } /** *

One or more policies to apply to a parameter. This operation takes a JSON * array. Parameter Store, a capability of Amazon Web Services Systems Manager * supports the following policy types:

Expiration: This policy deletes the * parameter after it expires. When you create the policy, you specify the * expiration date. You can update the expiration date and time by updating the * policy. Updating the parameter doesn't affect the expiration date and * time. When the expiration time is reached, Parameter Store deletes the * parameter.

ExpirationNotification: This policy initiates an event in * Amazon CloudWatch Events that notifies you about the expiration. By using this * policy, you can receive notification before or after the expiration time is * reached, in units of days or hours.

NoChangeNotification: This policy * initiates a CloudWatch Events event if a parameter hasn't been modified for a * specified period of time. This policy type is useful when, for example, a secret * needs to be changed within a period of time, but it hasn't been changed.

*

All existing policies are preserved until you send new policies or an empty * policy. For more information about parameter policies, see Assigning * parameter policies.

*/ inline void SetPolicies(Aws::String&& value) { m_policiesHasBeenSet = true; m_policies = std::move(value); } /** *

One or more policies to apply to a parameter. This operation takes a JSON * array. Parameter Store, a capability of Amazon Web Services Systems Manager * supports the following policy types:

Expiration: This policy deletes the * parameter after it expires. When you create the policy, you specify the * expiration date. You can update the expiration date and time by updating the * policy. Updating the parameter doesn't affect the expiration date and * time. When the expiration time is reached, Parameter Store deletes the * parameter.

ExpirationNotification: This policy initiates an event in * Amazon CloudWatch Events that notifies you about the expiration. By using this * policy, you can receive notification before or after the expiration time is * reached, in units of days or hours.

NoChangeNotification: This policy * initiates a CloudWatch Events event if a parameter hasn't been modified for a * specified period of time. This policy type is useful when, for example, a secret * needs to be changed within a period of time, but it hasn't been changed.

*

All existing policies are preserved until you send new policies or an empty * policy. For more information about parameter policies, see Assigning * parameter policies.

*/ inline void SetPolicies(const char* value) { m_policiesHasBeenSet = true; m_policies.assign(value); } /** *

One or more policies to apply to a parameter. This operation takes a JSON * array. Parameter Store, a capability of Amazon Web Services Systems Manager * supports the following policy types:

Expiration: This policy deletes the * parameter after it expires. When you create the policy, you specify the * expiration date. You can update the expiration date and time by updating the * policy. Updating the parameter doesn't affect the expiration date and * time. When the expiration time is reached, Parameter Store deletes the * parameter.

ExpirationNotification: This policy initiates an event in * Amazon CloudWatch Events that notifies you about the expiration. By using this * policy, you can receive notification before or after the expiration time is * reached, in units of days or hours.

NoChangeNotification: This policy * initiates a CloudWatch Events event if a parameter hasn't been modified for a * specified period of time. This policy type is useful when, for example, a secret * needs to be changed within a period of time, but it hasn't been changed.

*

All existing policies are preserved until you send new policies or an empty * policy. For more information about parameter policies, see Assigning * parameter policies.

*/ inline PutParameterRequest& WithPolicies(const Aws::String& value) { SetPolicies(value); return *this;} /** *

One or more policies to apply to a parameter. This operation takes a JSON * array. Parameter Store, a capability of Amazon Web Services Systems Manager * supports the following policy types:

Expiration: This policy deletes the * parameter after it expires. When you create the policy, you specify the * expiration date. You can update the expiration date and time by updating the * policy. Updating the parameter doesn't affect the expiration date and * time. When the expiration time is reached, Parameter Store deletes the * parameter.

ExpirationNotification: This policy initiates an event in * Amazon CloudWatch Events that notifies you about the expiration. By using this * policy, you can receive notification before or after the expiration time is * reached, in units of days or hours.

NoChangeNotification: This policy * initiates a CloudWatch Events event if a parameter hasn't been modified for a * specified period of time. This policy type is useful when, for example, a secret * needs to be changed within a period of time, but it hasn't been changed.

*

All existing policies are preserved until you send new policies or an empty * policy. For more information about parameter policies, see Assigning * parameter policies.

*/ inline PutParameterRequest& WithPolicies(Aws::String&& value) { SetPolicies(std::move(value)); return *this;} /** *

One or more policies to apply to a parameter. This operation takes a JSON * array. Parameter Store, a capability of Amazon Web Services Systems Manager * supports the following policy types:

Expiration: This policy deletes the * parameter after it expires. When you create the policy, you specify the * expiration date. You can update the expiration date and time by updating the * policy. Updating the parameter doesn't affect the expiration date and * time. When the expiration time is reached, Parameter Store deletes the * parameter.

ExpirationNotification: This policy initiates an event in * Amazon CloudWatch Events that notifies you about the expiration. By using this * policy, you can receive notification before or after the expiration time is * reached, in units of days or hours.

NoChangeNotification: This policy * initiates a CloudWatch Events event if a parameter hasn't been modified for a * specified period of time. This policy type is useful when, for example, a secret * needs to be changed within a period of time, but it hasn't been changed.

*

All existing policies are preserved until you send new policies or an empty * policy. For more information about parameter policies, see Assigning * parameter policies.

*/ inline PutParameterRequest& WithPolicies(const char* value) { SetPolicies(value); return *this;} /** *

The data type for a String parameter. Supported data types * include plain text and Amazon Machine Image (AMI) IDs.

The following * data type values are supported.

  • text

    *
  • aws:ec2:image

  • * aws:ssm:integration

When you create a * String parameter and specify aws:ec2:image, Amazon Web * Services Systems Manager validates the parameter value is in the required * format, such as ami-12345abcdeEXAMPLE, and that the specified AMI * is available in your Amazon Web Services account.

If the action is * successful, the service sends back an HTTP 200 response which indicates a * successful PutParameter call for all cases except for data type * aws:ec2:image. If you call PutParameter with * aws:ec2:image data type, a successful HTTP 200 response does not * guarantee that your parameter was successfully created or updated. The * aws:ec2:image value is validated asynchronously, and the * PutParameter call returns before the validation is complete. If you * submit an invalid AMI value, the PutParameter operation will return success, but * the asynchronous validation will fail and the parameter will not be created or * updated. To monitor whether your aws:ec2:image parameters are * created successfully, see Setting * up notifications or trigger actions based on Parameter Store events. For * more information about AMI format validation , see Native * parameter support for Amazon Machine Image (AMI) IDs.

*/ inline const Aws::String& GetDataType() const{ return m_dataType; } /** *

The data type for a String parameter. Supported data types * include plain text and Amazon Machine Image (AMI) IDs.

The following * data type values are supported.

  • text

    *
  • aws:ec2:image

  • * aws:ssm:integration

When you create a * String parameter and specify aws:ec2:image, Amazon Web * Services Systems Manager validates the parameter value is in the required * format, such as ami-12345abcdeEXAMPLE, and that the specified AMI * is available in your Amazon Web Services account.

If the action is * successful, the service sends back an HTTP 200 response which indicates a * successful PutParameter call for all cases except for data type * aws:ec2:image. If you call PutParameter with * aws:ec2:image data type, a successful HTTP 200 response does not * guarantee that your parameter was successfully created or updated. The * aws:ec2:image value is validated asynchronously, and the * PutParameter call returns before the validation is complete. If you * submit an invalid AMI value, the PutParameter operation will return success, but * the asynchronous validation will fail and the parameter will not be created or * updated. To monitor whether your aws:ec2:image parameters are * created successfully, see Setting * up notifications or trigger actions based on Parameter Store events. For * more information about AMI format validation , see Native * parameter support for Amazon Machine Image (AMI) IDs.

*/ inline bool DataTypeHasBeenSet() const { return m_dataTypeHasBeenSet; } /** *

The data type for a String parameter. Supported data types * include plain text and Amazon Machine Image (AMI) IDs.

The following * data type values are supported.

  • text

    *
  • aws:ec2:image

  • * aws:ssm:integration

When you create a * String parameter and specify aws:ec2:image, Amazon Web * Services Systems Manager validates the parameter value is in the required * format, such as ami-12345abcdeEXAMPLE, and that the specified AMI * is available in your Amazon Web Services account.

If the action is * successful, the service sends back an HTTP 200 response which indicates a * successful PutParameter call for all cases except for data type * aws:ec2:image. If you call PutParameter with * aws:ec2:image data type, a successful HTTP 200 response does not * guarantee that your parameter was successfully created or updated. The * aws:ec2:image value is validated asynchronously, and the * PutParameter call returns before the validation is complete. If you * submit an invalid AMI value, the PutParameter operation will return success, but * the asynchronous validation will fail and the parameter will not be created or * updated. To monitor whether your aws:ec2:image parameters are * created successfully, see Setting * up notifications or trigger actions based on Parameter Store events. For * more information about AMI format validation , see Native * parameter support for Amazon Machine Image (AMI) IDs.

*/ inline void SetDataType(const Aws::String& value) { m_dataTypeHasBeenSet = true; m_dataType = value; } /** *

The data type for a String parameter. Supported data types * include plain text and Amazon Machine Image (AMI) IDs.

The following * data type values are supported.

  • text

    *
  • aws:ec2:image

  • * aws:ssm:integration

When you create a * String parameter and specify aws:ec2:image, Amazon Web * Services Systems Manager validates the parameter value is in the required * format, such as ami-12345abcdeEXAMPLE, and that the specified AMI * is available in your Amazon Web Services account.

If the action is * successful, the service sends back an HTTP 200 response which indicates a * successful PutParameter call for all cases except for data type * aws:ec2:image. If you call PutParameter with * aws:ec2:image data type, a successful HTTP 200 response does not * guarantee that your parameter was successfully created or updated. The * aws:ec2:image value is validated asynchronously, and the * PutParameter call returns before the validation is complete. If you * submit an invalid AMI value, the PutParameter operation will return success, but * the asynchronous validation will fail and the parameter will not be created or * updated. To monitor whether your aws:ec2:image parameters are * created successfully, see Setting * up notifications or trigger actions based on Parameter Store events. For * more information about AMI format validation , see Native * parameter support for Amazon Machine Image (AMI) IDs.

*/ inline void SetDataType(Aws::String&& value) { m_dataTypeHasBeenSet = true; m_dataType = std::move(value); } /** *

The data type for a String parameter. Supported data types * include plain text and Amazon Machine Image (AMI) IDs.

The following * data type values are supported.

  • text

    *
  • aws:ec2:image

  • * aws:ssm:integration

When you create a * String parameter and specify aws:ec2:image, Amazon Web * Services Systems Manager validates the parameter value is in the required * format, such as ami-12345abcdeEXAMPLE, and that the specified AMI * is available in your Amazon Web Services account.

If the action is * successful, the service sends back an HTTP 200 response which indicates a * successful PutParameter call for all cases except for data type * aws:ec2:image. If you call PutParameter with * aws:ec2:image data type, a successful HTTP 200 response does not * guarantee that your parameter was successfully created or updated. The * aws:ec2:image value is validated asynchronously, and the * PutParameter call returns before the validation is complete. If you * submit an invalid AMI value, the PutParameter operation will return success, but * the asynchronous validation will fail and the parameter will not be created or * updated. To monitor whether your aws:ec2:image parameters are * created successfully, see Setting * up notifications or trigger actions based on Parameter Store events. For * more information about AMI format validation , see Native * parameter support for Amazon Machine Image (AMI) IDs.

*/ inline void SetDataType(const char* value) { m_dataTypeHasBeenSet = true; m_dataType.assign(value); } /** *

The data type for a String parameter. Supported data types * include plain text and Amazon Machine Image (AMI) IDs.

The following * data type values are supported.

  • text

    *
  • aws:ec2:image

  • * aws:ssm:integration

When you create a * String parameter and specify aws:ec2:image, Amazon Web * Services Systems Manager validates the parameter value is in the required * format, such as ami-12345abcdeEXAMPLE, and that the specified AMI * is available in your Amazon Web Services account.

If the action is * successful, the service sends back an HTTP 200 response which indicates a * successful PutParameter call for all cases except for data type * aws:ec2:image. If you call PutParameter with * aws:ec2:image data type, a successful HTTP 200 response does not * guarantee that your parameter was successfully created or updated. The * aws:ec2:image value is validated asynchronously, and the * PutParameter call returns before the validation is complete. If you * submit an invalid AMI value, the PutParameter operation will return success, but * the asynchronous validation will fail and the parameter will not be created or * updated. To monitor whether your aws:ec2:image parameters are * created successfully, see Setting * up notifications or trigger actions based on Parameter Store events. For * more information about AMI format validation , see Native * parameter support for Amazon Machine Image (AMI) IDs.

*/ inline PutParameterRequest& WithDataType(const Aws::String& value) { SetDataType(value); return *this;} /** *

The data type for a String parameter. Supported data types * include plain text and Amazon Machine Image (AMI) IDs.

The following * data type values are supported.

  • text

    *
  • aws:ec2:image

  • * aws:ssm:integration

When you create a * String parameter and specify aws:ec2:image, Amazon Web * Services Systems Manager validates the parameter value is in the required * format, such as ami-12345abcdeEXAMPLE, and that the specified AMI * is available in your Amazon Web Services account.

If the action is * successful, the service sends back an HTTP 200 response which indicates a * successful PutParameter call for all cases except for data type * aws:ec2:image. If you call PutParameter with * aws:ec2:image data type, a successful HTTP 200 response does not * guarantee that your parameter was successfully created or updated. The * aws:ec2:image value is validated asynchronously, and the * PutParameter call returns before the validation is complete. If you * submit an invalid AMI value, the PutParameter operation will return success, but * the asynchronous validation will fail and the parameter will not be created or * updated. To monitor whether your aws:ec2:image parameters are * created successfully, see Setting * up notifications or trigger actions based on Parameter Store events. For * more information about AMI format validation , see Native * parameter support for Amazon Machine Image (AMI) IDs.

*/ inline PutParameterRequest& WithDataType(Aws::String&& value) { SetDataType(std::move(value)); return *this;} /** *

The data type for a String parameter. Supported data types * include plain text and Amazon Machine Image (AMI) IDs.

The following * data type values are supported.

  • text

    *
  • aws:ec2:image

  • * aws:ssm:integration

When you create a * String parameter and specify aws:ec2:image, Amazon Web * Services Systems Manager validates the parameter value is in the required * format, such as ami-12345abcdeEXAMPLE, and that the specified AMI * is available in your Amazon Web Services account.

If the action is * successful, the service sends back an HTTP 200 response which indicates a * successful PutParameter call for all cases except for data type * aws:ec2:image. If you call PutParameter with * aws:ec2:image data type, a successful HTTP 200 response does not * guarantee that your parameter was successfully created or updated. The * aws:ec2:image value is validated asynchronously, and the * PutParameter call returns before the validation is complete. If you * submit an invalid AMI value, the PutParameter operation will return success, but * the asynchronous validation will fail and the parameter will not be created or * updated. To monitor whether your aws:ec2:image parameters are * created successfully, see Setting * up notifications or trigger actions based on Parameter Store events. For * more information about AMI format validation , see Native * parameter support for Amazon Machine Image (AMI) IDs.

*/ inline PutParameterRequest& WithDataType(const char* value) { SetDataType(value); return *this;} private: Aws::String m_name; bool m_nameHasBeenSet = false; Aws::String m_description; bool m_descriptionHasBeenSet = false; Aws::String m_value; bool m_valueHasBeenSet = false; ParameterType m_type; bool m_typeHasBeenSet = false; Aws::String m_keyId; bool m_keyIdHasBeenSet = false; bool m_overwrite; bool m_overwriteHasBeenSet = false; Aws::String m_allowedPattern; bool m_allowedPatternHasBeenSet = false; Aws::Vector m_tags; bool m_tagsHasBeenSet = false; ParameterTier m_tier; bool m_tierHasBeenSet = false; Aws::String m_policies; bool m_policiesHasBeenSet = false; Aws::String m_dataType; bool m_dataTypeHasBeenSet = false; }; } // namespace Model } // namespace SSM } // namespace Aws