/*
* 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 greengrassv2-2020-11-30.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.GreengrassV2.Model
{
///
/// Container for the parameters to the ListInstalledComponents operation.
/// Retrieves a paginated list of the components that a Greengrass core device runs. By
/// default, this list doesn't include components that are deployed as dependencies of
/// other components. To include dependencies in the response, set the topologyFilter
/// parameter to ALL
.
///
///
///
/// IoT Greengrass relies on individual devices to send status updates to the Amazon Web
/// Services Cloud. If the IoT Greengrass Core software isn't running on the device, or
/// if device isn't connected to the Amazon Web Services Cloud, then the reported status
/// of that device might not reflect its current status. The status timestamp indicates
/// when the device status was last updated.
///
///
///
/// Core devices send status updates at the following times:
///
/// -
///
/// When the IoT Greengrass Core software starts
///
///
-
///
/// When the core device receives a deployment from the Amazon Web Services Cloud
///
///
-
///
/// When the status of any component on the core device becomes
BROKEN
///
/// -
///
/// At a regular
/// interval that you can configure, which defaults to 24 hours
///
///
-
///
/// For IoT Greengrass Core v2.7.0, the core device sends status updates upon local deployment
/// and cloud deployment
///
///
///
public partial class ListInstalledComponentsRequest : AmazonGreengrassV2Request
{
private string _coreDeviceThingName;
private int? _maxResults;
private string _nextToken;
private InstalledComponentTopologyFilter _topologyFilter;
///
/// Gets and sets the property CoreDeviceThingName.
///
/// The name of the core device. This is also the name of the IoT thing.
///
///
[AWSProperty(Required=true, Min=1, Max=128)]
public string CoreDeviceThingName
{
get { return this._coreDeviceThingName; }
set { this._coreDeviceThingName = value; }
}
// Check to see if CoreDeviceThingName property is set
internal bool IsSetCoreDeviceThingName()
{
return this._coreDeviceThingName != null;
}
///
/// Gets and sets the property MaxResults.
///
/// The maximum number of results to be returned per paginated request.
///
///
[AWSProperty(Min=1, Max=100)]
public int MaxResults
{
get { return this._maxResults.GetValueOrDefault(); }
set { this._maxResults = value; }
}
// Check to see if MaxResults property is set
internal bool IsSetMaxResults()
{
return this._maxResults.HasValue;
}
///
/// Gets and sets the property NextToken.
///
/// The token to be used for the next set of paginated results.
///
///
public string NextToken
{
get { return this._nextToken; }
set { this._nextToken = value; }
}
// Check to see if NextToken property is set
internal bool IsSetNextToken()
{
return this._nextToken != null;
}
///
/// Gets and sets the property TopologyFilter.
///
/// The filter for the list of components. Choose from the following options:
///
/// -
///
///
ALL
– The list includes all components installed on the core device.
///
/// -
///
///
ROOT
– The list includes only root components, which are components
/// that you specify in a deployment. When you choose this option, the list doesn't include
/// components that the core device installs as dependencies of other components.
///
///
///
/// Default: ROOT
///
///
public InstalledComponentTopologyFilter TopologyFilter
{
get { return this._topologyFilter; }
set { this._topologyFilter = value; }
}
// Check to see if TopologyFilter property is set
internal bool IsSetTopologyFilter()
{
return this._topologyFilter != null;
}
}
}