Skip to content

Commit 9dcefb0

Browse files
committed
Merge branch 'fix-regional-endpoints' of github.com:temporalio/documentation into fix-regional-endpoints
2 parents 85f7dd6 + ed502da commit 9dcefb0

21 files changed

Lines changed: 180 additions & 176 deletions

File tree

docs/cloud/billing-and-usage/billing-api.mdx

Lines changed: 6 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,7 @@ This API is part of the [Cloud Operations API](/ops).
2020

2121
:::tip Support, stability, and dependency info
2222

23-
The Temporal Cloud Billing API is in [Pre-release](/evaluate/development-production-features/release-stages#pre-release).
23+
The Temporal Cloud Billing API is in [Public Preview](/evaluate/development-production-features/release-stages#public-preview).
2424

2525
:::
2626

@@ -33,7 +33,7 @@ The Billing API allows you to:
3333
The Billing Report contains:
3434

3535
- Accurate Namespace-level cost attribution
36-
- Hourly granularity
36+
- Hourly, daily, and monthly granularities
3737
- A [FOCUS](https://focus.finops.org/)-friendly data format
3838

3939
For complete request and response schemas, refer to the Schema below.
@@ -42,7 +42,10 @@ Billing report generation is **asynchronous**. You initiate report creation, the
4242

4343
## Report data limitations
4444

45-
For pre-release, reports can be generated with hourly granularity only, for the current billing month, and the previous billing month.
45+
For public preview, reports can be generated with hourly, daily and monthly granularities, each of which have their own data ranges.
46+
- Hourly: Current billing month and previous billing month
47+
- Daily: Current billing month and previous two billing months
48+
- Monthly: Current billing month and previous eleven billing months
4649

4750
## Allowed date ranges
4851

docs/cloud/billing-and-usage/billing.mdx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -87,7 +87,7 @@ The following information appears under the credits table:
8787

8888
## Cost by Namespace {#cost-by-namespace}
8989

90-
:::tip Temporal Cloud Billing API in Pre-release
90+
:::tip Temporal Cloud Billing API in Public Preview
9191

9292
The [Temporal Cloud Billing API](/cloud/billing-api) allows you to access billing information on a Namespace basis to an hourly granularity, enriched with Tags and Projects. The Billing API will replace the Cost by Namespace UI.
9393

docs/cloud/billing-and-usage/index.mdx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -44,7 +44,7 @@ The following tools are available for measuring Usage and Billing:
4444

4545
:::tip Support, stability, and dependency info
4646

47-
The Temporal Cloud Billing API is in [Pre-release](/evaluate/development-production-features/release-stages#pre-release).
47+
The Temporal Cloud Billing API is in [Public Preview](/evaluate/development-production-features/release-stages#public-preview).
4848

4949
:::
5050

docs/cloud/connectivity/aws-connectivity.mdx

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -33,16 +33,15 @@ After creating the PrivateLink endpoint, configure your clients to use it throug
3333

3434
## Requirements
3535

36-
* Your AWS PrivateLink endpoint must be in the same region as your Temporal Cloud namespace. If using [replication for High Availability](/cloud/high-availability), the PL connection must be in the same region as one of the replicas.
36+
* Your AWS PrivateLink (PL) endpoint must be in the same region as your Temporal Cloud Namespace. If the Namespace is using [replication for High Availability](/cloud/high-availability), the PL connection must be in the same region as one of the replicas.
3737
See [cross-region PrivateLink connectivity](#cross-region-privatelink) to access the Namespace from a different region.
3838
* Your Private DNS must be configured to direct Worker / Client traffic to your VPC Endpoint, as described below.
3939
* If the Worker / Client is not using the Namespace Endpoint, it may need to set the `server_name` config to the Namespace Endpoint string, as described below.
4040

4141
### Cross-region PrivateLink Connectivity {#cross-region-privatelink}
4242

43-
Temporal Cloud does **not** support [cross-region connectivity for AWS PrivateLink](https://aws.amazon.com/blogs/networking-and-content-delivery/introducing-cross-region-connectivity-for-aws-privatelink/) out of the box.
43+
Temporal Cloud does **not** support [cross-region connectivity for AWS PrivateLink](https://aws.amazon.com/blogs/networking-and-content-delivery/introducing-cross-region-connectivity-for-aws-privatelink/) out of the box. However, if you need to reach Temporal Cloud privately from a different region than your Namespace, you can route traffic to your VPC Endpoint in the Namespace's region using [AWS's native cross-region networking features]((https://docs.aws.amazon.com/whitepapers/latest/building-scalable-secure-multi-vpc-network-infrastructure/centralized-access-to-vpc-private-endpoints.html#cross-region-endpoint-access)).
4444

45-
You can access your VPC Endpoint in a different region using the [native cross-region routing in AWS](https://docs.aws.amazon.com/whitepapers/latest/building-scalable-secure-multi-vpc-network-infrastructure/centralized-access-to-vpc-private-endpoints.html#cross-region-endpoint-access).
4645

4746
When using High Availability on Temporal Cloud, it's best practice to have two VPC Endpoints, one in each of the Namespace's regions, to ensure at least one VPC Endpoint is accessible during a regional outage.
4847

@@ -197,7 +196,7 @@ The DNS resolver inside your VPC returns the private endpoint, while TLS still v
197196

198197
## Configure private DNS for Namespaces with High Availability
199198

200-
For Namespaces with [High Availability features](/cloud/high-availability), you need to override DNS for `region.tmprl.io` so each region resolves to the local VPC Endpoint, and you need to ensure Workers can reach whichever region is active. Failover is transparent to clients only when this is set up correctly.
199+
For Namespaces with [High Availability features](/cloud/high-availability), you need to override DNS for `region.tmprl.cloud` so each region resolves to the local VPC Endpoint, and you need to ensure Workers can reach whichever region is active. Failover is transparent to clients only when this is set up correctly.
201200

202201
The complete guidance — including single-cloud (AWS-only) HA, multi-cloud HA (AWS PrivateLink + GCP Private Service Connect), and a recommended failover-testing plan — lives on a single page: [Connectivity for High Availability](/cloud/high-availability/ha-connectivity).
203202

@@ -212,13 +211,14 @@ For single-region Namespaces, you can avoid creating DNS records for each Namesp
212211

213212
With this approach, new Namespaces do not require new DNS records.
214213

215-
:::warning Extra care needed for Namespaces with High Availability
214+
:::caution Extra care needed for Namespaces with High Availability
216215

217216
Direct VPCE targeting bypasses the Temporal-managed DNS CNAME that normally routes a Namespace to its active region, so each Worker is pinned to whichever VPC Endpoint you configure. To keep both regions reachable, you must run Workers in each region and configure them with **different endpoints**:
218217

219218
- Workers in the primary region: the local VPC Endpoint for that region (e.g., `vpce-...-us-east-1.vpce.amazonaws.com:7233`).
220219
- Workers in the replica region: the local VPC Endpoint for that region (e.g., `vpce-...-us-west-2.vpce.amazonaws.com:7233`).
221-
- All Workers: the same SNI override — the Namespace Endpoint value (e.g., `my-namespace.my-account.tmprl.cloud`).
220+
221+
All Workers require the same SNI override — the Namespace Endpoint value (e.g., `my-namespace.my-account.tmprl.cloud`).
222222

223223
:::
224224

docs/cloud/high-availability/failovers.mdx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -62,7 +62,7 @@ In most scenarios, we recommend you let Temporal handle failovers for you.
6262
After failover, be aware of the following points:
6363

6464
- When working with Multi-region Namespaces, your CNAME may change.
65-
For example, it may switch from us-west-1.aws.api.temporal.io to us-east-1.aws.api.temporal.io.
65+
For example, it may switch from aws-us-west-1.region.tmprl.cloud to aws-us-east-1.region.tmprl.cloud.
6666
This change doesn't affect same-region Namespaces.
6767

6868
- Your Namespace endpoint _will not change_.

docs/cloud/high-availability/ha-connectivity.mdx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -25,7 +25,7 @@ A Namespace with High Availability features has two replicas — a primary and a
2525
Temporal Cloud expresses the active replica through DNS:
2626

2727
- The Namespace DNS record (`<ns>.<account>.tmprl.cloud`) is a CNAME.
28-
- It points to the active region's regional record (`<region>.<provider>.api.temporal.io`).
28+
- It points to the active region's regional record (`<provider>-<region>.region.tmprl.cloud`).
2929
- On failover, Temporal Cloud rewrites the CNAME target.
3030

3131
Namespace DNS records have a 15-second TTL. Clients should converge to the new region within roughly 30 seconds (about twice the TTL) once their resolver cache expires.

docs/cloud/manage-access/roles-and-permissions.mdx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -36,7 +36,7 @@ The following table provides a summary of the account-level roles and their prim
3636
| Account Owner | Owns and governs the account | Yes | All Namespaces (cannot be revoked) | Full billing, payments, and usage |
3737
| Global Admin | Administers account configuration and users | Yes | All Namespaces (cannot be revoked) | Usage only |
3838
| Developer | Creates and manages Namespaces they own | Yes | Namespaces they create (can be revoked) | None |
39-
| Finance Admin | Manages billing and payment information | No | None | Full billing and payments |
39+
| Finance Admin | Manages billing and payment information | No | None | Full billing, payments, and usage |
4040
| Read-Only | Views account configuration and resources | No | None | None |
4141

4242
Account-level roles don't govern day-to-day operations within a Namespace. Access to resources inside a Namespace, such

docs/develop/dotnet/workflows/child-workflows.mdx

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -40,8 +40,9 @@ A [Child Workflow Execution](/child-workflows) is a Workflow Execution that is s
4040

4141
When using a Child Workflow API, Child Workflow related Events ([StartChildWorkflowExecutionInitiated](/references/events#startchildworkflowexecutioninitiated), [ChildWorkflowExecutionStarted](/references/events#childworkflowexecutionstarted), [ChildWorkflowExecutionCompleted](/references/events#childworkflowexecutioncompleted), etc...) are logged in the Workflow Execution Event History.
4242

43-
Always block progress until the [ChildWorkflowExecutionStarted](/references/events#childworkflowexecutionstarted) Event is logged to the Event History to ensure the Child Workflow Execution has started.
44-
After that, Child Workflow Executions may be abandoned using the _Abandon_ [Parent Close Policy](/parent-close-policy) set in the Child Workflow Options.
43+
The [ChildWorkflowExecutionStarted](/references/events#childworkflowexecutionstarted) Event must be logged to the Event History before the Parent Workflow completes to ensure the Child Workflow has started.
44+
In .NET, awaiting `StartChildWorkflowAsync()` or `ExecuteChildWorkflowAsync()` internally waits for this Event before returning, so the Child Workflow is guaranteed to have started once the call resolves.
45+
If you start a Child Workflow from a non-main context (for example, a Signal or Update handler), make sure the Parent Workflow doesn't complete before that call resolves.
4546

4647
To spawn a Child Workflow Execution in .NET, use the `ExecuteChildWorkflowAsync()` method which starts the Child Workflow and waits for completion or
4748
use the `StartChildWorkflowAsync()` method to start a Child Workflow and return its handle.

docs/develop/go/workers/run-worker-process.mdx

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,8 @@ Create a [`Worker`](https://pkg.go.dev/go.temporal.io/sdk/worker#Worker) by call
2222
2. The name of the Task Queue to poll.
2323
3. A [`worker.Options`](https://pkg.go.dev/go.temporal.io/sdk/internal#WorkerOptions) struct (can be empty for defaults).
2424

25-
Register your Workflow and Activity types, then call `Run()` to start polling.
25+
Register your Workflow and Activity types, then call `Run()` to start polling. The Worker process is a long-running process that blocks while polling for tasks.
26+
Run it in a separate terminal from your starter code or other application logic.
2627

2728
```go
2829
package main

docs/develop/go/workflows/child-workflows.mdx

Lines changed: 3 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -24,12 +24,9 @@ A [Child Workflow Execution](/child-workflows) is a Workflow Execution that is s
2424

2525
When using a Child Workflow API, Child Workflow related Events ([StartChildWorkflowExecutionInitiated](/references/events#startchildworkflowexecutioninitiated), [ChildWorkflowExecutionStarted](/references/events#childworkflowexecutionstarted), [ChildWorkflowExecutionCompleted](/references/events#childworkflowexecutioncompleted), etc...) are logged in the Workflow Execution Event History.
2626

27-
Always block progress until the [ChildWorkflowExecutionStarted](/references/events#childworkflowexecutionstarted) Event is logged to the Event History to ensure the Child Workflow Execution has started.
28-
After that, Child Workflow Executions may be abandoned using the _Abandon_ [Parent Close Policy](/parent-close-policy) set in the Child Workflow Options.
29-
30-
To be sure that the Child Workflow Execution has started, first call the Child Workflow Execution method on the instance of Child Workflow future, which returns a different future.
31-
32-
Then get the value of an object that acts as a proxy for a result that is initially unknown, which is what waits until the Child Workflow Execution has spawned.
27+
The [ChildWorkflowExecutionStarted](/references/events#childworkflowexecutionstarted) Event must be logged to the Event History before the Parent Workflow completes to ensure the Child Workflow has started.
28+
In Go, you must explicitly call `GetChildWorkflowExecution()` on the `ChildWorkflowFuture` and then call `Get()` on the returned Future to wait for this Event.
29+
See the [Async Child Workflows](#async-child-workflows) section below for a complete example.
3330

3431
To spawn a [Child Workflow Execution](/child-workflows) in Go, use the [`ExecuteChildWorkflow`](https://pkg.go.dev/go.temporal.io/sdk/workflow#ExecuteChildWorkflow) API, which is available from the `go.temporal.io/sdk/workflow` package.
3532

0 commit comments

Comments
 (0)