/** * 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 AWS_SSM_API PutParameterRequest : public SSMRequest { public: 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::String SerializePayload() const override; 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 AWS 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_.-/

  • 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 About * requirements and constraints for parameter names in the AWS Systems * Manager User Guide.

The maximum length constraint listed below * includes capacity for additional system attributes that are not part of the * name. The maximum length for a parameter name, including the full length of the * parameter ARN, is 1011 characters. For example, the length of the following * parameter name is 65 characters, not 20 characters:

* arn:aws:ssm:us-east-2:111122223333:parameter/ExampleParameterName *

*/ 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 AWS 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_.-/

  • 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 About * requirements and constraints for parameter names in the AWS Systems * Manager User Guide.

The maximum length constraint listed below * includes capacity for additional system attributes that are not part of the * name. The maximum length for a parameter name, including the full length of the * parameter ARN, is 1011 characters. For example, the length of the following * parameter name is 65 characters, not 20 characters:

* arn:aws:ssm:us-east-2:111122223333:parameter/ExampleParameterName *

*/ 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 AWS 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_.-/

  • 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 About * requirements and constraints for parameter names in the AWS Systems * Manager User Guide.

The maximum length constraint listed below * includes capacity for additional system attributes that are not part of the * name. The maximum length for a parameter name, including the full length of the * parameter ARN, is 1011 characters. For example, the length of the following * parameter name is 65 characters, not 20 characters:

* arn:aws:ssm:us-east-2:111122223333:parameter/ExampleParameterName *

*/ 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 AWS 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_.-/

  • 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 About * requirements and constraints for parameter names in the AWS Systems * Manager User Guide.

The maximum length constraint listed below * includes capacity for additional system attributes that are not part of the * name. The maximum length for a parameter name, including the full length of the * parameter ARN, is 1011 characters. For example, the length of the following * parameter name is 65 characters, not 20 characters:

* arn:aws:ssm:us-east-2:111122223333:parameter/ExampleParameterName *

*/ 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 AWS 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_.-/

  • 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 About * requirements and constraints for parameter names in the AWS Systems * Manager User Guide.

The maximum length constraint listed below * includes capacity for additional system attributes that are not part of the * name. The maximum length for a parameter name, including the full length of the * parameter ARN, is 1011 characters. For example, the length of the following * parameter name is 65 characters, not 20 characters:

* arn:aws:ssm:us-east-2:111122223333:parameter/ExampleParameterName *

*/ 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 AWS 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_.-/

  • 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 About * requirements and constraints for parameter names in the AWS Systems * Manager User Guide.

The maximum length constraint listed below * includes capacity for additional system attributes that are not part of the * name. The maximum length for a parameter name, including the full length of the * parameter ARN, is 1011 characters. For example, the length of the following * parameter name is 65 characters, not 20 characters:

* arn:aws:ssm:us-east-2:111122223333:parameter/ExampleParameterName *

*/ 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 AWS 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_.-/

  • 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 About * requirements and constraints for parameter names in the AWS Systems * Manager User Guide.

The maximum length constraint listed below * includes capacity for additional system attributes that are not part of the * name. The maximum length for a parameter name, including the full length of the * parameter ARN, is 1011 characters. For example, the length of the following * parameter name is 65 characters, not 20 characters:

* arn:aws:ssm:us-east-2:111122223333:parameter/ExampleParameterName *

*/ 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 AWS 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_.-/

  • 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 About * requirements and constraints for parameter names in the AWS Systems * Manager User Guide.

The maximum length constraint listed below * includes capacity for additional system attributes that are not part of the * name. The maximum length for a parameter name, including the full length of the * parameter ARN, is 1011 characters. For example, the length of the following * parameter name is 65 characters, not 20 characters:

* arn:aws:ssm:us-east-2:111122223333:parameter/ExampleParameterName *

*/ 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.

Do not 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.

Do not 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.

Do not 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.

Do not 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.

Do not 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.

Do not 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.

Do not 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.

