/*
* 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 CreateAppMonitor operation.
/// Creates a Amazon CloudWatch RUM app monitor, which collects telemetry data from your
/// application and sends that data to RUM. The data includes performance and reliability
/// information such as page load time, client-side errors, and user behavior.
///
///
///
/// You use this operation only to create a new app monitor. To update an existing app
/// monitor, use UpdateAppMonitor
/// instead.
///
///
///
/// After you create an app monitor, sign in to the CloudWatch RUM console to get the
/// JavaScript code snippet to add to your web application. For more information, see
/// How
/// do I find a code snippet that I've already generated?
///
///
public partial class CreateAppMonitorRequest : AmazonCloudWatchRUMRequest
{
private AppMonitorConfiguration _appMonitorConfiguration;
private CustomEvents _customEvents;
private bool? _cwLogEnabled;
private string _domain;
private string _name;
private Dictionary _tags = new Dictionary();
///
/// Gets and sets the property AppMonitorConfiguration.
///
/// A structure that contains much of the configuration data for the app monitor. If you
/// are using Amazon Cognito for authorization, you must include this structure in your
/// request, and it must include the ID of the Amazon Cognito identity pool to use for
/// authorization. If you don't include AppMonitorConfiguration
, you must
/// set up your own authorization method. For more information, see Authorize
/// your application to send data to Amazon Web Services.
///
///
///
/// If you omit this argument, the sample rate used for RUM is set to 10% of the user
/// sessions.
///
///
public AppMonitorConfiguration AppMonitorConfiguration
{
get { return this._appMonitorConfiguration; }
set { this._appMonitorConfiguration = value; }
}
// Check to see if AppMonitorConfiguration property is set
internal bool IsSetAppMonitorConfiguration()
{
return this._appMonitorConfiguration != null;
}
///
/// Gets and sets the property CustomEvents.
///
/// Specifies whether this app monitor allows the web client to define and send custom
/// events. If you omit this parameter, custom events are DISABLED
.
///
///
///
/// For more information about custom events, see Send
/// custom events.
///
///
public CustomEvents CustomEvents
{
get { return this._customEvents; }
set { this._customEvents = value; }
}
// Check to see if CustomEvents property is set
internal bool IsSetCustomEvents()
{
return this._customEvents != null;
}
///
/// Gets and sets the property CwLogEnabled.
///
/// Data collected by RUM is kept by RUM for 30 days and then deleted. This parameter
/// specifies whether RUM sends a copy of this telemetry data to Amazon CloudWatch Logs
/// in your account. This enables you to keep the telemetry data for more than 30 days,
/// but it does incur Amazon CloudWatch Logs charges.
///
///
///
/// If you omit this parameter, the default is false
.
///
///
public bool CwLogEnabled
{
get { return this._cwLogEnabled.GetValueOrDefault(); }
set { this._cwLogEnabled = value; }
}
// Check to see if CwLogEnabled property is set
internal bool IsSetCwLogEnabled()
{
return this._cwLogEnabled.HasValue;
}
///
/// Gets and sets the property Domain.
///
/// The top-level internet domain name for which your application has administrative authority.
///
///
[AWSProperty(Required=true, Min=1, Max=253)]
public string Domain
{
get { return this._domain; }
set { this._domain = value; }
}
// Check to see if Domain property is set
internal bool IsSetDomain()
{
return this._domain != null;
}
///
/// Gets and sets the property Name.
///
/// A name for the app monitor.
///
///
[AWSProperty(Required=true, Min=1, Max=255)]
public string Name
{
get { return this._name; }
set { this._name = value; }
}
// Check to see if Name property is set
internal bool IsSetName()
{
return this._name != null;
}
///
/// Gets and sets the property Tags.
///
/// Assigns one or more tags (key-value pairs) to the app monitor.
///
///
///
/// 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.
///
///
///
/// Tags don't have any semantic meaning to Amazon Web Services and are interpreted strictly
/// as strings of characters.
///
///
///
/// You can associate as many as 50 tags with an app monitor.
///
///
///
/// For more information, see Tagging
/// Amazon Web Services resources.
///
///
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;
}
}
}