Class CommandPlugin

    • Method Detail

      • name

        public final String name()

        The name of the plugin. Must be one of the following: aws:updateAgent, aws:domainjoin, aws:applications, aws:runPowerShellScript, aws:psmodule, aws:cloudWatch, aws:runShellScript, or aws:updateSSMAgent.

        Returns:
        The name of the plugin. Must be one of the following: aws:updateAgent, aws:domainjoin, aws:applications, aws:runPowerShellScript, aws:psmodule, aws:cloudWatch, aws:runShellScript, or aws:updateSSMAgent.
      • statusAsString

        public final String statusAsString()

        The status of this plugin. You can run a document with multiple plugins.

        If the service returns an enum value that is not available in the current SDK version, status will return CommandPluginStatus.UNKNOWN_TO_SDK_VERSION. The raw value returned by the service is available from statusAsString().

        Returns:
        The status of this plugin. You can run a document with multiple plugins.
        See Also:
        CommandPluginStatus
      • statusDetails

        public final String statusDetails()

        A detailed status of the plugin execution. 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.

        • Success: The execution of the command or plugin was successfully completed. 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: Command execution started on the managed node, but the execution wasn't complete before the execution timeout expired. Execution timeouts count against the MaxErrors limit of the parent command. This is a terminal state.

        • Failed: The command wasn't successful 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 managed node might not exist, or it might not be responding. Undeliverable invocations don't count against the parent command's MaxErrors limit, and they 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.

        Returns:
        A detailed status of the plugin execution. 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.

        • Success: The execution of the command or plugin was successfully completed. 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: Command execution started on the managed node, but the execution wasn't complete before the execution timeout expired. Execution timeouts count against the MaxErrors limit of the parent command. This is a terminal state.

        • Failed: The command wasn't successful 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 managed node might not exist, or it might not be responding. Undeliverable invocations don't count against the parent command's MaxErrors limit, and they 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.

      • responseCode

        public final Integer responseCode()

        A numeric response code generated after running the plugin.

        Returns:
        A numeric response code generated after running the plugin.
      • responseStartDateTime

        public final Instant responseStartDateTime()

        The time the plugin started running.

        Returns:
        The time the plugin started running.
      • responseFinishDateTime

        public final Instant responseFinishDateTime()

        The time the plugin stopped running. Could stop prematurely if, for example, a cancel command was sent.

        Returns:
        The time the plugin stopped running. Could stop prematurely if, for example, a cancel command was sent.
      • output

        public final String output()

        Output of the plugin execution.

        Returns:
        Output of the plugin execution.
      • standardOutputUrl

        public final String standardOutputUrl()

        The URL for the complete text written by the plugin to stdout in Amazon S3. If the S3 bucket for the command wasn't specified, then this string is empty.

        Returns:
        The URL for the complete text written by the plugin to stdout in Amazon S3. If the S3 bucket for the command wasn't specified, then this string is empty.
      • standardErrorUrl

        public final String standardErrorUrl()

        The URL for the complete text written by the plugin to stderr. If execution isn't yet complete, then this string is empty.

        Returns:
        The URL for the complete text written by the plugin to stderr. If execution isn't yet complete, then this string is empty.
      • outputS3Region

        public final String outputS3Region()

        (Deprecated) You can no longer specify this parameter. The system ignores it. Instead, Amazon Web Services Systems Manager automatically determines the S3 bucket region.

        Returns:
        (Deprecated) You can no longer specify this parameter. The system ignores it. Instead, Amazon Web Services Systems Manager automatically determines the S3 bucket region.
      • outputS3BucketName

        public final String outputS3BucketName()

        The S3 bucket where the responses to the command executions should be stored. This was requested when issuing the command. For example, in the following response:

        doc-example-bucket/ab19cb99-a030-46dd-9dfc-8eSAMPLEPre-Fix/i-02573cafcfEXAMPLE/awsrunShellScript

        doc-example-bucket is the name of the S3 bucket;

        ab19cb99-a030-46dd-9dfc-8eSAMPLEPre-Fix is the name of the S3 prefix;

        i-02573cafcfEXAMPLE is the managed node ID;

        awsrunShellScript is the name of the plugin.

        Returns:
        The S3 bucket where the responses to the command executions should be stored. This was requested when issuing the command. For example, in the following response:

        doc-example-bucket/ab19cb99-a030-46dd-9dfc-8eSAMPLEPre-Fix/i-02573cafcfEXAMPLE/awsrunShellScript

        doc-example-bucket is the name of the S3 bucket;

        ab19cb99-a030-46dd-9dfc-8eSAMPLEPre-Fix is the name of the S3 prefix;

        i-02573cafcfEXAMPLE is the managed node ID;

        awsrunShellScript is the name of the plugin.

      • outputS3KeyPrefix

        public final String outputS3KeyPrefix()

        The S3 directory path inside the bucket where the responses to the command executions should be stored. This was requested when issuing the command. For example, in the following response:

        doc-example-bucket/ab19cb99-a030-46dd-9dfc-8eSAMPLEPre-Fix/i-02573cafcfEXAMPLE/awsrunShellScript

        doc-example-bucket is the name of the S3 bucket;

        ab19cb99-a030-46dd-9dfc-8eSAMPLEPre-Fix is the name of the S3 prefix;

        i-02573cafcfEXAMPLE is the managed node ID;

        awsrunShellScript is the name of the plugin.

        Returns:
        The S3 directory path inside the bucket where the responses to the command executions should be stored. This was requested when issuing the command. For example, in the following response:

        doc-example-bucket/ab19cb99-a030-46dd-9dfc-8eSAMPLEPre-Fix/i-02573cafcfEXAMPLE/awsrunShellScript

        doc-example-bucket is the name of the S3 bucket;

        ab19cb99-a030-46dd-9dfc-8eSAMPLEPre-Fix is the name of the S3 prefix;

        i-02573cafcfEXAMPLE is the managed node ID;

        awsrunShellScript is the name of the plugin.

      • hashCode

        public final int hashCode()
        Overrides:
        hashCode in class Object
      • equals

        public final boolean equals​(Object obj)
        Overrides:
        equals in class Object
      • toString

        public final String toString()
        Returns a string representation of this object. This is useful for testing and debugging. Sensitive data will be redacted from this string using a placeholder value.
        Overrides:
        toString in class Object
      • getValueForField

        public final <T> Optional<T> getValueForField​(String fieldName,
                                                      Class<T> clazz)