/*
* 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 ssm-2014-11-06.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.SimpleSystemsManagement.Model
{
///
/// This is the response object from the GetCommandInvocation operation.
///
public partial class GetCommandInvocationResponse : AmazonWebServiceResponse
{
private CloudWatchOutputConfig _cloudWatchOutputConfig;
private string _commandId;
private string _comment;
private string _documentName;
private string _documentVersion;
private string _executionElapsedTime;
private string _executionEndDateTime;
private string _executionStartDateTime;
private string _instanceId;
private string _pluginName;
private int? _responseCode;
private string _standardErrorContent;
private string _standardErrorUrl;
private string _standardOutputContent;
private string _standardOutputUrl;
private CommandInvocationStatus _status;
private string _statusDetails;
///
/// Gets and sets the property CloudWatchOutputConfig.
///
/// Amazon CloudWatch Logs information where Systems Manager sent the command output.
///
///
public CloudWatchOutputConfig CloudWatchOutputConfig
{
get { return this._cloudWatchOutputConfig; }
set { this._cloudWatchOutputConfig = value; }
}
// Check to see if CloudWatchOutputConfig property is set
internal bool IsSetCloudWatchOutputConfig()
{
return this._cloudWatchOutputConfig != null;
}
///
/// Gets and sets the property CommandId.
///
/// The parent command ID of the invocation plugin.
///
///
[AWSProperty(Min=36, Max=36)]
public string CommandId
{
get { return this._commandId; }
set { this._commandId = value; }
}
// Check to see if CommandId property is set
internal bool IsSetCommandId()
{
return this._commandId != null;
}
///
/// Gets and sets the property Comment.
///
/// The comment text for the command.
///
///
[AWSProperty(Max=100)]
public string Comment
{
get { return this._comment; }
set { this._comment = value; }
}
// Check to see if Comment property is set
internal bool IsSetComment()
{
return this._comment != null;
}
///
/// Gets and sets the property DocumentName.
///
/// The name of the document that was run. For example, AWS-RunShellScript
.
///
///
public string DocumentName
{
get { return this._documentName; }
set { this._documentName = value; }
}
// Check to see if DocumentName property is set
internal bool IsSetDocumentName()
{
return this._documentName != null;
}
///
/// Gets and sets the property DocumentVersion.
///
/// The Systems Manager document (SSM document) version used in the request.
///
///
public string DocumentVersion
{
get { return this._documentVersion; }
set { this._documentVersion = value; }
}
// Check to see if DocumentVersion property is set
internal bool IsSetDocumentVersion()
{
return this._documentVersion != null;
}
///
/// Gets and sets the property ExecutionElapsedTime.
///
/// Duration since ExecutionStartDateTime
.
///
///
public string ExecutionElapsedTime
{
get { return this._executionElapsedTime; }
set { this._executionElapsedTime = value; }
}
// Check to see if ExecutionElapsedTime property is set
internal bool IsSetExecutionElapsedTime()
{
return this._executionElapsedTime != null;
}
///
/// Gets and sets the property ExecutionEndDateTime.
///
/// The date and time the plugin finished running. Date and time are written in ISO 8601
/// format. For example, June 7, 2017 is represented as 2017-06-7. The following sample
/// Amazon Web Services CLI command uses the InvokedAfter
filter.
///
///
///
/// aws ssm list-commands --filters key=InvokedAfter,value=2017-06-07T00:00:00Z
///
///
///
///
/// If the plugin hasn't started to run, the string is empty.
///
///
public string ExecutionEndDateTime
{
get { return this._executionEndDateTime; }
set { this._executionEndDateTime = value; }
}
// Check to see if ExecutionEndDateTime property is set
internal bool IsSetExecutionEndDateTime()
{
return this._executionEndDateTime != null;
}
///
/// Gets and sets the property ExecutionStartDateTime.
///
/// The date and time the plugin started running. Date and time are written in ISO 8601
/// format. For example, June 7, 2017 is represented as 2017-06-7. The following sample
/// Amazon Web Services CLI command uses the InvokedBefore
filter.
///
///
///
/// aws ssm list-commands --filters key=InvokedBefore,value=2017-06-07T00:00:00Z
///
///
///
///
/// If the plugin hasn't started to run, the string is empty.
///
///
public string ExecutionStartDateTime
{
get { return this._executionStartDateTime; }
set { this._executionStartDateTime = value; }
}
// Check to see if ExecutionStartDateTime property is set
internal bool IsSetExecutionStartDateTime()
{
return this._executionStartDateTime != null;
}
///
/// Gets and sets the property InstanceId.
///
/// The ID of the managed node targeted by the command. A managed node can be an
/// Amazon Elastic Compute Cloud (Amazon EC2) instance, edge device, or on-premises server
/// or VM in your hybrid environment that is configured for Amazon Web Services Systems
/// Manager.
///
///
public string InstanceId
{
get { return this._instanceId; }
set { this._instanceId = value; }
}
// Check to see if InstanceId property is set
internal bool IsSetInstanceId()
{
return this._instanceId != null;
}
///
/// Gets and sets the property PluginName.
///
/// The name of the plugin, or step name, for which details are reported. For example,
/// aws:RunShellScript
is a plugin.
///
///
[AWSProperty(Min=4)]
public string PluginName
{
get { return this._pluginName; }
set { this._pluginName = value; }
}
// Check to see if PluginName property is set
internal bool IsSetPluginName()
{
return this._pluginName != null;
}
///
/// Gets and sets the property ResponseCode.
///
/// The error level response code for the plugin script. If the response code is -1
,
/// then the command hasn't started running on the managed node, or it wasn't received
/// by the node.
///
///
public int ResponseCode
{
get { return this._responseCode.GetValueOrDefault(); }
set { this._responseCode = value; }
}
// Check to see if ResponseCode property is set
internal bool IsSetResponseCode()
{
return this._responseCode.HasValue;
}
///
/// Gets and sets the property StandardErrorContent.
///
/// The first 8,000 characters written by the plugin to stderr
. If the command
/// hasn't finished running, then this string is empty.
///
///
[AWSProperty(Max=8000)]
public string StandardErrorContent
{
get { return this._standardErrorContent; }
set { this._standardErrorContent = value; }
}
// Check to see if StandardErrorContent property is set
internal bool IsSetStandardErrorContent()
{
return this._standardErrorContent != null;
}
///
/// Gets and sets the property StandardErrorUrl.
///
/// The URL for the complete text written by the plugin to stderr
. If the
/// command hasn't finished running, then this string is empty.
///
///
public string StandardErrorUrl
{
get { return this._standardErrorUrl; }
set { this._standardErrorUrl = value; }
}
// Check to see if StandardErrorUrl property is set
internal bool IsSetStandardErrorUrl()
{
return this._standardErrorUrl != null;
}
///
/// Gets and sets the property StandardOutputContent.
///
/// The first 24,000 characters written by the plugin to stdout
. If the command
/// hasn't finished running, if ExecutionStatus
is neither Succeeded nor
/// Failed, then this string is empty.
///
///
[AWSProperty(Max=24000)]
public string StandardOutputContent
{
get { return this._standardOutputContent; }
set { this._standardOutputContent = value; }
}
// Check to see if StandardOutputContent property is set
internal bool IsSetStandardOutputContent()
{
return this._standardOutputContent != null;
}
///
/// Gets and sets the property StandardOutputUrl.
///
/// The URL for the complete text written by the plugin to stdout
in Amazon
/// Simple Storage Service (Amazon S3). If an S3 bucket wasn't specified, then this string
/// is empty.
///
///
public string StandardOutputUrl
{
get { return this._standardOutputUrl; }
set { this._standardOutputUrl = value; }
}
// Check to see if StandardOutputUrl property is set
internal bool IsSetStandardOutputUrl()
{
return this._standardOutputUrl != null;
}
///
/// Gets and sets the property Status.
///
/// The status of this invocation plugin. This status can be different than StatusDetails
.
///
///
public CommandInvocationStatus Status
{
get { return this._status; }
set { this._status = value; }
}
// Check to see if Status property is set
internal bool IsSetStatus()
{
return this._status != null;
}
///
/// Gets and sets the property StatusDetails.
///
/// A detailed status of the command execution for an invocation. StatusDetails
/// includes more information than Status
because it includes states resulting
/// from error and concurrency control parameters. StatusDetails
can show
/// different results than Status
. For more information about these statuses,
/// see Understanding
/// command statuses in the Amazon Web Services Systems Manager User Guide.
/// StatusDetails
can be one of the following values:
///
/// -
///
/// Pending: The command hasn't been sent to the managed node.
///
///
-
///
/// In Progress: The command has been sent to the managed node but hasn't reached a terminal
/// state.
///
///
-
///
/// Delayed: The system attempted to send the command to the target, but the target wasn't
/// available. The managed node might not be available because of network issues, because
/// the node was stopped, or for similar reasons. The system will try to send the command
/// again.
///
///
-
///
/// Success: The command or plugin ran successfully. This is a terminal state.
///
///
-
///
/// Delivery Timed Out: The command wasn't delivered to the managed node before the delivery
/// timeout expired. Delivery timeouts don't count against the parent command's
MaxErrors
/// limit, but they do contribute to whether the parent command status is Success or Incomplete.
/// This is a terminal state.
///
/// -
///
/// Execution Timed Out: The command started to run on the managed node, but the execution
/// wasn't complete before the timeout expired. Execution timeouts count against the
MaxErrors
/// limit of the parent command. This is a terminal state.
///
/// -
///
/// Failed: The command wasn't run successfully on the managed node. For a plugin, this
/// indicates that the result code wasn't zero. For a command invocation, this indicates
/// that the result code for one or more plugins wasn't zero. Invocation failures count
/// against the
MaxErrors
limit of the parent command. This is a terminal
/// state.
///
/// -
///
/// Cancelled: The command was terminated before it was completed. This is a terminal
/// state.
///
///
-
///
/// Undeliverable: The command can't be delivered to the managed node. The node might
/// not exist or might not be responding. Undeliverable invocations don't count against
/// the parent command's
MaxErrors
limit and don't contribute to whether
/// the parent command status is Success or Incomplete. This is a terminal state.
///
/// -
///
/// Terminated: The parent command exceeded its
MaxErrors
limit and subsequent
/// command invocations were canceled by the system. This is a terminal state.
///
///
///
[AWSProperty(Min=0, Max=100)]
public string StatusDetails
{
get { return this._statusDetails; }
set { this._statusDetails = value; }
}
// Check to see if StatusDetails property is set
internal bool IsSetStatusDetails()
{
return this._statusDetails != null;
}
}
}