Class 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:
    Serialized Form
    • Method Detail

      • 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.
      • 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:
        OpsItemStatus
      • 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).
      • 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
      • 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)