/** * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. * SPDX-License-Identifier: Apache-2.0. */ #pragma once #include #include #include #include namespace Aws { namespace Utils { namespace Json { class JsonValue; class JsonView; } // namespace Json } // namespace Utils namespace ServerlessApplicationRepository { namespace Model { /** *

Parameters supported by the application.

See Also:

AWS * API Reference

*/ class ParameterDefinition { public: AWS_SERVERLESSAPPLICATIONREPOSITORY_API ParameterDefinition(); AWS_SERVERLESSAPPLICATIONREPOSITORY_API ParameterDefinition(Aws::Utils::Json::JsonView jsonValue); AWS_SERVERLESSAPPLICATIONREPOSITORY_API ParameterDefinition& operator=(Aws::Utils::Json::JsonView jsonValue); AWS_SERVERLESSAPPLICATIONREPOSITORY_API Aws::Utils::Json::JsonValue Jsonize() const; /** *

A regular expression that represents the patterns to allow for String * types.

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

A regular expression that represents the patterns to allow for String * types.

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

A regular expression that represents the patterns to allow for String * types.

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

A regular expression that represents the patterns to allow for String * types.

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

A regular expression that represents the patterns to allow for String * types.

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

A regular expression that represents the patterns to allow for String * types.

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

A regular expression that represents the patterns to allow for String * types.

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

A regular expression that represents the patterns to allow for String * types.

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

An array containing the list of values allowed for the parameter.

*/ inline const Aws::Vector& GetAllowedValues() const{ return m_allowedValues; } /** *

An array containing the list of values allowed for the parameter.

*/ inline bool AllowedValuesHasBeenSet() const { return m_allowedValuesHasBeenSet; } /** *

An array containing the list of values allowed for the parameter.

*/ inline void SetAllowedValues(const Aws::Vector& value) { m_allowedValuesHasBeenSet = true; m_allowedValues = value; } /** *

An array containing the list of values allowed for the parameter.

*/ inline void SetAllowedValues(Aws::Vector&& value) { m_allowedValuesHasBeenSet = true; m_allowedValues = std::move(value); } /** *

An array containing the list of values allowed for the parameter.

*/ inline ParameterDefinition& WithAllowedValues(const Aws::Vector& value) { SetAllowedValues(value); return *this;} /** *

An array containing the list of values allowed for the parameter.

*/ inline ParameterDefinition& WithAllowedValues(Aws::Vector&& value) { SetAllowedValues(std::move(value)); return *this;} /** *

An array containing the list of values allowed for the parameter.

*/ inline ParameterDefinition& AddAllowedValues(const Aws::String& value) { m_allowedValuesHasBeenSet = true; m_allowedValues.push_back(value); return *this; } /** *

An array containing the list of values allowed for the parameter.

*/ inline ParameterDefinition& AddAllowedValues(Aws::String&& value) { m_allowedValuesHasBeenSet = true; m_allowedValues.push_back(std::move(value)); return *this; } /** *

An array containing the list of values allowed for the parameter.

*/ inline ParameterDefinition& AddAllowedValues(const char* value) { m_allowedValuesHasBeenSet = true; m_allowedValues.push_back(value); return *this; } /** *

A string that explains a constraint when the constraint is violated. For * example, without a constraint description, a parameter that has an allowed * pattern of [A-Za-z0-9]+ displays the following error message when the user * specifies an invalid value:

Malformed input-Parameter MyParameter must * match pattern [A-Za-z0-9]+

By adding a constraint description, such as * "must contain only uppercase and lowercase letters and numbers," you can * display the following customized error message:

Malformed * input-Parameter MyParameter must contain only uppercase and lowercase letters * and numbers.

*/ inline const Aws::String& GetConstraintDescription() const{ return m_constraintDescription; } /** *

A string that explains a constraint when the constraint is violated. For * example, without a constraint description, a parameter that has an allowed * pattern of [A-Za-z0-9]+ displays the following error message when the user * specifies an invalid value:

Malformed input-Parameter MyParameter must * match pattern [A-Za-z0-9]+

By adding a constraint description, such as * "must contain only uppercase and lowercase letters and numbers," you can * display the following customized error message:

Malformed * input-Parameter MyParameter must contain only uppercase and lowercase letters * and numbers.

*/ inline bool ConstraintDescriptionHasBeenSet() const { return m_constraintDescriptionHasBeenSet; } /** *

A string that explains a constraint when the constraint is violated. For * example, without a constraint description, a parameter that has an allowed * pattern of [A-Za-z0-9]+ displays the following error message when the user * specifies an invalid value:

Malformed input-Parameter MyParameter must * match pattern [A-Za-z0-9]+

By adding a constraint description, such as * "must contain only uppercase and lowercase letters and numbers," you can * display the following customized error message:

Malformed * input-Parameter MyParameter must contain only uppercase and lowercase letters * and numbers.

*/ inline void SetConstraintDescription(const Aws::String& value) { m_constraintDescriptionHasBeenSet = true; m_constraintDescription = value; } /** *

A string that explains a constraint when the constraint is violated. For * example, without a constraint description, a parameter that has an allowed * pattern of [A-Za-z0-9]+ displays the following error message when the user * specifies an invalid value:

Malformed input-Parameter MyParameter must * match pattern [A-Za-z0-9]+

By adding a constraint description, such as * "must contain only uppercase and lowercase letters and numbers," you can * display the following customized error message:

Malformed * input-Parameter MyParameter must contain only uppercase and lowercase letters * and numbers.

*/ inline void SetConstraintDescription(Aws::String&& value) { m_constraintDescriptionHasBeenSet = true; m_constraintDescription = std::move(value); } /** *

A string that explains a constraint when the constraint is violated. For * example, without a constraint description, a parameter that has an allowed * pattern of [A-Za-z0-9]+ displays the following error message when the user * specifies an invalid value:

Malformed input-Parameter MyParameter must * match pattern [A-Za-z0-9]+

By adding a constraint description, such as * "must contain only uppercase and lowercase letters and numbers," you can * display the following customized error message:

Malformed * input-Parameter MyParameter must contain only uppercase and lowercase letters * and numbers.

*/ inline void SetConstraintDescription(const char* value) { m_constraintDescriptionHasBeenSet = true; m_constraintDescription.assign(value); } /** *

A string that explains a constraint when the constraint is violated. For * example, without a constraint description, a parameter that has an allowed * pattern of [A-Za-z0-9]+ displays the following error message when the user * specifies an invalid value:

Malformed input-Parameter MyParameter must * match pattern [A-Za-z0-9]+

By adding a constraint description, such as * "must contain only uppercase and lowercase letters and numbers," you can * display the following customized error message:

Malformed * input-Parameter MyParameter must contain only uppercase and lowercase letters * and numbers.

*/ inline ParameterDefinition& WithConstraintDescription(const Aws::String& value) { SetConstraintDescription(value); return *this;} /** *

A string that explains a constraint when the constraint is violated. For * example, without a constraint description, a parameter that has an allowed * pattern of [A-Za-z0-9]+ displays the following error message when the user * specifies an invalid value:

Malformed input-Parameter MyParameter must * match pattern [A-Za-z0-9]+

By adding a constraint description, such as * "must contain only uppercase and lowercase letters and numbers," you can * display the following customized error message:

Malformed * input-Parameter MyParameter must contain only uppercase and lowercase letters * and numbers.

*/ inline ParameterDefinition& WithConstraintDescription(Aws::String&& value) { SetConstraintDescription(std::move(value)); return *this;} /** *

A string that explains a constraint when the constraint is violated. For * example, without a constraint description, a parameter that has an allowed * pattern of [A-Za-z0-9]+ displays the following error message when the user * specifies an invalid value:

Malformed input-Parameter MyParameter must * match pattern [A-Za-z0-9]+

By adding a constraint description, such as * "must contain only uppercase and lowercase letters and numbers," you can * display the following customized error message:

Malformed * input-Parameter MyParameter must contain only uppercase and lowercase letters * and numbers.

*/ inline ParameterDefinition& WithConstraintDescription(const char* value) { SetConstraintDescription(value); return *this;} /** *

A value of the appropriate type for the template to use if no value is * specified when a stack is created. If you define constraints for the parameter, * you must specify a value that adheres to those constraints.

*/ inline const Aws::String& GetDefaultValue() const{ return m_defaultValue; } /** *

A value of the appropriate type for the template to use if no value is * specified when a stack is created. If you define constraints for the parameter, * you must specify a value that adheres to those constraints.

*/ inline bool DefaultValueHasBeenSet() const { return m_defaultValueHasBeenSet; } /** *

A value of the appropriate type for the template to use if no value is * specified when a stack is created. If you define constraints for the parameter, * you must specify a value that adheres to those constraints.

*/ inline void SetDefaultValue(const Aws::String& value) { m_defaultValueHasBeenSet = true; m_defaultValue = value; } /** *

A value of the appropriate type for the template to use if no value is * specified when a stack is created. If you define constraints for the parameter, * you must specify a value that adheres to those constraints.

*/ inline void SetDefaultValue(Aws::String&& value) { m_defaultValueHasBeenSet = true; m_defaultValue = std::move(value); } /** *

A value of the appropriate type for the template to use if no value is * specified when a stack is created. If you define constraints for the parameter, * you must specify a value that adheres to those constraints.

*/ inline void SetDefaultValue(const char* value) { m_defaultValueHasBeenSet = true; m_defaultValue.assign(value); } /** *

A value of the appropriate type for the template to use if no value is * specified when a stack is created. If you define constraints for the parameter, * you must specify a value that adheres to those constraints.

*/ inline ParameterDefinition& WithDefaultValue(const Aws::String& value) { SetDefaultValue(value); return *this;} /** *

A value of the appropriate type for the template to use if no value is * specified when a stack is created. If you define constraints for the parameter, * you must specify a value that adheres to those constraints.

*/ inline ParameterDefinition& WithDefaultValue(Aws::String&& value) { SetDefaultValue(std::move(value)); return *this;} /** *

A value of the appropriate type for the template to use if no value is * specified when a stack is created. If you define constraints for the parameter, * you must specify a value that adheres to those constraints.

*/ inline ParameterDefinition& WithDefaultValue(const char* value) { SetDefaultValue(value); return *this;} /** *

A string of up to 4,000 characters that describes the parameter.

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

A string of up to 4,000 characters that describes the parameter.

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

A string of up to 4,000 characters that describes the parameter.

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

A string of up to 4,000 characters that describes the parameter.

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

A string of up to 4,000 characters that describes the parameter.

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

A string of up to 4,000 characters that describes the parameter.

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

A string of up to 4,000 characters that describes the parameter.

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

A string of up to 4,000 characters that describes the parameter.

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

An integer value that determines the largest number of characters that you * want to allow for String types.

*/ inline int GetMaxLength() const{ return m_maxLength; } /** *

An integer value that determines the largest number of characters that you * want to allow for String types.

*/ inline bool MaxLengthHasBeenSet() const { return m_maxLengthHasBeenSet; } /** *

An integer value that determines the largest number of characters that you * want to allow for String types.

*/ inline void SetMaxLength(int value) { m_maxLengthHasBeenSet = true; m_maxLength = value; } /** *

An integer value that determines the largest number of characters that you * want to allow for String types.

*/ inline ParameterDefinition& WithMaxLength(int value) { SetMaxLength(value); return *this;} /** *

A numeric value that determines the largest numeric value that you want to * allow for Number types.

*/ inline int GetMaxValue() const{ return m_maxValue; } /** *

A numeric value that determines the largest numeric value that you want to * allow for Number types.

*/ inline bool MaxValueHasBeenSet() const { return m_maxValueHasBeenSet; } /** *

A numeric value that determines the largest numeric value that you want to * allow for Number types.

*/ inline void SetMaxValue(int value) { m_maxValueHasBeenSet = true; m_maxValue = value; } /** *

A numeric value that determines the largest numeric value that you want to * allow for Number types.

*/ inline ParameterDefinition& WithMaxValue(int value) { SetMaxValue(value); return *this;} /** *

An integer value that determines the smallest number of characters that you * want to allow for String types.

*/ inline int GetMinLength() const{ return m_minLength; } /** *

An integer value that determines the smallest number of characters that you * want to allow for String types.

*/ inline bool MinLengthHasBeenSet() const { return m_minLengthHasBeenSet; } /** *

An integer value that determines the smallest number of characters that you * want to allow for String types.

*/ inline void SetMinLength(int value) { m_minLengthHasBeenSet = true; m_minLength = value; } /** *

An integer value that determines the smallest number of characters that you * want to allow for String types.

*/ inline ParameterDefinition& WithMinLength(int value) { SetMinLength(value); return *this;} /** *

A numeric value that determines the smallest numeric value that you want to * allow for Number types.

*/ inline int GetMinValue() const{ return m_minValue; } /** *

A numeric value that determines the smallest numeric value that you want to * allow for Number types.

*/ inline bool MinValueHasBeenSet() const { return m_minValueHasBeenSet; } /** *

A numeric value that determines the smallest numeric value that you want to * allow for Number types.

*/ inline void SetMinValue(int value) { m_minValueHasBeenSet = true; m_minValue = value; } /** *

A numeric value that determines the smallest numeric value that you want to * allow for Number types.

*/ inline ParameterDefinition& WithMinValue(int value) { SetMinValue(value); return *this;} /** *

The name of the parameter.

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

The name of the parameter.

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

The name of the parameter.

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

The name of the parameter.

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

The name of the parameter.

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

The name of the parameter.

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

The name of the parameter.

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

The name of the parameter.

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

Whether to mask the parameter value whenever anyone makes a call that * describes the stack. If you set the value to true, the parameter value is * masked with asterisks (*****).

*/ inline bool GetNoEcho() const{ return m_noEcho; } /** *

Whether to mask the parameter value whenever anyone makes a call that * describes the stack. If you set the value to true, the parameter value is * masked with asterisks (*****).

*/ inline bool NoEchoHasBeenSet() const { return m_noEchoHasBeenSet; } /** *

Whether to mask the parameter value whenever anyone makes a call that * describes the stack. If you set the value to true, the parameter value is * masked with asterisks (*****).

*/ inline void SetNoEcho(bool value) { m_noEchoHasBeenSet = true; m_noEcho = value; } /** *

Whether to mask the parameter value whenever anyone makes a call that * describes the stack. If you set the value to true, the parameter value is * masked with asterisks (*****).

*/ inline ParameterDefinition& WithNoEcho(bool value) { SetNoEcho(value); return *this;} /** *

A list of AWS SAM resources that use this parameter.

*/ inline const Aws::Vector& GetReferencedByResources() const{ return m_referencedByResources; } /** *

A list of AWS SAM resources that use this parameter.

*/ inline bool ReferencedByResourcesHasBeenSet() const { return m_referencedByResourcesHasBeenSet; } /** *

A list of AWS SAM resources that use this parameter.

*/ inline void SetReferencedByResources(const Aws::Vector& value) { m_referencedByResourcesHasBeenSet = true; m_referencedByResources = value; } /** *

A list of AWS SAM resources that use this parameter.

*/ inline void SetReferencedByResources(Aws::Vector&& value) { m_referencedByResourcesHasBeenSet = true; m_referencedByResources = std::move(value); } /** *

A list of AWS SAM resources that use this parameter.

*/ inline ParameterDefinition& WithReferencedByResources(const Aws::Vector& value) { SetReferencedByResources(value); return *this;} /** *

A list of AWS SAM resources that use this parameter.

*/ inline ParameterDefinition& WithReferencedByResources(Aws::Vector&& value) { SetReferencedByResources(std::move(value)); return *this;} /** *

A list of AWS SAM resources that use this parameter.

*/ inline ParameterDefinition& AddReferencedByResources(const Aws::String& value) { m_referencedByResourcesHasBeenSet = true; m_referencedByResources.push_back(value); return *this; } /** *

A list of AWS SAM resources that use this parameter.

*/ inline ParameterDefinition& AddReferencedByResources(Aws::String&& value) { m_referencedByResourcesHasBeenSet = true; m_referencedByResources.push_back(std::move(value)); return *this; } /** *

A list of AWS SAM resources that use this parameter.

*/ inline ParameterDefinition& AddReferencedByResources(const char* value) { m_referencedByResourcesHasBeenSet = true; m_referencedByResources.push_back(value); return *this; } /** *

The type of the parameter.

Valid values: String | Number | * List<Number> | CommaDelimitedList

String: A literal * string.

For example, users can specify "MyUserName".

Number: An * integer or float. AWS CloudFormation validates the parameter value as a number. * However, when you use the parameter elsewhere in your template (for example, by * using the Ref intrinsic function), the parameter value becomes a * string.

For example, users might specify "8888".

List<Number>: * An array of integers or floats that are separated by commas. AWS CloudFormation * validates the parameter value as numbers. However, when you use the parameter * elsewhere in your template (for example, by using the Ref intrinsic function), * the parameter value becomes a list of strings.

For example, users might * specify "80,20", and then Ref results in ["80","20"].

* CommaDelimitedList: An array of literal strings that are separated by commas. * The total number of strings should be one more than the total number of commas. * Also, each member string is space-trimmed.

For example, users might * specify "test,dev,prod", and then Ref results in ["test","dev","prod"].

*/ inline const Aws::String& GetType() const{ return m_type; } /** *

The type of the parameter.

Valid values: String | Number | * List<Number> | CommaDelimitedList

String: A literal * string.

For example, users can specify "MyUserName".

Number: An * integer or float. AWS CloudFormation validates the parameter value as a number. * However, when you use the parameter elsewhere in your template (for example, by * using the Ref intrinsic function), the parameter value becomes a * string.

For example, users might specify "8888".

List<Number>: * An array of integers or floats that are separated by commas. AWS CloudFormation * validates the parameter value as numbers. However, when you use the parameter * elsewhere in your template (for example, by using the Ref intrinsic function), * the parameter value becomes a list of strings.

For example, users might * specify "80,20", and then Ref results in ["80","20"].

* CommaDelimitedList: An array of literal strings that are separated by commas. * The total number of strings should be one more than the total number of commas. * Also, each member string is space-trimmed.

For example, users might * specify "test,dev,prod", and then Ref results in ["test","dev","prod"].

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

The type of the parameter.

Valid values: String | Number | * List<Number> | CommaDelimitedList

String: A literal * string.

For example, users can specify "MyUserName".

Number: An * integer or float. AWS CloudFormation validates the parameter value as a number. * However, when you use the parameter elsewhere in your template (for example, by * using the Ref intrinsic function), the parameter value becomes a * string.

For example, users might specify "8888".

List<Number>: * An array of integers or floats that are separated by commas. AWS CloudFormation * validates the parameter value as numbers. However, when you use the parameter * elsewhere in your template (for example, by using the Ref intrinsic function), * the parameter value becomes a list of strings.

For example, users might * specify "80,20", and then Ref results in ["80","20"].

* CommaDelimitedList: An array of literal strings that are separated by commas. * The total number of strings should be one more than the total number of commas. * Also, each member string is space-trimmed.

For example, users might * specify "test,dev,prod", and then Ref results in ["test","dev","prod"].

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

The type of the parameter.

Valid values: String | Number | * List<Number> | CommaDelimitedList

String: A literal * string.

For example, users can specify "MyUserName".

Number: An * integer or float. AWS CloudFormation validates the parameter value as a number. * However, when you use the parameter elsewhere in your template (for example, by * using the Ref intrinsic function), the parameter value becomes a * string.

For example, users might specify "8888".

List<Number>: * An array of integers or floats that are separated by commas. AWS CloudFormation * validates the parameter value as numbers. However, when you use the parameter * elsewhere in your template (for example, by using the Ref intrinsic function), * the parameter value becomes a list of strings.

For example, users might * specify "80,20", and then Ref results in ["80","20"].

* CommaDelimitedList: An array of literal strings that are separated by commas. * The total number of strings should be one more than the total number of commas. * Also, each member string is space-trimmed.

For example, users might * specify "test,dev,prod", and then Ref results in ["test","dev","prod"].

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

The type of the parameter.

Valid values: String | Number | * List<Number> | CommaDelimitedList

String: A literal * string.

For example, users can specify "MyUserName".

Number: An * integer or float. AWS CloudFormation validates the parameter value as a number. * However, when you use the parameter elsewhere in your template (for example, by * using the Ref intrinsic function), the parameter value becomes a * string.

For example, users might specify "8888".

List<Number>: * An array of integers or floats that are separated by commas. AWS CloudFormation * validates the parameter value as numbers. However, when you use the parameter * elsewhere in your template (for example, by using the Ref intrinsic function), * the parameter value becomes a list of strings.

For example, users might * specify "80,20", and then Ref results in ["80","20"].

* CommaDelimitedList: An array of literal strings that are separated by commas. * The total number of strings should be one more than the total number of commas. * Also, each member string is space-trimmed.

For example, users might * specify "test,dev,prod", and then Ref results in ["test","dev","prod"].

*/ inline void SetType(const char* value) { m_typeHasBeenSet = true; m_type.assign(value); } /** *

The type of the parameter.

Valid values: String | Number | * List<Number> | CommaDelimitedList

String: A literal * string.

For example, users can specify "MyUserName".

Number: An * integer or float. AWS CloudFormation validates the parameter value as a number. * However, when you use the parameter elsewhere in your template (for example, by * using the Ref intrinsic function), the parameter value becomes a * string.

For example, users might specify "8888".

List<Number>: * An array of integers or floats that are separated by commas. AWS CloudFormation * validates the parameter value as numbers. However, when you use the parameter * elsewhere in your template (for example, by using the Ref intrinsic function), * the parameter value becomes a list of strings.

For example, users might * specify "80,20", and then Ref results in ["80","20"].

* CommaDelimitedList: An array of literal strings that are separated by commas. * The total number of strings should be one more than the total number of commas. * Also, each member string is space-trimmed.

For example, users might * specify "test,dev,prod", and then Ref results in ["test","dev","prod"].

*/ inline ParameterDefinition& WithType(const Aws::String& value) { SetType(value); return *this;} /** *

The type of the parameter.

Valid values: String | Number | * List<Number> | CommaDelimitedList

String: A literal * string.

For example, users can specify "MyUserName".

Number: An * integer or float. AWS CloudFormation validates the parameter value as a number. * However, when you use the parameter elsewhere in your template (for example, by * using the Ref intrinsic function), the parameter value becomes a * string.

For example, users might specify "8888".

List<Number>: * An array of integers or floats that are separated by commas. AWS CloudFormation * validates the parameter value as numbers. However, when you use the parameter * elsewhere in your template (for example, by using the Ref intrinsic function), * the parameter value becomes a list of strings.

For example, users might * specify "80,20", and then Ref results in ["80","20"].

* CommaDelimitedList: An array of literal strings that are separated by commas. * The total number of strings should be one more than the total number of commas. * Also, each member string is space-trimmed.

For example, users might * specify "test,dev,prod", and then Ref results in ["test","dev","prod"].

*/ inline ParameterDefinition& WithType(Aws::String&& value) { SetType(std::move(value)); return *this;} /** *

The type of the parameter.

Valid values: String | Number | * List<Number> | CommaDelimitedList

String: A literal * string.

For example, users can specify "MyUserName".

Number: An * integer or float. AWS CloudFormation validates the parameter value as a number. * However, when you use the parameter elsewhere in your template (for example, by * using the Ref intrinsic function), the parameter value becomes a * string.

For example, users might specify "8888".

List<Number>: * An array of integers or floats that are separated by commas. AWS CloudFormation * validates the parameter value as numbers. However, when you use the parameter * elsewhere in your template (for example, by using the Ref intrinsic function), * the parameter value becomes a list of strings.

For example, users might * specify "80,20", and then Ref results in ["80","20"].

* CommaDelimitedList: An array of literal strings that are separated by commas. * The total number of strings should be one more than the total number of commas. * Also, each member string is space-trimmed.

For example, users might * specify "test,dev,prod", and then Ref results in ["test","dev","prod"].

*/ inline ParameterDefinition& WithType(const char* value) { SetType(value); return *this;} private: Aws::String m_allowedPattern; bool m_allowedPatternHasBeenSet = false; Aws::Vector m_allowedValues; bool m_allowedValuesHasBeenSet = false; Aws::String m_constraintDescription; bool m_constraintDescriptionHasBeenSet = false; Aws::String m_defaultValue; bool m_defaultValueHasBeenSet = false; Aws::String m_description; bool m_descriptionHasBeenSet = false; int m_maxLength; bool m_maxLengthHasBeenSet = false; int m_maxValue; bool m_maxValueHasBeenSet = false; int m_minLength; bool m_minLengthHasBeenSet = false; int m_minValue; bool m_minValueHasBeenSet = false; Aws::String m_name; bool m_nameHasBeenSet = false; bool m_noEcho; bool m_noEchoHasBeenSet = false; Aws::Vector m_referencedByResources; bool m_referencedByResourcesHasBeenSet = false; Aws::String m_type; bool m_typeHasBeenSet = false; }; } // namespace Model } // namespace ServerlessApplicationRepository } // namespace Aws