/** * 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 Connect { namespace Model { /** *

Contains the use case.

See Also:

AWS API * Reference

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

The identifier for the use case.

*/ inline const Aws::String& GetUseCaseId() const{ return m_useCaseId; } /** *

The identifier for the use case.

*/ inline bool UseCaseIdHasBeenSet() const { return m_useCaseIdHasBeenSet; } /** *

The identifier for the use case.

*/ inline void SetUseCaseId(const Aws::String& value) { m_useCaseIdHasBeenSet = true; m_useCaseId = value; } /** *

The identifier for the use case.

*/ inline void SetUseCaseId(Aws::String&& value) { m_useCaseIdHasBeenSet = true; m_useCaseId = std::move(value); } /** *

The identifier for the use case.

*/ inline void SetUseCaseId(const char* value) { m_useCaseIdHasBeenSet = true; m_useCaseId.assign(value); } /** *

The identifier for the use case.

*/ inline UseCase& WithUseCaseId(const Aws::String& value) { SetUseCaseId(value); return *this;} /** *

The identifier for the use case.

*/ inline UseCase& WithUseCaseId(Aws::String&& value) { SetUseCaseId(std::move(value)); return *this;} /** *

The identifier for the use case.

*/ inline UseCase& WithUseCaseId(const char* value) { SetUseCaseId(value); return *this;} /** *

The Amazon Resource Name (ARN) for the use case.

*/ inline const Aws::String& GetUseCaseArn() const{ return m_useCaseArn; } /** *

The Amazon Resource Name (ARN) for the use case.

*/ inline bool UseCaseArnHasBeenSet() const { return m_useCaseArnHasBeenSet; } /** *

The Amazon Resource Name (ARN) for the use case.

*/ inline void SetUseCaseArn(const Aws::String& value) { m_useCaseArnHasBeenSet = true; m_useCaseArn = value; } /** *

The Amazon Resource Name (ARN) for the use case.

*/ inline void SetUseCaseArn(Aws::String&& value) { m_useCaseArnHasBeenSet = true; m_useCaseArn = std::move(value); } /** *

The Amazon Resource Name (ARN) for the use case.

*/ inline void SetUseCaseArn(const char* value) { m_useCaseArnHasBeenSet = true; m_useCaseArn.assign(value); } /** *

The Amazon Resource Name (ARN) for the use case.

*/ inline UseCase& WithUseCaseArn(const Aws::String& value) { SetUseCaseArn(value); return *this;} /** *

The Amazon Resource Name (ARN) for the use case.

*/ inline UseCase& WithUseCaseArn(Aws::String&& value) { SetUseCaseArn(std::move(value)); return *this;} /** *

The Amazon Resource Name (ARN) for the use case.

*/ inline UseCase& WithUseCaseArn(const char* value) { SetUseCaseArn(value); return *this;} /** *

The type of use case to associate to the integration association. Each * integration association can have only one of each use case type.

*/ inline const UseCaseType& GetUseCaseType() const{ return m_useCaseType; } /** *

The type of use case to associate to the integration association. Each * integration association can have only one of each use case type.

*/ inline bool UseCaseTypeHasBeenSet() const { return m_useCaseTypeHasBeenSet; } /** *

The type of use case to associate to the integration association. Each * integration association can have only one of each use case type.

*/ inline void SetUseCaseType(const UseCaseType& value) { m_useCaseTypeHasBeenSet = true; m_useCaseType = value; } /** *

The type of use case to associate to the integration association. Each * integration association can have only one of each use case type.

*/ inline void SetUseCaseType(UseCaseType&& value) { m_useCaseTypeHasBeenSet = true; m_useCaseType = std::move(value); } /** *

The type of use case to associate to the integration association. Each * integration association can have only one of each use case type.

*/ inline UseCase& WithUseCaseType(const UseCaseType& value) { SetUseCaseType(value); return *this;} /** *

The type of use case to associate to the integration association. Each * integration association can have only one of each use case type.

*/ inline UseCase& WithUseCaseType(UseCaseType&& value) { SetUseCaseType(std::move(value)); return *this;} private: Aws::String m_useCaseId; bool m_useCaseIdHasBeenSet = false; Aws::String m_useCaseArn; bool m_useCaseArnHasBeenSet = false; UseCaseType m_useCaseType; bool m_useCaseTypeHasBeenSet = false; }; } // namespace Model } // namespace Connect } // namespace Aws