/** * 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 Lambda { namespace Model { /** */ class PublishLayerVersionRequest : public LambdaRequest { public: AWS_LAMBDA_API PublishLayerVersionRequest(); // 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 "PublishLayerVersion"; } AWS_LAMBDA_API Aws::String SerializePayload() const override; /** *

The name or Amazon Resource Name (ARN) of the layer.

*/ inline const Aws::String& GetLayerName() const{ return m_layerName; } /** *

The name or Amazon Resource Name (ARN) of the layer.

*/ inline bool LayerNameHasBeenSet() const { return m_layerNameHasBeenSet; } /** *

The name or Amazon Resource Name (ARN) of the layer.

*/ inline void SetLayerName(const Aws::String& value) { m_layerNameHasBeenSet = true; m_layerName = value; } /** *

The name or Amazon Resource Name (ARN) of the layer.

*/ inline void SetLayerName(Aws::String&& value) { m_layerNameHasBeenSet = true; m_layerName = std::move(value); } /** *

The name or Amazon Resource Name (ARN) of the layer.

*/ inline void SetLayerName(const char* value) { m_layerNameHasBeenSet = true; m_layerName.assign(value); } /** *

The name or Amazon Resource Name (ARN) of the layer.

*/ inline PublishLayerVersionRequest& WithLayerName(const Aws::String& value) { SetLayerName(value); return *this;} /** *

The name or Amazon Resource Name (ARN) of the layer.

*/ inline PublishLayerVersionRequest& WithLayerName(Aws::String&& value) { SetLayerName(std::move(value)); return *this;} /** *

The name or Amazon Resource Name (ARN) of the layer.

*/ inline PublishLayerVersionRequest& WithLayerName(const char* value) { SetLayerName(value); return *this;} /** *

The description of the version.

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

The description of the version.

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

The description of the version.

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

The description of the version.

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

The description of the version.

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

The description of the version.

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

The description of the version.

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

The description of the version.

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

The function layer archive.

*/ inline const LayerVersionContentInput& GetContent() const{ return m_content; } /** *

The function layer archive.

*/ inline bool ContentHasBeenSet() const { return m_contentHasBeenSet; } /** *

The function layer archive.

*/ inline void SetContent(const LayerVersionContentInput& value) { m_contentHasBeenSet = true; m_content = value; } /** *

The function layer archive.

*/ inline void SetContent(LayerVersionContentInput&& value) { m_contentHasBeenSet = true; m_content = std::move(value); } /** *

The function layer archive.

*/ inline PublishLayerVersionRequest& WithContent(const LayerVersionContentInput& value) { SetContent(value); return *this;} /** *

The function layer archive.

*/ inline PublishLayerVersionRequest& WithContent(LayerVersionContentInput&& value) { SetContent(std::move(value)); return *this;} /** *

A list of compatible function * runtimes. Used for filtering with ListLayers and * ListLayerVersions.

The following list includes deprecated * runtimes. For more information, see Runtime * deprecation policy.

*/ inline const Aws::Vector& GetCompatibleRuntimes() const{ return m_compatibleRuntimes; } /** *

A list of compatible function * runtimes. Used for filtering with ListLayers and * ListLayerVersions.

The following list includes deprecated * runtimes. For more information, see Runtime * deprecation policy.

*/ inline bool CompatibleRuntimesHasBeenSet() const { return m_compatibleRuntimesHasBeenSet; } /** *

A list of compatible function * runtimes. Used for filtering with ListLayers and * ListLayerVersions.

The following list includes deprecated * runtimes. For more information, see Runtime * deprecation policy.

*/ inline void SetCompatibleRuntimes(const Aws::Vector& value) { m_compatibleRuntimesHasBeenSet = true; m_compatibleRuntimes = value; } /** *

A list of compatible function * runtimes. Used for filtering with ListLayers and * ListLayerVersions.

The following list includes deprecated * runtimes. For more information, see Runtime * deprecation policy.

*/ inline void SetCompatibleRuntimes(Aws::Vector&& value) { m_compatibleRuntimesHasBeenSet = true; m_compatibleRuntimes = std::move(value); } /** *

A list of compatible function * runtimes. Used for filtering with ListLayers and * ListLayerVersions.

The following list includes deprecated * runtimes. For more information, see Runtime * deprecation policy.

*/ inline PublishLayerVersionRequest& WithCompatibleRuntimes(const Aws::Vector& value) { SetCompatibleRuntimes(value); return *this;} /** *

A list of compatible function * runtimes. Used for filtering with ListLayers and * ListLayerVersions.

The following list includes deprecated * runtimes. For more information, see Runtime * deprecation policy.

*/ inline PublishLayerVersionRequest& WithCompatibleRuntimes(Aws::Vector&& value) { SetCompatibleRuntimes(std::move(value)); return *this;} /** *

A list of compatible function * runtimes. Used for filtering with ListLayers and * ListLayerVersions.

The following list includes deprecated * runtimes. For more information, see Runtime * deprecation policy.

*/ inline PublishLayerVersionRequest& AddCompatibleRuntimes(const Runtime& value) { m_compatibleRuntimesHasBeenSet = true; m_compatibleRuntimes.push_back(value); return *this; } /** *

A list of compatible function * runtimes. Used for filtering with ListLayers and * ListLayerVersions.

The following list includes deprecated * runtimes. For more information, see Runtime * deprecation policy.

*/ inline PublishLayerVersionRequest& AddCompatibleRuntimes(Runtime&& value) { m_compatibleRuntimesHasBeenSet = true; m_compatibleRuntimes.push_back(std::move(value)); return *this; } /** *

The layer's software license. It can be any of the following:

  • *

    An SPDX license identifier. For * example, MIT.

  • The URL of a license hosted on the * internet. For example, https://opensource.org/licenses/MIT.

    *
  • The full text of the license.

*/ inline const Aws::String& GetLicenseInfo() const{ return m_licenseInfo; } /** *

The layer's software license. It can be any of the following:

  • *

    An SPDX license identifier. For * example, MIT.

  • The URL of a license hosted on the * internet. For example, https://opensource.org/licenses/MIT.

    *
  • The full text of the license.

*/ inline bool LicenseInfoHasBeenSet() const { return m_licenseInfoHasBeenSet; } /** *

The layer's software license. It can be any of the following:

  • *

    An SPDX license identifier. For * example, MIT.

  • The URL of a license hosted on the * internet. For example, https://opensource.org/licenses/MIT.

    *
  • The full text of the license.

*/ inline void SetLicenseInfo(const Aws::String& value) { m_licenseInfoHasBeenSet = true; m_licenseInfo = value; } /** *

The layer's software license. It can be any of the following:

  • *

    An SPDX license identifier. For * example, MIT.

  • The URL of a license hosted on the * internet. For example, https://opensource.org/licenses/MIT.

    *
  • The full text of the license.

*/ inline void SetLicenseInfo(Aws::String&& value) { m_licenseInfoHasBeenSet = true; m_licenseInfo = std::move(value); } /** *

The layer's software license. It can be any of the following:

  • *

    An SPDX license identifier. For * example, MIT.

  • The URL of a license hosted on the * internet. For example, https://opensource.org/licenses/MIT.

    *
  • The full text of the license.

*/ inline void SetLicenseInfo(const char* value) { m_licenseInfoHasBeenSet = true; m_licenseInfo.assign(value); } /** *

The layer's software license. It can be any of the following:

  • *

    An SPDX license identifier. For * example, MIT.

  • The URL of a license hosted on the * internet. For example, https://opensource.org/licenses/MIT.

    *
  • The full text of the license.

*/ inline PublishLayerVersionRequest& WithLicenseInfo(const Aws::String& value) { SetLicenseInfo(value); return *this;} /** *

The layer's software license. It can be any of the following:

  • *

    An SPDX license identifier. For * example, MIT.

  • The URL of a license hosted on the * internet. For example, https://opensource.org/licenses/MIT.

    *
  • The full text of the license.

*/ inline PublishLayerVersionRequest& WithLicenseInfo(Aws::String&& value) { SetLicenseInfo(std::move(value)); return *this;} /** *

The layer's software license. It can be any of the following:

  • *

    An SPDX license identifier. For * example, MIT.

  • The URL of a license hosted on the * internet. For example, https://opensource.org/licenses/MIT.

    *
  • The full text of the license.

*/ inline PublishLayerVersionRequest& WithLicenseInfo(const char* value) { SetLicenseInfo(value); return *this;} /** *

A list of compatible instruction * set architectures.

*/ inline const Aws::Vector& GetCompatibleArchitectures() const{ return m_compatibleArchitectures; } /** *

A list of compatible instruction * set architectures.

*/ inline bool CompatibleArchitecturesHasBeenSet() const { return m_compatibleArchitecturesHasBeenSet; } /** *

A list of compatible instruction * set architectures.

*/ inline void SetCompatibleArchitectures(const Aws::Vector& value) { m_compatibleArchitecturesHasBeenSet = true; m_compatibleArchitectures = value; } /** *

A list of compatible instruction * set architectures.

*/ inline void SetCompatibleArchitectures(Aws::Vector&& value) { m_compatibleArchitecturesHasBeenSet = true; m_compatibleArchitectures = std::move(value); } /** *

A list of compatible instruction * set architectures.

*/ inline PublishLayerVersionRequest& WithCompatibleArchitectures(const Aws::Vector& value) { SetCompatibleArchitectures(value); return *this;} /** *

A list of compatible instruction * set architectures.

*/ inline PublishLayerVersionRequest& WithCompatibleArchitectures(Aws::Vector&& value) { SetCompatibleArchitectures(std::move(value)); return *this;} /** *

A list of compatible instruction * set architectures.

*/ inline PublishLayerVersionRequest& AddCompatibleArchitectures(const Architecture& value) { m_compatibleArchitecturesHasBeenSet = true; m_compatibleArchitectures.push_back(value); return *this; } /** *

A list of compatible instruction * set architectures.

*/ inline PublishLayerVersionRequest& AddCompatibleArchitectures(Architecture&& value) { m_compatibleArchitecturesHasBeenSet = true; m_compatibleArchitectures.push_back(std::move(value)); return *this; } private: Aws::String m_layerName; bool m_layerNameHasBeenSet = false; Aws::String m_description; bool m_descriptionHasBeenSet = false; LayerVersionContentInput m_content; bool m_contentHasBeenSet = false; Aws::Vector m_compatibleRuntimes; bool m_compatibleRuntimesHasBeenSet = false; Aws::String m_licenseInfo; bool m_licenseInfoHasBeenSet = false; Aws::Vector m_compatibleArchitectures; bool m_compatibleArchitecturesHasBeenSet = false; }; } // namespace Model } // namespace Lambda } // namespace Aws