public String getAlarmRule() {
        return this.alarmRule;
    }
<p>
An expression that specifies which other alarms are to be evaluated to determine this composite alarm's state.
For each alarm that you reference, you designate a function that specifies whether that alarm needs to be in
ALARM state, OK state, or INSUFFICIENT_DATA state. You can use operators (AND, OR and NOT) to combine multiple
functions in a single expression. You can use parenthesis to logically group the functions in your expression.
</p>
<p>
You can use either alarm names or ARNs to reference the other alarms that are to be evaluated.
</p>
<p>
Functions can include the following:
</p>
<ul>
<li>
<p>
<code>ALARM("<i>alarm-name</i> or <i>alarm-ARN</i>")</code> is TRUE if the named alarm is in ALARM state.
</p>
</li>
<li>
<p>
<code>OK("<i>alarm-name</i> or <i>alarm-ARN</i>")</code> is TRUE if the named alarm is in OK state.
</p>
</li>
<li>
<p>
<code>INSUFFICIENT_DATA("<i>alarm-name</i> or <i>alarm-ARN</i>")</code> is TRUE if the named alarm is in
INSUFFICIENT_DATA state.
</p>
</li>
<li>
<p>
<code>TRUE</code> always evaluates to TRUE.
</p>
</li>
<li>
<p>
<code>FALSE</code> always evaluates to FALSE.
</p>
</li>
</ul>
<p>
TRUE and FALSE are useful for testing a complex <code>AlarmRule</code> structure, and for testing your alarm
actions.
</p>
<p>
Alarm names specified in <code>AlarmRule</code> can be surrounded with double-quotes ("), but do not have to be.
</p>
<p>
The following are some examples of <code>AlarmRule</code>:
</p>
<ul>
<li>
<p>
<code>ALARM(CPUUtilizationTooHigh) AND ALARM(DiskReadOpsTooHigh)</code> specifies that the composite alarm goes
into ALARM state only if both CPUUtilizationTooHigh and DiskReadOpsTooHigh alarms are in ALARM state.
</p>
</li>
<li>
<p>
<code>ALARM(CPUUtilizationTooHigh) AND NOT ALARM(DeploymentInProgress)</code> specifies that the alarm goes to
ALARM state if CPUUtilizationTooHigh is in ALARM state and DeploymentInProgress is not in ALARM state. This
example reduces alarm noise during a known deployment window.
</p>
</li>
<li>
<p>
<code>(ALARM(CPUUtilizationTooHigh) OR ALARM(DiskReadOpsTooHigh)) AND OK(NetworkOutTooHigh)</code> goes into
ALARM state if CPUUtilizationTooHigh OR DiskReadOpsTooHigh is in ALARM state, and if NetworkOutTooHigh is in OK
state. This provides another example of using a composite alarm to prevent noise. This rule ensures that you are
not notified with an alarm action on high CPU or disk usage if a known network problem is also occurring.
</p>
</li>
</ul>
<p>
The <code>AlarmRule</code> can specify as many as 100 "children" alarms. The <code>AlarmRule</code> expression
can have as many as 500 elements. Elements are child alarms, TRUE or FALSE statements, and parentheses.
</p>

@return An expression that specifies which other alarms are to be evaluated to determine this composite alarm's
        state. For each alarm that you reference, you designate a function that specifies whether that alarm
        needs to be in ALARM state, OK state, or INSUFFICIENT_DATA state. You can use operators (AND, OR and NOT)
        to combine multiple functions in a single expression. You can use parenthesis to logically group the
        functions in your expression.</p>
        <p>
        You can use either alarm names or ARNs to reference the other alarms that are to be evaluated.
        </p>
        <p>
        Functions can include the following:
        </p>
        <ul>
        <li>
        <p>
        <code>ALARM("<i>alarm-name</i> or <i>alarm-ARN</i>")</code> is TRUE if the named alarm is in ALARM state.
        </p>
        </li>
        <li>
        <p>
        <code>OK("<i>alarm-name</i> or <i>alarm-ARN</i>")</code> is TRUE if the named alarm is in OK state.
        </p>
        </li>
        <li>
        <p>
        <code>INSUFFICIENT_DATA("<i>alarm-name</i> or <i>alarm-ARN</i>")</code> is TRUE if the named alarm is in
        INSUFFICIENT_DATA state.
        </p>
        </li>
        <li>
        <p>
        <code>TRUE</code> always evaluates to TRUE.
        </p>
        </li>
        <li>
        <p>
        <code>FALSE</code> always evaluates to FALSE.
        </p>
        </li>
        </ul>
        <p>
        TRUE and FALSE are useful for testing a complex <code>AlarmRule</code> structure, and for testing your
        alarm actions.
        </p>
        <p>
        Alarm names specified in <code>AlarmRule</code> can be surrounded with double-quotes ("), but do not have
        to be.
        </p>
        <p>
        The following are some examples of <code>AlarmRule</code>:
        </p>
        <ul>
        <li>
        <p>
        <code>ALARM(CPUUtilizationTooHigh) AND ALARM(DiskReadOpsTooHigh)</code> specifies that the composite
        alarm goes into ALARM state only if both CPUUtilizationTooHigh and DiskReadOpsTooHigh alarms are in ALARM
        state.
        </p>
        </li>
        <li>
        <p>
        <code>ALARM(CPUUtilizationTooHigh) AND NOT ALARM(DeploymentInProgress)</code> specifies that the alarm
        goes to ALARM state if CPUUtilizationTooHigh is in ALARM state and DeploymentInProgress is not in ALARM
        state. This example reduces alarm noise during a known deployment window.
        </p>
        </li>
        <li>
        <p>
        <code>(ALARM(CPUUtilizationTooHigh) OR ALARM(DiskReadOpsTooHigh)) AND OK(NetworkOutTooHigh)</code> goes
        into ALARM state if CPUUtilizationTooHigh OR DiskReadOpsTooHigh is in ALARM state, and if
        NetworkOutTooHigh is in OK state. This provides another example of using a composite alarm to prevent
        noise. This rule ensures that you are not notified with an alarm action on high CPU or disk usage if a
        known network problem is also occurring.
        </p>
        </li>
        </ul>
        <p>
        The <code>AlarmRule</code> can specify as many as 100 "children" alarms. The <code>AlarmRule</code>
        expression can have as many as 500 elements. Elements are child alarms, TRUE or FALSE statements, and
        parentheses.
aws-java-sdk-cloudwatch/src/main/java/com/amazonaws/services/cloudwatch/model/PutCompositeAlarmRequest.java