/* * 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 rum-2018-05-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.CloudWatchRUM.Model { /// /// Container for the parameters to the BatchCreateRumMetricDefinitions operation. /// Specifies the extended metrics and custom metrics that you want a CloudWatch RUM app /// monitor to send to a destination. Valid destinations include CloudWatch and Evidently. /// /// /// /// By default, RUM app monitors send some metrics to CloudWatch. These default metrics /// are listed in CloudWatch /// metrics that you can collect with CloudWatch RUM. /// /// /// /// In addition to these default metrics, you can choose to send extended metrics or custom /// metrics or both. /// /// /// /// The maximum number of metric definitions that you can specify in one BatchCreateRumMetricDefinitions /// operation is 200. /// /// /// /// The maximum number of metric definitions that one destination can contain is 2000. /// /// /// /// Extended metrics sent to CloudWatch and RUM custom metrics are charged as CloudWatch /// custom metrics. Each combination of additional dimension name and dimension value /// counts as a custom metric. For more information, see Amazon /// CloudWatch Pricing. /// /// /// /// You must have already created a destination for the metrics before you send them. /// For more information, see PutRumMetricsDestination. /// /// /// /// If some metric definitions specified in a BatchCreateRumMetricDefinitions /// operations are not valid, those metric definitions fail and return errors, but all /// valid metric definitions in the same operation still succeed. /// /// public partial class BatchCreateRumMetricDefinitionsRequest : AmazonCloudWatchRUMRequest { private string _appMonitorName; private MetricDestination _destination; private string _destinationArn; private List _metricDefinitions = new List(); /// /// Gets and sets the property AppMonitorName. /// /// The name of the CloudWatch RUM app monitor that is to send the metrics. /// /// [AWSProperty(Required=true, Min=1, Max=255)] public string AppMonitorName { get { return this._appMonitorName; } set { this._appMonitorName = value; } } // Check to see if AppMonitorName property is set internal bool IsSetAppMonitorName() { return this._appMonitorName != null; } /// /// Gets and sets the property Destination. /// /// The destination to send the metrics to. Valid values are CloudWatch and /// Evidently. If you specify Evidently, you must also specify /// the ARN of the CloudWatchEvidently experiment that will receive the metrics and an /// IAM role that has permission to write to the experiment. /// /// [AWSProperty(Required=true)] public MetricDestination Destination { get { return this._destination; } set { this._destination = value; } } // Check to see if Destination property is set internal bool IsSetDestination() { return this._destination != null; } /// /// Gets and sets the property DestinationArn. /// /// This parameter is required if Destination is Evidently. /// If Destination is CloudWatch, do not use this parameter. /// /// /// /// This parameter specifies the ARN of the Evidently experiment that is to receive the /// metrics. You must have already defined this experiment as a valid destination. For /// more information, see PutRumMetricsDestination. /// /// [AWSProperty(Min=0, Max=2048)] public string DestinationArn { get { return this._destinationArn; } set { this._destinationArn = value; } } // Check to see if DestinationArn property is set internal bool IsSetDestinationArn() { return this._destinationArn != null; } /// /// Gets and sets the property MetricDefinitions. /// /// An array of structures which define the metrics that you want to send. /// /// [AWSProperty(Required=true)] public List MetricDefinitions { get { return this._metricDefinitions; } set { this._metricDefinitions = value; } } // Check to see if MetricDefinitions property is set internal bool IsSetMetricDefinitions() { return this._metricDefinitions != null && this._metricDefinitions.Count > 0; } } }