@@ -75,6 +75,14 @@ service TransportManager {
7575 option (google.api.method_signature ) = "name" ;
7676 }
7777
78+ // Gets the operational status of a single Transport.
79+ rpc GetStatus (GetStatusRequest ) returns (GetStatusResponse ) {
80+ option (google.api.http ) = {
81+ get : "/v1beta/{name=projects/*/locations/*/transports/*}:getStatus"
82+ };
83+ option (google.api.method_signature ) = "name" ;
84+ }
85+
7886 // Creates a new Transport in a given project and location.
7987 rpc CreateTransport (CreateTransportRequest )
8088 returns (google.longrunning.Operation ) {
@@ -393,6 +401,15 @@ message Transport {
393401 // The Transport is configured and the underlying connectivity is considered
394402 // operational.
395403 ACTIVE = 4 ;
404+
405+ // The Transport is being deleted from GCP. The underlying connectivity is
406+ // no longer operational.
407+ DELETING = 5 ;
408+
409+ // The Transport was deleted on the remote provider's end and is no longer
410+ // operational. GCP has insufficient information to move the resource back
411+ // to PENDING_KEY state.
412+ DEPROVISIONED = 6 ;
396413 }
397414
398415 // Identifier. Name of the resource.
@@ -527,6 +544,102 @@ message GetTransportRequest {
527544 ];
528545}
529546
547+ // Message for getting a Transport's operational status.
548+ message GetStatusRequest {
549+ // Required. Name of the resource.
550+ string name = 1 [
551+ (google.api.field_behavior ) = REQUIRED ,
552+ (google.api.resource_reference ) = {
553+ type : "networkconnectivity.googleapis.com/Transport"
554+ }
555+ ];
556+ }
557+
558+ // Message for the response to getting a Transport's operational status.
559+ message GetStatusResponse {
560+ // The overall status of the Transport.
561+ enum OverallStatus {
562+ // Unspecified status.
563+ OVERALL_STATUS_UNSPECIFIED = 0 ;
564+
565+ // Resource is active and operational.
566+ ACTIVE = 1 ;
567+
568+ // Resource is waiting for an activation key to be exchanged.
569+ PENDING_KEY = 2 ;
570+
571+ // Activation keys have been exchanged and connectivity is being
572+ // established.
573+ CONFIGURING = 3 ;
574+
575+ // VPC Peering has been taken down, or the NCC Spoke has been rejected.
576+ DISCONNECTED = 4 ;
577+
578+ // User configuration is correct, but the configured capacity is
579+ // operationally down.
580+ DOWN = 5 ;
581+ }
582+
583+ // The operational status of the underlying networking components.
584+ enum OperationalStatus {
585+ // Unspecified status.
586+ OPERATIONAL_STATUS_UNSPECIFIED = 0 ;
587+
588+ // Protected capacity is available and networking components show as up.
589+ OPERATIONAL_STATUS_ACTIVE = 1 ;
590+
591+ // Protected capacity is showing as operationally down.
592+ OPERATIONAL_STATUS_DOWN = 2 ;
593+ }
594+
595+ // Current status of connectivity to the local GCP resource. This reflects
596+ // whether the VPC Peering or NCC Hub appears correctly configured.
597+ enum ConnectivityStatus {
598+ // Unspecified status.
599+ CONNECTIVITY_STATUS_UNSPECIFIED = 0 ;
600+
601+ // VPC Peering or the NCC Hub appear to be correctly established.
602+ CONNECTIVITY_STATUS_CONNECTED = 1 ;
603+
604+ // VPC Peering has been taken down, or the NCC Spoke has been rejected.
605+ CONNECTIVITY_STATUS_DISCONNECTED = 2 ;
606+ }
607+
608+ // Current status of MACSec on the underlying network connectivity between GC
609+ // and the partner.
610+ enum MacSecStatus {
611+ // Unspecified status.
612+ MAC_SEC_STATUS_UNSPECIFIED = 0 ;
613+
614+ // MACSec is protecting the links and configured in fail closed.
615+ MAC_SEC_STATUS_ACTIVE_FAIL_CLOSED = 1 ;
616+
617+ // MACSec is protecting the links and configured to fail open on at least
618+ // one of the redundant links.
619+ MAC_SEC_STATUS_ACTIVE_FAIL_OPEN = 2 ;
620+
621+ // MACSec is not configured on at least one of the underlying links.
622+ MAC_SEC_STATUS_NOT_CONFIGURED = 3 ;
623+ }
624+
625+ // The overall status of the Transport. This field will always output the most
626+ // critical status of the Transport. For example, if the connectivity is
627+ // DISCONNECTED, and the underlying networking components are DOWN, then
628+ // the overall status will be DOWN.
629+ OverallStatus overall_status = 1 ;
630+
631+ // The operational status of the underlying networking components.
632+ OperationalStatus operational_status = 2 ;
633+
634+ // Current status of connectivity to the local GCP resource. This reflects
635+ // whether the VPC Peering or NCC Hub appears correctly configured.
636+ ConnectivityStatus connectivity_status = 3 ;
637+
638+ // Current status of MACSec on the underlying network connectivity between GC
639+ // and the partner.
640+ MacSecStatus mac_sec_status = 4 ;
641+ }
642+
530643// Message for creating a Transport
531644message CreateTransportRequest {
532645 // Required. Value for parent.
0 commit comments