1. Docs
  2. Pulumi IaC
  3. Concepts
  4. Resource options
  5. customTimeouts

Resource option: customTimeouts

The customTimeouts resource option provides a set of custom timeouts for create, update, and delete operations on a resource. These timeouts are specified using a duration string such as “5m” (5 minutes), “40s” (40 seconds), or “12h” (12 hours). Supported duration units are “ns”, “us” (or “µs”), “ms”, “s”, “m”, and “h” (nanoseconds, microseconds, milliseconds, seconds, minutes, and hours, respectively).

For the most part, Pulumi automatically waits for operations to complete and times out appropriately. In some circumstances, such as working around bugs in the infrastructure provider, custom timeouts may be necessary.

This example specifies that the create operation should wait up to 30 minutes to complete before timing out:

let db = new Database("db", {/*...*/},
    { customTimeouts: { create: "30m" } });
Copy
let db = new Database("db", {/*...*/},
    { customTimeouts: { create: "30m" } });
Copy
db = Database('db',
    opts=ResourceOptions(custom_timeouts=CustomTimeouts(create='30m')))
Copy
db, err := NewDatabase(ctx, "db", &DatabaseArgs{ /*...*/ },
    pulumi.Timeouts(&pulumi.CustomTimeouts{Create: "30m"}))
Copy
var db = new Database("db", new DatabaseArgs(),
    new CustomResourceOptions {
        CustomTimeouts = new CustomTimeouts { Create = TimeSpan.FromMinutes(30) }
    });
Copy
var db = new Database("db",
    DatabaseArgs.Empty,
    CustomResourceOptions.builder()
        .customTimeouts(
            CustomTimeouts.builder()
                .create(Duration.ofMinutes(30))
                .build())
        .build());
Copy
resources:
  db:
    type: Database
    options:
      customTimeouts:
        create: "30m"
Copy
The customTimeouts resource option does not apply to component resources, and will not have the intended effect.

Was this page helpful?

PulumiUP May 6, 2025. Register Now.