java.lang.Object
software.amazon.awssdk.services.ssm.model.OpsItem
All Implemented Interfaces:
Serializable, SdkPojo, ToCopyableBuilder<OpsItem.Builder,OpsItem>

@Generated("software.amazon.awssdk:codegen") public final class OpsItem extends Object implements SdkPojo, Serializable, ToCopyableBuilder<OpsItem.Builder,OpsItem>

Operations engineers and IT professionals use Amazon Web Services Systems Manager OpsCenter to view, investigate, and remediate operational work items (OpsItems) impacting the performance and health of their Amazon Web Services resources. OpsCenter is integrated with Amazon EventBridge and Amazon CloudWatch. This means you can configure these services to automatically create an OpsItem in OpsCenter when a CloudWatch alarm enters the ALARM state or when EventBridge processes an event from any Amazon Web Services service that publishes events. Configuring Amazon CloudWatch alarms and EventBridge events to automatically create OpsItems allows you to quickly diagnose and remediate issues with Amazon Web Services resources from a single console.

To help you diagnose issues, each OpsItem includes contextually relevant information such as the name and ID of the Amazon Web Services resource that generated the OpsItem, alarm or event details, alarm history, and an alarm timeline graph. For the Amazon Web Services resource, OpsCenter aggregates information from Config, CloudTrail logs, and EventBridge, so you don't have to navigate across multiple console pages during your investigation. For more information, see Amazon Web Services Systems Manager OpsCenter in the Amazon Web Services Systems Manager User Guide.

