/** * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. * SPDX-License-Identifier: Apache-2.0. */ #pragma once #include #include #include #include namespace Aws { template class AmazonWebServiceResult; namespace Utils { namespace Json { class JsonValue; } // namespace Json } // namespace Utils namespace AppStream { namespace Model { class CreateUsageReportSubscriptionResult { public: AWS_APPSTREAM_API CreateUsageReportSubscriptionResult(); AWS_APPSTREAM_API CreateUsageReportSubscriptionResult(const Aws::AmazonWebServiceResult& result); AWS_APPSTREAM_API CreateUsageReportSubscriptionResult& operator=(const Aws::AmazonWebServiceResult& result); /** *

The Amazon S3 bucket where generated reports are stored.

If you * enabled on-instance session scripts and Amazon S3 logging for your session * script configuration, AppStream 2.0 created an S3 bucket to store the script * output. The bucket is unique to your account and Region. When you enable usage * reporting in this case, AppStream 2.0 uses the same bucket to store your usage * reports. If you haven't already enabled on-instance session scripts, when you * enable usage reports, AppStream 2.0 creates a new S3 bucket.

*/ inline const Aws::String& GetS3BucketName() const{ return m_s3BucketName; } /** *

The Amazon S3 bucket where generated reports are stored.

If you * enabled on-instance session scripts and Amazon S3 logging for your session * script configuration, AppStream 2.0 created an S3 bucket to store the script * output. The bucket is unique to your account and Region. When you enable usage * reporting in this case, AppStream 2.0 uses the same bucket to store your usage * reports. If you haven't already enabled on-instance session scripts, when you * enable usage reports, AppStream 2.0 creates a new S3 bucket.

*/ inline void SetS3BucketName(const Aws::String& value) { m_s3BucketName = value; } /** *

The Amazon S3 bucket where generated reports are stored.

If you * enabled on-instance session scripts and Amazon S3 logging for your session * script configuration, AppStream 2.0 created an S3 bucket to store the script * output. The bucket is unique to your account and Region. When you enable usage * reporting in this case, AppStream 2.0 uses the same bucket to store your usage * reports. If you haven't already enabled on-instance session scripts, when you * enable usage reports, AppStream 2.0 creates a new S3 bucket.

*/ inline void SetS3BucketName(Aws::String&& value) { m_s3BucketName = std::move(value); } /** *

The Amazon S3 bucket where generated reports are stored.

If you * enabled on-instance session scripts and Amazon S3 logging for your session * script configuration, AppStream 2.0 created an S3 bucket to store the script * output. The bucket is unique to your account and Region. When you enable usage * reporting in this case, AppStream 2.0 uses the same bucket to store your usage * reports. If you haven't already enabled on-instance session scripts, when you * enable usage reports, AppStream 2.0 creates a new S3 bucket.

*/ inline void SetS3BucketName(const char* value) { m_s3BucketName.assign(value); } /** *

The Amazon S3 bucket where generated reports are stored.

If you * enabled on-instance session scripts and Amazon S3 logging for your session * script configuration, AppStream 2.0 created an S3 bucket to store the script * output. The bucket is unique to your account and Region. When you enable usage * reporting in this case, AppStream 2.0 uses the same bucket to store your usage * reports. If you haven't already enabled on-instance session scripts, when you * enable usage reports, AppStream 2.0 creates a new S3 bucket.

*/ inline CreateUsageReportSubscriptionResult& WithS3BucketName(const Aws::String& value) { SetS3BucketName(value); return *this;} /** *

The Amazon S3 bucket where generated reports are stored.

If you * enabled on-instance session scripts and Amazon S3 logging for your session * script configuration, AppStream 2.0 created an S3 bucket to store the script * output. The bucket is unique to your account and Region. When you enable usage * reporting in this case, AppStream 2.0 uses the same bucket to store your usage * reports. If you haven't already enabled on-instance session scripts, when you * enable usage reports, AppStream 2.0 creates a new S3 bucket.

*/ inline CreateUsageReportSubscriptionResult& WithS3BucketName(Aws::String&& value) { SetS3BucketName(std::move(value)); return *this;} /** *

The Amazon S3 bucket where generated reports are stored.

If you * enabled on-instance session scripts and Amazon S3 logging for your session * script configuration, AppStream 2.0 created an S3 bucket to store the script * output. The bucket is unique to your account and Region. When you enable usage * reporting in this case, AppStream 2.0 uses the same bucket to store your usage * reports. If you haven't already enabled on-instance session scripts, when you * enable usage reports, AppStream 2.0 creates a new S3 bucket.

*/ inline CreateUsageReportSubscriptionResult& WithS3BucketName(const char* value) { SetS3BucketName(value); return *this;} /** *

The schedule for generating usage reports.

*/ inline const UsageReportSchedule& GetSchedule() const{ return m_schedule; } /** *

The schedule for generating usage reports.

*/ inline void SetSchedule(const UsageReportSchedule& value) { m_schedule = value; } /** *

The schedule for generating usage reports.

*/ inline void SetSchedule(UsageReportSchedule&& value) { m_schedule = std::move(value); } /** *

The schedule for generating usage reports.

*/ inline CreateUsageReportSubscriptionResult& WithSchedule(const UsageReportSchedule& value) { SetSchedule(value); return *this;} /** *

The schedule for generating usage reports.

*/ inline CreateUsageReportSubscriptionResult& WithSchedule(UsageReportSchedule&& value) { SetSchedule(std::move(value)); return *this;} inline const Aws::String& GetRequestId() const{ return m_requestId; } inline void SetRequestId(const Aws::String& value) { m_requestId = value; } inline void SetRequestId(Aws::String&& value) { m_requestId = std::move(value); } inline void SetRequestId(const char* value) { m_requestId.assign(value); } inline CreateUsageReportSubscriptionResult& WithRequestId(const Aws::String& value) { SetRequestId(value); return *this;} inline CreateUsageReportSubscriptionResult& WithRequestId(Aws::String&& value) { SetRequestId(std::move(value)); return *this;} inline CreateUsageReportSubscriptionResult& WithRequestId(const char* value) { SetRequestId(value); return *this;} private: Aws::String m_s3BucketName; UsageReportSchedule m_schedule; Aws::String m_requestId; }; } // namespace Model } // namespace AppStream } // namespace Aws