/*
* 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 SearchProfiles operation.
/// Searches for profiles within a specific domain using one or more predefined search
/// keys (e.g., _fullName, _phone, _email, _account, etc.) and/or custom-defined search
/// keys. A search key is a data type pair that consists of a KeyName
and
/// Values
list.
///
///
///
/// This operation supports searching for profiles with a minimum of 1 key-value(s) pair
/// and up to 5 key-value(s) pairs using either AND
or OR
logic.
///
///
public partial class SearchProfilesRequest : AmazonCustomerProfilesRequest
{
private List _additionalSearchKeys = new List();
private string _domainName;
private string _keyName;
private LogicalOperator _logicalOperator;
private int? _maxResults;
private string _nextToken;
private List _values = new List();
///
/// Gets and sets the property AdditionalSearchKeys.
///
/// A list of AdditionalSearchKey
objects that are each searchable identifiers
/// of a profile. Each AdditionalSearchKey
object contains a KeyName
/// and a list of Values
associated with that specific key (i.e., a key-value(s)
/// pair). These additional search keys will be used in conjunction with the LogicalOperator
/// and the required KeyName
and Values
parameters to search
/// for profiles that satisfy the search criteria.
///
///
[AWSProperty(Min=1, Max=4)]
public List AdditionalSearchKeys
{
get { return this._additionalSearchKeys; }
set { this._additionalSearchKeys = value; }
}
// Check to see if AdditionalSearchKeys property is set
internal bool IsSetAdditionalSearchKeys()
{
return this._additionalSearchKeys != null && this._additionalSearchKeys.Count > 0;
}
///
/// 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 KeyName.
///
/// A searchable identifier of a customer profile. The predefined keys you can use to
/// search include: _account, _profileId, _assetId, _caseId, _orderId, _fullName, _phone,
/// _email, _ctrContactId, _marketoLeadId, _salesforceAccountId, _salesforceContactId,
/// _salesforceAssetId, _zendeskUserId, _zendeskExternalId, _zendeskTicketId, _serviceNowSystemId,
/// _serviceNowIncidentId, _segmentUserId, _shopifyCustomerId, _shopifyOrderId.
///
///
[AWSProperty(Required=true, Min=1, Max=64)]
public string KeyName
{
get { return this._keyName; }
set { this._keyName = value; }
}
// Check to see if KeyName property is set
internal bool IsSetKeyName()
{
return this._keyName != null;
}
///
/// Gets and sets the property LogicalOperator.
///
/// Relationship between all specified search keys that will be used to search for profiles.
/// This includes the required KeyName
and Values
parameters
/// as well as any key-value(s) pairs specified in the AdditionalSearchKeys
/// list.
///
///
///
/// This parameter influences which profiles will be returned in the response in the following
/// manner:
///
/// -
///
///
AND
- The response only includes profiles that match all of the search
/// keys.
///
/// -
///
///
OR
- The response includes profiles that match at least one of the search
/// keys.
///
///
///
/// The OR
relationship is the default behavior if this parameter is not
/// included in the request.
///
///
public LogicalOperator LogicalOperator
{
get { return this._logicalOperator; }
set { this._logicalOperator = value; }
}
// Check to see if LogicalOperator property is set
internal bool IsSetLogicalOperator()
{
return this._logicalOperator != null;
}
///
/// Gets and sets the property MaxResults.
///
/// The maximum number of objects returned per page.
///
///
///
/// The default is 20 if this parameter is not included in the request.
///
///
[AWSProperty(Min=1, Max=100)]
public int MaxResults
{
get { return this._maxResults.GetValueOrDefault(); }
set { this._maxResults = value; }
}
// Check to see if MaxResults property is set
internal bool IsSetMaxResults()
{
return this._maxResults.HasValue;
}
///
/// Gets and sets the property NextToken.
///
/// The pagination token from the previous SearchProfiles API call.
///
///
[AWSProperty(Min=1, Max=1024)]
public string NextToken
{
get { return this._nextToken; }
set { this._nextToken = value; }
}
// Check to see if NextToken property is set
internal bool IsSetNextToken()
{
return this._nextToken != null;
}
///
/// Gets and sets the property Values.
///
/// A list of key values.
///
///
[AWSProperty(Required=true)]
public List Values
{
get { return this._values; }
set { this._values = value; }
}
// Check to see if Values property is set
internal bool IsSetValues()
{
return this._values != null && this._values.Count > 0;
}
}
}