/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#pragma once
#include Describes information about the usage report subscription.See
* Also:
AWS
* API Reference
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 bool S3BucketNameHasBeenSet() const { return m_s3BucketNameHasBeenSet; } /** *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_s3BucketNameHasBeenSet = true; 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_s3BucketNameHasBeenSet = true; 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_s3BucketNameHasBeenSet = true; 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 UsageReportSubscription& 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 UsageReportSubscription& 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 UsageReportSubscription& 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 bool ScheduleHasBeenSet() const { return m_scheduleHasBeenSet; } /** *The schedule for generating usage reports.
*/ inline void SetSchedule(const UsageReportSchedule& value) { m_scheduleHasBeenSet = true; m_schedule = value; } /** *The schedule for generating usage reports.
*/ inline void SetSchedule(UsageReportSchedule&& value) { m_scheduleHasBeenSet = true; m_schedule = std::move(value); } /** *The schedule for generating usage reports.
*/ inline UsageReportSubscription& WithSchedule(const UsageReportSchedule& value) { SetSchedule(value); return *this;} /** *The schedule for generating usage reports.
*/ inline UsageReportSubscription& WithSchedule(UsageReportSchedule&& value) { SetSchedule(std::move(value)); return *this;} /** *The time when the last usage report was generated.
*/ inline const Aws::Utils::DateTime& GetLastGeneratedReportDate() const{ return m_lastGeneratedReportDate; } /** *The time when the last usage report was generated.
*/ inline bool LastGeneratedReportDateHasBeenSet() const { return m_lastGeneratedReportDateHasBeenSet; } /** *The time when the last usage report was generated.
*/ inline void SetLastGeneratedReportDate(const Aws::Utils::DateTime& value) { m_lastGeneratedReportDateHasBeenSet = true; m_lastGeneratedReportDate = value; } /** *The time when the last usage report was generated.
*/ inline void SetLastGeneratedReportDate(Aws::Utils::DateTime&& value) { m_lastGeneratedReportDateHasBeenSet = true; m_lastGeneratedReportDate = std::move(value); } /** *The time when the last usage report was generated.
*/ inline UsageReportSubscription& WithLastGeneratedReportDate(const Aws::Utils::DateTime& value) { SetLastGeneratedReportDate(value); return *this;} /** *The time when the last usage report was generated.
*/ inline UsageReportSubscription& WithLastGeneratedReportDate(Aws::Utils::DateTime&& value) { SetLastGeneratedReportDate(std::move(value)); return *this;} /** *The errors that were returned if usage reports couldn't be generated.
*/ inline const Aws::VectorThe errors that were returned if usage reports couldn't be generated.
*/ inline bool SubscriptionErrorsHasBeenSet() const { return m_subscriptionErrorsHasBeenSet; } /** *The errors that were returned if usage reports couldn't be generated.
*/ inline void SetSubscriptionErrors(const Aws::VectorThe errors that were returned if usage reports couldn't be generated.
*/ inline void SetSubscriptionErrors(Aws::VectorThe errors that were returned if usage reports couldn't be generated.
*/ inline UsageReportSubscription& WithSubscriptionErrors(const Aws::VectorThe errors that were returned if usage reports couldn't be generated.
*/ inline UsageReportSubscription& WithSubscriptionErrors(Aws::VectorThe errors that were returned if usage reports couldn't be generated.
*/ inline UsageReportSubscription& AddSubscriptionErrors(const LastReportGenerationExecutionError& value) { m_subscriptionErrorsHasBeenSet = true; m_subscriptionErrors.push_back(value); return *this; } /** *The errors that were returned if usage reports couldn't be generated.
*/ inline UsageReportSubscription& AddSubscriptionErrors(LastReportGenerationExecutionError&& value) { m_subscriptionErrorsHasBeenSet = true; m_subscriptionErrors.push_back(std::move(value)); return *this; } private: Aws::String m_s3BucketName; bool m_s3BucketNameHasBeenSet = false; UsageReportSchedule m_schedule; bool m_scheduleHasBeenSet = false; Aws::Utils::DateTime m_lastGeneratedReportDate; bool m_lastGeneratedReportDateHasBeenSet = false; Aws::Vector