/* * Copyright 2018-2023 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. */ package com.amazonaws.services.simplesystemsmanagement.model; import java.io.Serializable; import javax.annotation.Generated; import com.amazonaws.protocol.StructuredPojo; import com.amazonaws.protocol.ProtocolMarshaller; /** *

* Defines the high-level patch compliance state for a managed node, providing information about the number of * installed, missing, not applicable, and failed patches along with metadata about the operation when this information * was gathered for the managed node. *

* * @see AWS API * Documentation */ @Generated("com.amazonaws:aws-java-sdk-code-generator") public class InstancePatchState implements Serializable, Cloneable, StructuredPojo { /** *

* The ID of the managed node the high-level patch compliance information was collected for. *

*/ private String instanceId; /** *

* The name of the patch group the managed node belongs to. *

*/ private String patchGroup; /** *

* The ID of the patch baseline used to patch the managed node. *

*/ private String baselineId; /** *

* The ID of the patch baseline snapshot used during the patching operation when this compliance data was collected. *

*/ private String snapshotId; /** *

* An https URL or an Amazon Simple Storage Service (Amazon S3) path-style URL to a list of patches to be installed. * This patch installation list, which you maintain in an S3 bucket in YAML format and specify in the SSM document * AWS-RunPatchBaseline, overrides the patches specified by the default patch baseline. *

*

* For more information about the InstallOverrideList parameter, see About the AWS-RunPatchBaseline SSM document in the Amazon Web Services Systems Manager User * Guide. *

*/ private String installOverrideList; /** *

* Placeholder information. This field will always be empty in the current release of the service. *

*/ private String ownerInformation; /** *

* The number of patches from the patch baseline that are installed on the managed node. *

*/ private Integer installedCount; /** *

* The number of patches not specified in the patch baseline that are installed on the managed node. *

*/ private Integer installedOtherCount; /** *

* The number of patches installed by Patch Manager since the last time the managed node was rebooted. *

*/ private Integer installedPendingRebootCount; /** *

* The number of patches installed on a managed node that are specified in a RejectedPatches list. * Patches with a status of InstalledRejected were typically installed before they were added to a * RejectedPatches list. *

* *

* If ALLOW_AS_DEPENDENCY is the specified option for RejectedPatchesAction, the value of * InstalledRejectedCount will always be 0 (zero). *

*
*/ private Integer installedRejectedCount; /** *

* The number of patches from the patch baseline that are applicable for the managed node but aren't currently * installed. *

*/ private Integer missingCount; /** *

* The number of patches from the patch baseline that were attempted to be installed during the last patching * operation, but failed to install. *

*/ private Integer failedCount; /** *

* The number of patches beyond the supported limit of NotApplicableCount that aren't reported by name * to Inventory. Inventory is a capability of Amazon Web Services Systems Manager. *

*/ private Integer unreportedNotApplicableCount; /** *

* The number of patches from the patch baseline that aren't applicable for the managed node and therefore aren't * installed on the node. This number may be truncated if the list of patch names is very large. The number of * patches beyond this limit are reported in UnreportedNotApplicableCount. *

*/ private Integer notApplicableCount; /** *

* The time the most recent patching operation was started on the managed node. *

*/ private java.util.Date operationStartTime; /** *

* The time the most recent patching operation completed on the managed node. *

*/ private java.util.Date operationEndTime; /** *

* The type of patching operation that was performed: or *

* */ private String operation; /** *

* The time of the last attempt to patch the managed node with NoReboot specified as the reboot option. *

*/ private java.util.Date lastNoRebootInstallOperationTime; /** *

* Indicates the reboot option specified in the patch baseline. *

* *

* Reboot options apply to Install operations only. Reboots aren't attempted for Patch Manager * Scan operations. *

*
* */ private String rebootOption; /** *

* The number of patches per node that are specified as Critical for compliance reporting in the patch * baseline aren't installed. These patches might be missing, have failed installation, were rejected, or were * installed but awaiting a required managed node reboot. The status of these managed nodes is * NON_COMPLIANT. *

*/ private Integer criticalNonCompliantCount; /** *

* The number of patches per node that are specified as Security in a patch advisory aren't installed. * These patches might be missing, have failed installation, were rejected, or were installed but awaiting a * required managed node reboot. The status of these managed nodes is NON_COMPLIANT. *

*/ private Integer securityNonCompliantCount; /** *

* The number of patches per node that are specified as other than Critical or Security * but aren't compliant with the patch baseline. The status of these managed nodes is NON_COMPLIANT. *

*/ private Integer otherNonCompliantCount; /** *

* The ID of the managed node the high-level patch compliance information was collected for. *

* * @param instanceId * The ID of the managed node the high-level patch compliance information was collected for. */ public void setInstanceId(String instanceId) { this.instanceId = instanceId; } /** *

* The ID of the managed node the high-level patch compliance information was collected for. *

* * @return The ID of the managed node the high-level patch compliance information was collected for. */ public String getInstanceId() { return this.instanceId; } /** *

* The ID of the managed node the high-level patch compliance information was collected for. *

* * @param instanceId * The ID of the managed node the high-level patch compliance information was collected for. * @return Returns a reference to this object so that method calls can be chained together. */ public InstancePatchState withInstanceId(String instanceId) { setInstanceId(instanceId); return this; } /** *

* The name of the patch group the managed node belongs to. *

* * @param patchGroup * The name of the patch group the managed node belongs to. */ public void setPatchGroup(String patchGroup) { this.patchGroup = patchGroup; } /** *

* The name of the patch group the managed node belongs to. *

* * @return The name of the patch group the managed node belongs to. */ public String getPatchGroup() { return this.patchGroup; } /** *

* The name of the patch group the managed node belongs to. *

* * @param patchGroup * The name of the patch group the managed node belongs to. * @return Returns a reference to this object so that method calls can be chained together. */ public InstancePatchState withPatchGroup(String patchGroup) { setPatchGroup(patchGroup); return this; } /** *

* The ID of the patch baseline used to patch the managed node. *

* * @param baselineId * The ID of the patch baseline used to patch the managed node. */ public void setBaselineId(String baselineId) { this.baselineId = baselineId; } /** *

* The ID of the patch baseline used to patch the managed node. *

* * @return The ID of the patch baseline used to patch the managed node. */ public String getBaselineId() { return this.baselineId; } /** *

* The ID of the patch baseline used to patch the managed node. *

* * @param baselineId * The ID of the patch baseline used to patch the managed node. * @return Returns a reference to this object so that method calls can be chained together. */ public InstancePatchState withBaselineId(String baselineId) { setBaselineId(baselineId); return this; } /** *

* The ID of the patch baseline snapshot used during the patching operation when this compliance data was collected. *

* * @param snapshotId * The ID of the patch baseline snapshot used during the patching operation when this compliance data was * collected. */ public void setSnapshotId(String snapshotId) { this.snapshotId = snapshotId; } /** *

* The ID of the patch baseline snapshot used during the patching operation when this compliance data was collected. *

* * @return The ID of the patch baseline snapshot used during the patching operation when this compliance data was * collected. */ public String getSnapshotId() { return this.snapshotId; } /** *

* The ID of the patch baseline snapshot used during the patching operation when this compliance data was collected. *

* * @param snapshotId * The ID of the patch baseline snapshot used during the patching operation when this compliance data was * collected. * @return Returns a reference to this object so that method calls can be chained together. */ public InstancePatchState withSnapshotId(String snapshotId) { setSnapshotId(snapshotId); return this; } /** *

* An https URL or an Amazon Simple Storage Service (Amazon S3) path-style URL to a list of patches to be installed. * This patch installation list, which you maintain in an S3 bucket in YAML format and specify in the SSM document * AWS-RunPatchBaseline, overrides the patches specified by the default patch baseline. *

*

* For more information about the InstallOverrideList parameter, see About the AWS-RunPatchBaseline SSM document in the Amazon Web Services Systems Manager User * Guide. *

* * @param installOverrideList * An https URL or an Amazon Simple Storage Service (Amazon S3) path-style URL to a list of patches to be * installed. This patch installation list, which you maintain in an S3 bucket in YAML format and specify in * the SSM document AWS-RunPatchBaseline, overrides the patches specified by the default patch * baseline.

*

* For more information about the InstallOverrideList parameter, see About the AWS-RunPatchBaseline SSM document in the Amazon Web Services Systems * Manager User Guide. */ public void setInstallOverrideList(String installOverrideList) { this.installOverrideList = installOverrideList; } /** *

* An https URL or an Amazon Simple Storage Service (Amazon S3) path-style URL to a list of patches to be installed. * This patch installation list, which you maintain in an S3 bucket in YAML format and specify in the SSM document * AWS-RunPatchBaseline, overrides the patches specified by the default patch baseline. *

*

* For more information about the InstallOverrideList parameter, see About the AWS-RunPatchBaseline SSM document in the Amazon Web Services Systems Manager User * Guide. *

* * @return An https URL or an Amazon Simple Storage Service (Amazon S3) path-style URL to a list of patches to be * installed. This patch installation list, which you maintain in an S3 bucket in YAML format and specify in * the SSM document AWS-RunPatchBaseline, overrides the patches specified by the default patch * baseline.

*

* For more information about the InstallOverrideList parameter, see About the AWS-RunPatchBaseline SSM document in the Amazon Web Services Systems * Manager User Guide. */ public String getInstallOverrideList() { return this.installOverrideList; } /** *

* An https URL or an Amazon Simple Storage Service (Amazon S3) path-style URL to a list of patches to be installed. * This patch installation list, which you maintain in an S3 bucket in YAML format and specify in the SSM document * AWS-RunPatchBaseline, overrides the patches specified by the default patch baseline. *

*

* For more information about the InstallOverrideList parameter, see About the AWS-RunPatchBaseline SSM document in the Amazon Web Services Systems Manager User * Guide. *

* * @param installOverrideList * An https URL or an Amazon Simple Storage Service (Amazon S3) path-style URL to a list of patches to be * installed. This patch installation list, which you maintain in an S3 bucket in YAML format and specify in * the SSM document AWS-RunPatchBaseline, overrides the patches specified by the default patch * baseline.

*

* For more information about the InstallOverrideList parameter, see About the AWS-RunPatchBaseline SSM document in the Amazon Web Services Systems * Manager User Guide. * @return Returns a reference to this object so that method calls can be chained together. */ public InstancePatchState withInstallOverrideList(String installOverrideList) { setInstallOverrideList(installOverrideList); return this; } /** *

* Placeholder information. This field will always be empty in the current release of the service. *

* * @param ownerInformation * Placeholder information. This field will always be empty in the current release of the service. */ public void setOwnerInformation(String ownerInformation) { this.ownerInformation = ownerInformation; } /** *

* Placeholder information. This field will always be empty in the current release of the service. *

* * @return Placeholder information. This field will always be empty in the current release of the service. */ public String getOwnerInformation() { return this.ownerInformation; } /** *

* Placeholder information. This field will always be empty in the current release of the service. *

* * @param ownerInformation * Placeholder information. This field will always be empty in the current release of the service. * @return Returns a reference to this object so that method calls can be chained together. */ public InstancePatchState withOwnerInformation(String ownerInformation) { setOwnerInformation(ownerInformation); return this; } /** *

* The number of patches from the patch baseline that are installed on the managed node. *

* * @param installedCount * The number of patches from the patch baseline that are installed on the managed node. */ public void setInstalledCount(Integer installedCount) { this.installedCount = installedCount; } /** *

* The number of patches from the patch baseline that are installed on the managed node. *

* * @return The number of patches from the patch baseline that are installed on the managed node. */ public Integer getInstalledCount() { return this.installedCount; } /** *

* The number of patches from the patch baseline that are installed on the managed node. *

* * @param installedCount * The number of patches from the patch baseline that are installed on the managed node. * @return Returns a reference to this object so that method calls can be chained together. */ public InstancePatchState withInstalledCount(Integer installedCount) { setInstalledCount(installedCount); return this; } /** *

* The number of patches not specified in the patch baseline that are installed on the managed node. *

* * @param installedOtherCount * The number of patches not specified in the patch baseline that are installed on the managed node. */ public void setInstalledOtherCount(Integer installedOtherCount) { this.installedOtherCount = installedOtherCount; } /** *

* The number of patches not specified in the patch baseline that are installed on the managed node. *

* * @return The number of patches not specified in the patch baseline that are installed on the managed node. */ public Integer getInstalledOtherCount() { return this.installedOtherCount; } /** *

* The number of patches not specified in the patch baseline that are installed on the managed node. *

* * @param installedOtherCount * The number of patches not specified in the patch baseline that are installed on the managed node. * @return Returns a reference to this object so that method calls can be chained together. */ public InstancePatchState withInstalledOtherCount(Integer installedOtherCount) { setInstalledOtherCount(installedOtherCount); return this; } /** *

* The number of patches installed by Patch Manager since the last time the managed node was rebooted. *

* * @param installedPendingRebootCount * The number of patches installed by Patch Manager since the last time the managed node was rebooted. */ public void setInstalledPendingRebootCount(Integer installedPendingRebootCount) { this.installedPendingRebootCount = installedPendingRebootCount; } /** *

* The number of patches installed by Patch Manager since the last time the managed node was rebooted. *

* * @return The number of patches installed by Patch Manager since the last time the managed node was rebooted. */ public Integer getInstalledPendingRebootCount() { return this.installedPendingRebootCount; } /** *

* The number of patches installed by Patch Manager since the last time the managed node was rebooted. *

* * @param installedPendingRebootCount * The number of patches installed by Patch Manager since the last time the managed node was rebooted. * @return Returns a reference to this object so that method calls can be chained together. */ public InstancePatchState withInstalledPendingRebootCount(Integer installedPendingRebootCount) { setInstalledPendingRebootCount(installedPendingRebootCount); return this; } /** *

* The number of patches installed on a managed node that are specified in a RejectedPatches list. * Patches with a status of InstalledRejected were typically installed before they were added to a * RejectedPatches list. *

* *

* If ALLOW_AS_DEPENDENCY is the specified option for RejectedPatchesAction, the value of * InstalledRejectedCount will always be 0 (zero). *

*
* * @param installedRejectedCount * The number of patches installed on a managed node that are specified in a RejectedPatches * list. Patches with a status of InstalledRejected were typically installed before they were * added to a RejectedPatches list.

*

* If ALLOW_AS_DEPENDENCY is the specified option for RejectedPatchesAction, the * value of InstalledRejectedCount will always be 0 (zero). *

*/ public void setInstalledRejectedCount(Integer installedRejectedCount) { this.installedRejectedCount = installedRejectedCount; } /** *

* The number of patches installed on a managed node that are specified in a RejectedPatches list. * Patches with a status of InstalledRejected were typically installed before they were added to a * RejectedPatches list. *

* *

* If ALLOW_AS_DEPENDENCY is the specified option for RejectedPatchesAction, the value of * InstalledRejectedCount will always be 0 (zero). *

*
* * @return The number of patches installed on a managed node that are specified in a RejectedPatches * list. Patches with a status of InstalledRejected were typically installed before they were * added to a RejectedPatches list.

*

* If ALLOW_AS_DEPENDENCY is the specified option for RejectedPatchesAction, the * value of InstalledRejectedCount will always be 0 (zero). *

*/ public Integer getInstalledRejectedCount() { return this.installedRejectedCount; } /** *

* The number of patches installed on a managed node that are specified in a RejectedPatches list. * Patches with a status of InstalledRejected were typically installed before they were added to a * RejectedPatches list. *

* *

* If ALLOW_AS_DEPENDENCY is the specified option for RejectedPatchesAction, the value of * InstalledRejectedCount will always be 0 (zero). *

*
* * @param installedRejectedCount * The number of patches installed on a managed node that are specified in a RejectedPatches * list. Patches with a status of InstalledRejected were typically installed before they were * added to a RejectedPatches list.

*

* If ALLOW_AS_DEPENDENCY is the specified option for RejectedPatchesAction, the * value of InstalledRejectedCount will always be 0 (zero). *

* @return Returns a reference to this object so that method calls can be chained together. */ public InstancePatchState withInstalledRejectedCount(Integer installedRejectedCount) { setInstalledRejectedCount(installedRejectedCount); return this; } /** *

* The number of patches from the patch baseline that are applicable for the managed node but aren't currently * installed. *

* * @param missingCount * The number of patches from the patch baseline that are applicable for the managed node but aren't * currently installed. */ public void setMissingCount(Integer missingCount) { this.missingCount = missingCount; } /** *

* The number of patches from the patch baseline that are applicable for the managed node but aren't currently * installed. *

* * @return The number of patches from the patch baseline that are applicable for the managed node but aren't * currently installed. */ public Integer getMissingCount() { return this.missingCount; } /** *

* The number of patches from the patch baseline that are applicable for the managed node but aren't currently * installed. *

* * @param missingCount * The number of patches from the patch baseline that are applicable for the managed node but aren't * currently installed. * @return Returns a reference to this object so that method calls can be chained together. */ public InstancePatchState withMissingCount(Integer missingCount) { setMissingCount(missingCount); return this; } /** *

* The number of patches from the patch baseline that were attempted to be installed during the last patching * operation, but failed to install. *

* * @param failedCount * The number of patches from the patch baseline that were attempted to be installed during the last patching * operation, but failed to install. */ public void setFailedCount(Integer failedCount) { this.failedCount = failedCount; } /** *

* The number of patches from the patch baseline that were attempted to be installed during the last patching * operation, but failed to install. *

* * @return The number of patches from the patch baseline that were attempted to be installed during the last * patching operation, but failed to install. */ public Integer getFailedCount() { return this.failedCount; } /** *

* The number of patches from the patch baseline that were attempted to be installed during the last patching * operation, but failed to install. *

* * @param failedCount * The number of patches from the patch baseline that were attempted to be installed during the last patching * operation, but failed to install. * @return Returns a reference to this object so that method calls can be chained together. */ public InstancePatchState withFailedCount(Integer failedCount) { setFailedCount(failedCount); return this; } /** *

* The number of patches beyond the supported limit of NotApplicableCount that aren't reported by name * to Inventory. Inventory is a capability of Amazon Web Services Systems Manager. *

* * @param unreportedNotApplicableCount * The number of patches beyond the supported limit of NotApplicableCount that aren't reported * by name to Inventory. Inventory is a capability of Amazon Web Services Systems Manager. */ public void setUnreportedNotApplicableCount(Integer unreportedNotApplicableCount) { this.unreportedNotApplicableCount = unreportedNotApplicableCount; } /** *

* The number of patches beyond the supported limit of NotApplicableCount that aren't reported by name * to Inventory. Inventory is a capability of Amazon Web Services Systems Manager. *

* * @return The number of patches beyond the supported limit of NotApplicableCount that aren't reported * by name to Inventory. Inventory is a capability of Amazon Web Services Systems Manager. */ public Integer getUnreportedNotApplicableCount() { return this.unreportedNotApplicableCount; } /** *

* The number of patches beyond the supported limit of NotApplicableCount that aren't reported by name * to Inventory. Inventory is a capability of Amazon Web Services Systems Manager. *

* * @param unreportedNotApplicableCount * The number of patches beyond the supported limit of NotApplicableCount that aren't reported * by name to Inventory. Inventory is a capability of Amazon Web Services Systems Manager. * @return Returns a reference to this object so that method calls can be chained together. */ public InstancePatchState withUnreportedNotApplicableCount(Integer unreportedNotApplicableCount) { setUnreportedNotApplicableCount(unreportedNotApplicableCount); return this; } /** *

* The number of patches from the patch baseline that aren't applicable for the managed node and therefore aren't * installed on the node. This number may be truncated if the list of patch names is very large. The number of * patches beyond this limit are reported in UnreportedNotApplicableCount. *

* * @param notApplicableCount * The number of patches from the patch baseline that aren't applicable for the managed node and therefore * aren't installed on the node. This number may be truncated if the list of patch names is very large. The * number of patches beyond this limit are reported in UnreportedNotApplicableCount. */ public void setNotApplicableCount(Integer notApplicableCount) { this.notApplicableCount = notApplicableCount; } /** *

* The number of patches from the patch baseline that aren't applicable for the managed node and therefore aren't * installed on the node. This number may be truncated if the list of patch names is very large. The number of * patches beyond this limit are reported in UnreportedNotApplicableCount. *

* * @return The number of patches from the patch baseline that aren't applicable for the managed node and therefore * aren't installed on the node. This number may be truncated if the list of patch names is very large. The * number of patches beyond this limit are reported in UnreportedNotApplicableCount. */ public Integer getNotApplicableCount() { return this.notApplicableCount; } /** *

* The number of patches from the patch baseline that aren't applicable for the managed node and therefore aren't * installed on the node. This number may be truncated if the list of patch names is very large. The number of * patches beyond this limit are reported in UnreportedNotApplicableCount. *

* * @param notApplicableCount * The number of patches from the patch baseline that aren't applicable for the managed node and therefore * aren't installed on the node. This number may be truncated if the list of patch names is very large. The * number of patches beyond this limit are reported in UnreportedNotApplicableCount. * @return Returns a reference to this object so that method calls can be chained together. */ public InstancePatchState withNotApplicableCount(Integer notApplicableCount) { setNotApplicableCount(notApplicableCount); return this; } /** *

* The time the most recent patching operation was started on the managed node. *

* * @param operationStartTime * The time the most recent patching operation was started on the managed node. */ public void setOperationStartTime(java.util.Date operationStartTime) { this.operationStartTime = operationStartTime; } /** *

* The time the most recent patching operation was started on the managed node. *

* * @return The time the most recent patching operation was started on the managed node. */ public java.util.Date getOperationStartTime() { return this.operationStartTime; } /** *

* The time the most recent patching operation was started on the managed node. *

* * @param operationStartTime * The time the most recent patching operation was started on the managed node. * @return Returns a reference to this object so that method calls can be chained together. */ public InstancePatchState withOperationStartTime(java.util.Date operationStartTime) { setOperationStartTime(operationStartTime); return this; } /** *

* The time the most recent patching operation completed on the managed node. *

* * @param operationEndTime * The time the most recent patching operation completed on the managed node. */ public void setOperationEndTime(java.util.Date operationEndTime) { this.operationEndTime = operationEndTime; } /** *

* The time the most recent patching operation completed on the managed node. *

* * @return The time the most recent patching operation completed on the managed node. */ public java.util.Date getOperationEndTime() { return this.operationEndTime; } /** *

* The time the most recent patching operation completed on the managed node. *

* * @param operationEndTime * The time the most recent patching operation completed on the managed node. * @return Returns a reference to this object so that method calls can be chained together. */ public InstancePatchState withOperationEndTime(java.util.Date operationEndTime) { setOperationEndTime(operationEndTime); return this; } /** *

* The type of patching operation that was performed: or *

*
    *
  • *

    * SCAN assesses the patch compliance state. *

    *
  • *
  • *

    * INSTALL installs missing patches. *

    *
  • *
* * @param operation * The type of patching operation that was performed: or

*
    *
  • *

    * SCAN assesses the patch compliance state. *

    *
  • *
  • *

    * INSTALL installs missing patches. *

    *
  • * @see PatchOperationType */ public void setOperation(String operation) { this.operation = operation; } /** *

    * The type of patching operation that was performed: or *

    *
      *
    • *

      * SCAN assesses the patch compliance state. *

      *
    • *
    • *

      * INSTALL installs missing patches. *

      *
    • *
    * * @return The type of patching operation that was performed: or

    *
      *
    • *

      * SCAN assesses the patch compliance state. *

      *
    • *
    • *

      * INSTALL installs missing patches. *

      *
    • * @see PatchOperationType */ public String getOperation() { return this.operation; } /** *

      * The type of patching operation that was performed: or *

      *
        *
      • *

        * SCAN assesses the patch compliance state. *

        *
      • *
      • *

        * INSTALL installs missing patches. *

        *
      • *
      * * @param operation * The type of patching operation that was performed: or

      *
        *
      • *

        * SCAN assesses the patch compliance state. *

        *
      • *
      • *

        * INSTALL installs missing patches. *

        *
      • * @return Returns a reference to this object so that method calls can be chained together. * @see PatchOperationType */ public InstancePatchState withOperation(String operation) { setOperation(operation); return this; } /** *

        * The type of patching operation that was performed: or *

        *
          *
        • *

          * SCAN assesses the patch compliance state. *

          *
        • *
        • *

          * INSTALL installs missing patches. *

          *
        • *
        * * @param operation * The type of patching operation that was performed: or

        *
          *
        • *

          * SCAN assesses the patch compliance state. *

          *
        • *
        • *

          * INSTALL installs missing patches. *

          *
        • * @see PatchOperationType */ public void setOperation(PatchOperationType operation) { withOperation(operation); } /** *

          * The type of patching operation that was performed: or *

          *
            *
          • *

            * SCAN assesses the patch compliance state. *

            *
          • *
          • *

            * INSTALL installs missing patches. *

            *
          • *
          * * @param operation * The type of patching operation that was performed: or

          *
            *
          • *

            * SCAN assesses the patch compliance state. *

            *
          • *
          • *

            * INSTALL installs missing patches. *

            *
          • * @return Returns a reference to this object so that method calls can be chained together. * @see PatchOperationType */ public InstancePatchState withOperation(PatchOperationType operation) { this.operation = operation.toString(); return this; } /** *

            * The time of the last attempt to patch the managed node with NoReboot specified as the reboot option. *

            * * @param lastNoRebootInstallOperationTime * The time of the last attempt to patch the managed node with NoReboot specified as the reboot * option. */ public void setLastNoRebootInstallOperationTime(java.util.Date lastNoRebootInstallOperationTime) { this.lastNoRebootInstallOperationTime = lastNoRebootInstallOperationTime; } /** *

            * The time of the last attempt to patch the managed node with NoReboot specified as the reboot option. *

            * * @return The time of the last attempt to patch the managed node with NoReboot specified as the reboot * option. */ public java.util.Date getLastNoRebootInstallOperationTime() { return this.lastNoRebootInstallOperationTime; } /** *

            * The time of the last attempt to patch the managed node with NoReboot specified as the reboot option. *

            * * @param lastNoRebootInstallOperationTime * The time of the last attempt to patch the managed node with NoReboot specified as the reboot * option. * @return Returns a reference to this object so that method calls can be chained together. */ public InstancePatchState withLastNoRebootInstallOperationTime(java.util.Date lastNoRebootInstallOperationTime) { setLastNoRebootInstallOperationTime(lastNoRebootInstallOperationTime); return this; } /** *

            * Indicates the reboot option specified in the patch baseline. *

            * *

            * Reboot options apply to Install operations only. Reboots aren't attempted for Patch Manager * Scan operations. *

            *
            *
              *
            • *

              * RebootIfNeeded: Patch Manager tries to reboot the managed node if it installed any patches, or if * any patches are detected with a status of InstalledPendingReboot. *

              *
            • *
            • *

              * NoReboot: Patch Manager attempts to install missing packages without trying to reboot the system. * Patches installed with this option are assigned a status of InstalledPendingReboot. These patches * might not be in effect until a reboot is performed. *

              *
            • *
            * * @param rebootOption * Indicates the reboot option specified in the patch baseline.

            *

            * Reboot options apply to Install operations only. Reboots aren't attempted for Patch Manager * Scan operations. *

            *
            *
              *
            • *

              * RebootIfNeeded: Patch Manager tries to reboot the managed node if it installed any patches, * or if any patches are detected with a status of InstalledPendingReboot. *

              *
            • *
            • *

              * NoReboot: Patch Manager attempts to install missing packages without trying to reboot the * system. Patches installed with this option are assigned a status of InstalledPendingReboot. * These patches might not be in effect until a reboot is performed. *

              *
            • * @see RebootOption */ public void setRebootOption(String rebootOption) { this.rebootOption = rebootOption; } /** *

              * Indicates the reboot option specified in the patch baseline. *

              * *

              * Reboot options apply to Install operations only. Reboots aren't attempted for Patch Manager * Scan operations. *

              *
              *
                *
              • *

                * RebootIfNeeded: Patch Manager tries to reboot the managed node if it installed any patches, or if * any patches are detected with a status of InstalledPendingReboot. *

                *
              • *
              • *

                * NoReboot: Patch Manager attempts to install missing packages without trying to reboot the system. * Patches installed with this option are assigned a status of InstalledPendingReboot. These patches * might not be in effect until a reboot is performed. *

                *
              • *
              * * @return Indicates the reboot option specified in the patch baseline.

              *

              * Reboot options apply to Install operations only. Reboots aren't attempted for Patch Manager * Scan operations. *

              *
              *
                *
              • *

                * RebootIfNeeded: Patch Manager tries to reboot the managed node if it installed any patches, * or if any patches are detected with a status of InstalledPendingReboot. *

                *
              • *
              • *

                * NoReboot: Patch Manager attempts to install missing packages without trying to reboot the * system. Patches installed with this option are assigned a status of InstalledPendingReboot. * These patches might not be in effect until a reboot is performed. *

                *
              • * @see RebootOption */ public String getRebootOption() { return this.rebootOption; } /** *

                * Indicates the reboot option specified in the patch baseline. *

                * *

                * Reboot options apply to Install operations only. Reboots aren't attempted for Patch Manager * Scan operations. *

                *
                *
                  *
                • *

                  * RebootIfNeeded: Patch Manager tries to reboot the managed node if it installed any patches, or if * any patches are detected with a status of InstalledPendingReboot. *

                  *
                • *
                • *

                  * NoReboot: Patch Manager attempts to install missing packages without trying to reboot the system. * Patches installed with this option are assigned a status of InstalledPendingReboot. These patches * might not be in effect until a reboot is performed. *

                  *
                • *
                * * @param rebootOption * Indicates the reboot option specified in the patch baseline.

                *

                * Reboot options apply to Install operations only. Reboots aren't attempted for Patch Manager * Scan operations. *

                *
                *
                  *
                • *

                  * RebootIfNeeded: Patch Manager tries to reboot the managed node if it installed any patches, * or if any patches are detected with a status of InstalledPendingReboot. *

                  *
                • *
                • *

                  * NoReboot: Patch Manager attempts to install missing packages without trying to reboot the * system. Patches installed with this option are assigned a status of InstalledPendingReboot. * These patches might not be in effect until a reboot is performed. *

                  *
                • * @return Returns a reference to this object so that method calls can be chained together. * @see RebootOption */ public InstancePatchState withRebootOption(String rebootOption) { setRebootOption(rebootOption); return this; } /** *

                  * Indicates the reboot option specified in the patch baseline. *

                  * *

                  * Reboot options apply to Install operations only. Reboots aren't attempted for Patch Manager * Scan operations. *

                  *
                  *
                    *
                  • *

                    * RebootIfNeeded: Patch Manager tries to reboot the managed node if it installed any patches, or if * any patches are detected with a status of InstalledPendingReboot. *

                    *
                  • *
                  • *

                    * NoReboot: Patch Manager attempts to install missing packages without trying to reboot the system. * Patches installed with this option are assigned a status of InstalledPendingReboot. These patches * might not be in effect until a reboot is performed. *

                    *
                  • *
                  * * @param rebootOption * Indicates the reboot option specified in the patch baseline.

                  *

                  * Reboot options apply to Install operations only. Reboots aren't attempted for Patch Manager * Scan operations. *

                  *
                  *
                    *
                  • *

                    * RebootIfNeeded: Patch Manager tries to reboot the managed node if it installed any patches, * or if any patches are detected with a status of InstalledPendingReboot. *

                    *
                  • *
                  • *

                    * NoReboot: Patch Manager attempts to install missing packages without trying to reboot the * system. Patches installed with this option are assigned a status of InstalledPendingReboot. * These patches might not be in effect until a reboot is performed. *

                    *
                  • * @see RebootOption */ public void setRebootOption(RebootOption rebootOption) { withRebootOption(rebootOption); } /** *

                    * Indicates the reboot option specified in the patch baseline. *

                    * *

                    * Reboot options apply to Install operations only. Reboots aren't attempted for Patch Manager * Scan operations. *

                    *
                    *
                      *
                    • *

                      * RebootIfNeeded: Patch Manager tries to reboot the managed node if it installed any patches, or if * any patches are detected with a status of InstalledPendingReboot. *

                      *
                    • *
                    • *

                      * NoReboot: Patch Manager attempts to install missing packages without trying to reboot the system. * Patches installed with this option are assigned a status of InstalledPendingReboot. These patches * might not be in effect until a reboot is performed. *

                      *
                    • *
                    * * @param rebootOption * Indicates the reboot option specified in the patch baseline.

                    *

                    * Reboot options apply to Install operations only. Reboots aren't attempted for Patch Manager * Scan operations. *

                    *
                    *
                      *
                    • *

                      * RebootIfNeeded: Patch Manager tries to reboot the managed node if it installed any patches, * or if any patches are detected with a status of InstalledPendingReboot. *

                      *
                    • *
                    • *

                      * NoReboot: Patch Manager attempts to install missing packages without trying to reboot the * system. Patches installed with this option are assigned a status of InstalledPendingReboot. * These patches might not be in effect until a reboot is performed. *

                      *
                    • * @return Returns a reference to this object so that method calls can be chained together. * @see RebootOption */ public InstancePatchState withRebootOption(RebootOption rebootOption) { this.rebootOption = rebootOption.toString(); return this; } /** *

                      * The number of patches per node that are specified as Critical for compliance reporting in the patch * baseline aren't installed. These patches might be missing, have failed installation, were rejected, or were * installed but awaiting a required managed node reboot. The status of these managed nodes is * NON_COMPLIANT. *

                      * * @param criticalNonCompliantCount * The number of patches per node that are specified as Critical for compliance reporting in the * patch baseline aren't installed. These patches might be missing, have failed installation, were rejected, * or were installed but awaiting a required managed node reboot. The status of these managed nodes is * NON_COMPLIANT. */ public void setCriticalNonCompliantCount(Integer criticalNonCompliantCount) { this.criticalNonCompliantCount = criticalNonCompliantCount; } /** *

                      * The number of patches per node that are specified as Critical for compliance reporting in the patch * baseline aren't installed. These patches might be missing, have failed installation, were rejected, or were * installed but awaiting a required managed node reboot. The status of these managed nodes is * NON_COMPLIANT. *

                      * * @return The number of patches per node that are specified as Critical for compliance reporting in * the patch baseline aren't installed. These patches might be missing, have failed installation, were * rejected, or were installed but awaiting a required managed node reboot. The status of these managed * nodes is NON_COMPLIANT. */ public Integer getCriticalNonCompliantCount() { return this.criticalNonCompliantCount; } /** *

                      * The number of patches per node that are specified as Critical for compliance reporting in the patch * baseline aren't installed. These patches might be missing, have failed installation, were rejected, or were * installed but awaiting a required managed node reboot. The status of these managed nodes is * NON_COMPLIANT. *

                      * * @param criticalNonCompliantCount * The number of patches per node that are specified as Critical for compliance reporting in the * patch baseline aren't installed. These patches might be missing, have failed installation, were rejected, * or were installed but awaiting a required managed node reboot. The status of these managed nodes is * NON_COMPLIANT. * @return Returns a reference to this object so that method calls can be chained together. */ public InstancePatchState withCriticalNonCompliantCount(Integer criticalNonCompliantCount) { setCriticalNonCompliantCount(criticalNonCompliantCount); return this; } /** *

                      * The number of patches per node that are specified as Security in a patch advisory aren't installed. * These patches might be missing, have failed installation, were rejected, or were installed but awaiting a * required managed node reboot. The status of these managed nodes is NON_COMPLIANT. *

                      * * @param securityNonCompliantCount * The number of patches per node that are specified as Security in a patch advisory aren't * installed. These patches might be missing, have failed installation, were rejected, or were installed but * awaiting a required managed node reboot. The status of these managed nodes is NON_COMPLIANT. */ public void setSecurityNonCompliantCount(Integer securityNonCompliantCount) { this.securityNonCompliantCount = securityNonCompliantCount; } /** *

                      * The number of patches per node that are specified as Security in a patch advisory aren't installed. * These patches might be missing, have failed installation, were rejected, or were installed but awaiting a * required managed node reboot. The status of these managed nodes is NON_COMPLIANT. *

                      * * @return The number of patches per node that are specified as Security in a patch advisory aren't * installed. These patches might be missing, have failed installation, were rejected, or were installed but * awaiting a required managed node reboot. The status of these managed nodes is NON_COMPLIANT. */ public Integer getSecurityNonCompliantCount() { return this.securityNonCompliantCount; } /** *

                      * The number of patches per node that are specified as Security in a patch advisory aren't installed. * These patches might be missing, have failed installation, were rejected, or were installed but awaiting a * required managed node reboot. The status of these managed nodes is NON_COMPLIANT. *

                      * * @param securityNonCompliantCount * The number of patches per node that are specified as Security in a patch advisory aren't * installed. These patches might be missing, have failed installation, were rejected, or were installed but * awaiting a required managed node reboot. The status of these managed nodes is NON_COMPLIANT. * @return Returns a reference to this object so that method calls can be chained together. */ public InstancePatchState withSecurityNonCompliantCount(Integer securityNonCompliantCount) { setSecurityNonCompliantCount(securityNonCompliantCount); return this; } /** *

                      * The number of patches per node that are specified as other than Critical or Security * but aren't compliant with the patch baseline. The status of these managed nodes is NON_COMPLIANT. *

                      * * @param otherNonCompliantCount * The number of patches per node that are specified as other than Critical or * Security but aren't compliant with the patch baseline. The status of these managed nodes is * NON_COMPLIANT. */ public void setOtherNonCompliantCount(Integer otherNonCompliantCount) { this.otherNonCompliantCount = otherNonCompliantCount; } /** *

                      * The number of patches per node that are specified as other than Critical or Security * but aren't compliant with the patch baseline. The status of these managed nodes is NON_COMPLIANT. *

                      * * @return The number of patches per node that are specified as other than Critical or * Security but aren't compliant with the patch baseline. The status of these managed nodes is * NON_COMPLIANT. */ public Integer getOtherNonCompliantCount() { return this.otherNonCompliantCount; } /** *

                      * The number of patches per node that are specified as other than Critical or Security * but aren't compliant with the patch baseline. The status of these managed nodes is NON_COMPLIANT. *

                      * * @param otherNonCompliantCount * The number of patches per node that are specified as other than Critical or * Security but aren't compliant with the patch baseline. The status of these managed nodes is * NON_COMPLIANT. * @return Returns a reference to this object so that method calls can be chained together. */ public InstancePatchState withOtherNonCompliantCount(Integer otherNonCompliantCount) { setOtherNonCompliantCount(otherNonCompliantCount); return this; } /** * 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. * * @return A string representation of this object. * * @see java.lang.Object#toString() */ @Override public String toString() { StringBuilder sb = new StringBuilder(); sb.append("{"); if (getInstanceId() != null) sb.append("InstanceId: ").append(getInstanceId()).append(","); if (getPatchGroup() != null) sb.append("PatchGroup: ").append(getPatchGroup()).append(","); if (getBaselineId() != null) sb.append("BaselineId: ").append(getBaselineId()).append(","); if (getSnapshotId() != null) sb.append("SnapshotId: ").append(getSnapshotId()).append(","); if (getInstallOverrideList() != null) sb.append("InstallOverrideList: ").append(getInstallOverrideList()).append(","); if (getOwnerInformation() != null) sb.append("OwnerInformation: ").append("***Sensitive Data Redacted***").append(","); if (getInstalledCount() != null) sb.append("InstalledCount: ").append(getInstalledCount()).append(","); if (getInstalledOtherCount() != null) sb.append("InstalledOtherCount: ").append(getInstalledOtherCount()).append(","); if (getInstalledPendingRebootCount() != null) sb.append("InstalledPendingRebootCount: ").append(getInstalledPendingRebootCount()).append(","); if (getInstalledRejectedCount() != null) sb.append("InstalledRejectedCount: ").append(getInstalledRejectedCount()).append(","); if (getMissingCount() != null) sb.append("MissingCount: ").append(getMissingCount()).append(","); if (getFailedCount() != null) sb.append("FailedCount: ").append(getFailedCount()).append(","); if (getUnreportedNotApplicableCount() != null) sb.append("UnreportedNotApplicableCount: ").append(getUnreportedNotApplicableCount()).append(","); if (getNotApplicableCount() != null) sb.append("NotApplicableCount: ").append(getNotApplicableCount()).append(","); if (getOperationStartTime() != null) sb.append("OperationStartTime: ").append(getOperationStartTime()).append(","); if (getOperationEndTime() != null) sb.append("OperationEndTime: ").append(getOperationEndTime()).append(","); if (getOperation() != null) sb.append("Operation: ").append(getOperation()).append(","); if (getLastNoRebootInstallOperationTime() != null) sb.append("LastNoRebootInstallOperationTime: ").append(getLastNoRebootInstallOperationTime()).append(","); if (getRebootOption() != null) sb.append("RebootOption: ").append(getRebootOption()).append(","); if (getCriticalNonCompliantCount() != null) sb.append("CriticalNonCompliantCount: ").append(getCriticalNonCompliantCount()).append(","); if (getSecurityNonCompliantCount() != null) sb.append("SecurityNonCompliantCount: ").append(getSecurityNonCompliantCount()).append(","); if (getOtherNonCompliantCount() != null) sb.append("OtherNonCompliantCount: ").append(getOtherNonCompliantCount()); sb.append("}"); return sb.toString(); } @Override public boolean equals(Object obj) { if (this == obj) return true; if (obj == null) return false; if (obj instanceof InstancePatchState == false) return false; InstancePatchState other = (InstancePatchState) obj; if (other.getInstanceId() == null ^ this.getInstanceId() == null) return false; if (other.getInstanceId() != null && other.getInstanceId().equals(this.getInstanceId()) == false) return false; if (other.getPatchGroup() == null ^ this.getPatchGroup() == null) return false; if (other.getPatchGroup() != null && other.getPatchGroup().equals(this.getPatchGroup()) == false) return false; if (other.getBaselineId() == null ^ this.getBaselineId() == null) return false; if (other.getBaselineId() != null && other.getBaselineId().equals(this.getBaselineId()) == false) return false; if (other.getSnapshotId() == null ^ this.getSnapshotId() == null) return false; if (other.getSnapshotId() != null && other.getSnapshotId().equals(this.getSnapshotId()) == false) return false; if (other.getInstallOverrideList() == null ^ this.getInstallOverrideList() == null) return false; if (other.getInstallOverrideList() != null && other.getInstallOverrideList().equals(this.getInstallOverrideList()) == false) return false; if (other.getOwnerInformation() == null ^ this.getOwnerInformation() == null) return false; if (other.getOwnerInformation() != null && other.getOwnerInformation().equals(this.getOwnerInformation()) == false) return false; if (other.getInstalledCount() == null ^ this.getInstalledCount() == null) return false; if (other.getInstalledCount() != null && other.getInstalledCount().equals(this.getInstalledCount()) == false) return false; if (other.getInstalledOtherCount() == null ^ this.getInstalledOtherCount() == null) return false; if (other.getInstalledOtherCount() != null && other.getInstalledOtherCount().equals(this.getInstalledOtherCount()) == false) return false; if (other.getInstalledPendingRebootCount() == null ^ this.getInstalledPendingRebootCount() == null) return false; if (other.getInstalledPendingRebootCount() != null && other.getInstalledPendingRebootCount().equals(this.getInstalledPendingRebootCount()) == false) return false; if (other.getInstalledRejectedCount() == null ^ this.getInstalledRejectedCount() == null) return false; if (other.getInstalledRejectedCount() != null && other.getInstalledRejectedCount().equals(this.getInstalledRejectedCount()) == false) return false; if (other.getMissingCount() == null ^ this.getMissingCount() == null) return false; if (other.getMissingCount() != null && other.getMissingCount().equals(this.getMissingCount()) == false) return false; if (other.getFailedCount() == null ^ this.getFailedCount() == null) return false; if (other.getFailedCount() != null && other.getFailedCount().equals(this.getFailedCount()) == false) return false; if (other.getUnreportedNotApplicableCount() == null ^ this.getUnreportedNotApplicableCount() == null) return false; if (other.getUnreportedNotApplicableCount() != null && other.getUnreportedNotApplicableCount().equals(this.getUnreportedNotApplicableCount()) == false) return false; if (other.getNotApplicableCount() == null ^ this.getNotApplicableCount() == null) return false; if (other.getNotApplicableCount() != null && other.getNotApplicableCount().equals(this.getNotApplicableCount()) == false) return false; if (other.getOperationStartTime() == null ^ this.getOperationStartTime() == null) return false; if (other.getOperationStartTime() != null && other.getOperationStartTime().equals(this.getOperationStartTime()) == false) return false; if (other.getOperationEndTime() == null ^ this.getOperationEndTime() == null) return false; if (other.getOperationEndTime() != null && other.getOperationEndTime().equals(this.getOperationEndTime()) == false) return false; if (other.getOperation() == null ^ this.getOperation() == null) return false; if (other.getOperation() != null && other.getOperation().equals(this.getOperation()) == false) return false; if (other.getLastNoRebootInstallOperationTime() == null ^ this.getLastNoRebootInstallOperationTime() == null) return false; if (other.getLastNoRebootInstallOperationTime() != null && other.getLastNoRebootInstallOperationTime().equals(this.getLastNoRebootInstallOperationTime()) == false) return false; if (other.getRebootOption() == null ^ this.getRebootOption() == null) return false; if (other.getRebootOption() != null && other.getRebootOption().equals(this.getRebootOption()) == false) return false; if (other.getCriticalNonCompliantCount() == null ^ this.getCriticalNonCompliantCount() == null) return false; if (other.getCriticalNonCompliantCount() != null && other.getCriticalNonCompliantCount().equals(this.getCriticalNonCompliantCount()) == false) return false; if (other.getSecurityNonCompliantCount() == null ^ this.getSecurityNonCompliantCount() == null) return false; if (other.getSecurityNonCompliantCount() != null && other.getSecurityNonCompliantCount().equals(this.getSecurityNonCompliantCount()) == false) return false; if (other.getOtherNonCompliantCount() == null ^ this.getOtherNonCompliantCount() == null) return false; if (other.getOtherNonCompliantCount() != null && other.getOtherNonCompliantCount().equals(this.getOtherNonCompliantCount()) == false) return false; return true; } @Override public int hashCode() { final int prime = 31; int hashCode = 1; hashCode = prime * hashCode + ((getInstanceId() == null) ? 0 : getInstanceId().hashCode()); hashCode = prime * hashCode + ((getPatchGroup() == null) ? 0 : getPatchGroup().hashCode()); hashCode = prime * hashCode + ((getBaselineId() == null) ? 0 : getBaselineId().hashCode()); hashCode = prime * hashCode + ((getSnapshotId() == null) ? 0 : getSnapshotId().hashCode()); hashCode = prime * hashCode + ((getInstallOverrideList() == null) ? 0 : getInstallOverrideList().hashCode()); hashCode = prime * hashCode + ((getOwnerInformation() == null) ? 0 : getOwnerInformation().hashCode()); hashCode = prime * hashCode + ((getInstalledCount() == null) ? 0 : getInstalledCount().hashCode()); hashCode = prime * hashCode + ((getInstalledOtherCount() == null) ? 0 : getInstalledOtherCount().hashCode()); hashCode = prime * hashCode + ((getInstalledPendingRebootCount() == null) ? 0 : getInstalledPendingRebootCount().hashCode()); hashCode = prime * hashCode + ((getInstalledRejectedCount() == null) ? 0 : getInstalledRejectedCount().hashCode()); hashCode = prime * hashCode + ((getMissingCount() == null) ? 0 : getMissingCount().hashCode()); hashCode = prime * hashCode + ((getFailedCount() == null) ? 0 : getFailedCount().hashCode()); hashCode = prime * hashCode + ((getUnreportedNotApplicableCount() == null) ? 0 : getUnreportedNotApplicableCount().hashCode()); hashCode = prime * hashCode + ((getNotApplicableCount() == null) ? 0 : getNotApplicableCount().hashCode()); hashCode = prime * hashCode + ((getOperationStartTime() == null) ? 0 : getOperationStartTime().hashCode()); hashCode = prime * hashCode + ((getOperationEndTime() == null) ? 0 : getOperationEndTime().hashCode()); hashCode = prime * hashCode + ((getOperation() == null) ? 0 : getOperation().hashCode()); hashCode = prime * hashCode + ((getLastNoRebootInstallOperationTime() == null) ? 0 : getLastNoRebootInstallOperationTime().hashCode()); hashCode = prime * hashCode + ((getRebootOption() == null) ? 0 : getRebootOption().hashCode()); hashCode = prime * hashCode + ((getCriticalNonCompliantCount() == null) ? 0 : getCriticalNonCompliantCount().hashCode()); hashCode = prime * hashCode + ((getSecurityNonCompliantCount() == null) ? 0 : getSecurityNonCompliantCount().hashCode()); hashCode = prime * hashCode + ((getOtherNonCompliantCount() == null) ? 0 : getOtherNonCompliantCount().hashCode()); return hashCode; } @Override public InstancePatchState clone() { try { return (InstancePatchState) super.clone(); } catch (CloneNotSupportedException e) { throw new IllegalStateException("Got a CloneNotSupportedException from Object.clone() " + "even though we're Cloneable!", e); } } @com.amazonaws.annotation.SdkInternalApi @Override public void marshall(ProtocolMarshaller protocolMarshaller) { com.amazonaws.services.simplesystemsmanagement.model.transform.InstancePatchStateMarshaller.getInstance().marshall(this, protocolMarshaller); } }