/*
* 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 CreateIndex operation.
/// Turns on Amazon Web Services Resource Explorer in the Amazon Web Services Region in
/// which you called this operation by creating an index. Resource Explorer begins discovering
/// the resources in this Region and stores the details about the resources in the index
/// so that they can be queried by using the Search operation. You can create only
/// one index in a Region.
///
///
///
/// This operation creates only a local index. To promote the local index in one
/// Amazon Web Services Region into the aggregator index for the Amazon Web Services account,
/// use the UpdateIndexType operation. For more information, see Turning
/// on cross-Region search by creating an aggregator index in the Amazon Web Services
/// Resource Explorer User Guide.
///
///
///
/// For more details about what happens when you turn on Resource Explorer in an Amazon
/// Web Services Region, see Turn
/// on Resource Explorer to index your resources in an Amazon Web Services Region
/// in the Amazon Web Services Resource Explorer User Guide.
///
///
///
/// If this is the first Amazon Web Services Region in which you've created an index for
/// Resource Explorer, then this operation also creates
/// a service-linked role in your Amazon Web Services account that allows Resource
/// Explorer to enumerate your resources to populate the index.
///
/// -
///
/// Action:
resource-explorer-2:CreateIndex
///
///
///
/// Resource: The ARN of the index (as it will exist after the operation completes)
/// in the Amazon Web Services Region and account in which you're trying to create the
/// index. Use the wildcard character (*
) at the end of the string to match
/// the eventual UUID. For example, the following Resource
element restricts
/// the role or user to creating an index in only the us-east-2
Region of
/// the specified account.
///
///
///
/// "Resource": "arn:aws:resource-explorer-2:us-west-2:<account-id>:index/*"
///
///
///
///
/// Alternatively, you can use "Resource": "*"
to allow the role or user
/// to create an index in any Region.
///
/// -
///
/// Action:
iam:CreateServiceLinkedRole
///
///
///
/// Resource: No specific resource (*).
///
///
///
/// This permission is required only the first time you create an index to turn on Resource
/// Explorer in the account. Resource Explorer uses this to create the service-linked
/// role needed to index the resources in your account. Resource Explorer uses the
/// same service-linked role for all additional indexes you create afterwards.
///
///
///
public partial class CreateIndexRequest : AmazonResourceExplorer2Request
{
private string _clientToken;
private Dictionary _tags = new Dictionary();
///
/// 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.
///
///
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 Tags.
///
/// The specified tags are attached only to the index created in this Amazon Web Services
/// Region. The tags aren't attached to any of the resources listed in the index.
///
///
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;
}
}
}