/** * 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 namespace Aws { namespace Utils { namespace Json { class JsonValue; class JsonView; } // namespace Json } // namespace Utils namespace tnb { namespace Model { /** *

Information about a function package.

A function package is a .zip * file in CSAR (Cloud Service Archive) format that contains a network function (an * ETSI standard telecommunication application) and function package descriptor * that uses the TOSCA standard to describe how the network functions should run on * your network.

See Also:

AWS * API Reference

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

Function package ARN.

*/ inline const Aws::String& GetArn() const{ return m_arn; } /** *

Function package ARN.

*/ inline bool ArnHasBeenSet() const { return m_arnHasBeenSet; } /** *

Function package ARN.

*/ inline void SetArn(const Aws::String& value) { m_arnHasBeenSet = true; m_arn = value; } /** *

Function package ARN.

*/ inline void SetArn(Aws::String&& value) { m_arnHasBeenSet = true; m_arn = std::move(value); } /** *

Function package ARN.

*/ inline void SetArn(const char* value) { m_arnHasBeenSet = true; m_arn.assign(value); } /** *

Function package ARN.

*/ inline ListSolFunctionPackageInfo& WithArn(const Aws::String& value) { SetArn(value); return *this;} /** *

Function package ARN.

*/ inline ListSolFunctionPackageInfo& WithArn(Aws::String&& value) { SetArn(std::move(value)); return *this;} /** *

Function package ARN.

*/ inline ListSolFunctionPackageInfo& WithArn(const char* value) { SetArn(value); return *this;} /** *

ID of the function package.

*/ inline const Aws::String& GetId() const{ return m_id; } /** *

ID of the function package.

*/ inline bool IdHasBeenSet() const { return m_idHasBeenSet; } /** *

ID of the function package.

*/ inline void SetId(const Aws::String& value) { m_idHasBeenSet = true; m_id = value; } /** *

ID of the function package.

*/ inline void SetId(Aws::String&& value) { m_idHasBeenSet = true; m_id = std::move(value); } /** *

ID of the function package.

*/ inline void SetId(const char* value) { m_idHasBeenSet = true; m_id.assign(value); } /** *

ID of the function package.

*/ inline ListSolFunctionPackageInfo& WithId(const Aws::String& value) { SetId(value); return *this;} /** *

ID of the function package.

*/ inline ListSolFunctionPackageInfo& WithId(Aws::String&& value) { SetId(std::move(value)); return *this;} /** *

ID of the function package.

*/ inline ListSolFunctionPackageInfo& WithId(const char* value) { SetId(value); return *this;} /** *

The metadata of the function package.

*/ inline const ListSolFunctionPackageMetadata& GetMetadata() const{ return m_metadata; } /** *

The metadata of the function package.

*/ inline bool MetadataHasBeenSet() const { return m_metadataHasBeenSet; } /** *

The metadata of the function package.

*/ inline void SetMetadata(const ListSolFunctionPackageMetadata& value) { m_metadataHasBeenSet = true; m_metadata = value; } /** *

The metadata of the function package.

*/ inline void SetMetadata(ListSolFunctionPackageMetadata&& value) { m_metadataHasBeenSet = true; m_metadata = std::move(value); } /** *

The metadata of the function package.

*/ inline ListSolFunctionPackageInfo& WithMetadata(const ListSolFunctionPackageMetadata& value) { SetMetadata(value); return *this;} /** *

The metadata of the function package.

*/ inline ListSolFunctionPackageInfo& WithMetadata(ListSolFunctionPackageMetadata&& value) { SetMetadata(std::move(value)); return *this;} /** *

Onboarding state of the function package.

*/ inline const OnboardingState& GetOnboardingState() const{ return m_onboardingState; } /** *

Onboarding state of the function package.

*/ inline bool OnboardingStateHasBeenSet() const { return m_onboardingStateHasBeenSet; } /** *

Onboarding state of the function package.

*/ inline void SetOnboardingState(const OnboardingState& value) { m_onboardingStateHasBeenSet = true; m_onboardingState = value; } /** *

Onboarding state of the function package.

*/ inline void SetOnboardingState(OnboardingState&& value) { m_onboardingStateHasBeenSet = true; m_onboardingState = std::move(value); } /** *

Onboarding state of the function package.

*/ inline ListSolFunctionPackageInfo& WithOnboardingState(const OnboardingState& value) { SetOnboardingState(value); return *this;} /** *

Onboarding state of the function package.

*/ inline ListSolFunctionPackageInfo& WithOnboardingState(OnboardingState&& value) { SetOnboardingState(std::move(value)); return *this;} /** *

Operational state of the function package.

*/ inline const OperationalState& GetOperationalState() const{ return m_operationalState; } /** *

Operational state of the function package.

*/ inline bool OperationalStateHasBeenSet() const { return m_operationalStateHasBeenSet; } /** *

Operational state of the function package.

*/ inline void SetOperationalState(const OperationalState& value) { m_operationalStateHasBeenSet = true; m_operationalState = value; } /** *

Operational state of the function package.

*/ inline void SetOperationalState(OperationalState&& value) { m_operationalStateHasBeenSet = true; m_operationalState = std::move(value); } /** *

Operational state of the function package.

*/ inline ListSolFunctionPackageInfo& WithOperationalState(const OperationalState& value) { SetOperationalState(value); return *this;} /** *

Operational state of the function package.

*/ inline ListSolFunctionPackageInfo& WithOperationalState(OperationalState&& value) { SetOperationalState(std::move(value)); return *this;} /** *

Usage state of the function package.

*/ inline const UsageState& GetUsageState() const{ return m_usageState; } /** *

Usage state of the function package.

*/ inline bool UsageStateHasBeenSet() const { return m_usageStateHasBeenSet; } /** *

Usage state of the function package.

*/ inline void SetUsageState(const UsageState& value) { m_usageStateHasBeenSet = true; m_usageState = value; } /** *

Usage state of the function package.

*/ inline void SetUsageState(UsageState&& value) { m_usageStateHasBeenSet = true; m_usageState = std::move(value); } /** *

Usage state of the function package.

*/ inline ListSolFunctionPackageInfo& WithUsageState(const UsageState& value) { SetUsageState(value); return *this;} /** *

Usage state of the function package.

*/ inline ListSolFunctionPackageInfo& WithUsageState(UsageState&& value) { SetUsageState(std::move(value)); return *this;} /** *

The product name for the network function.

*/ inline const Aws::String& GetVnfProductName() const{ return m_vnfProductName; } /** *

The product name for the network function.

*/ inline bool VnfProductNameHasBeenSet() const { return m_vnfProductNameHasBeenSet; } /** *

The product name for the network function.

*/ inline void SetVnfProductName(const Aws::String& value) { m_vnfProductNameHasBeenSet = true; m_vnfProductName = value; } /** *

The product name for the network function.

*/ inline void SetVnfProductName(Aws::String&& value) { m_vnfProductNameHasBeenSet = true; m_vnfProductName = std::move(value); } /** *

The product name for the network function.

*/ inline void SetVnfProductName(const char* value) { m_vnfProductNameHasBeenSet = true; m_vnfProductName.assign(value); } /** *

The product name for the network function.

*/ inline ListSolFunctionPackageInfo& WithVnfProductName(const Aws::String& value) { SetVnfProductName(value); return *this;} /** *

The product name for the network function.

*/ inline ListSolFunctionPackageInfo& WithVnfProductName(Aws::String&& value) { SetVnfProductName(std::move(value)); return *this;} /** *

The product name for the network function.

*/ inline ListSolFunctionPackageInfo& WithVnfProductName(const char* value) { SetVnfProductName(value); return *this;} /** *

Provider of the function package and the function package descriptor.

*/ inline const Aws::String& GetVnfProvider() const{ return m_vnfProvider; } /** *

Provider of the function package and the function package descriptor.

*/ inline bool VnfProviderHasBeenSet() const { return m_vnfProviderHasBeenSet; } /** *

Provider of the function package and the function package descriptor.

*/ inline void SetVnfProvider(const Aws::String& value) { m_vnfProviderHasBeenSet = true; m_vnfProvider = value; } /** *

Provider of the function package and the function package descriptor.

*/ inline void SetVnfProvider(Aws::String&& value) { m_vnfProviderHasBeenSet = true; m_vnfProvider = std::move(value); } /** *

Provider of the function package and the function package descriptor.

*/ inline void SetVnfProvider(const char* value) { m_vnfProviderHasBeenSet = true; m_vnfProvider.assign(value); } /** *

Provider of the function package and the function package descriptor.

*/ inline ListSolFunctionPackageInfo& WithVnfProvider(const Aws::String& value) { SetVnfProvider(value); return *this;} /** *

Provider of the function package and the function package descriptor.

*/ inline ListSolFunctionPackageInfo& WithVnfProvider(Aws::String&& value) { SetVnfProvider(std::move(value)); return *this;} /** *

Provider of the function package and the function package descriptor.

*/ inline ListSolFunctionPackageInfo& WithVnfProvider(const char* value) { SetVnfProvider(value); return *this;} /** *

Identifies the function package and the function package descriptor.

*/ inline const Aws::String& GetVnfdId() const{ return m_vnfdId; } /** *

Identifies the function package and the function package descriptor.

*/ inline bool VnfdIdHasBeenSet() const { return m_vnfdIdHasBeenSet; } /** *

Identifies the function package and the function package descriptor.

*/ inline void SetVnfdId(const Aws::String& value) { m_vnfdIdHasBeenSet = true; m_vnfdId = value; } /** *

Identifies the function package and the function package descriptor.

*/ inline void SetVnfdId(Aws::String&& value) { m_vnfdIdHasBeenSet = true; m_vnfdId = std::move(value); } /** *

Identifies the function package and the function package descriptor.

*/ inline void SetVnfdId(const char* value) { m_vnfdIdHasBeenSet = true; m_vnfdId.assign(value); } /** *

Identifies the function package and the function package descriptor.

*/ inline ListSolFunctionPackageInfo& WithVnfdId(const Aws::String& value) { SetVnfdId(value); return *this;} /** *

Identifies the function package and the function package descriptor.

*/ inline ListSolFunctionPackageInfo& WithVnfdId(Aws::String&& value) { SetVnfdId(std::move(value)); return *this;} /** *

Identifies the function package and the function package descriptor.

*/ inline ListSolFunctionPackageInfo& WithVnfdId(const char* value) { SetVnfdId(value); return *this;} /** *

Identifies the version of the function package descriptor.

*/ inline const Aws::String& GetVnfdVersion() const{ return m_vnfdVersion; } /** *

Identifies the version of the function package descriptor.

*/ inline bool VnfdVersionHasBeenSet() const { return m_vnfdVersionHasBeenSet; } /** *

Identifies the version of the function package descriptor.

*/ inline void SetVnfdVersion(const Aws::String& value) { m_vnfdVersionHasBeenSet = true; m_vnfdVersion = value; } /** *

Identifies the version of the function package descriptor.

*/ inline void SetVnfdVersion(Aws::String&& value) { m_vnfdVersionHasBeenSet = true; m_vnfdVersion = std::move(value); } /** *

Identifies the version of the function package descriptor.

*/ inline void SetVnfdVersion(const char* value) { m_vnfdVersionHasBeenSet = true; m_vnfdVersion.assign(value); } /** *

Identifies the version of the function package descriptor.

*/ inline ListSolFunctionPackageInfo& WithVnfdVersion(const Aws::String& value) { SetVnfdVersion(value); return *this;} /** *

Identifies the version of the function package descriptor.

*/ inline ListSolFunctionPackageInfo& WithVnfdVersion(Aws::String&& value) { SetVnfdVersion(std::move(value)); return *this;} /** *

Identifies the version of the function package descriptor.

*/ inline ListSolFunctionPackageInfo& WithVnfdVersion(const char* value) { SetVnfdVersion(value); return *this;} private: Aws::String m_arn; bool m_arnHasBeenSet = false; Aws::String m_id; bool m_idHasBeenSet = false; ListSolFunctionPackageMetadata m_metadata; bool m_metadataHasBeenSet = false; OnboardingState m_onboardingState; bool m_onboardingStateHasBeenSet = false; OperationalState m_operationalState; bool m_operationalStateHasBeenSet = false; UsageState m_usageState; bool m_usageStateHasBeenSet = false; Aws::String m_vnfProductName; bool m_vnfProductNameHasBeenSet = false; Aws::String m_vnfProvider; bool m_vnfProviderHasBeenSet = false; Aws::String m_vnfdId; bool m_vnfdIdHasBeenSet = false; Aws::String m_vnfdVersion; bool m_vnfdVersionHasBeenSet = false; }; } // namespace Model } // namespace tnb } // namespace Aws