/**
* 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 GameLift
{
namespace Model
{
/**
* A method for collecting container logs for the fleet. Amazon GameLift saves
* all standard output for each container in logs, including game session logs. You
* can select from the following methods:
See Also:
AWS
* API Reference
*/
class LogConfiguration
{
public:
AWS_GAMELIFT_API LogConfiguration();
AWS_GAMELIFT_API LogConfiguration(Aws::Utils::Json::JsonView jsonValue);
AWS_GAMELIFT_API LogConfiguration& operator=(Aws::Utils::Json::JsonView jsonValue);
AWS_GAMELIFT_API Aws::Utils::Json::JsonValue Jsonize() const;
///@{
/**
* The type of log collection to use for a fleet.
-
* CLOUDWATCH -- (default value) Send logs to an Amazon CloudWatch log
* group that you define. Each container emits a log stream, which is organized in
* the log group.
-
S3 -- Store logs in an Amazon S3
* bucket that you define.
-
NONE -- Don't collect
* container logs.
*/
inline const LogDestination& GetLogDestination() const{ return m_logDestination; }
inline bool LogDestinationHasBeenSet() const { return m_logDestinationHasBeenSet; }
inline void SetLogDestination(const LogDestination& value) { m_logDestinationHasBeenSet = true; m_logDestination = value; }
inline void SetLogDestination(LogDestination&& value) { m_logDestinationHasBeenSet = true; m_logDestination = std::move(value); }
inline LogConfiguration& WithLogDestination(const LogDestination& value) { SetLogDestination(value); return *this;}
inline LogConfiguration& WithLogDestination(LogDestination&& value) { SetLogDestination(std::move(value)); return *this;}
///@}
///@{
/**
* If log destination is S3, logs are sent to the specified Amazon
* S3 bucket name.
*/
inline const Aws::String& GetS3BucketName() const{ return m_s3BucketName; }
inline bool S3BucketNameHasBeenSet() const { return m_s3BucketNameHasBeenSet; }
inline void SetS3BucketName(const Aws::String& value) { m_s3BucketNameHasBeenSet = true; m_s3BucketName = value; }
inline void SetS3BucketName(Aws::String&& value) { m_s3BucketNameHasBeenSet = true; m_s3BucketName = std::move(value); }
inline void SetS3BucketName(const char* value) { m_s3BucketNameHasBeenSet = true; m_s3BucketName.assign(value); }
inline LogConfiguration& WithS3BucketName(const Aws::String& value) { SetS3BucketName(value); return *this;}
inline LogConfiguration& WithS3BucketName(Aws::String&& value) { SetS3BucketName(std::move(value)); return *this;}
inline LogConfiguration& WithS3BucketName(const char* value) { SetS3BucketName(value); return *this;}
///@}
///@{
/**
* If log destination is CLOUDWATCH, logs are sent to the specified
* log group in Amazon CloudWatch.
*/
inline const Aws::String& GetLogGroupArn() const{ return m_logGroupArn; }
inline bool LogGroupArnHasBeenSet() const { return m_logGroupArnHasBeenSet; }
inline void SetLogGroupArn(const Aws::String& value) { m_logGroupArnHasBeenSet = true; m_logGroupArn = value; }
inline void SetLogGroupArn(Aws::String&& value) { m_logGroupArnHasBeenSet = true; m_logGroupArn = std::move(value); }
inline void SetLogGroupArn(const char* value) { m_logGroupArnHasBeenSet = true; m_logGroupArn.assign(value); }
inline LogConfiguration& WithLogGroupArn(const Aws::String& value) { SetLogGroupArn(value); return *this;}
inline LogConfiguration& WithLogGroupArn(Aws::String&& value) { SetLogGroupArn(std::move(value)); return *this;}
inline LogConfiguration& WithLogGroupArn(const char* value) { SetLogGroupArn(value); return *this;}
///@}
private:
LogDestination m_logDestination;
bool m_logDestinationHasBeenSet = false;
Aws::String m_s3BucketName;
bool m_s3BucketNameHasBeenSet = false;
Aws::String m_logGroupArn;
bool m_logGroupArnHasBeenSet = false;
};
} // namespace Model
} // namespace GameLift
} // namespace Aws