See Also:
  • Method Details

    • createdBy

      public final String createdBy()

      The ARN of the Amazon Web Services account that created the OpsItem.

      Returns:
      The ARN of the Amazon Web Services account that created the OpsItem.
    • opsItemType

      public final String opsItemType()

      The type of OpsItem. Systems Manager supports the following types of OpsItems:

      • /aws/issue

        This type of OpsItem is used for default OpsItems created by OpsCenter.

      • /aws/changerequest

        This type of OpsItem is used by Change Manager for reviewing and approving or rejecting change requests.

      • /aws/insight

        This type of OpsItem is used by OpsCenter for aggregating and reporting on duplicate OpsItems.

      Returns:
      The type of OpsItem. Systems Manager supports the following types of OpsItems:

      • /aws/issue

        This type of OpsItem is used for default OpsItems created by OpsCenter.

      • /aws/changerequest

        This type of OpsItem is used by Change Manager for reviewing and approving or rejecting change requests.

      • /aws/insight

        This type of OpsItem is used by OpsCenter for aggregating and reporting on duplicate OpsItems.

    • createdTime

      public final Instant createdTime()

      The date and time the OpsItem was created.

      Returns:
      The date and time the OpsItem was created.
    • description

      public final String description()

      The OpsItem description.

      Returns:
      The OpsItem description.
    • lastModifiedBy

      public final String lastModifiedBy()

      The ARN of the Amazon Web Services account that last updated the OpsItem.

      Returns:
      The ARN of the Amazon Web Services account that last updated the OpsItem.
    • lastModifiedTime

      public final Instant lastModifiedTime()

      The date and time the OpsItem was last updated.

      Returns:
      The date and time the OpsItem was last updated.
    • hasNotifications

      public final boolean hasNotifications()
      For responses, this returns true if the service returned a value for the Notifications property. This DOES NOT check that the value is non-empty (for which, you should check the isEmpty() method on the property). This is useful because the SDK will never return a null collection or map, but you may need to differentiate between the service returning nothing (or null) and the service returning an empty collection or map. For requests, this returns true if a value for the property was specified in the request builder, and false if a value was not specified.
    • notifications

      public final List<OpsItemNotification> notifications()

      The Amazon Resource Name (ARN) of an Amazon Simple Notification Service (Amazon SNS) topic where notifications are sent when this OpsItem is edited or changed.

      Attempts to modify the collection returned by this method will result in an UnsupportedOperationException.

      This method will never return null. If you would like to know whether the service returned this field (so that you can differentiate between null and empty), you can use the hasNotifications() method.

      Returns:
      The Amazon Resource Name (ARN) of an Amazon Simple Notification Service (Amazon SNS) topic where notifications are sent when this OpsItem is edited or changed.
    • priority

      public final Integer priority()

      The importance of this OpsItem in relation to other OpsItems in the system.

      Returns:
      The importance of this OpsItem in relation to other OpsItems in the system.
    • hasRelatedOpsItems

      public final boolean hasRelatedOpsItems()
      For responses, this returns true if the service returned a value for the RelatedOpsItems property. This DOES NOT check that the value is non-empty (for which, you should check the isEmpty() method on the property). This is useful because the SDK will never return a null collection or map, but you may need to differentiate between the service returning nothing (or null) and the service returning an empty collection or map. For requests, this returns true if a value for the property was specified in the request builder, and false if a value was not specified.
    • relatedOpsItems

      public final List<RelatedOpsItem> relatedOpsItems()

      One or more OpsItems that share something in common with the current OpsItem. For example, related OpsItems can include OpsItems with similar error messages, impacted resources, or statuses for the impacted resource.

      Attempts to modify the collection returned by this method will result in an UnsupportedOperationException.

      This method will never return null. If you would like to know whether the service returned this field (so that you can differentiate between null and empty), you can use the hasRelatedOpsItems() method.

      Returns:
      One or more OpsItems that share something in common with the current OpsItem. For example, related OpsItems can include OpsItems with similar error messages, impacted resources, or statuses for the impacted resource.
    • status

      public final OpsItemStatus status()

      The OpsItem status. Status can be Open, In Progress, or Resolved. For more information, see Editing OpsItem details in the Amazon Web Services Systems Manager User Guide.

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

      Returns:
      The OpsItem status. Status can be Open, In Progress, or Resolved. For more information, see Editing OpsItem details in the Amazon Web Services Systems Manager User Guide.
      See Also:
    • statusAsString

      public final String statusAsString()

      The OpsItem status. Status can be Open, In Progress, or Resolved. For more information, see Editing OpsItem details in the Amazon Web Services Systems Manager User Guide.

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

      Returns:
      The OpsItem status. Status can be Open, In Progress, or Resolved. For more information, see Editing OpsItem details in the Amazon Web Services Systems Manager User Guide.
      See Also:
    • opsItemId

      public final String opsItemId()

      The ID of the OpsItem.

      Returns:
      The ID of the OpsItem.
    • version

      public final String version()

      The version of this OpsItem. Each time the OpsItem is edited the version number increments by one.

      Returns:
      The version of this OpsItem. Each time the OpsItem is edited the version number increments by one.
    • title

      public final String title()

      A short heading that describes the nature of the OpsItem and the impacted resource.

      Returns:
      A short heading that describes the nature of the OpsItem and the impacted resource.
    • source

      public final String source()

      The origin of the OpsItem, such as Amazon EC2 or Systems Manager. The impacted resource is a subset of source.

      Returns:
      The origin of the OpsItem, such as Amazon EC2 or Systems Manager. The impacted resource is a subset of source.
    • hasOperationalData

      public final boolean hasOperationalData()
      For responses, this returns true if the service returned a value for the OperationalData property. This DOES NOT check that the value is non-empty (for which, you should check the isEmpty() method on the property). This is useful because the SDK will never return a null collection or map, but you may need to differentiate between the service returning nothing (or null) and the service returning an empty collection or map. For requests, this returns true if a value for the property was specified in the request builder, and false if a value was not specified.
    • operationalData

      public final Map<String,OpsItemDataValue> operationalData()

      Operational data is custom data that provides useful reference details about the OpsItem. For example, you can specify log files, error strings, license keys, troubleshooting tips, or other relevant data. You enter operational data as key-value pairs. The key has a maximum length of 128 characters. The value has a maximum size of 20 KB.

      Operational data keys can't begin with the following: amazon, aws, amzn, ssm, /amazon, /aws, /amzn, /ssm.

      You can choose to make the data searchable by other users in the account or you can restrict search access. Searchable data means that all users with access to the OpsItem Overview page (as provided by the DescribeOpsItems API operation) can view and search on the specified data. Operational data that isn't searchable is only viewable by users who have access to the OpsItem (as provided by the GetOpsItem API operation).

      Use the /aws/resources key in OperationalData to specify a related resource in the request. Use the /aws/automations key in OperationalData to associate an Automation runbook with the OpsItem. To view Amazon Web Services CLI example commands that use these keys, see Creating OpsItems manually in the Amazon Web Services Systems Manager User Guide.

      Attempts to modify the collection returned by this method will result in an UnsupportedOperationException.

      This method will never return null. If you would like to know whether the service returned this field (so that you can differentiate between null and empty), you can use the hasOperationalData() method.

      Returns:
      Operational data is custom data that provides useful reference details about the OpsItem. For example, you can specify log files, error strings, license keys, troubleshooting tips, or other relevant data. You enter operational data as key-value pairs. The key has a maximum length of 128 characters. The value has a maximum size of 20 KB.

      Operational data keys can't begin with the following: amazon, aws, amzn, ssm, /amazon, /aws, /amzn, /ssm.

      You can choose to make the data searchable by other users in the account or you can restrict search access. Searchable data means that all users with access to the OpsItem Overview page (as provided by the DescribeOpsItems API operation) can view and search on the specified data. Operational data that isn't searchable is only viewable by users who have access to the OpsItem (as provided by the GetOpsItem API operation).

      Use the /aws/resources key in OperationalData to specify a related resource in the request. Use the /aws/automations key in OperationalData to associate an Automation runbook with the OpsItem. To view Amazon Web Services CLI example commands that use these keys, see Creating OpsItems manually in the Amazon Web Services Systems Manager User Guide.

    • category

      public final String category()

      An OpsItem category. Category options include: Availability, Cost, Performance, Recovery, Security.

      Returns:
      An OpsItem category. Category options include: Availability, Cost, Performance, Recovery, Security.
    • severity

      public final String severity()

      The severity of the OpsItem. Severity options range from 1 to 4.

      Returns:
      The severity of the OpsItem. Severity options range from 1 to 4.
    • actualStartTime

      public final Instant actualStartTime()

      The time a runbook workflow started. Currently reported only for the OpsItem type /aws/changerequest .

      Returns:
      The time a runbook workflow started. Currently reported only for the OpsItem type /aws/changerequest.
    • actualEndTime

      public final Instant actualEndTime()

      The time a runbook workflow ended. Currently reported only for the OpsItem type /aws/changerequest.

      Returns:
      The time a runbook workflow ended. Currently reported only for the OpsItem type /aws/changerequest.
    • plannedStartTime

      public final Instant plannedStartTime()

      The time specified in a change request for a runbook workflow to start. Currently supported only for the OpsItem type /aws/changerequest.

      Returns:
      The time specified in a change request for a runbook workflow to start. Currently supported only for the OpsItem type /aws/changerequest.
    • plannedEndTime

      public final Instant plannedEndTime()

      The time specified in a change request for a runbook workflow to end. Currently supported only for the OpsItem type /aws/changerequest.

      Returns:
      The time specified in a change request for a runbook workflow to end. Currently supported only for the OpsItem type /aws/changerequest.
    • opsItemArn

      public final String opsItemArn()

      The OpsItem Amazon Resource Name (ARN).

      Returns:
      The OpsItem Amazon Resource Name (ARN).
    • toBuilder

      public OpsItem.Builder toBuilder()
      Description copied from interface: ToCopyableBuilder
      Take this object and create a builder that contains all of the current property values of this object.
      Specified by:
      toBuilder in interface ToCopyableBuilder<OpsItem.Builder,OpsItem>
      Returns:
      a builder for type T
    • builder

      public static OpsItem.Builder builder()
    • serializableBuilderClass

      public static Class<? extends OpsItem.Builder> serializableBuilderClass()
    • hashCode

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

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

      public final boolean equalsBySdkFields(Object obj)
      Description copied from interface: SdkPojo
      Indicates whether some other object is "equal to" this one by SDK fields. An SDK field is a modeled, non-inherited field in an SdkPojo class, and is generated based on a service model.

      If an SdkPojo class does not have any inherited fields, equalsBySdkFields and equals are essentially the same.

      Specified by:
      equalsBySdkFields in interface SdkPojo
      Parameters:
      obj - the object to be compared with
      Returns:
      true if the other object equals to this object by sdk fields, false otherwise.
    • 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)
    • sdkFields

      public final List<SdkField<?>> sdkFields()
      Specified by:
      sdkFields in interface SdkPojo
      Returns:
      List of SdkField in this POJO. May be empty list but should never be null.