/**
* 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 XRay
{
namespace Model
{
/**
* See Also:
AWS API
* Reference
*/
class ServiceId
{
public:
AWS_XRAY_API ServiceId();
AWS_XRAY_API ServiceId(Aws::Utils::Json::JsonView jsonValue);
AWS_XRAY_API ServiceId& operator=(Aws::Utils::Json::JsonView jsonValue);
AWS_XRAY_API Aws::Utils::Json::JsonValue Jsonize() const;
/**
*
*/
inline const Aws::String& GetName() const{ return m_name; }
/**
*
*/
inline bool NameHasBeenSet() const { return m_nameHasBeenSet; }
/**
*
*/
inline void SetName(const Aws::String& value) { m_nameHasBeenSet = true; m_name = value; }
/**
*
*/
inline void SetName(Aws::String&& value) { m_nameHasBeenSet = true; m_name = std::move(value); }
/**
*
*/
inline void SetName(const char* value) { m_nameHasBeenSet = true; m_name.assign(value); }
/**
*
*/
inline ServiceId& WithName(const Aws::String& value) { SetName(value); return *this;}
/**
*
*/
inline ServiceId& WithName(Aws::String&& value) { SetName(std::move(value)); return *this;}
/**
*
*/
inline ServiceId& WithName(const char* value) { SetName(value); return *this;}
/**
*
*/
inline const Aws::Vector& GetNames() const{ return m_names; }
/**
*
*/
inline bool NamesHasBeenSet() const { return m_namesHasBeenSet; }
/**
*
*/
inline void SetNames(const Aws::Vector& value) { m_namesHasBeenSet = true; m_names = value; }
/**
*
*/
inline void SetNames(Aws::Vector&& value) { m_namesHasBeenSet = true; m_names = std::move(value); }
/**
*
*/
inline ServiceId& WithNames(const Aws::Vector& value) { SetNames(value); return *this;}
/**
*
*/
inline ServiceId& WithNames(Aws::Vector&& value) { SetNames(std::move(value)); return *this;}
/**
*
*/
inline ServiceId& AddNames(const Aws::String& value) { m_namesHasBeenSet = true; m_names.push_back(value); return *this; }
/**
*
*/
inline ServiceId& AddNames(Aws::String&& value) { m_namesHasBeenSet = true; m_names.push_back(std::move(value)); return *this; }
/**
*
*/
inline ServiceId& AddNames(const char* value) { m_namesHasBeenSet = true; m_names.push_back(value); return *this; }
/**
*
*/
inline const Aws::String& GetAccountId() const{ return m_accountId; }
/**
*
*/
inline bool AccountIdHasBeenSet() const { return m_accountIdHasBeenSet; }
/**
*
*/
inline void SetAccountId(const Aws::String& value) { m_accountIdHasBeenSet = true; m_accountId = value; }
/**
*
*/
inline void SetAccountId(Aws::String&& value) { m_accountIdHasBeenSet = true; m_accountId = std::move(value); }
/**
*
*/
inline void SetAccountId(const char* value) { m_accountIdHasBeenSet = true; m_accountId.assign(value); }
/**
*
*/
inline ServiceId& WithAccountId(const Aws::String& value) { SetAccountId(value); return *this;}
/**
*
*/
inline ServiceId& WithAccountId(Aws::String&& value) { SetAccountId(std::move(value)); return *this;}
/**
*
*/
inline ServiceId& WithAccountId(const char* value) { SetAccountId(value); return *this;}
/**
*
*/
inline const Aws::String& GetType() const{ return m_type; }
/**
*
*/
inline bool TypeHasBeenSet() const { return m_typeHasBeenSet; }
/**
*
*/
inline void SetType(const Aws::String& value) { m_typeHasBeenSet = true; m_type = value; }
/**
*
*/
inline void SetType(Aws::String&& value) { m_typeHasBeenSet = true; m_type = std::move(value); }
/**
*
*/
inline void SetType(const char* value) { m_typeHasBeenSet = true; m_type.assign(value); }
/**
*
*/
inline ServiceId& WithType(const Aws::String& value) { SetType(value); return *this;}
/**
*
*/
inline ServiceId& WithType(Aws::String&& value) { SetType(std::move(value)); return *this;}
/**
*
*/
inline ServiceId& WithType(const char* value) { SetType(value); return *this;}
private:
Aws::String m_name;
bool m_nameHasBeenSet = false;
Aws::Vector m_names;
bool m_namesHasBeenSet = false;
Aws::String m_accountId;
bool m_accountIdHasBeenSet = false;
Aws::String m_type;
bool m_typeHasBeenSet = false;
};
} // namespace Model
} // namespace XRay
} // namespace Aws