Skip to content

Commit 2b1af6f

Browse files
Google APIscopybara-github
authored andcommitted
feat: Added RequestOrderDateChange RPC - allows Customers to request date changes
feat: Added CancelOrder RPC - allows Customers to request cancellation feat: Exposed Order-level output-only fields for transparency docs: `fulfillment_time` marked as deprecated PiperOrigin-RevId: 800209985
1 parent d55d74e commit 2b1af6f

File tree

4 files changed

+137
-8
lines changed

4 files changed

+137
-8
lines changed

google/cloud/gdchardwaremanagement/v1alpha/BUILD.bazel

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -94,6 +94,7 @@ java_gapic_library(
9494
":gdchardwaremanagement_java_proto",
9595
"//google/api:api_java_proto",
9696
"//google/cloud/location:location_java_proto",
97+
"//google/type:type_java_proto",
9798
],
9899
)
99100

@@ -350,6 +351,7 @@ load(
350351

351352
csharp_proto_library(
352353
name = "gdchardwaremanagement_csharp_proto",
354+
extra_opts = [],
353355
deps = [":gdchardwaremanagement_proto"],
354356
)
355357

google/cloud/gdchardwaremanagement/v1alpha/gdchardwaremanagement_v1alpha_grpc_service_config.json

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
{
22
"methodConfig": [{
33
"name": [
4+
{ "service": "google.cloud.gdchardwaremanagement.v1alpha.GDCHardwareManagement", "method": "CancelOrder" },
45
{ "service": "google.cloud.gdchardwaremanagement.v1alpha.GDCHardwareManagement", "method": "DeleteHardware" },
56
{ "service": "google.cloud.gdchardwaremanagement.v1alpha.GDCHardwareManagement", "method": "DeleteHardwareGroup" },
67
{ "service": "google.cloud.gdchardwaremanagement.v1alpha.GDCHardwareManagement", "method": "DeleteOrder" },

google/cloud/gdchardwaremanagement/v1alpha/resources.proto

Lines changed: 68 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -187,10 +187,13 @@ message Order {
187187
// length of this field must be <= 1000 characters.
188188
string customer_motivation = 8 [(google.api.field_behavior) = REQUIRED];
189189

190-
// Required. Customer specified deadline by when this order should be
191-
// fulfilled.
190+
// Deprecated: Please use customer_requested_installation_date instead.
192191
google.protobuf.Timestamp fulfillment_time = 9
193-
[(google.api.field_behavior) = REQUIRED];
192+
[deprecated = true, (google.api.field_behavior) = OPTIONAL];
193+
194+
// Optional. Customer requested installation date for this order.
195+
google.type.Date customer_requested_installation_date = 21
196+
[(google.api.field_behavior) = OPTIONAL];
194197

195198
// Required. [Unicode CLDR](http://cldr.unicode.org/) region code where this
196199
// order will be deployed. For a list of valid CLDR region codes, see the
@@ -228,6 +231,30 @@ message Order {
228231
// Output only. Estimated installation date for this order.
229232
google.type.Date estimated_installation_date = 20
230233
[(google.api.field_behavior) = OUTPUT_ONLY];
234+
235+
// Output only. Estimated delivery date for this order.
236+
google.type.Date estimated_delivery_date = 22
237+
[(google.api.field_behavior) = OUTPUT_ONLY];
238+
239+
// Optional. Whether this order is a migration from customer's existing
240+
// infrastructure.
241+
bool migration = 23 [(google.api.field_behavior) = OPTIONAL];
242+
243+
// Output only. The time when the order was moved to ACCEPTED state.
244+
google.protobuf.Timestamp accepted_time = 24
245+
[(google.api.field_behavior) = OUTPUT_ONLY];
246+
247+
// Output only. The date to which the customer or Google wants to set the
248+
// scheduled installation date.
249+
google.type.Date requested_date_change = 25
250+
[(google.api.field_behavior) = OUTPUT_ONLY];
251+
252+
// Output only. Notes for this order, provided by the vendor.
253+
string vendor_notes = 26 [(google.api.field_behavior) = OUTPUT_ONLY];
254+
255+
// Output only. Contact information of the SI assigned to this order.
256+
OrganizationContact vendor_contact = 27
257+
[(google.api.field_behavior) = OUTPUT_ONLY];
231258
}
232259

233260
// A physical site where hardware will be installed.
@@ -377,10 +404,10 @@ message HardwareGroup {
377404
}
378405
];
379406

380-
// Optional. Requested installation date for the hardware in this
381-
// HardwareGroup. Filled in by the customer.
407+
// Deprecated: This value is not used. Use the requested_installation_date
408+
// field in the Order resource instead.
382409
google.type.Date requested_installation_date = 10
383-
[(google.api.field_behavior) = OPTIONAL];
410+
[deprecated = true, (google.api.field_behavior) = OPTIONAL];
384411
}
385412

386413
// An instance of hardware installed at a site.
@@ -578,6 +605,10 @@ message Hardware {
578605
// Output only. Per machine asset information needed for turnup.
579606
repeated MachineInfo machine_infos = 20
580607
[(google.api.field_behavior) = OUTPUT_ONLY];
608+
609+
// Output only. The estimated delivery date of the hardware.
610+
google.type.Date estimated_delivery_date = 21
611+
[(google.api.field_behavior) = OUTPUT_ONLY];
581612
}
582613

583614
// A comment on an order.
@@ -822,6 +853,22 @@ message Zone {
822853
// Output only. Provisioning state for configurations like MAC addresses.
823854
ProvisioningState provisioning_state = 14
824855
[(google.api.field_behavior) = OUTPUT_ONLY];
856+
857+
// Optional. Whether to skip the cluster provisioning step during factory
858+
// turnup. If true, indicates that the Kubernetes cluster will be created
859+
// after the zone's hardware is installed at the customer site.
860+
bool skip_cluster_provisioning = 16 [(google.api.field_behavior) = OPTIONAL];
861+
862+
// Output only. Indicates whether a valid cluster intent must be provided by
863+
// the customer before accepting the order. If true, the order cannot be
864+
// accepted until cluster intent is present. This is used to enforce early
865+
// validation and prevent delays caused by missing configuration.
866+
bool cluster_intent_required = 17 [(google.api.field_behavior) = OUTPUT_ONLY];
867+
868+
// Output only. Indicates whether the provided cluster intent has been
869+
// successfully verified. This flag ensures cluster intent exists before order
870+
// can be accepted.
871+
bool cluster_intent_verified = 18 [(google.api.field_behavior) = OUTPUT_ONLY];
825872
}
826873

827874
// Contact information of the customer organization.
@@ -936,8 +983,21 @@ message HardwarePhysicalInfo {
936983
// C13.
937984
C_13 = 2;
938985

939-
// Standard european receptacle.
940-
STANDARD_EU = 3;
986+
// Deprecated: Please use TYPE_G_BS1363, CEE_7_3, CEE_7_5 or TYPE_F
987+
// instead.
988+
STANDARD_EU = 3 [deprecated = true];
989+
990+
// Type G / BS1363.
991+
TYPE_G_BS1363 = 4;
992+
993+
// C 7/3.
994+
CEE_7_3 = 5;
995+
996+
// C 7/5.
997+
CEE_7_5 = 6;
998+
999+
// Type F.
1000+
TYPE_F = 7;
9411001
}
9421002

9431003
// Valid network uplink types.

google/cloud/gdchardwaremanagement/v1alpha/service.proto

Lines changed: 66 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -26,6 +26,7 @@ import "google/longrunning/operations.proto";
2626
import "google/protobuf/empty.proto";
2727
import "google/protobuf/field_mask.proto";
2828
import "google/protobuf/timestamp.proto";
29+
import "google/type/date.proto";
2930

3031
option csharp_namespace = "Google.Cloud.GdcHardwareManagement.V1Alpha";
3132
option go_package = "cloud.google.com/go/gdchardwaremanagement/apiv1alpha/gdchardwaremanagementpb;gdchardwaremanagementpb";
@@ -108,6 +109,19 @@ service GDCHardwareManagement {
108109
};
109110
}
110111

112+
// Cancels an order.
113+
rpc CancelOrder(CancelOrderRequest) returns (google.longrunning.Operation) {
114+
option (google.api.http) = {
115+
post: "/v1alpha/{name=projects/*/locations/*/orders/*}:cancel"
116+
body: "*"
117+
};
118+
option (google.api.method_signature) = "name";
119+
option (google.longrunning.operation_info) = {
120+
response_type: "Order"
121+
metadata_type: "OperationMetadata"
122+
};
123+
}
124+
111125
// Lists sites in a given project and location.
112126
rpc ListSites(ListSitesRequest) returns (ListSitesResponse) {
113127
option (google.api.http) = {
@@ -420,6 +434,20 @@ service GDCHardwareManagement {
420434
metadata_type: "OperationMetadata"
421435
};
422436
}
437+
438+
// Updates the requested date change of a single Order.
439+
rpc RequestOrderDateChange(RequestOrderDateChangeRequest)
440+
returns (google.longrunning.Operation) {
441+
option (google.api.http) = {
442+
post: "/v1alpha/{name=projects/*/locations/*/orders/*}:requestDateChange"
443+
body: "*"
444+
};
445+
option (google.api.method_signature) = "name,requested_date";
446+
option (google.longrunning.operation_info) = {
447+
response_type: "Order"
448+
metadata_type: "OperationMetadata"
449+
};
450+
}
423451
}
424452

425453
// A request to list orders.
@@ -587,6 +615,25 @@ message SubmitOrderRequest {
587615
Type type = 3 [(google.api.field_behavior) = OPTIONAL];
588616
}
589617

618+
// A request to cancel an order.
619+
message CancelOrderRequest {
620+
// Required. The name of the order.
621+
// Format: `projects/{project}/locations/{location}/orders/{order}`
622+
string name = 1 [
623+
(google.api.field_behavior) = REQUIRED,
624+
(google.api.resource_reference) = {
625+
type: "gdchardwaremanagement.googleapis.com/Order"
626+
}
627+
];
628+
629+
// Optional. An optional unique identifier for this request. See
630+
// [AIP-155](https://google.aip.dev/155).
631+
string request_id = 2 [
632+
(google.api.field_info).format = UUID4,
633+
(google.api.field_behavior) = OPTIONAL
634+
];
635+
}
636+
590637
// A request to list sites.
591638
message ListSitesRequest {
592639
// Required. The project and location to list sites in.
@@ -1291,6 +1338,9 @@ message SignalZoneStateRequest {
12911338

12921339
// The Zone failed in factory turnup checks.
12931340
FACTORY_TURNUP_CHECKS_FAILED = 2;
1341+
1342+
// Verify that a valid cluster intent is present.
1343+
VERIFY_CLUSTER_INTENT_PRESENCE = 4;
12941344
}
12951345

12961346
// Valid provisioning state signals for a zone.
@@ -1369,3 +1419,19 @@ message OperationMetadata {
13691419
// Output only. API version used to start the operation.
13701420
string api_version = 7 [(google.api.field_behavior) = OUTPUT_ONLY];
13711421
}
1422+
1423+
// A request to change the requested date of an order.
1424+
message RequestOrderDateChangeRequest {
1425+
// Required. The name of the order to update.
1426+
// Format: projects/{project}/locations/{location}/orders/{order}
1427+
string name = 1 [
1428+
(google.api.field_behavior) = REQUIRED,
1429+
(google.api.resource_reference) = {
1430+
type: "gdchardwaremanagement.googleapis.com/Order"
1431+
}
1432+
];
1433+
1434+
// Required. The date to which the customer or Google wants to set the
1435+
// scheduled installation date.
1436+
google.type.Date requested_date = 2 [(google.api.field_behavior) = REQUIRED];
1437+
}

0 commit comments

Comments
 (0)