/*
* 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 application-insights-2018-11-25.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.ApplicationInsights.Model
{
///
/// Describes a standalone resource or similarly grouped resources that the application
/// is made up of.
///
public partial class ApplicationComponent
{
private string _componentName;
private string _componentRemarks;
private Dictionary> _detectedWorkload = new Dictionary>();
private bool? _monitor;
private OsType _osType;
private string _resourceType;
private Tier _tier;
///
/// Gets and sets the property ComponentName.
///
/// The name of the component.
///
///
[AWSProperty(Min=1, Max=1011)]
public string ComponentName
{
get { return this._componentName; }
set { this._componentName = value; }
}
// Check to see if ComponentName property is set
internal bool IsSetComponentName()
{
return this._componentName != null;
}
///
/// Gets and sets the property ComponentRemarks.
///
/// If logging is supported for the resource type, indicates whether the component has
/// configured logs to be monitored.
///
///
public string ComponentRemarks
{
get { return this._componentRemarks; }
set { this._componentRemarks = value; }
}
// Check to see if ComponentRemarks property is set
internal bool IsSetComponentRemarks()
{
return this._componentRemarks != null;
}
///
/// Gets and sets the property DetectedWorkload.
///
/// Workloads detected in the application component.
///
///
public Dictionary> DetectedWorkload
{
get { return this._detectedWorkload; }
set { this._detectedWorkload = value; }
}
// Check to see if DetectedWorkload property is set
internal bool IsSetDetectedWorkload()
{
return this._detectedWorkload != null && this._detectedWorkload.Count > 0;
}
///
/// Gets and sets the property Monitor.
///
/// Indicates whether the application component is monitored.
///
///
public bool Monitor
{
get { return this._monitor.GetValueOrDefault(); }
set { this._monitor = value; }
}
// Check to see if Monitor property is set
internal bool IsSetMonitor()
{
return this._monitor.HasValue;
}
///
/// Gets and sets the property OsType.
///
/// The operating system of the component.
///
///
public OsType OsType
{
get { return this._osType; }
set { this._osType = value; }
}
// Check to see if OsType property is set
internal bool IsSetOsType()
{
return this._osType != null;
}
///
/// Gets and sets the property ResourceType.
///
/// The resource type. Supported resource types include EC2 instances, Auto Scaling group,
/// Classic ELB, Application ELB, and SQS Queue.
///
///
[AWSProperty(Min=1, Max=50)]
public string ResourceType
{
get { return this._resourceType; }
set { this._resourceType = value; }
}
// Check to see if ResourceType property is set
internal bool IsSetResourceType()
{
return this._resourceType != null;
}
///
/// Gets and sets the property Tier.
///
/// The stack tier of the application component.
///
///
[AWSProperty(Min=1, Max=50)]
public Tier Tier
{
get { return this._tier; }
set { this._tier = value; }
}
// Check to see if Tier property is set
internal bool IsSetTier()
{
return this._tier != null;
}
}
}