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

Application version details.

See Also:

AWS * API Reference

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

The application Amazon Resource Name (ARN).

*/ inline const Aws::String& GetApplicationId() const{ return m_applicationId; } /** *

The application Amazon Resource Name (ARN).

*/ inline bool ApplicationIdHasBeenSet() const { return m_applicationIdHasBeenSet; } /** *

The application Amazon Resource Name (ARN).

*/ inline void SetApplicationId(const Aws::String& value) { m_applicationIdHasBeenSet = true; m_applicationId = value; } /** *

The application Amazon Resource Name (ARN).

*/ inline void SetApplicationId(Aws::String&& value) { m_applicationIdHasBeenSet = true; m_applicationId = std::move(value); } /** *

The application Amazon Resource Name (ARN).

*/ inline void SetApplicationId(const char* value) { m_applicationIdHasBeenSet = true; m_applicationId.assign(value); } /** *

The application Amazon Resource Name (ARN).

*/ inline Version& WithApplicationId(const Aws::String& value) { SetApplicationId(value); return *this;} /** *

The application Amazon Resource Name (ARN).

*/ inline Version& WithApplicationId(Aws::String&& value) { SetApplicationId(std::move(value)); return *this;} /** *

The application Amazon Resource Name (ARN).

*/ inline Version& WithApplicationId(const char* value) { SetApplicationId(value); return *this;} /** *

The date and time this resource was created.

*/ inline const Aws::String& GetCreationTime() const{ return m_creationTime; } /** *

The date and time this resource was created.

*/ inline bool CreationTimeHasBeenSet() const { return m_creationTimeHasBeenSet; } /** *

The date and time this resource was created.

*/ inline void SetCreationTime(const Aws::String& value) { m_creationTimeHasBeenSet = true; m_creationTime = value; } /** *

The date and time this resource was created.

*/ inline void SetCreationTime(Aws::String&& value) { m_creationTimeHasBeenSet = true; m_creationTime = std::move(value); } /** *

The date and time this resource was created.

*/ inline void SetCreationTime(const char* value) { m_creationTimeHasBeenSet = true; m_creationTime.assign(value); } /** *

The date and time this resource was created.

*/ inline Version& WithCreationTime(const Aws::String& value) { SetCreationTime(value); return *this;} /** *

The date and time this resource was created.

*/ inline Version& WithCreationTime(Aws::String&& value) { SetCreationTime(std::move(value)); return *this;} /** *

The date and time this resource was created.

*/ inline Version& WithCreationTime(const char* value) { SetCreationTime(value); return *this;} /** *

An array of parameter types supported by the application.

*/ inline const Aws::Vector& GetParameterDefinitions() const{ return m_parameterDefinitions; } /** *

An array of parameter types supported by the application.

*/ inline bool ParameterDefinitionsHasBeenSet() const { return m_parameterDefinitionsHasBeenSet; } /** *

An array of parameter types supported by the application.

*/ inline void SetParameterDefinitions(const Aws::Vector& value) { m_parameterDefinitionsHasBeenSet = true; m_parameterDefinitions = value; } /** *

An array of parameter types supported by the application.

*/ inline void SetParameterDefinitions(Aws::Vector&& value) { m_parameterDefinitionsHasBeenSet = true; m_parameterDefinitions = std::move(value); } /** *

An array of parameter types supported by the application.

*/ inline Version& WithParameterDefinitions(const Aws::Vector& value) { SetParameterDefinitions(value); return *this;} /** *

An array of parameter types supported by the application.

*/ inline Version& WithParameterDefinitions(Aws::Vector&& value) { SetParameterDefinitions(std::move(value)); return *this;} /** *

An array of parameter types supported by the application.

*/ inline Version& AddParameterDefinitions(const ParameterDefinition& value) { m_parameterDefinitionsHasBeenSet = true; m_parameterDefinitions.push_back(value); return *this; } /** *

An array of parameter types supported by the application.

*/ inline Version& AddParameterDefinitions(ParameterDefinition&& value) { m_parameterDefinitionsHasBeenSet = true; m_parameterDefinitions.push_back(std::move(value)); return *this; } /** *

A list of values that you must specify before you can deploy certain * applications. Some applications might include resources that can affect * permissions in your AWS account, for example, by creating new AWS Identity and * Access Management (IAM) users. For those applications, you must explicitly * acknowledge their capabilities by specifying this parameter.

The only * valid values are CAPABILITY_IAM, CAPABILITY_NAMED_IAM, * CAPABILITY_RESOURCE_POLICY, and CAPABILITY_AUTO_EXPAND.

The following * resources require you to specify CAPABILITY_IAM or CAPABILITY_NAMED_IAM: AWS::IAM::Group, * AWS::IAM::InstanceProfile, * AWS::IAM::Policy, * and AWS::IAM::Role. * If the application contains IAM resources, you can specify either * CAPABILITY_IAM or CAPABILITY_NAMED_IAM. If the application contains IAM * resources with custom names, you must specify CAPABILITY_NAMED_IAM.

The * following resources require you to specify CAPABILITY_RESOURCE_POLICY: AWS::Lambda::Permission, * AWS::IAM:Policy, * AWS::ApplicationAutoScaling::ScalingPolicy, * AWS::S3::BucketPolicy, * AWS::SQS::QueuePolicy, * and AWS::SNS::TopicPolicy.

Applications * that contain one or more nested applications require you to specify * CAPABILITY_AUTO_EXPAND.

If your application template contains any of the * above resources, we recommend that you review all permissions associated with * the application before deploying. If you don't specify this parameter for an * application that requires capabilities, the call will fail.

*/ inline const Aws::Vector& GetRequiredCapabilities() const{ return m_requiredCapabilities; } /** *

A list of values that you must specify before you can deploy certain * applications. Some applications might include resources that can affect * permissions in your AWS account, for example, by creating new AWS Identity and * Access Management (IAM) users. For those applications, you must explicitly * acknowledge their capabilities by specifying this parameter.

The only * valid values are CAPABILITY_IAM, CAPABILITY_NAMED_IAM, * CAPABILITY_RESOURCE_POLICY, and CAPABILITY_AUTO_EXPAND.

The following * resources require you to specify CAPABILITY_IAM or CAPABILITY_NAMED_IAM: AWS::IAM::Group, * AWS::IAM::InstanceProfile, * AWS::IAM::Policy, * and AWS::IAM::Role. * If the application contains IAM resources, you can specify either * CAPABILITY_IAM or CAPABILITY_NAMED_IAM. If the application contains IAM * resources with custom names, you must specify CAPABILITY_NAMED_IAM.

The * following resources require you to specify CAPABILITY_RESOURCE_POLICY: AWS::Lambda::Permission, * AWS::IAM:Policy, * AWS::ApplicationAutoScaling::ScalingPolicy, * AWS::S3::BucketPolicy, * AWS::SQS::QueuePolicy, * and AWS::SNS::TopicPolicy.

Applications * that contain one or more nested applications require you to specify * CAPABILITY_AUTO_EXPAND.

If your application template contains any of the * above resources, we recommend that you review all permissions associated with * the application before deploying. If you don't specify this parameter for an * application that requires capabilities, the call will fail.

*/ inline bool RequiredCapabilitiesHasBeenSet() const { return m_requiredCapabilitiesHasBeenSet; } /** *

A list of values that you must specify before you can deploy certain * applications. Some applications might include resources that can affect * permissions in your AWS account, for example, by creating new AWS Identity and * Access Management (IAM) users. For those applications, you must explicitly * acknowledge their capabilities by specifying this parameter.

The only * valid values are CAPABILITY_IAM, CAPABILITY_NAMED_IAM, * CAPABILITY_RESOURCE_POLICY, and CAPABILITY_AUTO_EXPAND.

The following * resources require you to specify CAPABILITY_IAM or CAPABILITY_NAMED_IAM: AWS::IAM::Group, * AWS::IAM::InstanceProfile, * AWS::IAM::Policy, * and AWS::IAM::Role. * If the application contains IAM resources, you can specify either * CAPABILITY_IAM or CAPABILITY_NAMED_IAM. If the application contains IAM * resources with custom names, you must specify CAPABILITY_NAMED_IAM.

The * following resources require you to specify CAPABILITY_RESOURCE_POLICY: AWS::Lambda::Permission, * AWS::IAM:Policy, * AWS::ApplicationAutoScaling::ScalingPolicy, * AWS::S3::BucketPolicy, * AWS::SQS::QueuePolicy, * and AWS::SNS::TopicPolicy.

Applications * that contain one or more nested applications require you to specify * CAPABILITY_AUTO_EXPAND.

If your application template contains any of the * above resources, we recommend that you review all permissions associated with * the application before deploying. If you don't specify this parameter for an * application that requires capabilities, the call will fail.

*/ inline void SetRequiredCapabilities(const Aws::Vector& value) { m_requiredCapabilitiesHasBeenSet = true; m_requiredCapabilities = value; } /** *

A list of values that you must specify before you can deploy certain * applications. Some applications might include resources that can affect * permissions in your AWS account, for example, by creating new AWS Identity and * Access Management (IAM) users. For those applications, you must explicitly * acknowledge their capabilities by specifying this parameter.

The only * valid values are CAPABILITY_IAM, CAPABILITY_NAMED_IAM, * CAPABILITY_RESOURCE_POLICY, and CAPABILITY_AUTO_EXPAND.

The following * resources require you to specify CAPABILITY_IAM or CAPABILITY_NAMED_IAM: AWS::IAM::Group, * AWS::IAM::InstanceProfile, * AWS::IAM::Policy, * and AWS::IAM::Role. * If the application contains IAM resources, you can specify either * CAPABILITY_IAM or CAPABILITY_NAMED_IAM. If the application contains IAM * resources with custom names, you must specify CAPABILITY_NAMED_IAM.

The * following resources require you to specify CAPABILITY_RESOURCE_POLICY: AWS::Lambda::Permission, * AWS::IAM:Policy, * AWS::ApplicationAutoScaling::ScalingPolicy, * AWS::S3::BucketPolicy, * AWS::SQS::QueuePolicy, * and AWS::SNS::TopicPolicy.

Applications * that contain one or more nested applications require you to specify * CAPABILITY_AUTO_EXPAND.

If your application template contains any of the * above resources, we recommend that you review all permissions associated with * the application before deploying. If you don't specify this parameter for an * application that requires capabilities, the call will fail.

*/ inline void SetRequiredCapabilities(Aws::Vector&& value) { m_requiredCapabilitiesHasBeenSet = true; m_requiredCapabilities = std::move(value); } /** *

A list of values that you must specify before you can deploy certain * applications. Some applications might include resources that can affect * permissions in your AWS account, for example, by creating new AWS Identity and * Access Management (IAM) users. For those applications, you must explicitly * acknowledge their capabilities by specifying this parameter.

The only * valid values are CAPABILITY_IAM, CAPABILITY_NAMED_IAM, * CAPABILITY_RESOURCE_POLICY, and CAPABILITY_AUTO_EXPAND.

The following * resources require you to specify CAPABILITY_IAM or CAPABILITY_NAMED_IAM: AWS::IAM::Group, * AWS::IAM::InstanceProfile, * AWS::IAM::Policy, * and AWS::IAM::Role. * If the application contains IAM resources, you can specify either * CAPABILITY_IAM or CAPABILITY_NAMED_IAM. If the application contains IAM * resources with custom names, you must specify CAPABILITY_NAMED_IAM.

The * following resources require you to specify CAPABILITY_RESOURCE_POLICY: AWS::Lambda::Permission, * AWS::IAM:Policy, * AWS::ApplicationAutoScaling::ScalingPolicy, * AWS::S3::BucketPolicy, * AWS::SQS::QueuePolicy, * and AWS::SNS::TopicPolicy.

Applications * that contain one or more nested applications require you to specify * CAPABILITY_AUTO_EXPAND.

If your application template contains any of the * above resources, we recommend that you review all permissions associated with * the application before deploying. If you don't specify this parameter for an * application that requires capabilities, the call will fail.

*/ inline Version& WithRequiredCapabilities(const Aws::Vector& value) { SetRequiredCapabilities(value); return *this;} /** *

A list of values that you must specify before you can deploy certain * applications. Some applications might include resources that can affect * permissions in your AWS account, for example, by creating new AWS Identity and * Access Management (IAM) users. For those applications, you must explicitly * acknowledge their capabilities by specifying this parameter.

The only * valid values are CAPABILITY_IAM, CAPABILITY_NAMED_IAM, * CAPABILITY_RESOURCE_POLICY, and CAPABILITY_AUTO_EXPAND.

The following * resources require you to specify CAPABILITY_IAM or CAPABILITY_NAMED_IAM: AWS::IAM::Group, * AWS::IAM::InstanceProfile, * AWS::IAM::Policy, * and AWS::IAM::Role. * If the application contains IAM resources, you can specify either * CAPABILITY_IAM or CAPABILITY_NAMED_IAM. If the application contains IAM * resources with custom names, you must specify CAPABILITY_NAMED_IAM.

The * following resources require you to specify CAPABILITY_RESOURCE_POLICY: AWS::Lambda::Permission, * AWS::IAM:Policy, * AWS::ApplicationAutoScaling::ScalingPolicy, * AWS::S3::BucketPolicy, * AWS::SQS::QueuePolicy, * and AWS::SNS::TopicPolicy.

Applications * that contain one or more nested applications require you to specify * CAPABILITY_AUTO_EXPAND.

If your application template contains any of the * above resources, we recommend that you review all permissions associated with * the application before deploying. If you don't specify this parameter for an * application that requires capabilities, the call will fail.

*/ inline Version& WithRequiredCapabilities(Aws::Vector&& value) { SetRequiredCapabilities(std::move(value)); return *this;} /** *

A list of values that you must specify before you can deploy certain * applications. Some applications might include resources that can affect * permissions in your AWS account, for example, by creating new AWS Identity and * Access Management (IAM) users. For those applications, you must explicitly * acknowledge their capabilities by specifying this parameter.

The only * valid values are CAPABILITY_IAM, CAPABILITY_NAMED_IAM, * CAPABILITY_RESOURCE_POLICY, and CAPABILITY_AUTO_EXPAND.

The following * resources require you to specify CAPABILITY_IAM or CAPABILITY_NAMED_IAM: AWS::IAM::Group, * AWS::IAM::InstanceProfile, * AWS::IAM::Policy, * and AWS::IAM::Role. * If the application contains IAM resources, you can specify either * CAPABILITY_IAM or CAPABILITY_NAMED_IAM. If the application contains IAM * resources with custom names, you must specify CAPABILITY_NAMED_IAM.

The * following resources require you to specify CAPABILITY_RESOURCE_POLICY: AWS::Lambda::Permission, * AWS::IAM:Policy, * AWS::ApplicationAutoScaling::ScalingPolicy, * AWS::S3::BucketPolicy, * AWS::SQS::QueuePolicy, * and AWS::SNS::TopicPolicy.

Applications * that contain one or more nested applications require you to specify * CAPABILITY_AUTO_EXPAND.

If your application template contains any of the * above resources, we recommend that you review all permissions associated with * the application before deploying. If you don't specify this parameter for an * application that requires capabilities, the call will fail.

*/ inline Version& AddRequiredCapabilities(const Capability& value) { m_requiredCapabilitiesHasBeenSet = true; m_requiredCapabilities.push_back(value); return *this; } /** *

A list of values that you must specify before you can deploy certain * applications. Some applications might include resources that can affect * permissions in your AWS account, for example, by creating new AWS Identity and * Access Management (IAM) users. For those applications, you must explicitly * acknowledge their capabilities by specifying this parameter.

The only * valid values are CAPABILITY_IAM, CAPABILITY_NAMED_IAM, * CAPABILITY_RESOURCE_POLICY, and CAPABILITY_AUTO_EXPAND.

The following * resources require you to specify CAPABILITY_IAM or CAPABILITY_NAMED_IAM: AWS::IAM::Group, * AWS::IAM::InstanceProfile, * AWS::IAM::Policy, * and AWS::IAM::Role. * If the application contains IAM resources, you can specify either * CAPABILITY_IAM or CAPABILITY_NAMED_IAM. If the application contains IAM * resources with custom names, you must specify CAPABILITY_NAMED_IAM.

The * following resources require you to specify CAPABILITY_RESOURCE_POLICY: AWS::Lambda::Permission, * AWS::IAM:Policy, * AWS::ApplicationAutoScaling::ScalingPolicy, * AWS::S3::BucketPolicy, * AWS::SQS::QueuePolicy, * and AWS::SNS::TopicPolicy.

Applications * that contain one or more nested applications require you to specify * CAPABILITY_AUTO_EXPAND.

If your application template contains any of the * above resources, we recommend that you review all permissions associated with * the application before deploying. If you don't specify this parameter for an * application that requires capabilities, the call will fail.

*/ inline Version& AddRequiredCapabilities(Capability&& value) { m_requiredCapabilitiesHasBeenSet = true; m_requiredCapabilities.push_back(std::move(value)); return *this; } /** *

Whether all of the AWS resources contained in this application are supported * in the region in which it is being retrieved.

*/ inline bool GetResourcesSupported() const{ return m_resourcesSupported; } /** *

Whether all of the AWS resources contained in this application are supported * in the region in which it is being retrieved.

*/ inline bool ResourcesSupportedHasBeenSet() const { return m_resourcesSupportedHasBeenSet; } /** *

Whether all of the AWS resources contained in this application are supported * in the region in which it is being retrieved.

*/ inline void SetResourcesSupported(bool value) { m_resourcesSupportedHasBeenSet = true; m_resourcesSupported = value; } /** *

Whether all of the AWS resources contained in this application are supported * in the region in which it is being retrieved.

*/ inline Version& WithResourcesSupported(bool value) { SetResourcesSupported(value); return *this;} /** *

The semantic version of the application:

https://semver.org/

*/ inline const Aws::String& GetSemanticVersion() const{ return m_semanticVersion; } /** *

The semantic version of the application:

https://semver.org/

*/ inline bool SemanticVersionHasBeenSet() const { return m_semanticVersionHasBeenSet; } /** *

The semantic version of the application:

https://semver.org/

*/ inline void SetSemanticVersion(const Aws::String& value) { m_semanticVersionHasBeenSet = true; m_semanticVersion = value; } /** *

The semantic version of the application:

https://semver.org/

*/ inline void SetSemanticVersion(Aws::String&& value) { m_semanticVersionHasBeenSet = true; m_semanticVersion = std::move(value); } /** *

The semantic version of the application:

https://semver.org/

*/ inline void SetSemanticVersion(const char* value) { m_semanticVersionHasBeenSet = true; m_semanticVersion.assign(value); } /** *

The semantic version of the application:

https://semver.org/

*/ inline Version& WithSemanticVersion(const Aws::String& value) { SetSemanticVersion(value); return *this;} /** *

The semantic version of the application:

https://semver.org/

*/ inline Version& WithSemanticVersion(Aws::String&& value) { SetSemanticVersion(std::move(value)); return *this;} /** *

The semantic version of the application:

https://semver.org/

*/ inline Version& WithSemanticVersion(const char* value) { SetSemanticVersion(value); return *this;} /** *

A link to the S3 object that contains the ZIP archive of the source code for * this version of your application.

Maximum size 50 MB

*/ inline const Aws::String& GetSourceCodeArchiveUrl() const{ return m_sourceCodeArchiveUrl; } /** *

A link to the S3 object that contains the ZIP archive of the source code for * this version of your application.

Maximum size 50 MB

*/ inline bool SourceCodeArchiveUrlHasBeenSet() const { return m_sourceCodeArchiveUrlHasBeenSet; } /** *

A link to the S3 object that contains the ZIP archive of the source code for * this version of your application.

Maximum size 50 MB

*/ inline void SetSourceCodeArchiveUrl(const Aws::String& value) { m_sourceCodeArchiveUrlHasBeenSet = true; m_sourceCodeArchiveUrl = value; } /** *

A link to the S3 object that contains the ZIP archive of the source code for * this version of your application.

Maximum size 50 MB

*/ inline void SetSourceCodeArchiveUrl(Aws::String&& value) { m_sourceCodeArchiveUrlHasBeenSet = true; m_sourceCodeArchiveUrl = std::move(value); } /** *

A link to the S3 object that contains the ZIP archive of the source code for * this version of your application.

Maximum size 50 MB

*/ inline void SetSourceCodeArchiveUrl(const char* value) { m_sourceCodeArchiveUrlHasBeenSet = true; m_sourceCodeArchiveUrl.assign(value); } /** *

A link to the S3 object that contains the ZIP archive of the source code for * this version of your application.

Maximum size 50 MB

*/ inline Version& WithSourceCodeArchiveUrl(const Aws::String& value) { SetSourceCodeArchiveUrl(value); return *this;} /** *

A link to the S3 object that contains the ZIP archive of the source code for * this version of your application.

Maximum size 50 MB

*/ inline Version& WithSourceCodeArchiveUrl(Aws::String&& value) { SetSourceCodeArchiveUrl(std::move(value)); return *this;} /** *

A link to the S3 object that contains the ZIP archive of the source code for * this version of your application.

Maximum size 50 MB

*/ inline Version& WithSourceCodeArchiveUrl(const char* value) { SetSourceCodeArchiveUrl(value); return *this;} /** *

A link to a public repository for the source code of your application, for * example the URL of a specific GitHub commit.

*/ inline const Aws::String& GetSourceCodeUrl() const{ return m_sourceCodeUrl; } /** *

A link to a public repository for the source code of your application, for * example the URL of a specific GitHub commit.

*/ inline bool SourceCodeUrlHasBeenSet() const { return m_sourceCodeUrlHasBeenSet; } /** *

A link to a public repository for the source code of your application, for * example the URL of a specific GitHub commit.

*/ inline void SetSourceCodeUrl(const Aws::String& value) { m_sourceCodeUrlHasBeenSet = true; m_sourceCodeUrl = value; } /** *

A link to a public repository for the source code of your application, for * example the URL of a specific GitHub commit.

*/ inline void SetSourceCodeUrl(Aws::String&& value) { m_sourceCodeUrlHasBeenSet = true; m_sourceCodeUrl = std::move(value); } /** *

A link to a public repository for the source code of your application, for * example the URL of a specific GitHub commit.

*/ inline void SetSourceCodeUrl(const char* value) { m_sourceCodeUrlHasBeenSet = true; m_sourceCodeUrl.assign(value); } /** *

A link to a public repository for the source code of your application, for * example the URL of a specific GitHub commit.

*/ inline Version& WithSourceCodeUrl(const Aws::String& value) { SetSourceCodeUrl(value); return *this;} /** *

A link to a public repository for the source code of your application, for * example the URL of a specific GitHub commit.

*/ inline Version& WithSourceCodeUrl(Aws::String&& value) { SetSourceCodeUrl(std::move(value)); return *this;} /** *

A link to a public repository for the source code of your application, for * example the URL of a specific GitHub commit.

*/ inline Version& WithSourceCodeUrl(const char* value) { SetSourceCodeUrl(value); return *this;} /** *

A link to the packaged AWS SAM template of your application.

*/ inline const Aws::String& GetTemplateUrl() const{ return m_templateUrl; } /** *

A link to the packaged AWS SAM template of your application.

*/ inline bool TemplateUrlHasBeenSet() const { return m_templateUrlHasBeenSet; } /** *

A link to the packaged AWS SAM template of your application.

*/ inline void SetTemplateUrl(const Aws::String& value) { m_templateUrlHasBeenSet = true; m_templateUrl = value; } /** *

A link to the packaged AWS SAM template of your application.

*/ inline void SetTemplateUrl(Aws::String&& value) { m_templateUrlHasBeenSet = true; m_templateUrl = std::move(value); } /** *

A link to the packaged AWS SAM template of your application.

*/ inline void SetTemplateUrl(const char* value) { m_templateUrlHasBeenSet = true; m_templateUrl.assign(value); } /** *

A link to the packaged AWS SAM template of your application.

*/ inline Version& WithTemplateUrl(const Aws::String& value) { SetTemplateUrl(value); return *this;} /** *

A link to the packaged AWS SAM template of your application.

*/ inline Version& WithTemplateUrl(Aws::String&& value) { SetTemplateUrl(std::move(value)); return *this;} /** *

A link to the packaged AWS SAM template of your application.

*/ inline Version& WithTemplateUrl(const char* value) { SetTemplateUrl(value); return *this;} private: Aws::String m_applicationId; bool m_applicationIdHasBeenSet = false; Aws::String m_creationTime; bool m_creationTimeHasBeenSet = false; Aws::Vector m_parameterDefinitions; bool m_parameterDefinitionsHasBeenSet = false; Aws::Vector m_requiredCapabilities; bool m_requiredCapabilitiesHasBeenSet = false; bool m_resourcesSupported; bool m_resourcesSupportedHasBeenSet = false; Aws::String m_semanticVersion; bool m_semanticVersionHasBeenSet = false; Aws::String m_sourceCodeArchiveUrl; bool m_sourceCodeArchiveUrlHasBeenSet = false; Aws::String m_sourceCodeUrl; bool m_sourceCodeUrlHasBeenSet = false; Aws::String m_templateUrl; bool m_templateUrlHasBeenSet = false; }; } // namespace Model } // namespace ServerlessApplicationRepository } // namespace Aws