Do not 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 is not currently supported for AWS CloudFormation * templates or in the China Regions.

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 is not 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 is not currently supported for AWS CloudFormation * templates or in the China Regions.

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 is not 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 is not currently supported for AWS CloudFormation * templates or in the China Regions.

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 is not 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 is not currently supported for AWS CloudFormation * templates or in the China Regions.

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 is not 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 is not currently supported for AWS CloudFormation * templates or in the China Regions.

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 is not 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 is not currently supported for AWS CloudFormation * templates or in the China Regions.

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 is not 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 KMS Key ID that you want to use to encrypt a parameter. Either the * default AWS Key Management Service (AWS KMS) key automatically assigned to your * AWS account or a custom key. 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 AWS account.

  • *

    To use your default AWS KMS key, choose the SecureString data * type, and do not specify the Key ID when you create the * parameter. The system automatically populates Key ID with your * default KMS 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 KMS Key ID that you want to use to encrypt a parameter. Either the * default AWS Key Management Service (AWS KMS) key automatically assigned to your * AWS account or a custom key. 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 AWS account.

  • *

    To use your default AWS KMS key, choose the SecureString data * type, and do not specify the Key ID when you create the * parameter. The system automatically populates Key ID with your * default KMS 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 KMS Key ID that you want to use to encrypt a parameter. Either the * default AWS Key Management Service (AWS KMS) key automatically assigned to your * AWS account or a custom key. 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 AWS account.

  • *

    To use your default AWS KMS key, choose the SecureString data * type, and do not specify the Key ID when you create the * parameter. The system automatically populates Key ID with your * default KMS 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 KMS Key ID that you want to use to encrypt a parameter. Either the * default AWS Key Management Service (AWS KMS) key automatically assigned to your * AWS account or a custom key. 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 AWS account.

  • *

    To use your default AWS KMS key, choose the SecureString data * type, and do not specify the Key ID when you create the * parameter. The system automatically populates Key ID with your * default KMS 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 KMS Key ID that you want to use to encrypt a parameter. Either the * default AWS Key Management Service (AWS KMS) key automatically assigned to your * AWS account or a custom key. 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 AWS account.

  • *

    To use your default AWS KMS key, choose the SecureString data * type, and do not specify the Key ID when you create the * parameter. The system automatically populates Key ID with your * default KMS 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 KMS Key ID that you want to use to encrypt a parameter. Either the * default AWS Key Management Service (AWS KMS) key automatically assigned to your * AWS account or a custom key. 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 AWS account.

  • *

    To use your default AWS KMS key, choose the SecureString data * type, and do not specify the Key ID when you create the * parameter. The system automatically populates Key ID with your * default KMS 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 KMS Key ID that you want to use to encrypt a parameter. Either the * default AWS Key Management Service (AWS KMS) key automatically assigned to your * AWS account or a custom key. 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 AWS account.

  • *

    To use your default AWS KMS key, choose the SecureString data * type, and do not specify the Key ID when you create the * parameter. The system automatically populates Key ID with your * default KMS 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 KMS Key ID that you want to use to encrypt a parameter. Either the * default AWS Key Management Service (AWS KMS) key automatically assigned to your * AWS account or a custom key. 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 AWS account.

  • *

    To use your default AWS KMS key, choose the SecureString data * type, and do not specify the Key ID when you create the * parameter. The system automatically populates Key ID with your * default KMS 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. If not specified, will default to * "false".

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

Overwrite an existing parameter. If not specified, will default to * "false".

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

Overwrite an existing parameter. If not specified, will default to * "false".

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

Overwrite an existing parameter. If not specified, will default to * "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 name/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 action.

*/ 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 name/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 action.

*/ 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 name/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 action.

*/ 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 name/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 action.

*/ 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 name/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 action.

*/ 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 name/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 action.

*/ 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 name/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 action.

*/ 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 name/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 action.

*/ 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 AWS * 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 AWS account. Advanced parameters incur a charge. For more * information, see Standard * and advanced parameter tiers in the AWS 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 do not 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 AWS account in the current Region.

For more * information about configuring the default tier option, see Specifying * a default parameter tier in the AWS 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 AWS * 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 AWS account. Advanced parameters incur a charge. For more * information, see Standard * and advanced parameter tiers in the AWS 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 do not 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 AWS account in the current Region.

For more * information about configuring the default tier option, see Specifying * a default parameter tier in the AWS 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 AWS * 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 AWS account. Advanced parameters incur a charge. For more * information, see Standard * and advanced parameter tiers in the AWS 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 do not 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 AWS account in the current Region.

For more * information about configuring the default tier option, see Specifying * a default parameter tier in the AWS 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 AWS * 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 AWS account. Advanced parameters incur a charge. For more * information, see Standard * and advanced parameter tiers in the AWS 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 do not 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 AWS account in the current Region.

For more * information about configuring the default tier option, see Specifying * a default parameter tier in the AWS 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 AWS * 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 AWS account. Advanced parameters incur a charge. For more * information, see Standard * and advanced parameter tiers in the AWS 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 do not 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 AWS account in the current Region.

For more * information about configuring the default tier option, see Specifying * a default parameter tier in the AWS 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 AWS * 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 AWS account. Advanced parameters incur a charge. For more * information, see Standard * and advanced parameter tiers in the AWS 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 do not 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 AWS account in the current Region.

For more * information about configuring the default tier option, see Specifying * a default parameter tier in the AWS 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 action takes a JSON array. * Parameter Store 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 does not affect the * expiration date and time. When the expiration time is reached, Parameter Store * deletes the parameter.

ExpirationNotification: This policy triggers 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 triggers a CloudWatch event if a parameter has not 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 has not 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 action takes a JSON array. * Parameter Store 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 does not affect the * expiration date and time. When the expiration time is reached, Parameter Store * deletes the parameter.

