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/apigatewayv2/ApiGatewayV2_EXPORTS.h> 8 #include <aws/core/utils/memory/stl/AWSString.h> 9 #include <utility> 10 11 namespace Aws 12 { 13 namespace Utils 14 { 15 namespace Json 16 { 17 class JsonValue; 18 class JsonView; 19 } // namespace Json 20 } // namespace Utils 21 namespace ApiGatewayV2 22 { 23 namespace Model 24 { 25 26 /** 27 * <p>Settings for logging access in a stage.</p><p><h3>See Also:</h3> <a 28 * href="http://docs.aws.amazon.com/goto/WebAPI/apigatewayv2-2018-11-29/AccessLogSettings">AWS 29 * API Reference</a></p> 30 */ 31 class AWS_APIGATEWAYV2_API AccessLogSettings 32 { 33 public: 34 AccessLogSettings(); 35 AccessLogSettings(Aws::Utils::Json::JsonView jsonValue); 36 AccessLogSettings& operator=(Aws::Utils::Json::JsonView jsonValue); 37 Aws::Utils::Json::JsonValue Jsonize() const; 38 39 40 /** 41 * <p>The ARN of the CloudWatch Logs log group to receive access logs.</p> 42 */ GetDestinationArn()43 inline const Aws::String& GetDestinationArn() const{ return m_destinationArn; } 44 45 /** 46 * <p>The ARN of the CloudWatch Logs log group to receive access logs.</p> 47 */ DestinationArnHasBeenSet()48 inline bool DestinationArnHasBeenSet() const { return m_destinationArnHasBeenSet; } 49 50 /** 51 * <p>The ARN of the CloudWatch Logs log group to receive access logs.</p> 52 */ SetDestinationArn(const Aws::String & value)53 inline void SetDestinationArn(const Aws::String& value) { m_destinationArnHasBeenSet = true; m_destinationArn = value; } 54 55 /** 56 * <p>The ARN of the CloudWatch Logs log group to receive access logs.</p> 57 */ SetDestinationArn(Aws::String && value)58 inline void SetDestinationArn(Aws::String&& value) { m_destinationArnHasBeenSet = true; m_destinationArn = std::move(value); } 59 60 /** 61 * <p>The ARN of the CloudWatch Logs log group to receive access logs.</p> 62 */ SetDestinationArn(const char * value)63 inline void SetDestinationArn(const char* value) { m_destinationArnHasBeenSet = true; m_destinationArn.assign(value); } 64 65 /** 66 * <p>The ARN of the CloudWatch Logs log group to receive access logs.</p> 67 */ WithDestinationArn(const Aws::String & value)68 inline AccessLogSettings& WithDestinationArn(const Aws::String& value) { SetDestinationArn(value); return *this;} 69 70 /** 71 * <p>The ARN of the CloudWatch Logs log group to receive access logs.</p> 72 */ WithDestinationArn(Aws::String && value)73 inline AccessLogSettings& WithDestinationArn(Aws::String&& value) { SetDestinationArn(std::move(value)); return *this;} 74 75 /** 76 * <p>The ARN of the CloudWatch Logs log group to receive access logs.</p> 77 */ WithDestinationArn(const char * value)78 inline AccessLogSettings& WithDestinationArn(const char* value) { SetDestinationArn(value); return *this;} 79 80 81 /** 82 * <p>A single line format of the access logs of data, as specified by selected 83 * $context variables. The format must include at least $context.requestId.</p> 84 */ GetFormat()85 inline const Aws::String& GetFormat() const{ return m_format; } 86 87 /** 88 * <p>A single line format of the access logs of data, as specified by selected 89 * $context variables. The format must include at least $context.requestId.</p> 90 */ FormatHasBeenSet()91 inline bool FormatHasBeenSet() const { return m_formatHasBeenSet; } 92 93 /** 94 * <p>A single line format of the access logs of data, as specified by selected 95 * $context variables. The format must include at least $context.requestId.</p> 96 */ SetFormat(const Aws::String & value)97 inline void SetFormat(const Aws::String& value) { m_formatHasBeenSet = true; m_format = value; } 98 99 /** 100 * <p>A single line format of the access logs of data, as specified by selected 101 * $context variables. The format must include at least $context.requestId.</p> 102 */ SetFormat(Aws::String && value)103 inline void SetFormat(Aws::String&& value) { m_formatHasBeenSet = true; m_format = std::move(value); } 104 105 /** 106 * <p>A single line format of the access logs of data, as specified by selected 107 * $context variables. The format must include at least $context.requestId.</p> 108 */ SetFormat(const char * value)109 inline void SetFormat(const char* value) { m_formatHasBeenSet = true; m_format.assign(value); } 110 111 /** 112 * <p>A single line format of the access logs of data, as specified by selected 113 * $context variables. The format must include at least $context.requestId.</p> 114 */ WithFormat(const Aws::String & value)115 inline AccessLogSettings& WithFormat(const Aws::String& value) { SetFormat(value); return *this;} 116 117 /** 118 * <p>A single line format of the access logs of data, as specified by selected 119 * $context variables. The format must include at least $context.requestId.</p> 120 */ WithFormat(Aws::String && value)121 inline AccessLogSettings& WithFormat(Aws::String&& value) { SetFormat(std::move(value)); return *this;} 122 123 /** 124 * <p>A single line format of the access logs of data, as specified by selected 125 * $context variables. The format must include at least $context.requestId.</p> 126 */ WithFormat(const char * value)127 inline AccessLogSettings& WithFormat(const char* value) { SetFormat(value); return *this;} 128 129 private: 130 131 Aws::String m_destinationArn; 132 bool m_destinationArnHasBeenSet; 133 134 Aws::String m_format; 135 bool m_formatHasBeenSet; 136 }; 137 138 } // namespace Model 139 } // namespace ApiGatewayV2 140 } // namespace Aws 141