Class PollConfiguration

java.lang.Object
de.taimos.pipeline.aws.cloudformation.PollConfiguration

public class PollConfiguration extends Object
  • Field Details

    • DEFAULT

      public static final PollConfiguration DEFAULT
    • DISABLED_POLL_INTERVAL_SUBSTITUTE

      public static final Duration DISABLED_POLL_INTERVAL_SUBSTITUTE
      pollInterval: 0 is documented as disabling event printing, which EventPrinter honours by skipping its loop. It says nothing about how often the underlying wait should call AWS, and a zero delay there means a tight loop against the API for the whole wait - so a non-positive interval is substituted with one second. Every value that is at least a millisecond is honoured exactly: pollInterval is in milliseconds, so 250 is a legal thing to ask for. The test is on the value in milliseconds, not on the Duration's sign, because both consumers work in milliseconds - Thread.sleep for the stack-set loops, a fixed backoff for the waiters - so a positive but sub-millisecond interval would round to zero there and become the very tight loop this exists to prevent. Pipelines cannot express one (TemplateStepBase builds the Duration with ofMillis), but the guard should not depend on that. Both waiting implementations go through this, so the CloudFormation waiters and the stack-set poll loops cannot drift apart on it.
  • Constructor Details

    • PollConfiguration

      public PollConfiguration()
  • Method Details

    • effectivePollInterval

      public static Duration effectivePollInterval(Duration pollInterval)
    • getEffectivePollInterval

      public Duration getEffectivePollInterval()