/** * 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 Proton { namespace Model { /** */ class UpdateServiceTemplateVersionRequest : public ProtonRequest { public: AWS_PROTON_API UpdateServiceTemplateVersionRequest(); // 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 "UpdateServiceTemplateVersion"; } AWS_PROTON_API Aws::String SerializePayload() const override; AWS_PROTON_API Aws::Http::HeaderValueCollection GetRequestSpecificHeaders() const override; /** *

An array of environment template objects that are compatible with this * service template version. A service instance based on this service template * version can run in environments based on compatible templates.

*/ inline const Aws::Vector& GetCompatibleEnvironmentTemplates() const{ return m_compatibleEnvironmentTemplates; } /** *

An array of environment template objects that are compatible with this * service template version. A service instance based on this service template * version can run in environments based on compatible templates.

*/ inline bool CompatibleEnvironmentTemplatesHasBeenSet() const { return m_compatibleEnvironmentTemplatesHasBeenSet; } /** *

An array of environment template objects that are compatible with this * service template version. A service instance based on this service template * version can run in environments based on compatible templates.

*/ inline void SetCompatibleEnvironmentTemplates(const Aws::Vector& value) { m_compatibleEnvironmentTemplatesHasBeenSet = true; m_compatibleEnvironmentTemplates = value; } /** *

An array of environment template objects that are compatible with this * service template version. A service instance based on this service template * version can run in environments based on compatible templates.

*/ inline void SetCompatibleEnvironmentTemplates(Aws::Vector&& value) { m_compatibleEnvironmentTemplatesHasBeenSet = true; m_compatibleEnvironmentTemplates = std::move(value); } /** *

An array of environment template objects that are compatible with this * service template version. A service instance based on this service template * version can run in environments based on compatible templates.

*/ inline UpdateServiceTemplateVersionRequest& WithCompatibleEnvironmentTemplates(const Aws::Vector& value) { SetCompatibleEnvironmentTemplates(value); return *this;} /** *

An array of environment template objects that are compatible with this * service template version. A service instance based on this service template * version can run in environments based on compatible templates.

*/ inline UpdateServiceTemplateVersionRequest& WithCompatibleEnvironmentTemplates(Aws::Vector&& value) { SetCompatibleEnvironmentTemplates(std::move(value)); return *this;} /** *

An array of environment template objects that are compatible with this * service template version. A service instance based on this service template * version can run in environments based on compatible templates.

*/ inline UpdateServiceTemplateVersionRequest& AddCompatibleEnvironmentTemplates(const CompatibleEnvironmentTemplateInput& value) { m_compatibleEnvironmentTemplatesHasBeenSet = true; m_compatibleEnvironmentTemplates.push_back(value); return *this; } /** *

An array of environment template objects that are compatible with this * service template version. A service instance based on this service template * version can run in environments based on compatible templates.

*/ inline UpdateServiceTemplateVersionRequest& AddCompatibleEnvironmentTemplates(CompatibleEnvironmentTemplateInput&& value) { m_compatibleEnvironmentTemplatesHasBeenSet = true; m_compatibleEnvironmentTemplates.push_back(std::move(value)); return *this; } /** *

A description of a service template version to update.

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

A description of a service template version to update.

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

A description of a service template version to update.

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

A description of a service template version to update.

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

A description of a service template version to update.

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

A description of a service template version to update.

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

A description of a service template version to update.

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

A description of a service template version to update.

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

To update a major version of a service template, include major * Version.

*/ inline const Aws::String& GetMajorVersion() const{ return m_majorVersion; } /** *

To update a major version of a service template, include major * Version.

*/ inline bool MajorVersionHasBeenSet() const { return m_majorVersionHasBeenSet; } /** *

To update a major version of a service template, include major * Version.

*/ inline void SetMajorVersion(const Aws::String& value) { m_majorVersionHasBeenSet = true; m_majorVersion = value; } /** *

To update a major version of a service template, include major * Version.

*/ inline void SetMajorVersion(Aws::String&& value) { m_majorVersionHasBeenSet = true; m_majorVersion = std::move(value); } /** *

To update a major version of a service template, include major * Version.

*/ inline void SetMajorVersion(const char* value) { m_majorVersionHasBeenSet = true; m_majorVersion.assign(value); } /** *

To update a major version of a service template, include major * Version.

*/ inline UpdateServiceTemplateVersionRequest& WithMajorVersion(const Aws::String& value) { SetMajorVersion(value); return *this;} /** *

To update a major version of a service template, include major * Version.

*/ inline UpdateServiceTemplateVersionRequest& WithMajorVersion(Aws::String&& value) { SetMajorVersion(std::move(value)); return *this;} /** *

To update a major version of a service template, include major * Version.

*/ inline UpdateServiceTemplateVersionRequest& WithMajorVersion(const char* value) { SetMajorVersion(value); return *this;} /** *

To update a minor version of a service template, include * minorVersion.

*/ inline const Aws::String& GetMinorVersion() const{ return m_minorVersion; } /** *

To update a minor version of a service template, include * minorVersion.

*/ inline bool MinorVersionHasBeenSet() const { return m_minorVersionHasBeenSet; } /** *

To update a minor version of a service template, include * minorVersion.

*/ inline void SetMinorVersion(const Aws::String& value) { m_minorVersionHasBeenSet = true; m_minorVersion = value; } /** *

To update a minor version of a service template, include * minorVersion.

*/ inline void SetMinorVersion(Aws::String&& value) { m_minorVersionHasBeenSet = true; m_minorVersion = std::move(value); } /** *

To update a minor version of a service template, include * minorVersion.

*/ inline void SetMinorVersion(const char* value) { m_minorVersionHasBeenSet = true; m_minorVersion.assign(value); } /** *

To update a minor version of a service template, include * minorVersion.

*/ inline UpdateServiceTemplateVersionRequest& WithMinorVersion(const Aws::String& value) { SetMinorVersion(value); return *this;} /** *

To update a minor version of a service template, include * minorVersion.

*/ inline UpdateServiceTemplateVersionRequest& WithMinorVersion(Aws::String&& value) { SetMinorVersion(std::move(value)); return *this;} /** *

To update a minor version of a service template, include * minorVersion.

*/ inline UpdateServiceTemplateVersionRequest& WithMinorVersion(const char* value) { SetMinorVersion(value); return *this;} /** *

The status of the service template minor version to update.

*/ inline const TemplateVersionStatus& GetStatus() const{ return m_status; } /** *

The status of the service template minor version to update.

*/ inline bool StatusHasBeenSet() const { return m_statusHasBeenSet; } /** *

The status of the service template minor version to update.

*/ inline void SetStatus(const TemplateVersionStatus& value) { m_statusHasBeenSet = true; m_status = value; } /** *

The status of the service template minor version to update.

*/ inline void SetStatus(TemplateVersionStatus&& value) { m_statusHasBeenSet = true; m_status = std::move(value); } /** *

The status of the service template minor version to update.

*/ inline UpdateServiceTemplateVersionRequest& WithStatus(const TemplateVersionStatus& value) { SetStatus(value); return *this;} /** *

The status of the service template minor version to update.

*/ inline UpdateServiceTemplateVersionRequest& WithStatus(TemplateVersionStatus&& value) { SetStatus(std::move(value)); return *this;} /** *

An array of supported component sources. Components with supported sources * can be attached to service instances based on this service template version.

*

A change to supportedComponentSources doesn't impact * existing component attachments to instances based on this template version. A * change only affects later associations.

For more information * about components, see Proton * components in the Proton User Guide.

*/ inline const Aws::Vector& GetSupportedComponentSources() const{ return m_supportedComponentSources; } /** *

An array of supported component sources. Components with supported sources * can be attached to service instances based on this service template version.

*

A change to supportedComponentSources doesn't impact * existing component attachments to instances based on this template version. A * change only affects later associations.

For more information * about components, see Proton * components in the Proton User Guide.

*/ inline bool SupportedComponentSourcesHasBeenSet() const { return m_supportedComponentSourcesHasBeenSet; } /** *

An array of supported component sources. Components with supported sources * can be attached to service instances based on this service template version.

*

A change to supportedComponentSources doesn't impact * existing component attachments to instances based on this template version. A * change only affects later associations.

For more information * about components, see Proton * components in the Proton User Guide.

*/ inline void SetSupportedComponentSources(const Aws::Vector& value) { m_supportedComponentSourcesHasBeenSet = true; m_supportedComponentSources = value; } /** *

An array of supported component sources. Components with supported sources * can be attached to service instances based on this service template version.

*

A change to supportedComponentSources doesn't impact * existing component attachments to instances based on this template version. A * change only affects later associations.

For more information * about components, see Proton * components in the Proton User Guide.

*/ inline void SetSupportedComponentSources(Aws::Vector&& value) { m_supportedComponentSourcesHasBeenSet = true; m_supportedComponentSources = std::move(value); } /** *

An array of supported component sources. Components with supported sources * can be attached to service instances based on this service template version.

*

A change to supportedComponentSources doesn't impact * existing component attachments to instances based on this template version. A * change only affects later associations.

For more information * about components, see Proton * components in the Proton User Guide.

*/ inline UpdateServiceTemplateVersionRequest& WithSupportedComponentSources(const Aws::Vector& value) { SetSupportedComponentSources(value); return *this;} /** *

An array of supported component sources. Components with supported sources * can be attached to service instances based on this service template version.

*

A change to supportedComponentSources doesn't impact * existing component attachments to instances based on this template version. A * change only affects later associations.

For more information * about components, see Proton * components in the Proton User Guide.

*/ inline UpdateServiceTemplateVersionRequest& WithSupportedComponentSources(Aws::Vector&& value) { SetSupportedComponentSources(std::move(value)); return *this;} /** *

An array of supported component sources. Components with supported sources * can be attached to service instances based on this service template version.

*

A change to supportedComponentSources doesn't impact * existing component attachments to instances based on this template version. A * change only affects later associations.

For more information * about components, see Proton * components in the Proton User Guide.

*/ inline UpdateServiceTemplateVersionRequest& AddSupportedComponentSources(const ServiceTemplateSupportedComponentSourceType& value) { m_supportedComponentSourcesHasBeenSet = true; m_supportedComponentSources.push_back(value); return *this; } /** *

An array of supported component sources. Components with supported sources * can be attached to service instances based on this service template version.

*

A change to supportedComponentSources doesn't impact * existing component attachments to instances based on this template version. A * change only affects later associations.

For more information * about components, see Proton * components in the Proton User Guide.

*/ inline UpdateServiceTemplateVersionRequest& AddSupportedComponentSources(ServiceTemplateSupportedComponentSourceType&& value) { m_supportedComponentSourcesHasBeenSet = true; m_supportedComponentSources.push_back(std::move(value)); return *this; } /** *

The name of the service template.

*/ inline const Aws::String& GetTemplateName() const{ return m_templateName; } /** *

The name of the service template.

*/ inline bool TemplateNameHasBeenSet() const { return m_templateNameHasBeenSet; } /** *

The name of the service template.

*/ inline void SetTemplateName(const Aws::String& value) { m_templateNameHasBeenSet = true; m_templateName = value; } /** *

The name of the service template.

*/ inline void SetTemplateName(Aws::String&& value) { m_templateNameHasBeenSet = true; m_templateName = std::move(value); } /** *

The name of the service template.

*/ inline void SetTemplateName(const char* value) { m_templateNameHasBeenSet = true; m_templateName.assign(value); } /** *

The name of the service template.

*/ inline UpdateServiceTemplateVersionRequest& WithTemplateName(const Aws::String& value) { SetTemplateName(value); return *this;} /** *

The name of the service template.

*/ inline UpdateServiceTemplateVersionRequest& WithTemplateName(Aws::String&& value) { SetTemplateName(std::move(value)); return *this;} /** *

The name of the service template.

*/ inline UpdateServiceTemplateVersionRequest& WithTemplateName(const char* value) { SetTemplateName(value); return *this;} private: Aws::Vector m_compatibleEnvironmentTemplates; bool m_compatibleEnvironmentTemplatesHasBeenSet = false; Aws::String m_description; bool m_descriptionHasBeenSet = false; Aws::String m_majorVersion; bool m_majorVersionHasBeenSet = false; Aws::String m_minorVersion; bool m_minorVersionHasBeenSet = false; TemplateVersionStatus m_status; bool m_statusHasBeenSet = false; Aws::Vector m_supportedComponentSources; bool m_supportedComponentSourcesHasBeenSet = false; Aws::String m_templateName; bool m_templateNameHasBeenSet = false; }; } // namespace Model } // namespace Proton } // namespace Aws