Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
25 changes: 24 additions & 1 deletion connection-coordinator/schemas/common.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -37,4 +37,27 @@ Empty:
description: |-
A generic empty message that you can re-use to avoid defining duplicated
empty messages in your APIs.
type: object
type: object

ConnectionType:
description: |-
Enum that describes the type of a connection.
CONNECTION_TYPE_STANDARD - Standard connections are ordinary customer
connections.
CONNECTION_TYPE_TEST - Test connections are reserved for provider
development teams to support testing and canary workflows. Test
connections may be provisioned at bandwidths below the minimum supported
size (e.g. 50 Mbps). Bandwidth consumed by test connections must not
count against interconnect or environment capacity totals. Partners may
enforce a small quota on the number of active test connections.
CONNECTION_TYPE_MONITORING - Monitoring connections are reserved for

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Are we expecting any specific routing behavior from the monitoring connections (i.e. the reflector attachments) or just standard routing?

If we're expecting any special routing config here we probably want to document how it would work differently.

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I do think that the expectation of the MONITORING type is that any special routing that local provider must do to enable the agreed upon monitoring for the remote provider should be present.

I don't know if we want to distinctly document exactly what that should be per the API, as each provider may have differing requirements here.

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

SGTM to avoid documenting exactly how it works, but it is worth documenting that this can have provider-specific behavior.

I also think that the quota here should be 2 monitoring connections allowed; one owned by one provider, a second owned by the other. E.g. if I ask AWS to create a monitoring connection, it may have different behavior than when you ask GCP to create one.

Final thing: should we consider documenting that a monitoring connection may not have a customer resource / key associated with it, or is that also something to leave up to each provider?

active monitoring sessions between providers. Monitoring connections may
be provisioned at a small bandwidth and must not tally against
interconnect or environment capacity totals. The quota is 1 per
interconnect (not per environment) to enable monitoring across all
underlying links.
enum:
- CONNECTION_TYPE_STANDARD
- CONNECTION_TYPE_TEST
- CONNECTION_TYPE_MONITORING
type: string
8 changes: 7 additions & 1 deletion connection-coordinator/schemas/connection.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -66,7 +66,13 @@ Connection:
oneOf:
- $ref: "#/EncodedKey"
- $ref: "#/SourceConnectionName"

connectionType:
allOf:
- $ref: "common.yaml#/ConnectionType"
description: |-
Optional. The type of connection being created. Defaults to
CONNECTION_TYPE_STANDARD if not specified.
default: CONNECTION_TYPE_STANDARD

type: object

Expand Down