1 /** 2 * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. 3 * SPDX-License-Identifier: Apache-2.0. 4 */ 5 6 #pragma once 7 #include <aws/xray/XRay_EXPORTS.h> 8 #include <aws/xray/model/AnnotationValue.h> 9 #include <aws/core/utils/memory/stl/AWSVector.h> 10 #include <aws/xray/model/ServiceId.h> 11 #include <utility> 12 13 namespace Aws 14 { 15 namespace Utils 16 { 17 namespace Json 18 { 19 class JsonValue; 20 class JsonView; 21 } // namespace Json 22 } // namespace Utils 23 namespace XRay 24 { 25 namespace Model 26 { 27 28 /** 29 * <p>Information about a segment annotation.</p><p><h3>See Also:</h3> <a 30 * href="http://docs.aws.amazon.com/goto/WebAPI/xray-2016-04-12/ValueWithServiceIds">AWS 31 * API Reference</a></p> 32 */ 33 class AWS_XRAY_API ValueWithServiceIds 34 { 35 public: 36 ValueWithServiceIds(); 37 ValueWithServiceIds(Aws::Utils::Json::JsonView jsonValue); 38 ValueWithServiceIds& operator=(Aws::Utils::Json::JsonView jsonValue); 39 Aws::Utils::Json::JsonValue Jsonize() const; 40 41 42 /** 43 * <p>Values of the annotation.</p> 44 */ GetAnnotationValue()45 inline const AnnotationValue& GetAnnotationValue() const{ return m_annotationValue; } 46 47 /** 48 * <p>Values of the annotation.</p> 49 */ AnnotationValueHasBeenSet()50 inline bool AnnotationValueHasBeenSet() const { return m_annotationValueHasBeenSet; } 51 52 /** 53 * <p>Values of the annotation.</p> 54 */ SetAnnotationValue(const AnnotationValue & value)55 inline void SetAnnotationValue(const AnnotationValue& value) { m_annotationValueHasBeenSet = true; m_annotationValue = value; } 56 57 /** 58 * <p>Values of the annotation.</p> 59 */ SetAnnotationValue(AnnotationValue && value)60 inline void SetAnnotationValue(AnnotationValue&& value) { m_annotationValueHasBeenSet = true; m_annotationValue = std::move(value); } 61 62 /** 63 * <p>Values of the annotation.</p> 64 */ WithAnnotationValue(const AnnotationValue & value)65 inline ValueWithServiceIds& WithAnnotationValue(const AnnotationValue& value) { SetAnnotationValue(value); return *this;} 66 67 /** 68 * <p>Values of the annotation.</p> 69 */ WithAnnotationValue(AnnotationValue && value)70 inline ValueWithServiceIds& WithAnnotationValue(AnnotationValue&& value) { SetAnnotationValue(std::move(value)); return *this;} 71 72 73 /** 74 * <p>Services to which the annotation applies.</p> 75 */ GetServiceIds()76 inline const Aws::Vector<ServiceId>& GetServiceIds() const{ return m_serviceIds; } 77 78 /** 79 * <p>Services to which the annotation applies.</p> 80 */ ServiceIdsHasBeenSet()81 inline bool ServiceIdsHasBeenSet() const { return m_serviceIdsHasBeenSet; } 82 83 /** 84 * <p>Services to which the annotation applies.</p> 85 */ SetServiceIds(const Aws::Vector<ServiceId> & value)86 inline void SetServiceIds(const Aws::Vector<ServiceId>& value) { m_serviceIdsHasBeenSet = true; m_serviceIds = value; } 87 88 /** 89 * <p>Services to which the annotation applies.</p> 90 */ SetServiceIds(Aws::Vector<ServiceId> && value)91 inline void SetServiceIds(Aws::Vector<ServiceId>&& value) { m_serviceIdsHasBeenSet = true; m_serviceIds = std::move(value); } 92 93 /** 94 * <p>Services to which the annotation applies.</p> 95 */ WithServiceIds(const Aws::Vector<ServiceId> & value)96 inline ValueWithServiceIds& WithServiceIds(const Aws::Vector<ServiceId>& value) { SetServiceIds(value); return *this;} 97 98 /** 99 * <p>Services to which the annotation applies.</p> 100 */ WithServiceIds(Aws::Vector<ServiceId> && value)101 inline ValueWithServiceIds& WithServiceIds(Aws::Vector<ServiceId>&& value) { SetServiceIds(std::move(value)); return *this;} 102 103 /** 104 * <p>Services to which the annotation applies.</p> 105 */ AddServiceIds(const ServiceId & value)106 inline ValueWithServiceIds& AddServiceIds(const ServiceId& value) { m_serviceIdsHasBeenSet = true; m_serviceIds.push_back(value); return *this; } 107 108 /** 109 * <p>Services to which the annotation applies.</p> 110 */ AddServiceIds(ServiceId && value)111 inline ValueWithServiceIds& AddServiceIds(ServiceId&& value) { m_serviceIdsHasBeenSet = true; m_serviceIds.push_back(std::move(value)); return *this; } 112 113 private: 114 115 AnnotationValue m_annotationValue; 116 bool m_annotationValueHasBeenSet; 117 118 Aws::Vector<ServiceId> m_serviceIds; 119 bool m_serviceIdsHasBeenSet; 120 }; 121 122 } // namespace Model 123 } // namespace XRay 124 } // namespace Aws 125