/*
* 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 resource-explorer-2-2022-07-28.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.ResourceExplorer2.Model
{
///
/// Container for the parameters to the CreateView operation.
/// Creates a view that users can query by using the Search operation. Results
/// from queries that you make using this view include only resources that match the view's
/// Filters
. For more information about Amazon Web Services Resource Explorer
/// views, see Managing
/// views in the Amazon Web Services Resource Explorer User Guide.
///
///
///
/// Only the principals with an IAM identity-based policy that grants Allow
/// to the Search
action on a Resource
with the Amazon
/// resource name (ARN) of this view can Search using views you create with
/// this operation.
///
///
public partial class CreateViewRequest : AmazonResourceExplorer2Request
{
private string _clientToken;
private SearchFilter _filters;
private List _includedProperties = new List();
private Dictionary _tags = new Dictionary();
private string _viewName;
///
/// Gets and sets the property ClientToken.
///
/// This value helps ensure idempotency. Resource Explorer uses this value to prevent
/// the accidental creation of duplicate versions. We recommend that you generate a UUID-type value
/// to ensure the uniqueness of your views.
///
///
[AWSProperty(Min=1, Max=2048)]
public string ClientToken
{
get { return this._clientToken; }
set { this._clientToken = value; }
}
// Check to see if ClientToken property is set
internal bool IsSetClientToken()
{
return this._clientToken != null;
}
///
/// Gets and sets the property Filters.
///
/// An array of strings that specify which resources are included in the results of queries
/// made using this view. When you use this view in a Search operation, the filter
/// string is combined with the search's QueryString
parameter using a logical
/// AND
operator.
///
///
///
/// For information about the supported syntax, see Search
/// query reference for Resource Explorer in the Amazon Web Services Resource Explorer
/// User Guide.
///
///
///
/// This query string in the context of this operation supports only filter
/// prefixes with optional operators.
/// It doesn't support free-form text. For example, the string region:us* service:ec2
/// -tag:stage=prod
includes all Amazon EC2 resources in any Amazon Web Services
/// Region that begins with the letters us
and is not tagged with
/// a key Stage
that has the value prod
.
///
///
///
[AWSProperty(Sensitive=true)]
public SearchFilter Filters
{
get { return this._filters; }
set { this._filters = value; }
}
// Check to see if Filters property is set
internal bool IsSetFilters()
{
return this._filters != null;
}
///
/// Gets and sets the property IncludedProperties.
///
/// Specifies optional fields that you want included in search results from this view.
/// It is a list of objects that each describe a field to include.
///
///
///
/// The default is an empty list, with no optional fields included in the results.
///
///
public List IncludedProperties
{
get { return this._includedProperties; }
set { this._includedProperties = value; }
}
// Check to see if IncludedProperties property is set
internal bool IsSetIncludedProperties()
{
return this._includedProperties != null && this._includedProperties.Count > 0;
}
///
/// Gets and sets the property Tags.
///
/// Tag key and value pairs that are attached to the view.
///
///
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;
}
///
/// Gets and sets the property ViewName.
///
/// The name of the new view. This name appears in the list of views in Resource Explorer.
///
///
///
/// The name must be no more than 64 characters long, and can include letters, digits,
/// and the dash (-) character. The name must be unique within its Amazon Web Services
/// Region.
///
///
[AWSProperty(Required=true)]
public string ViewName
{
get { return this._viewName; }
set { this._viewName = value; }
}
// Check to see if ViewName property is set
internal bool IsSetViewName()
{
return this._viewName != null;
}
}
}