/*
* Copyright 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.
*/
/*
* Do not modify this file. This file is generated from the cleanrooms-2022-02-17.normal.json service model.
*/
using System;
using System.Collections.Generic;
using System.Xml.Serialization;
using System.Text;
using System.IO;
using System.Net;
using Amazon.Runtime;
using Amazon.Runtime.Internal;
namespace Amazon.CleanRooms.Model
{
///
/// Enables query structure and specified queries that produce aggregate statistics.
///
public partial class AnalysisRuleAggregation
{
private List _aggregateColumns = new List();
private List _allowedJoinOperators = new List();
private List _dimensionColumns = new List();
private List _joinColumns = new List();
private JoinRequiredOption _joinRequired;
private List _outputConstraints = new List();
private List _scalarFunctions = new List();
///
/// Gets and sets the property AggregateColumns.
///
/// The columns that query runners are allowed to use in aggregation queries.
///
///
[AWSProperty(Required=true, Min=1)]
public List AggregateColumns
{
get { return this._aggregateColumns; }
set { this._aggregateColumns = value; }
}
// Check to see if AggregateColumns property is set
internal bool IsSetAggregateColumns()
{
return this._aggregateColumns != null && this._aggregateColumns.Count > 0;
}
///
/// Gets and sets the property AllowedJoinOperators.
///
/// Which logical operators (if any) are to be used in an INNER JOIN match condition.
/// Default is AND
.
///
///
[AWSProperty(Min=0, Max=2)]
public List AllowedJoinOperators
{
get { return this._allowedJoinOperators; }
set { this._allowedJoinOperators = value; }
}
// Check to see if AllowedJoinOperators property is set
internal bool IsSetAllowedJoinOperators()
{
return this._allowedJoinOperators != null && this._allowedJoinOperators.Count > 0;
}
///
/// Gets and sets the property DimensionColumns.
///
/// The columns that query runners are allowed to select, group by, or filter by.
///
///
[AWSProperty(Required=true)]
public List DimensionColumns
{
get { return this._dimensionColumns; }
set { this._dimensionColumns = value; }
}
// Check to see if DimensionColumns property is set
internal bool IsSetDimensionColumns()
{
return this._dimensionColumns != null && this._dimensionColumns.Count > 0;
}
///
/// Gets and sets the property JoinColumns.
///
/// Columns in configured table that can be used in join statements and/or as aggregate
/// columns. They can never be outputted directly.
///
///
[AWSProperty(Required=true)]
public List JoinColumns
{
get { return this._joinColumns; }
set { this._joinColumns = value; }
}
// Check to see if JoinColumns property is set
internal bool IsSetJoinColumns()
{
return this._joinColumns != null && this._joinColumns.Count > 0;
}
///
/// Gets and sets the property JoinRequired.
///
/// Control that requires member who runs query to do a join with their configured table
/// and/or other configured table in query.
///
///
public JoinRequiredOption JoinRequired
{
get { return this._joinRequired; }
set { this._joinRequired = value; }
}
// Check to see if JoinRequired property is set
internal bool IsSetJoinRequired()
{
return this._joinRequired != null;
}
///
/// Gets and sets the property OutputConstraints.
///
/// Columns that must meet a specific threshold value (after an aggregation function is
/// applied to it) for each output row to be returned.
///
///
[AWSProperty(Required=true, Min=1)]
public List OutputConstraints
{
get { return this._outputConstraints; }
set { this._outputConstraints = value; }
}
// Check to see if OutputConstraints property is set
internal bool IsSetOutputConstraints()
{
return this._outputConstraints != null && this._outputConstraints.Count > 0;
}
///
/// Gets and sets the property ScalarFunctions.
///
/// Set of scalar functions that are allowed to be used on dimension columns and the output
/// of aggregation of metrics.
///
///
[AWSProperty(Required=true)]
public List ScalarFunctions
{
get { return this._scalarFunctions; }
set { this._scalarFunctions = value; }
}
// Check to see if ScalarFunctions property is set
internal bool IsSetScalarFunctions()
{
return this._scalarFunctions != null && this._scalarFunctions.Count > 0;
}
}
}