/*
* 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 customer-profiles-2020-08-15.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.CustomerProfiles.Model
{
///
/// Container for the parameters to the CreateCalculatedAttributeDefinition operation.
/// Creates a new calculated attribute definition. After creation, new object data ingested
/// into Customer Profiles will be included in the calculated attribute, which can be
/// retrieved for a profile using the GetCalculatedAttributeForProfile
/// API. Defining a calculated attribute makes it available for all profiles within a
/// domain. Each calculated attribute can only reference one ObjectType
and
/// at most, two fields from that ObjectType
.
///
public partial class CreateCalculatedAttributeDefinitionRequest : AmazonCustomerProfilesRequest
{
private AttributeDetails _attributeDetails;
private string _calculatedAttributeName;
private Conditions _conditions;
private string _description;
private string _displayName;
private string _domainName;
private Statistic _statistic;
private Dictionary _tags = new Dictionary();
///
/// Gets and sets the property AttributeDetails.
///
/// Mathematical expression and a list of attribute items specified in that expression.
///
///
[AWSProperty(Required=true)]
public AttributeDetails AttributeDetails
{
get { return this._attributeDetails; }
set { this._attributeDetails = value; }
}
// Check to see if AttributeDetails property is set
internal bool IsSetAttributeDetails()
{
return this._attributeDetails != null;
}
///
/// Gets and sets the property CalculatedAttributeName.
///
/// The unique name of the calculated attribute.
///
///
[AWSProperty(Required=true, Min=1, Max=255)]
public string CalculatedAttributeName
{
get { return this._calculatedAttributeName; }
set { this._calculatedAttributeName = value; }
}
// Check to see if CalculatedAttributeName property is set
internal bool IsSetCalculatedAttributeName()
{
return this._calculatedAttributeName != null;
}
///
/// Gets and sets the property Conditions.
///
/// The conditions including range, object count, and threshold for the calculated attribute.
///
///
public Conditions Conditions
{
get { return this._conditions; }
set { this._conditions = value; }
}
// Check to see if Conditions property is set
internal bool IsSetConditions()
{
return this._conditions != null;
}
///
/// Gets and sets the property Description.
///
/// The description of the calculated attribute.
///
///
[AWSProperty(Min=1, Max=1000)]
public string Description
{
get { return this._description; }
set { this._description = value; }
}
// Check to see if Description property is set
internal bool IsSetDescription()
{
return this._description != null;
}
///
/// Gets and sets the property DisplayName.
///
/// The display name of the calculated attribute.
///
///
[AWSProperty(Min=1, Max=255)]
public string DisplayName
{
get { return this._displayName; }
set { this._displayName = value; }
}
// Check to see if DisplayName property is set
internal bool IsSetDisplayName()
{
return this._displayName != null;
}
///
/// Gets and sets the property DomainName.
///
/// The unique name of the domain.
///
///
[AWSProperty(Required=true, Min=1, Max=64)]
public string DomainName
{
get { return this._domainName; }
set { this._domainName = value; }
}
// Check to see if DomainName property is set
internal bool IsSetDomainName()
{
return this._domainName != null;
}
///
/// Gets and sets the property Statistic.
///
/// The aggregation operation to perform for the calculated attribute.
///
///
[AWSProperty(Required=true)]
public Statistic Statistic
{
get { return this._statistic; }
set { this._statistic = value; }
}
// Check to see if Statistic property is set
internal bool IsSetStatistic()
{
return this._statistic != null;
}
///
/// Gets and sets the property Tags.
///
/// The tags used to organize, track, or control access for this resource.
///
///
[AWSProperty(Min=1, Max=50)]
public Dictionary Tags
{
get { return this._tags; }
set { this._tags = value; }
}
// Check to see if Tags property is set
internal bool IsSetTags()
{
return this._tags != null && this._tags.Count > 0;
}
}
}