/*
* Copyright 2010-2013 Amazon.com, Inc. or its affiliates. All Rights Reserved.
*
* Licensed under the Apache License, Version 2.0 (the "License").
* You may not use this file except in compliance with the License.
* A copy of the License is located at
*
* http://aws.amazon.com/apache2.0
*
* or in the "license" file accompanying this file. This file is distributed
* on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either
* express or implied. See the License for the specific language governing
* permissions and limitations under the License.
*/
using System;
using System.Collections.Generic;
using System.Xml.Serialization;
using System.Text;
using System.IO;
namespace Amazon.S3.Model
{
///
/// Class for MetricsConfiguration
///
public class InventoryConfiguration
{
private InventoryDestination inventoryDestination;
private bool isEnabled;
private InventoryFilter inventoryFilter;
private string inventoryId;
private InventoryIncludedObjectVersions inventoryIncludedObjectVersions;
private List inventoryOptionalFields = new List();
private InventorySchedule inventorySchedule;
///
/// Contains information about where to publish the inventory results.
///
public InventoryDestination Destination
{
get { return this.inventoryDestination; }
set { this.inventoryDestination = value; }
}
// Check to see if Destination property is set
internal bool IsSetDestination()
{
return this.inventoryDestination != null;
}
///
/// Specifies whether the inventory is enabled or disabled.
///
public bool IsEnabled
{
get { return this.isEnabled; }
set { this.isEnabled = value; }
}
///
/// Specifies an inventory filter. The inventory only includes objects that meet the filter's criteria.
///
public InventoryFilter InventoryFilter
{
get { return this.inventoryFilter; }
set { this.inventoryFilter = value; }
}
// Check to see if InventoryFilter property is set
internal bool IsSetInventoryFilter()
{
return this.inventoryFilter != null;
}
///
/// The ID used to identify the inventory configuration.
///
public string InventoryId
{
get { return this.inventoryId; }
set { this.inventoryId = value; }
}
// Check to see if InventoryId property is set
internal bool IsSetInventoryId()
{
return !(string.IsNullOrEmpty(this.inventoryId));
}
///
/// Specifies which object version(s) to included in the inventory results.
///
public InventoryIncludedObjectVersions IncludedObjectVersions
{
get { return this.inventoryIncludedObjectVersions; }
set { this.inventoryIncludedObjectVersions = value; }
}
// Check to see if InventoryIncludedObjectVersions property is set
internal bool IsSetIncludedObjectVersions()
{
return this.inventoryIncludedObjectVersions != null;
}
///
/// Contains the optional fields that are included in the inventory results.
///
public List InventoryOptionalFields
{
get { return this.inventoryOptionalFields; }
set { this.inventoryOptionalFields = value; }
}
// Check to see if InventoryOptionalFields property is set
internal bool IsSetInventoryOptionalFields()
{
return this.inventoryOptionalFields.Count > 0;
}
///
/// Specifies the schedule for generating inventory results.
///
public InventorySchedule Schedule
{
get { return this.inventorySchedule; }
set { this.inventorySchedule = value; }
}
// Check to see if Schedule property is set
internal bool IsSetSchedule()
{
return this.inventorySchedule != null;
}
}
}