/* * 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 oam-2022-06-10.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.OAM.Model { /// /// Container for the parameters to the CreateLink operation. /// Creates a link between a source account and a sink that you have created in a monitoring /// account. /// /// /// /// Before you create a link, you must create a sink in the monitoring account and create /// a sink policy in that account. The sink policy must permit the source account to link /// to it. You can grant permission to source accounts by granting permission to an entire /// organization or to individual accounts. /// /// /// /// For more information, see CreateSink /// and PutSinkPolicy. /// /// /// /// Each monitoring account can be linked to as many as 100,000 source accounts. /// /// /// /// Each source account can be linked to as many as five monitoring accounts. /// /// public partial class CreateLinkRequest : AmazonOAMRequest { private string _labelTemplate; private List _resourceTypes = new List(); private string _sinkIdentifier; private Dictionary _tags = new Dictionary(); /// /// Gets and sets the property LabelTemplate. /// /// Specify a friendly human-readable name to use to identify this source account when /// you are viewing data from it in the monitoring account. /// /// /// /// You can use a custom label or use the following variables: /// ///
  • /// /// $AccountName is the name of the account /// ///
  • /// /// $AccountEmail is the globally unique email address of the account /// ///
  • /// /// $AccountEmailNoDomain is the email address of the account without the /// domain name /// ///
///
[AWSProperty(Required=true, Min=1, Max=64)] public string LabelTemplate { get { return this._labelTemplate; } set { this._labelTemplate = value; } } // Check to see if LabelTemplate property is set internal bool IsSetLabelTemplate() { return this._labelTemplate != null; } /// /// Gets and sets the property ResourceTypes. /// /// An array of strings that define which types of data that the source account shares /// with the monitoring account. /// /// [AWSProperty(Required=true, Min=1, Max=50)] public List ResourceTypes { get { return this._resourceTypes; } set { this._resourceTypes = value; } } // Check to see if ResourceTypes property is set internal bool IsSetResourceTypes() { return this._resourceTypes != null && this._resourceTypes.Count > 0; } /// /// Gets and sets the property SinkIdentifier. /// /// The ARN of the sink to use to create this link. You can use ListSinks /// to find the ARNs of sinks. /// /// /// /// For more information about sinks, see CreateSink. /// /// [AWSProperty(Required=true)] public string SinkIdentifier { get { return this._sinkIdentifier; } set { this._sinkIdentifier = value; } } // Check to see if SinkIdentifier property is set internal bool IsSetSinkIdentifier() { return this._sinkIdentifier != null; } /// /// Gets and sets the property Tags. /// /// Assigns one or more tags (key-value pairs) to the link. /// /// /// /// Tags can help you organize and categorize your resources. You can also use them to /// scope user permissions by granting a user permission to access or change only resources /// with certain tag values. /// /// /// /// For more information about using tags to control access, see Controlling /// access to Amazon Web Services resources using tags. /// /// [AWSProperty(Min=0, 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; } } }