ExpirationNotification: This policy triggers 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 triggers a CloudWatch event if a parameter has not 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 has not 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 action takes a JSON array. * Parameter Store 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 does not affect the * expiration date and time. When the expiration time is reached, Parameter Store * deletes the parameter.

ExpirationNotification: This policy triggers 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 triggers a CloudWatch event if a parameter has not 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 has not 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 action takes a JSON array. * Parameter Store 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 does not affect the * expiration date and time. When the expiration time is reached, Parameter Store * deletes the parameter.

ExpirationNotification: This policy triggers 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 triggers a CloudWatch event if a parameter has not 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 has not 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 action takes a JSON array. * Parameter Store 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 does not affect the * expiration date and time. When the expiration time is reached, Parameter Store * deletes the parameter.

ExpirationNotification: This policy triggers 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 triggers a CloudWatch event if a parameter has not 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 has not 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 action takes a JSON array. * Parameter Store 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 does not affect the * expiration date and time. When the expiration time is reached, Parameter Store * deletes the parameter.

ExpirationNotification: This policy triggers 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 triggers a CloudWatch event if a parameter has not 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 has not 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 action takes a JSON array. * Parameter Store 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 does not affect the * expiration date and time. When the expiration time is reached, Parameter Store * deletes the parameter.

ExpirationNotification: This policy triggers 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 triggers a CloudWatch event if a parameter has not 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 has not 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 action takes a JSON array. * Parameter Store 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 does not affect the * expiration date and time. When the expiration time is reached, Parameter Store * deletes the parameter.

ExpirationNotification: This policy triggers 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 triggers a CloudWatch event if a parameter has not 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 has not 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 IDs.

The following data * type values are supported.

  • text

  • *
  • aws:ec2:image

When you create a * String parameter and specify aws:ec2:image, Systems * Manager validates the parameter value is in the required format, such as * ami-12345abcdeEXAMPLE, and that the specified AMI is available in * your AWS account. For more information, see Native * parameter support for Amazon Machine Image IDs in the AWS Systems Manager * User Guide.

*/ 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 IDs.

The following data * type values are supported.

  • text

  • *
  • aws:ec2:image

When you create a * String parameter and specify aws:ec2:image, Systems * Manager validates the parameter value is in the required format, such as * ami-12345abcdeEXAMPLE, and that the specified AMI is available in * your AWS account. For more information, see Native * parameter support for Amazon Machine Image IDs in the AWS Systems Manager * User Guide.

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

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

The following data * type values are supported.

  • text

  • *
  • aws:ec2:image

When you create a * String parameter and specify aws:ec2:image, Systems * Manager validates the parameter value is in the required format, such as * ami-12345abcdeEXAMPLE, and that the specified AMI is available in * your AWS account. For more information, see Native * parameter support for Amazon Machine Image IDs in the AWS Systems Manager * User Guide.

*/ 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 IDs.

The following data * type values are supported.

  • text

  • *
  • aws:ec2:image

When you create a * String parameter and specify aws:ec2:image, Systems * Manager validates the parameter value is in the required format, such as * ami-12345abcdeEXAMPLE, and that the specified AMI is available in * your AWS account. For more information, see Native * parameter support for Amazon Machine Image IDs in the AWS Systems Manager * User Guide.

*/ 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 IDs.

The following data * type values are supported.

  • text

  • *
  • aws:ec2:image

When you create a * String parameter and specify aws:ec2:image, Systems * Manager validates the parameter value is in the required format, such as * ami-12345abcdeEXAMPLE, and that the specified AMI is available in * your AWS account. For more information, see Native * parameter support for Amazon Machine Image IDs in the AWS Systems Manager * User Guide.

*/ 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 IDs.

The following data * type values are supported.

  • text

  • *
  • aws:ec2:image

When you create a * String parameter and specify aws:ec2:image, Systems * Manager validates the parameter value is in the required format, such as * ami-12345abcdeEXAMPLE, and that the specified AMI is available in * your AWS account. For more information, see Native * parameter support for Amazon Machine Image IDs in the AWS Systems Manager * User Guide.

*/ 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 IDs.

The following data * type values are supported.

  • text

  • *
  • aws:ec2:image

When you create a * String parameter and specify aws:ec2:image, Systems * Manager validates the parameter value is in the required format, such as * ami-12345abcdeEXAMPLE, and that the specified AMI is available in * your AWS account. For more information, see Native * parameter support for Amazon Machine Image IDs in the AWS Systems Manager * User Guide.

*/ 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 IDs.

The following data * type values are supported.

  • text

  • *
  • aws:ec2:image

When you create a * String parameter and specify aws:ec2:image, Systems * Manager validates the parameter value is in the required format, such as * ami-12345abcdeEXAMPLE, and that the specified AMI is available in * your AWS account. For more information, see Native * parameter support for Amazon Machine Image IDs in the AWS Systems Manager * User Guide.

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