Synchronize new proto/yaml changes.
PiperOrigin-RevId: 231786007
This commit is contained in:
parent
9607c39973
commit
acb5253cd1
|
|
@ -0,0 +1,34 @@
|
|||
common:
|
||||
api_name: irm
|
||||
api_version: v1alpha2
|
||||
organization_name: google-cloud
|
||||
proto_deps:
|
||||
- name: google-common-protos
|
||||
src_proto_paths:
|
||||
- v1alpha2
|
||||
service_yaml: irm_v1alpha2.yaml
|
||||
gapic_yaml: v1alpha2/irm_gapic.yaml
|
||||
artifacts:
|
||||
- name: gapic_config
|
||||
type: GAPIC_CONFIG
|
||||
- name: java_gapic
|
||||
type: GAPIC
|
||||
language: JAVA
|
||||
- name: python_gapic
|
||||
type: GAPIC
|
||||
language: PYTHON
|
||||
- name: nodejs_gapic
|
||||
type: GAPIC
|
||||
language: NODEJS
|
||||
- name: php_gapic
|
||||
type: GAPIC
|
||||
language: PHP
|
||||
- name: go_gapic
|
||||
type: GAPIC
|
||||
language: GO
|
||||
- name: ruby_gapic
|
||||
type: GAPIC
|
||||
language: RUBY
|
||||
- name: csharp_gapic
|
||||
type: GAPIC
|
||||
language: CSHARP
|
||||
|
|
@ -0,0 +1,12 @@
|
|||
type: google.api.Service
|
||||
config_version: 3
|
||||
name: irm.googleapis.com
|
||||
title: Stackdriver Incident Response & Management API
|
||||
|
||||
apis:
|
||||
- name: google.cloud.irm.v1alpha2.IncidentService
|
||||
|
||||
documentation:
|
||||
overview: |-
|
||||
The Stackdriver Incident Response & Management API provides access to
|
||||
incident data.
|
||||
|
|
@ -0,0 +1,429 @@
|
|||
// Copyright 2018 Google LLC.
|
||||
//
|
||||
// Licensed under the Apache License, Version 2.0 (the "License");
|
||||
// you may not use this file except in compliance with the License.
|
||||
// You may obtain a copy of the License at
|
||||
//
|
||||
// http://www.apache.org/licenses/LICENSE-2.0
|
||||
//
|
||||
// Unless required by applicable law or agreed to in writing, software
|
||||
// distributed under the License is distributed on an "AS IS" BASIS,
|
||||
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
// See the License for the specific language governing permissions and
|
||||
// limitations under the License.
|
||||
//
|
||||
|
||||
syntax = "proto3";
|
||||
|
||||
package google.cloud.irm.v1alpha2;
|
||||
|
||||
import "google/api/annotations.proto";
|
||||
import "google/monitoring/v3/metric_service.proto";
|
||||
import "google/protobuf/timestamp.proto";
|
||||
|
||||
option cc_enable_arenas = true;
|
||||
option go_package = "google.golang.org/genproto/googleapis/cloud/irm/v1alpha2;irm";
|
||||
option java_multiple_files = true;
|
||||
option java_package = "com.google.irm.service.v1alpha2.api";
|
||||
|
||||
|
||||
// A user of the IRM app.
|
||||
message User {
|
||||
// One of several ways to uniquely identify a user.
|
||||
oneof user {
|
||||
// Output only. User id that will allow to get additional information from
|
||||
// People API. This field will be populated implicitly if the caller creates
|
||||
// or edits a resource (e.g. posts an annotation).
|
||||
string user_id = 1;
|
||||
|
||||
// Email address of the user. This must be associated with a Google account.
|
||||
// This field will be set if the user is explicitly identified (verbatim) by
|
||||
// email address in an API request (potentially sometime in the past). It
|
||||
// will not be populated based on the credentials of a caller of the API.
|
||||
string email = 2;
|
||||
}
|
||||
}
|
||||
|
||||
// A signal is a message calling attention to a (potential) incident. An example
|
||||
// is a page based on a Stackdriver Alerting policy.
|
||||
// go/irm-glossary#signal
|
||||
message Signal {
|
||||
// Describes whether the alerting condition is still firing.
|
||||
enum State {
|
||||
// Unspecified
|
||||
STATE_UNSPECIFIED = 0;
|
||||
|
||||
// Firing
|
||||
STATE_OPEN = 1;
|
||||
|
||||
// Non-firing
|
||||
STATE_CLOSED = 2;
|
||||
}
|
||||
|
||||
// Resource name of the signal, e.g.
|
||||
// "projects/{project_id}/signals/{signal_id}".
|
||||
string name = 1;
|
||||
|
||||
// Etag to validate the object is unchanged for a read-modify-write operation.
|
||||
// An empty etag will overwrite other changes.
|
||||
string etag = 2;
|
||||
|
||||
// Resource name of the incident this signal is currently assigned to.
|
||||
// May be empty if signal is unassigned.
|
||||
string incident = 3;
|
||||
|
||||
// Output only. Time this signal was created.
|
||||
google.protobuf.Timestamp create_time = 4;
|
||||
|
||||
// Output only. The user that created this signal for manually created
|
||||
// signals. Empty if this signal was generated by a system (e.g. an
|
||||
// alerting system).
|
||||
User creator = 5;
|
||||
|
||||
// One-line summary of the signal.
|
||||
// Immutable.
|
||||
string title = 6;
|
||||
|
||||
// Content type string, e.g. 'text/plain' or'text/html'.
|
||||
string content_type = 7;
|
||||
|
||||
// Full message of the signal.
|
||||
// Immutable.
|
||||
string content = 8;
|
||||
|
||||
// Output only. The state of this signal.
|
||||
State signal_state = 9;
|
||||
}
|
||||
|
||||
// A text annotation by a user.
|
||||
message Annotation {
|
||||
// Resource name of the annotation, e.g.
|
||||
// "projects/{project_id}/incidents/{incident_id}/annotations/{annotation_id}".
|
||||
string name = 1;
|
||||
|
||||
// Output only. Author of the annotation.
|
||||
User author = 2;
|
||||
|
||||
// Output only. Time the annotation was created.
|
||||
google.protobuf.Timestamp create_time = 3;
|
||||
|
||||
// Content of the annotation. Immutable.
|
||||
string content = 4;
|
||||
}
|
||||
|
||||
// A tag by a user.
|
||||
message Tag {
|
||||
// Resource name of a tag, e.g.,
|
||||
// "projects/{project_id}/incidents/{incident_id}/tags/{tag_id}"
|
||||
string name = 1;
|
||||
|
||||
// Display name of the resource (e.g., "cause:rollout"). Immutable.
|
||||
string display_name = 2;
|
||||
|
||||
// Output only. For some tags (e.g., "bug:123"), provide a link to the
|
||||
// underlying resource. Optional.
|
||||
string url = 3;
|
||||
}
|
||||
|
||||
// Synopsis is a summary of an incident and it contains a textual content,
|
||||
// an author and a last updated timestamp.
|
||||
message Synopsis {
|
||||
// Content type string, e.g. 'text/plain' or 'text/html'.
|
||||
string content_type = 1;
|
||||
|
||||
// Textual content of the synopsis. It can be plain text or markdown as
|
||||
// indicated by the content_type.
|
||||
string content = 2;
|
||||
|
||||
// Last updated timestamp.
|
||||
google.protobuf.Timestamp update_time = 3;
|
||||
|
||||
// Author of the synopsis.
|
||||
User author = 4;
|
||||
}
|
||||
|
||||
// Representation of an incident.
|
||||
message Incident {
|
||||
// Specifies the escalation level of this incident, within the IRM protocol
|
||||
// for handling incidents.
|
||||
enum EscalationLevel {
|
||||
// The incident has not been escalated. This is the value used by all new
|
||||
// and legacy incidents.
|
||||
ESCALATION_LEVEL_UNSPECIFIED = 0;
|
||||
|
||||
// The incident has been escalated to the organizational level.
|
||||
ESCALATION_LEVEL_ORGANIZATION = 1;
|
||||
}
|
||||
|
||||
// Severity of an incident.
|
||||
enum Severity {
|
||||
// Severity is not specified.
|
||||
SEVERITY_UNSPECIFIED = 0;
|
||||
|
||||
// Huge incident.
|
||||
SEVERITY_HUGE = 1;
|
||||
|
||||
// Major incident.
|
||||
SEVERITY_MAJOR = 2;
|
||||
|
||||
// Medium incident.
|
||||
SEVERITY_MEDIUM = 3;
|
||||
|
||||
// Minor incident.
|
||||
SEVERITY_MINOR = 4;
|
||||
|
||||
// Negligible incident.
|
||||
SEVERITY_NEGLIGIBLE = 5;
|
||||
}
|
||||
|
||||
// Stage of an incident.
|
||||
enum Stage {
|
||||
// This is the default value if no stage has been specified.
|
||||
// Note: The caller of the API should set the stage to DETECTED.
|
||||
STAGE_UNSPECIFIED = 0;
|
||||
|
||||
// The incident has been detected. This is the initial stage of a new
|
||||
// incident.
|
||||
// Note: The caller still has to set the stage manually.
|
||||
STAGE_DETECTED = 4;
|
||||
|
||||
// This incident has been formally characterized.
|
||||
STAGE_TRIAGED = 1;
|
||||
|
||||
// This incident has been mitigated, i.e. does not affect the service level
|
||||
// anymore.
|
||||
STAGE_MITIGATED = 2;
|
||||
|
||||
// This incident has been fully resolved, i.e. there are no immediate
|
||||
// follow-up tasks.
|
||||
STAGE_RESOLVED = 3;
|
||||
|
||||
// Postmortem for the incident was written.
|
||||
STAGE_DOCUMENTED = 5;
|
||||
}
|
||||
|
||||
// Output only. Resource name of the incident, e.g.
|
||||
// "projects/{project_id}/incidents/{incident_id}".
|
||||
string name = 1;
|
||||
|
||||
// One-line summary of the incident.
|
||||
string title = 2;
|
||||
|
||||
// Escalation level of the incident.
|
||||
EscalationLevel escalation_level = 3;
|
||||
|
||||
// Etag to validate the object is unchanged for a read-modify-write operation.
|
||||
// An empty etag will overwrite other changes.
|
||||
string etag = 4;
|
||||
|
||||
// Severity of the incident.
|
||||
Severity severity = 5;
|
||||
|
||||
// Stage of the incident.
|
||||
Stage stage = 6;
|
||||
|
||||
// Output only. Time this incident started. Used to measure the 'elapsed
|
||||
// time'. Start time of an incident is the earliest creation time of any of
|
||||
// its Signals or the create time of the incident if no Signals are assigned.
|
||||
google.protobuf.Timestamp start_time = 7;
|
||||
|
||||
// Output only. Synopsis of this incident.
|
||||
Synopsis synopsis = 8;
|
||||
}
|
||||
|
||||
// Describes a role that can be assigned to an incident.
|
||||
message IncidentRole {
|
||||
// List of possible roles.
|
||||
enum Type {
|
||||
// The role is unspecified.
|
||||
TYPE_UNSPECIFIED = 0;
|
||||
|
||||
// Incident Commander: Manages response plan, near-term and long-term
|
||||
// objectives, establishes priorities, and delegates tasks as needed.
|
||||
TYPE_INCIDENT_COMMANDER = 1;
|
||||
|
||||
// Communications Lead: Keeps everybody outside and within the response team
|
||||
// informed.
|
||||
TYPE_COMMUNICATIONS_LEAD = 2;
|
||||
|
||||
// Operations Lead: Figures out what to do, and gets it done.
|
||||
TYPE_OPERATIONS_LEAD = 3;
|
||||
|
||||
// External Customer Communications Lead: Responsible for communicating
|
||||
// incident details to customers/public.
|
||||
TYPE_EXTERNAL_CUSTOMER_COMMUNICATIONS_LEAD = 4;
|
||||
|
||||
// Primary Oncall: Responds to the initial page and handles all
|
||||
// responsibilities for pre-escalated incidents.
|
||||
TYPE_PRIMARY_ONCALL = 5;
|
||||
|
||||
// Secondary Oncall: Helps the primary oncall if necessary; mostly useful
|
||||
// for pre-escalated incidents.
|
||||
TYPE_SECONDARY_ONCALL = 6;
|
||||
|
||||
// User-specified roles. One example is a Planning Lead, who keeps track of
|
||||
// the incident. Another is an assistant Incident Commander.
|
||||
TYPE_OTHER = 7;
|
||||
}
|
||||
|
||||
// The type of role. The role type is immutable in role assignments. Each role
|
||||
// type can only be used once per incident, except for TYPE_OTHER.
|
||||
Type type = 1;
|
||||
|
||||
// Output only unless TYPE_OTHER is used. Title of the role. For TYPE_OTHER,
|
||||
// must be unique within an incident.
|
||||
string title = 2;
|
||||
|
||||
// Output only unless TYPE_OTHER is used. Description of the role.
|
||||
string description = 3;
|
||||
}
|
||||
|
||||
// Stores the assignee of a role as well as the proposed next assignee.
|
||||
message IncidentRoleAssignment {
|
||||
// Output only. Resource name such as
|
||||
// "projects/{project_id}/incidents/{incident_id}/role_assignments/{role_id}".
|
||||
string name = 1;
|
||||
|
||||
// Output only. Etag for this version of the resource. Must be specified in
|
||||
// update requests and match the current version in storage. Must not be
|
||||
// modified by the client.
|
||||
string etag = 2;
|
||||
|
||||
// The role that is or will be assigned.
|
||||
IncidentRole role = 3;
|
||||
|
||||
// The user this role is assigned to. This field can only be directly set
|
||||
// during creation request. Subsequent updates are done via the
|
||||
// IncidentRoleHandover methods.
|
||||
User assignee = 4;
|
||||
|
||||
// The recipient of a requested role handoff. This field can only be directly
|
||||
// set during creation request. Subsequent updates are done via the
|
||||
// IncidentRoleHandover methods.
|
||||
//
|
||||
// `assignee` is always the current role-holder, and `proposed_assignee` is
|
||||
// used to track unfinished assignments and handoffs. Let's say Bob assigns
|
||||
// Alice to a role. Then the fields are:
|
||||
// `assignee`: nil, `proposed_assignee`: Alice
|
||||
// If Alice accepts, then the fields are:
|
||||
// `assignee`: Alice, `proposed_assignee`: nil
|
||||
// If she cancels, then the RoleAssignment is deleted.
|
||||
// Let's say Alice has the role. Then the fields are:
|
||||
// `assignee`: Alice, `proposed_assignee`: nil
|
||||
// If Alice is hit by a bus and Bob requests Carol to take over, then the
|
||||
// fields are:
|
||||
// `assignee`: Alice, `proposed_assignee`: Carol
|
||||
// After Carol accepts the handover, the fields are:
|
||||
// `assignee`: Carol, `proposed_assignee`: nil
|
||||
// Or if Carol refuses the handover, the fields are:
|
||||
// `assignee`: Alice, `proposed_assignee`: nil
|
||||
User proposed_assignee = 5;
|
||||
}
|
||||
|
||||
// External artifact associated to an incident.
|
||||
message Artifact {
|
||||
// Possible types of an artifact.
|
||||
enum Type {
|
||||
// External type is unspecified.
|
||||
TYPE_UNSPECIFIED = 0;
|
||||
|
||||
// URL.
|
||||
TYPE_URL = 1;
|
||||
|
||||
// An issue.
|
||||
TYPE_ISSUE = 2;
|
||||
|
||||
// A source control change.
|
||||
TYPE_SOURCE_CONTROL_CHANGE = 3;
|
||||
|
||||
// A JIRA issue.
|
||||
TYPE_JIRA_ISSUE = 4;
|
||||
}
|
||||
|
||||
// Output only. Resource name such as
|
||||
// "projects/{project_id}/incidents/{incident_id}/artifacts/{artifact_id}".
|
||||
string name = 1;
|
||||
|
||||
// User provided name of an artifact.
|
||||
string display_name = 2;
|
||||
|
||||
// Output only. Etag for this version of the resource. Must be specified in
|
||||
// update requests and match the current version in storage. Must not be
|
||||
// modified by the client.
|
||||
string etag = 3;
|
||||
|
||||
// URL to access the artifact.
|
||||
string url = 4;
|
||||
|
||||
// Type of this artifact.
|
||||
Type type = 5;
|
||||
}
|
||||
|
||||
// Communication Channels are mechanisms used to receive notifications
|
||||
// about changes to incidents.
|
||||
message CommunicationChannel {
|
||||
// A communication channel that delivers messages to an email address.
|
||||
message Email {
|
||||
// The email address, e.g. "user@example.com".
|
||||
string address = 1;
|
||||
}
|
||||
|
||||
// A communication channel that delivers messages to a Stackdriver
|
||||
// notification channel.
|
||||
message NotificationChannel {
|
||||
// Stackdriver notification channel name.
|
||||
string name = 1;
|
||||
}
|
||||
|
||||
// An endpoint describes how messages will be delivered.
|
||||
oneof endpoint {
|
||||
// Messages will be delivered via email.
|
||||
Email email = 1;
|
||||
|
||||
// Messages will be delivered via a Stackdriver notification channel.
|
||||
NotificationChannel notification_channel = 2;
|
||||
}
|
||||
}
|
||||
|
||||
// A subscription allows users to get notifications about changes to
|
||||
// an incident.
|
||||
message Subscription {
|
||||
// Types of changes that users can subscribe to in an incident.
|
||||
enum EventType {
|
||||
// An event_type that's not specified is an error.
|
||||
EVENT_TYPE_UNSPECIFIED = 0;
|
||||
|
||||
// The incident's title has changed.
|
||||
EVENT_TYPE_TITLE_CHANGE = 1;
|
||||
|
||||
// The incident's synopsis has changed.
|
||||
EVENT_TYPE_SYNOPSIS_CHANGE = 2;
|
||||
|
||||
// The incident's stage has changed.
|
||||
EVENT_TYPE_STAGE_CHANGE = 3;
|
||||
|
||||
// The incident's severity has changed.
|
||||
EVENT_TYPE_SEVERITY_CHANGE = 4;
|
||||
|
||||
// A new annotation has been added to the incident.
|
||||
EVENT_TYPE_ANNOTATION_ADD = 5;
|
||||
|
||||
// An annotation has been modified.
|
||||
EVENT_TYPE_ANNOTATION_CHANGE = 6;
|
||||
}
|
||||
|
||||
// Output only. Resource name such as
|
||||
// "projects/{project_id}/incidents/{incident_id}/subscriptions/{subscription_id}".
|
||||
string name = 1;
|
||||
|
||||
// Output only. Etag for this version of the resource. Must be specified in
|
||||
// update requests and match the current version in storage. Must not be
|
||||
// modified by the client.
|
||||
string etag = 2;
|
||||
|
||||
// A communications channel to send subscription messages to.
|
||||
CommunicationChannel subscription_channel = 3;
|
||||
|
||||
// Types of events this subscription receives notifications for.
|
||||
repeated EventType event_types = 4;
|
||||
}
|
||||
|
|
@ -0,0 +1,867 @@
|
|||
// Copyright 2018 Google LLC.
|
||||
//
|
||||
// Licensed under the Apache License, Version 2.0 (the "License");
|
||||
// you may not use this file except in compliance with the License.
|
||||
// You may obtain a copy of the License at
|
||||
//
|
||||
// http://www.apache.org/licenses/LICENSE-2.0
|
||||
//
|
||||
// Unless required by applicable law or agreed to in writing, software
|
||||
// distributed under the License is distributed on an "AS IS" BASIS,
|
||||
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
// See the License for the specific language governing permissions and
|
||||
// limitations under the License.
|
||||
//
|
||||
|
||||
syntax = "proto3";
|
||||
|
||||
package google.cloud.irm.v1alpha2;
|
||||
|
||||
import "google/api/annotations.proto";
|
||||
import "google/cloud/irm/v1alpha2/incidents.proto";
|
||||
import "google/protobuf/empty.proto";
|
||||
import "google/protobuf/field_mask.proto";
|
||||
import "google/protobuf/timestamp.proto";
|
||||
|
||||
option cc_enable_arenas = true;
|
||||
option go_package = "google.golang.org/genproto/googleapis/cloud/irm/v1alpha2;irm";
|
||||
option java_multiple_files = true;
|
||||
option java_package = "com.google.irm.service.v1alpha2.api";
|
||||
|
||||
|
||||
// The Incident API for Incident Response & Management.
|
||||
service IncidentService {
|
||||
// Creates a new incident.
|
||||
rpc CreateIncident(CreateIncidentRequest) returns (Incident) {
|
||||
option (google.api.http) = {
|
||||
post: "/v1alpha2/{parent=projects/*}/incidents"
|
||||
body: "incident"
|
||||
};
|
||||
}
|
||||
|
||||
// Returns an incident by name.
|
||||
rpc GetIncident(GetIncidentRequest) returns (Incident) {
|
||||
option (google.api.http) = {
|
||||
get: "/v1alpha2/{name=projects/*/incidents/*}"
|
||||
};
|
||||
}
|
||||
|
||||
// Returns a list of incidents.
|
||||
// Incidents are ordered by start time, with the most recent incidents first.
|
||||
rpc SearchIncidents(SearchIncidentsRequest) returns (SearchIncidentsResponse) {
|
||||
option (google.api.http) = {
|
||||
get: "/v1alpha2/{parent=projects/*}/incidents:search"
|
||||
};
|
||||
}
|
||||
|
||||
// Updates an existing incident.
|
||||
rpc UpdateIncident(UpdateIncidentRequest) returns (Incident) {
|
||||
option (google.api.http) = {
|
||||
patch: "/v1alpha2/{incident.name=projects/*/incidents/*}"
|
||||
body: "incident"
|
||||
};
|
||||
}
|
||||
|
||||
// Returns a list of incidents that are "similar" to the specified incident
|
||||
// or signal. This functionality is provided on a best-effort basis and the
|
||||
// definition of "similar" is subject to change.
|
||||
rpc SearchSimilarIncidents(SearchSimilarIncidentsRequest) returns (SearchSimilarIncidentsResponse) {
|
||||
option (google.api.http) = {
|
||||
get: "/v1alpha2/{name=projects/*/incidents/*}:searchSimilar"
|
||||
additional_bindings {
|
||||
get: "/v1alpha2/{name=projects/*/signals/*}:searchSimilarIncidents"
|
||||
}
|
||||
};
|
||||
}
|
||||
|
||||
// Creates an annotation on an existing incident. Only 'text/plain' and
|
||||
// 'text/markdown' annotations can be created via this method.
|
||||
rpc CreateAnnotation(CreateAnnotationRequest) returns (Annotation) {
|
||||
option (google.api.http) = {
|
||||
post: "/v1alpha2/{parent=projects/*/incidents/*}/annotations"
|
||||
body: "annotation"
|
||||
};
|
||||
}
|
||||
|
||||
// Lists annotations that are part of an incident. No assumptions should be
|
||||
// made on the content-type of the annotation returned.
|
||||
rpc ListAnnotations(ListAnnotationsRequest) returns (ListAnnotationsResponse) {
|
||||
option (google.api.http) = {
|
||||
get: "/v1alpha2/{parent=projects/*/incidents/*}/annotations"
|
||||
};
|
||||
}
|
||||
|
||||
// Updates an annotation on an existing incident.
|
||||
rpc UpdateAnnotation(UpdateAnnotationRequest) returns (Annotation) {
|
||||
option (google.api.http) = {
|
||||
patch: "/v1alpha2/{annotation.name=projects/*/incidents/*/annotations/*}"
|
||||
body: "annotation"
|
||||
};
|
||||
}
|
||||
|
||||
// Creates a tag on an existing incident.
|
||||
rpc CreateTag(CreateTagRequest) returns (Tag) {
|
||||
option (google.api.http) = {
|
||||
post: "/v1alpha2/{parent=projects/*/incidents/*}/tags"
|
||||
body: "tag"
|
||||
};
|
||||
}
|
||||
|
||||
// Deletes an existing tag.
|
||||
rpc DeleteTag(DeleteTagRequest) returns (google.protobuf.Empty) {
|
||||
option (google.api.http) = {
|
||||
delete: "/v1alpha2/{name=projects/*/incidents/*/tags/*}"
|
||||
};
|
||||
}
|
||||
|
||||
// Lists tags that are part of an incident.
|
||||
rpc ListTags(ListTagsRequest) returns (ListTagsResponse) {
|
||||
option (google.api.http) = {
|
||||
get: "/v1alpha2/{parent=projects/*/incidents/*}/tags"
|
||||
};
|
||||
}
|
||||
|
||||
// Creates a new signal.
|
||||
rpc CreateSignal(CreateSignalRequest) returns (Signal) {
|
||||
option (google.api.http) = {
|
||||
post: "/v1alpha2/{parent=projects/*}/signals"
|
||||
body: "signal"
|
||||
};
|
||||
}
|
||||
|
||||
// Lists signals that are part of an incident.
|
||||
// Signals are returned in reverse chronological order.
|
||||
rpc ListSignals(ListSignalsRequest) returns (ListSignalsResponse) {
|
||||
option (google.api.http) = {
|
||||
get: "/v1alpha2/{parent=projects/*}/signals"
|
||||
};
|
||||
}
|
||||
|
||||
// Returns a signal by name.
|
||||
rpc GetSignal(GetSignalRequest) returns (Signal) {
|
||||
option (google.api.http) = {
|
||||
get: "/v1alpha2/{name=projects/*/signals/*}"
|
||||
};
|
||||
}
|
||||
|
||||
// Updates an existing signal (e.g. to assign/unassign it to an
|
||||
// incident).
|
||||
rpc UpdateSignal(UpdateSignalRequest) returns (Signal) {
|
||||
option (google.api.http) = {
|
||||
patch: "/v1alpha2/{signal.name=projects/*/signals/*}"
|
||||
body: "signal"
|
||||
};
|
||||
}
|
||||
|
||||
// Acks a signal. This acknowledges the signal in the underlying system,
|
||||
// indicating that the caller takes responsibility for looking into this.
|
||||
rpc AcknowledgeSignal(AcknowledgeSignalRequest) returns (AcknowledgeSignalResponse) {
|
||||
option (google.api.http) = {
|
||||
post: "/v1alpha2/{name=projects/*/signals/*}:ack"
|
||||
body: "*"
|
||||
};
|
||||
}
|
||||
|
||||
// Escalates an incident.
|
||||
rpc EscalateIncident(EscalateIncidentRequest) returns (EscalateIncidentResponse) {
|
||||
option (google.api.http) = {
|
||||
post: "/v1alpha2/{incident.name=projects/*/incidents/*}:escalate"
|
||||
body: "*"
|
||||
};
|
||||
}
|
||||
|
||||
// Creates a new artifact.
|
||||
rpc CreateArtifact(CreateArtifactRequest) returns (Artifact) {
|
||||
option (google.api.http) = {
|
||||
post: "/v1alpha2/{parent=projects/*/incidents/*}/artifacts"
|
||||
body: "artifact"
|
||||
};
|
||||
}
|
||||
|
||||
// Returns a list of artifacts for an incident.
|
||||
rpc ListArtifacts(ListArtifactsRequest) returns (ListArtifactsResponse) {
|
||||
option (google.api.http) = {
|
||||
get: "/v1alpha2/{parent=projects/*/incidents/*}/artifacts"
|
||||
};
|
||||
}
|
||||
|
||||
// Updates an existing artifact.
|
||||
rpc UpdateArtifact(UpdateArtifactRequest) returns (Artifact) {
|
||||
option (google.api.http) = {
|
||||
patch: "/v1alpha2/{artifact.name=projects/*/incidents/*/artifacts/*}"
|
||||
body: "artifact"
|
||||
};
|
||||
}
|
||||
|
||||
// Deletes an existing artifact.
|
||||
rpc DeleteArtifact(DeleteArtifactRequest) returns (google.protobuf.Empty) {
|
||||
option (google.api.http) = {
|
||||
delete: "/v1alpha2/{name=projects/*/incidents/*/artifacts/*}"
|
||||
};
|
||||
}
|
||||
|
||||
// Returns "presets" specific to shift handoff (see SendShiftHandoff), e.g.
|
||||
// default values for handoff message fields.
|
||||
rpc GetShiftHandoffPresets(GetShiftHandoffPresetsRequest) returns (ShiftHandoffPresets) {
|
||||
option (google.api.http) = {
|
||||
get: "/v1alpha2/{parent=projects/*}/shiftHandoffPresets"
|
||||
};
|
||||
}
|
||||
|
||||
// Sends a summary of the shift for oncall handoff.
|
||||
rpc SendShiftHandoff(SendShiftHandoffRequest) returns (SendShiftHandoffResponse) {
|
||||
option (google.api.http) = {
|
||||
post: "/v1alpha2/{parent=projects/*}/shiftHandoff:send"
|
||||
body: "*"
|
||||
};
|
||||
}
|
||||
|
||||
// Creates a new subscription.
|
||||
// This will fail if:
|
||||
// a. there are too many (50) subscriptions in the incident already
|
||||
// b. a subscription using the given channel already exists
|
||||
rpc CreateSubscription(CreateSubscriptionRequest) returns (Subscription) {
|
||||
option (google.api.http) = {
|
||||
post: "/v1alpha2/{parent=projects/*/incidents/*}/subscriptions"
|
||||
body: "subscription"
|
||||
};
|
||||
}
|
||||
|
||||
// Returns a list of subscriptions for an incident.
|
||||
rpc ListSubscriptions(ListSubscriptionsRequest) returns (ListSubscriptionsResponse) {
|
||||
option (google.api.http) = {
|
||||
get: "/v1alpha2/{parent=projects/*/incidents/*}/subscriptions"
|
||||
};
|
||||
}
|
||||
|
||||
// Deletes an existing subscription.
|
||||
rpc DeleteSubscription(DeleteSubscriptionRequest) returns (google.protobuf.Empty) {
|
||||
option (google.api.http) = {
|
||||
delete: "/v1alpha2/{name=projects/*/incidents/*/subscriptions/*}"
|
||||
};
|
||||
}
|
||||
|
||||
// Creates a role assignment on an existing incident. Normally, the user field
|
||||
// will be set when assigning a role to oneself, and the next field will be
|
||||
// set when proposing another user as the assignee. Setting the next field
|
||||
// directly to a user other than oneself is equivalent to proposing and
|
||||
// force-assigning the role to the user.
|
||||
rpc CreateIncidentRoleAssignment(CreateIncidentRoleAssignmentRequest) returns (IncidentRoleAssignment) {
|
||||
option (google.api.http) = {
|
||||
post: "/v1alpha2/{parent=projects/*/incidents/*}/roleAssignments"
|
||||
body: "*"
|
||||
};
|
||||
}
|
||||
|
||||
// Deletes an existing role assignment.
|
||||
rpc DeleteIncidentRoleAssignment(DeleteIncidentRoleAssignmentRequest) returns (google.protobuf.Empty) {
|
||||
option (google.api.http) = {
|
||||
delete: "/v1alpha2/{name=projects/*/incidents/*/roleAssignments/*}"
|
||||
};
|
||||
}
|
||||
|
||||
// Lists role assignments that are part of an incident.
|
||||
rpc ListIncidentRoleAssignments(ListIncidentRoleAssignmentsRequest) returns (ListIncidentRoleAssignmentsResponse) {
|
||||
option (google.api.http) = {
|
||||
get: "/v1alpha2/{parent=projects/*/incidents/*}/roleAssignments"
|
||||
};
|
||||
}
|
||||
|
||||
// Starts a role handover. The proposed assignee will receive an email
|
||||
// notifying them of the assignment. This will fail if a role handover is
|
||||
// already pending.
|
||||
rpc RequestIncidentRoleHandover(RequestIncidentRoleHandoverRequest) returns (IncidentRoleAssignment) {
|
||||
option (google.api.http) = {
|
||||
post: "/v1alpha2/{name=projects/*/incidents/*/roleAssignments/*}:requestHandover"
|
||||
body: "*"
|
||||
};
|
||||
}
|
||||
|
||||
// Confirms a role handover. This will fail if the 'proposed_assignee' field
|
||||
// of the IncidentRoleAssignment is not equal to the 'new_assignee' field of
|
||||
// the request. If the caller is not the new_assignee,
|
||||
// ForceIncidentRoleHandover should be used instead.
|
||||
rpc ConfirmIncidentRoleHandover(ConfirmIncidentRoleHandoverRequest) returns (IncidentRoleAssignment) {
|
||||
option (google.api.http) = {
|
||||
post: "/v1alpha2/{name=projects/*/incidents/*/roleAssignments/*}:confirmHandover"
|
||||
body: "*"
|
||||
};
|
||||
}
|
||||
|
||||
// Forces a role handover. This will fail if the 'proposed_assignee' field of
|
||||
// the IncidentRoleAssignment is not equal to the 'new_assignee' field of the
|
||||
// request. If the caller is the new_assignee, ConfirmIncidentRoleHandover
|
||||
// should be used instead.
|
||||
rpc ForceIncidentRoleHandover(ForceIncidentRoleHandoverRequest) returns (IncidentRoleAssignment) {
|
||||
option (google.api.http) = {
|
||||
post: "/v1alpha2/{name=projects/*/incidents/*/roleAssignments/*}:forceHandover"
|
||||
body: "*"
|
||||
};
|
||||
}
|
||||
|
||||
// Cancels a role handover. This will fail if the 'proposed_assignee' field of
|
||||
// the IncidentRoleAssignment is not equal to the 'new_assignee' field of the
|
||||
// request.
|
||||
rpc CancelIncidentRoleHandover(CancelIncidentRoleHandoverRequest) returns (IncidentRoleAssignment) {
|
||||
option (google.api.http) = {
|
||||
post: "/v1alpha2/{name=projects/*/incidents/*/roleAssignments/*}:cancelHandover"
|
||||
body: "*"
|
||||
};
|
||||
}
|
||||
}
|
||||
|
||||
// Request for the CreateIncident method.
|
||||
message CreateIncidentRequest {
|
||||
// The incident to create.
|
||||
Incident incident = 1;
|
||||
|
||||
// The resource name of the hosting Stackdriver project which the incident
|
||||
// belongs to.
|
||||
// The name is of the form `projects/{project_id_or_number}`
|
||||
// .
|
||||
string parent = 2;
|
||||
}
|
||||
|
||||
// Request for the GetIncident method.
|
||||
message GetIncidentRequest {
|
||||
// Resource name of the incident, e.g.
|
||||
// "projects/{project_id}/incidents/{incident_id}".
|
||||
string name = 1;
|
||||
}
|
||||
|
||||
// Request for the UpdateIncident method.
|
||||
message UpdateIncidentRequest {
|
||||
// The incident to update with the new values.
|
||||
Incident incident = 1;
|
||||
|
||||
// List of fields that should be updated.
|
||||
google.protobuf.FieldMask update_mask = 2;
|
||||
}
|
||||
|
||||
// Request for the SearchSimilarIncidents method.
|
||||
message SearchSimilarIncidentsRequest {
|
||||
// Resource name of the incident or signal, e.g.
|
||||
// "projects/{project_id}/incidents/{incident_id}".
|
||||
string name = 1;
|
||||
|
||||
// Number of similar incidents to return.
|
||||
int32 page_size = 2;
|
||||
|
||||
// Page token from an earlier query, as returned in 'next_page_token'.
|
||||
string page_token = 3;
|
||||
}
|
||||
|
||||
// Response for the SearchSimilarIncidents method.
|
||||
message SearchSimilarIncidentsResponse {
|
||||
// A single search result, i.e. an incident with (potentially) additional
|
||||
// information.
|
||||
message Result {
|
||||
// An incident that is "similar" to the incident or signal specified in the
|
||||
// request.
|
||||
Incident incident = 1;
|
||||
}
|
||||
|
||||
// The search results, ordered by descending relevance.
|
||||
repeated Result results = 1;
|
||||
|
||||
// Page token to fetch the next set of similar incidents.
|
||||
string next_page_token = 2;
|
||||
}
|
||||
|
||||
// Request for the CreateAnnotation method.
|
||||
message CreateAnnotationRequest {
|
||||
// Resource name of the incident, e.g.
|
||||
// "projects/{project_id}/incidents/{incident_id}".
|
||||
string parent = 1;
|
||||
|
||||
// Only annotation.content is an input argument.
|
||||
Annotation annotation = 2;
|
||||
}
|
||||
|
||||
// Request for the ListAnnotations method.
|
||||
message ListAnnotationsRequest {
|
||||
// Resource name of the incident, e.g.
|
||||
// "projects/{project_id}/incidents/{incident_id}".
|
||||
string parent = 1;
|
||||
|
||||
// Number of annotations to return.
|
||||
int32 page_size = 2;
|
||||
|
||||
// Page token from an earlier query, as returned in `next_page_token`.
|
||||
string page_token = 3;
|
||||
}
|
||||
|
||||
// Response for the ListAnnotations method.
|
||||
message ListAnnotationsResponse {
|
||||
// List of annotations.
|
||||
repeated Annotation annotations = 1;
|
||||
|
||||
// Page token to fetch the next set of annotations.
|
||||
string next_page_token = 2;
|
||||
}
|
||||
|
||||
// Request for the CreateTag method.
|
||||
message CreateTagRequest {
|
||||
// Resource name of the incident, e.g.
|
||||
// "projects/{project_id}/incidents/{incident_id}".
|
||||
string parent = 1;
|
||||
|
||||
// Tag to create. Only tag.display_name is an input argument.
|
||||
Tag tag = 2;
|
||||
}
|
||||
|
||||
// Request for the DeleteTag method.
|
||||
message DeleteTagRequest {
|
||||
// Resource name of the tag.
|
||||
string name = 1;
|
||||
}
|
||||
|
||||
// Request for the ListTagsForIncident method.
|
||||
message ListTagsRequest {
|
||||
// Resource name of the incident, e.g.
|
||||
// "projects/{project_id}/incidents/{incident_id}".
|
||||
string parent = 1;
|
||||
|
||||
// Number of tags to return.
|
||||
int32 page_size = 2;
|
||||
|
||||
// Page token from an earlier query, as returned in `next_page_token`.
|
||||
string page_token = 3;
|
||||
}
|
||||
|
||||
// Response for the ListTagsForIncident method.
|
||||
message ListTagsResponse {
|
||||
// Tags.
|
||||
repeated Tag tags = 1;
|
||||
|
||||
// Page token to fetch the next set of tags.
|
||||
string next_page_token = 2;
|
||||
}
|
||||
|
||||
// Request for the UpdateAnnotation method.
|
||||
message UpdateAnnotationRequest {
|
||||
// The annotation to update with the new values.
|
||||
Annotation annotation = 1;
|
||||
|
||||
// List of fields that should be updated.
|
||||
google.protobuf.FieldMask update_mask = 2;
|
||||
}
|
||||
|
||||
// Request for the CreateSignal method.
|
||||
message CreateSignalRequest {
|
||||
// The resource name of the hosting Stackdriver project which requested
|
||||
// signal belongs to.
|
||||
string parent = 1;
|
||||
|
||||
// The signal to create.
|
||||
Signal signal = 2;
|
||||
}
|
||||
|
||||
// Request for the ListSignals method.
|
||||
message ListSignalsRequest {
|
||||
// The resource name of the hosting Stackdriver project which requested
|
||||
// incidents belong to.
|
||||
string parent = 1;
|
||||
|
||||
// Filter to specify which signals should be returned.
|
||||
string filter = 2;
|
||||
|
||||
// Maximum number of `signals` to return in the response.
|
||||
int32 page_size = 3;
|
||||
|
||||
// Page token from an earlier query, as returned in `next_page_token`. All
|
||||
// field values except for page_size and page_token should be the same as the
|
||||
// original query (may return an error or unexpected data otherwise).
|
||||
string page_token = 4;
|
||||
}
|
||||
|
||||
// Response for the ListSignals method.
|
||||
message ListSignalsResponse {
|
||||
// List of signals that have not been moved into an incident yet.
|
||||
repeated Signal signals = 1;
|
||||
|
||||
// Page token to fetch the next set of signals.
|
||||
string next_page_token = 2;
|
||||
}
|
||||
|
||||
// Request for the GetSignal method.
|
||||
message GetSignalRequest {
|
||||
// Resource name of the Signal resource, e.g.
|
||||
// "projects/{project_id}/signals/{signal_id}".
|
||||
string name = 1;
|
||||
}
|
||||
|
||||
// Request for the UpdateSignal method.
|
||||
message UpdateSignalRequest {
|
||||
// The signal to update with the new values.
|
||||
Signal signal = 1;
|
||||
|
||||
// List of fields that should be updated.
|
||||
google.protobuf.FieldMask update_mask = 2;
|
||||
}
|
||||
|
||||
// Request for the AcknowledgeSignal method.
|
||||
message AcknowledgeSignalRequest {
|
||||
// Resource name of the Signal resource, e.g.
|
||||
// "projects/{project_id}/signals/{signal_id}".
|
||||
string name = 1;
|
||||
}
|
||||
|
||||
// Response of the AcknowledgeSignal method.
|
||||
message AcknowledgeSignalResponse {
|
||||
|
||||
}
|
||||
|
||||
// Request for the SearchIncidents method.
|
||||
message SearchIncidentsRequest {
|
||||
// The resource name of the hosting Stackdriver project which requested
|
||||
// incidents belong to.
|
||||
string parent = 1;
|
||||
|
||||
// An expression that defines which incidents to return.
|
||||
//
|
||||
// Search atoms can be used to match certain specific fields. Otherwise,
|
||||
// plain text will match text fields in the incident.
|
||||
//
|
||||
// Search atoms:
|
||||
// * `start` - (timestamp) The time the incident started.
|
||||
// * `stage` - The stage of the incident, one of detected, triaged, mitigated,
|
||||
// resolved, documented, or duplicate (which correspond to values in the
|
||||
// Incident.Stage enum). These are ordered, so `stage<resolved` is
|
||||
// equivalent to `stage:detected OR stage:triaged OR stage:mitigated`.
|
||||
// * `severity` - (Incident.Severity) The severity of the incident.
|
||||
// + Supports matching on a specific severity (e.g., `severity:major`) or
|
||||
// on a range (e.g., `severity>medium`, `severity<=minor`, etc.).
|
||||
//
|
||||
// Timestamp formats:
|
||||
// * yyyy-MM-dd - an absolute date, treated as a calendar-day-wide window.
|
||||
// In other words, the "<" operator will match dates before that date, the
|
||||
// ">" operator will match dates after that date, and the ":" or "="
|
||||
// operators will match the entire day.
|
||||
// * Nd (e.g. 7d) - a relative number of days ago, treated as a moment in time
|
||||
// (as opposed to a day-wide span) a multiple of 24 hours ago (as opposed to
|
||||
// calendar days). In the case of daylight savings time, it will apply the
|
||||
// current timezone to both ends of the range. Note that exact matching
|
||||
// (e.g. `start:7d`) is unlikely to be useful because that would only match
|
||||
// incidents created precisely at a particular instant in time.
|
||||
//
|
||||
// Examples:
|
||||
//
|
||||
// * `foo` - matches incidents containing the word "foo"
|
||||
// * `"foo bar"` - matches incidents containing the phrase "foo bar"
|
||||
// * `foo bar` or `foo AND bar` - matches incidents containing the words "foo"
|
||||
// and "bar"
|
||||
// * `foo -bar` or `foo AND NOT bar` - matches incidents containing the word
|
||||
// "foo" but not the word "bar"
|
||||
// * `foo OR bar` - matches incidents containing the word "foo" or the word
|
||||
// "bar"
|
||||
// * `start>2018-11-28` - matches incidents which started after November 11,
|
||||
// 2018.
|
||||
// * `start<=2018-11-28` - matches incidents which started on or before
|
||||
// November 11, 2018.
|
||||
// * `start:2018-11-28` - matches incidents which started on November 11,
|
||||
// 2018.
|
||||
// * `start>7d` - matches incidents which started after the point in time 7*24
|
||||
// hours ago
|
||||
// * `start>180d` - similar to 7d, but likely to cross the daylight savings
|
||||
// time boundary, so the end time will be 1 hour different from "now."
|
||||
// * `foo AND start>90d AND stage<resolved` - unresolved incidents from the
|
||||
// past 90 days containing the word "foo"
|
||||
string query = 2;
|
||||
|
||||
// Number of incidents to return.
|
||||
int32 page_size = 3;
|
||||
|
||||
// Page token from an earlier query, as returned in `next_page_token`.
|
||||
string page_token = 4;
|
||||
|
||||
// The time zone name. It should be an IANA TZ name, such as
|
||||
// "America/Los_Angeles". For more information,
|
||||
// see https://en.wikipedia.org/wiki/List_of_tz_database_time_zones.
|
||||
// If no time zone is specified, the default is UTC.
|
||||
string time_zone = 5;
|
||||
}
|
||||
|
||||
// Response for the SearchIncidents method.
|
||||
message SearchIncidentsResponse {
|
||||
// Incidents.
|
||||
repeated Incident incidents = 1;
|
||||
|
||||
// Page token to fetch the next set of incidents.
|
||||
string next_page_token = 2;
|
||||
}
|
||||
|
||||
// Request to escalate an incident.
|
||||
message EscalateIncidentRequest {
|
||||
// The incident to escalate with the new values.
|
||||
Incident incident = 1;
|
||||
|
||||
// List of fields that should be updated.
|
||||
google.protobuf.FieldMask update_mask = 2;
|
||||
|
||||
// Subscriptions to add or update. Existing subscriptions with the same
|
||||
// channel and address as a subscription in the list will be updated.
|
||||
repeated Subscription subscriptions = 3;
|
||||
|
||||
// Tags to add. Tags identical to existing tags will be ignored.
|
||||
repeated Tag tags = 4;
|
||||
|
||||
// Roles to add or update. Existing roles with the same type (and title, for
|
||||
// TYPE_OTHER roles) will be updated.
|
||||
repeated IncidentRoleAssignment roles = 5;
|
||||
|
||||
// Artifacts to add. All artifacts are added without checking for duplicates.
|
||||
repeated Artifact artifacts = 6;
|
||||
}
|
||||
|
||||
// Response for EscalateIncident.
|
||||
message EscalateIncidentResponse {
|
||||
// The escalated incident.
|
||||
Incident incident = 1;
|
||||
|
||||
// New or modified subscriptions.
|
||||
repeated Subscription subscriptions = 2;
|
||||
|
||||
// New or modified tags.
|
||||
repeated Tag tags = 3;
|
||||
|
||||
// New or modified roles.
|
||||
repeated IncidentRole roles = 4;
|
||||
|
||||
// New or modified artifacts.
|
||||
repeated Artifact artifacts = 5;
|
||||
}
|
||||
|
||||
// Request for the CreateArtifact method.
|
||||
message CreateArtifactRequest {
|
||||
// Resource name of the incident, e.g.
|
||||
// "projects/{project_id}/incidents/{incident_id}".
|
||||
string parent = 1;
|
||||
|
||||
// The artifact to create.
|
||||
Artifact artifact = 2;
|
||||
}
|
||||
|
||||
// Request for the ListArtifacts method.
|
||||
message ListArtifactsRequest {
|
||||
// Resource name of the incident, e.g.
|
||||
// "projects/{project_id}/incidents/{incident_id}".
|
||||
string parent = 1;
|
||||
|
||||
// Number of artifacts to return.
|
||||
int32 page_size = 2;
|
||||
|
||||
// Page token from an earlier query, as returned in `next_page_token`.
|
||||
string page_token = 3;
|
||||
}
|
||||
|
||||
// Response for the ListArtifacts method.
|
||||
message ListArtifactsResponse {
|
||||
// List of artifacts.
|
||||
repeated Artifact artifacts = 1;
|
||||
|
||||
// Page token to fetch the next set of artifacts.
|
||||
string next_page_token = 2;
|
||||
}
|
||||
|
||||
// Request for the UpdateArtifact method.
|
||||
message UpdateArtifactRequest {
|
||||
// The artifact to update with the new values.
|
||||
Artifact artifact = 1;
|
||||
|
||||
// List of fields that should be updated.
|
||||
google.protobuf.FieldMask update_mask = 2;
|
||||
}
|
||||
|
||||
// Request for deleting an artifact.
|
||||
message DeleteArtifactRequest {
|
||||
// Resource name of the artifact.
|
||||
string name = 1;
|
||||
}
|
||||
|
||||
// GetShiftHandoffPresets RPC request.
|
||||
message GetShiftHandoffPresetsRequest {
|
||||
// Resource name of the Stackdriver project that the presets belong to. e.g.
|
||||
// `projects/{project_id}`
|
||||
string parent = 1;
|
||||
}
|
||||
|
||||
// GetShiftHandoffPresets RPC response.
|
||||
message ShiftHandoffPresets {
|
||||
// The recipients that the user might want to send the shift handoff to, in
|
||||
// the form of email addresses, e.g. "user@example.com". Can be empty.
|
||||
repeated string recipients = 1;
|
||||
|
||||
// The recipients that the user might want to CC on the shift handoff, in the
|
||||
// form of email addresses, e.g. "user@example.com". Can be empty.
|
||||
repeated string cc = 2;
|
||||
|
||||
// A suggested subject for the shift handoff email. Can be empty.
|
||||
string subject = 3;
|
||||
}
|
||||
|
||||
// SendShiftHandoff and PreviewShiftHandoff RPC request.
|
||||
message SendShiftHandoffRequest {
|
||||
// Describes an incident for inclusion in the handoff.
|
||||
// This is wrapped in a message to provide flexibility for potentially
|
||||
// attaching additional data to each incident in the future.
|
||||
message Incident {
|
||||
// Resource name of the incident, e.g.
|
||||
// "projects/{project_id}/incidents/{incident_id}".
|
||||
string name = 1;
|
||||
}
|
||||
|
||||
// The resource name of the Stackdriver project that the handoff is being sent
|
||||
// from. e.g. `projects/{project_id}`
|
||||
string parent = 1;
|
||||
|
||||
// Email addresses of the recipients of the handoff, e.g. "user@example.com".
|
||||
// Must contain at least one entry.
|
||||
repeated string recipients = 2;
|
||||
|
||||
// Email addresses that should be CC'd on the handoff. Optional.
|
||||
repeated string cc = 3;
|
||||
|
||||
// The subject of the email. Required.
|
||||
string subject = 4;
|
||||
|
||||
// Content type string, e.g. 'text/plain' or 'text/html'.
|
||||
string notes_content_type = 5;
|
||||
|
||||
// Additional notes to be included in the handoff. Optional.
|
||||
string notes_content = 6;
|
||||
|
||||
// The set of incidents that should be included in the handoff. Optional.
|
||||
repeated Incident incidents = 7;
|
||||
|
||||
// If set to true a ShiftHandoffResponse will be returned but the handoff
|
||||
// will not actually be sent.
|
||||
bool preview_only = 8;
|
||||
}
|
||||
|
||||
// SendShiftHandoff and PreviewShiftHandoff RPC response.
|
||||
message SendShiftHandoffResponse {
|
||||
// Content type string, e.g. 'text/plain' or 'text/html'.
|
||||
string content_type = 1;
|
||||
|
||||
// The contents of the handoff that was sent or would have been sent (if the
|
||||
// request was preview_only).
|
||||
// This will typically contain a full HTML document.
|
||||
string content = 2;
|
||||
}
|
||||
|
||||
// Request for the CreateSubscription method.
|
||||
message CreateSubscriptionRequest {
|
||||
// Resource name of the incident, e.g.
|
||||
// "projects/{project_id}/incidents/{incident_id}".
|
||||
string parent = 1;
|
||||
|
||||
// The subscription to create.
|
||||
Subscription subscription = 2;
|
||||
}
|
||||
|
||||
// Request for the ListSubscriptions method.
|
||||
message ListSubscriptionsRequest {
|
||||
// Resource name of the incident, e.g.
|
||||
// "projects/{project_id}/incidents/{incident_id}".
|
||||
string parent = 1;
|
||||
|
||||
// Number of subscriptions to return.
|
||||
int32 page_size = 2;
|
||||
|
||||
// Page token from an earlier query, as returned in `next_page_token`.
|
||||
string page_token = 3;
|
||||
}
|
||||
|
||||
// Response for the ListSubscriptions method.
|
||||
message ListSubscriptionsResponse {
|
||||
// List of subscriptions.
|
||||
repeated Subscription subscriptions = 1;
|
||||
|
||||
// Page token to fetch the next set of subscriptions.
|
||||
string next_page_token = 2;
|
||||
}
|
||||
|
||||
// Request for deleting a subscription.
|
||||
message DeleteSubscriptionRequest {
|
||||
// Resource name of the subscription.
|
||||
string name = 1;
|
||||
}
|
||||
|
||||
// Request for creating a role assignment.
|
||||
message CreateIncidentRoleAssignmentRequest {
|
||||
// Resource name of the incident, e.g.
|
||||
// "projects/{project_id}/incidents/{incident_id}".
|
||||
string parent = 1;
|
||||
|
||||
// Role assignment to create.
|
||||
IncidentRoleAssignment incident_role_assignment = 2;
|
||||
}
|
||||
|
||||
// Request for deleting a role assignment.
|
||||
message DeleteIncidentRoleAssignmentRequest {
|
||||
// Resource name of the role assignment.
|
||||
string name = 1;
|
||||
}
|
||||
|
||||
// Request to list role assignments of an incident.
|
||||
message ListIncidentRoleAssignmentsRequest {
|
||||
// Resource name of the incident, e.g.
|
||||
// "projects/{project_id}/incidents/{incident_id}".
|
||||
string parent = 1;
|
||||
|
||||
// Number of assignments to return.
|
||||
int32 page_size = 2;
|
||||
|
||||
// Page token from an earlier query, as returned in `next_page_token`.
|
||||
string page_token = 3;
|
||||
}
|
||||
|
||||
// Response for the ListIncidentRoleAssignments method.
|
||||
message ListIncidentRoleAssignmentsResponse {
|
||||
// List of assignments.
|
||||
repeated IncidentRoleAssignment incident_role_assignments = 1;
|
||||
|
||||
// Page token to fetch the next set of assignments.
|
||||
string next_page_token = 2;
|
||||
}
|
||||
|
||||
// Request to start a role handover.
|
||||
message RequestIncidentRoleHandoverRequest {
|
||||
// Resource name of the role assignment.
|
||||
string name = 1;
|
||||
|
||||
// The proposed assignee.
|
||||
User new_assignee = 2;
|
||||
}
|
||||
|
||||
// Request to confirm a role handover.
|
||||
message ConfirmIncidentRoleHandoverRequest {
|
||||
// Resource name of the role assignment.
|
||||
string name = 1;
|
||||
|
||||
// The proposed assignee, who will now be the assignee. This should be the
|
||||
// current user; otherwise ForceRoleHandover should be called.
|
||||
User new_assignee = 2;
|
||||
}
|
||||
|
||||
// Request to force a role handover.
|
||||
message ForceIncidentRoleHandoverRequest {
|
||||
// Resource name of the role assignment.
|
||||
string name = 1;
|
||||
|
||||
// The proposed assignee, who will now be the assignee. This should not be
|
||||
// the current user; otherwise ConfirmRoleHandover should be called.
|
||||
User new_assignee = 2;
|
||||
}
|
||||
|
||||
// Request to cancel a role handover.
|
||||
message CancelIncidentRoleHandoverRequest {
|
||||
// Resource name of the role assignment.
|
||||
string name = 1;
|
||||
|
||||
// Person who was proposed as the next assignee (i.e.
|
||||
// IncidentRoleAssignment.proposed_assignee) and whose proposal is being
|
||||
// cancelled.
|
||||
User new_assignee = 2;
|
||||
}
|
||||
|
|
@ -0,0 +1,603 @@
|
|||
type: com.google.api.codegen.ConfigProto
|
||||
config_schema_version: 1.0.0
|
||||
# The settings of generated code in a specific language.
|
||||
language_settings:
|
||||
java:
|
||||
package_name: com.google.cloud.irm.v1alpha2
|
||||
python:
|
||||
package_name: google.cloud.irm_v1alpha2.gapic
|
||||
go:
|
||||
package_name: cloud.google.com/go/irm/apiv1alpha2
|
||||
csharp:
|
||||
package_name: Google.Cloud.Irm.V1alpha2
|
||||
ruby:
|
||||
package_name: Google::Cloud::Irm::V1alpha2
|
||||
php:
|
||||
package_name: Google\Cloud\Irm\V1alpha2
|
||||
nodejs:
|
||||
package_name: irm.v1alpha2
|
||||
# The configuration for the license header to put on generated files.
|
||||
license_header:
|
||||
# The file containing the copyright line(s).
|
||||
copyright_file: copyright-google.txt
|
||||
# The file containing the raw license header without any copyright line(s).
|
||||
license_file: license-header-apache-2.0.txt
|
||||
# A list of API interface configurations.
|
||||
interfaces:
|
||||
# The fully qualified name of the API interface.
|
||||
- name: google.cloud.irm.v1alpha2.IncidentService
|
||||
# A list of resource collection configurations.
|
||||
# Consists of a name_pattern and an entity_name.
|
||||
# The name_pattern is a pattern to describe the names of the resources of this
|
||||
# collection, using the platform's conventions for URI patterns. A generator
|
||||
# may use this to generate methods to compose and decompose such names. The
|
||||
# pattern should use named placeholders as in `shelves/{shelf}/books/{book}`;
|
||||
# those will be taken as hints for the parameter names of the generated
|
||||
# methods. If empty, no name methods are generated.
|
||||
# The entity_name is the name to be used as a basis for generated methods and
|
||||
# classes.
|
||||
collections:
|
||||
- name_pattern: projects/{project}
|
||||
entity_name: project
|
||||
- name_pattern: projects/{project}/incidents/{incident}
|
||||
entity_name: incident
|
||||
- name_pattern: projects/{project}/incidents/{incident}/annotations/{annotation}
|
||||
entity_name: annotation
|
||||
- name_pattern: projects/{project}/incidents/{incident}/artifacts/{artifact}
|
||||
entity_name: artifact
|
||||
- name_pattern: projects/{project}/incidents/{incident}/roleAssignments/{role_assignment}
|
||||
entity_name: role_assignment
|
||||
- name_pattern: projects/{project}/incidents/{incident}/subscriptions/{subscription}
|
||||
entity_name: subscription
|
||||
- name_pattern: projects/{project}/incidents/{incident}/tags/{tag}
|
||||
entity_name: tag
|
||||
- name_pattern: projects/{project}/signals/{signal}
|
||||
entity_name: signal
|
||||
# Definition for retryable codes.
|
||||
retry_codes_def:
|
||||
- name: idempotent
|
||||
retry_codes:
|
||||
- DEADLINE_EXCEEDED
|
||||
- UNAVAILABLE
|
||||
- name: non_idempotent
|
||||
retry_codes: []
|
||||
# Definition for retry/backoff parameters.
|
||||
retry_params_def:
|
||||
- name: default
|
||||
initial_retry_delay_millis: 100
|
||||
retry_delay_multiplier: 1.3
|
||||
max_retry_delay_millis: 60000
|
||||
initial_rpc_timeout_millis: 20000
|
||||
rpc_timeout_multiplier: 1
|
||||
max_rpc_timeout_millis: 20000
|
||||
total_timeout_millis: 600000
|
||||
# A list of method configurations.
|
||||
# Common properties:
|
||||
#
|
||||
# name - The simple name of the method.
|
||||
#
|
||||
# flattening - Specifies the configuration for parameter flattening.
|
||||
# Describes the parameter groups for which a generator should produce method
|
||||
# overloads which allow a client to directly pass request message fields as
|
||||
# method parameters. This information may or may not be used, depending on
|
||||
# the target language.
|
||||
# Consists of groups, which each represent a list of parameters to be
|
||||
# flattened. Each parameter listed must be a field of the request message.
|
||||
#
|
||||
# required_fields - Fields that are always required for a request to be
|
||||
# valid.
|
||||
#
|
||||
# resource_name_treatment - An enum that specifies how to treat the resource
|
||||
# name formats defined in the field_name_patterns and
|
||||
# response_field_name_patterns fields.
|
||||
# UNSET: default value
|
||||
# NONE: the collection configs will not be used by the generated code.
|
||||
# VALIDATE: string fields will be validated by the client against the
|
||||
# specified resource name formats.
|
||||
# STATIC_TYPES: the client will use generated types for resource names.
|
||||
#
|
||||
# page_streaming - Specifies the configuration for paging.
|
||||
# Describes information for generating a method which transforms a paging
|
||||
# list RPC into a stream of resources.
|
||||
# Consists of a request and a response.
|
||||
# The request specifies request information of the list method. It defines
|
||||
# which fields match the paging pattern in the request. The request consists
|
||||
# of a page_size_field and a token_field. The page_size_field is the name of
|
||||
# the optional field specifying the maximum number of elements to be
|
||||
# returned in the response. The token_field is the name of the field in the
|
||||
# request containing the page token.
|
||||
# The response specifies response information of the list method. It defines
|
||||
# which fields match the paging pattern in the response. The response
|
||||
# consists of a token_field and a resources_field. The token_field is the
|
||||
# name of the field in the response containing the next page token. The
|
||||
# resources_field is the name of the field in the response containing the
|
||||
# list of resources belonging to the page.
|
||||
#
|
||||
# retry_codes_name - Specifies the configuration for retryable codes. The
|
||||
# name must be defined in interfaces.retry_codes_def.
|
||||
#
|
||||
# retry_params_name - Specifies the configuration for retry/backoff
|
||||
# parameters. The name must be defined in interfaces.retry_params_def.
|
||||
#
|
||||
# field_name_patterns - Maps the field name of the request type to
|
||||
# entity_name of interfaces.collections.
|
||||
# Specifies the string pattern that the field must follow.
|
||||
#
|
||||
# timeout_millis - Specifies the default timeout for a non-retrying call. If
|
||||
# the call is retrying, refer to retry_params_name instead.
|
||||
methods:
|
||||
- name: CreateIncident
|
||||
flattening:
|
||||
groups:
|
||||
- parameters:
|
||||
- incident
|
||||
- parent
|
||||
required_fields:
|
||||
- incident
|
||||
- parent
|
||||
retry_codes_name: non_idempotent
|
||||
retry_params_name: default
|
||||
field_name_patterns:
|
||||
parent: project
|
||||
timeout_millis: 60000
|
||||
- name: GetIncident
|
||||
flattening:
|
||||
groups:
|
||||
- parameters:
|
||||
- name
|
||||
required_fields:
|
||||
- name
|
||||
retry_codes_name: idempotent
|
||||
retry_params_name: default
|
||||
field_name_patterns:
|
||||
name: incident
|
||||
timeout_millis: 60000
|
||||
- name: SearchIncidents
|
||||
flattening:
|
||||
groups:
|
||||
- parameters:
|
||||
- parent
|
||||
- query
|
||||
- time_zone
|
||||
required_fields:
|
||||
- parent
|
||||
page_streaming:
|
||||
request:
|
||||
page_size_field: page_size
|
||||
token_field: page_token
|
||||
response:
|
||||
token_field: next_page_token
|
||||
resources_field: incidents
|
||||
retry_codes_name: idempotent
|
||||
retry_params_name: default
|
||||
field_name_patterns:
|
||||
parent: project
|
||||
timeout_millis: 60000
|
||||
- name: UpdateIncident
|
||||
flattening:
|
||||
groups:
|
||||
- parameters:
|
||||
- incident
|
||||
- update_mask
|
||||
required_fields:
|
||||
- incident
|
||||
retry_codes_name: non_idempotent
|
||||
retry_params_name: default
|
||||
field_name_patterns:
|
||||
incident.name: incident
|
||||
timeout_millis: 60000
|
||||
- name: SearchSimilarIncidents
|
||||
flattening:
|
||||
groups:
|
||||
- parameters:
|
||||
- name
|
||||
required_fields:
|
||||
- name
|
||||
page_streaming:
|
||||
request:
|
||||
page_size_field: page_size
|
||||
token_field: page_token
|
||||
response:
|
||||
token_field: next_page_token
|
||||
resources_field: results
|
||||
retry_codes_name: idempotent
|
||||
retry_params_name: default
|
||||
field_name_patterns:
|
||||
name: incident
|
||||
timeout_millis: 60000
|
||||
- name: CreateAnnotation
|
||||
flattening:
|
||||
groups:
|
||||
- parameters:
|
||||
- parent
|
||||
- annotation
|
||||
required_fields:
|
||||
- parent
|
||||
- annotation
|
||||
retry_codes_name: non_idempotent
|
||||
retry_params_name: default
|
||||
field_name_patterns:
|
||||
parent: incident
|
||||
timeout_millis: 60000
|
||||
- name: ListAnnotations
|
||||
flattening:
|
||||
groups:
|
||||
- parameters:
|
||||
- parent
|
||||
required_fields:
|
||||
- parent
|
||||
page_streaming:
|
||||
request:
|
||||
page_size_field: page_size
|
||||
token_field: page_token
|
||||
response:
|
||||
token_field: next_page_token
|
||||
resources_field: annotations
|
||||
retry_codes_name: idempotent
|
||||
retry_params_name: default
|
||||
field_name_patterns:
|
||||
parent: incident
|
||||
timeout_millis: 60000
|
||||
- name: UpdateAnnotation
|
||||
flattening:
|
||||
groups:
|
||||
- parameters:
|
||||
- annotation
|
||||
- update_mask
|
||||
required_fields:
|
||||
- annotation
|
||||
retry_codes_name: non_idempotent
|
||||
retry_params_name: default
|
||||
field_name_patterns:
|
||||
annotation.name: annotation
|
||||
timeout_millis: 60000
|
||||
- name: CreateTag
|
||||
flattening:
|
||||
groups:
|
||||
- parameters:
|
||||
- parent
|
||||
- tag
|
||||
required_fields:
|
||||
- parent
|
||||
- tag
|
||||
retry_codes_name: non_idempotent
|
||||
retry_params_name: default
|
||||
field_name_patterns:
|
||||
parent: incident
|
||||
timeout_millis: 60000
|
||||
- name: DeleteTag
|
||||
flattening:
|
||||
groups:
|
||||
- parameters:
|
||||
- name
|
||||
required_fields:
|
||||
- name
|
||||
retry_codes_name: idempotent
|
||||
retry_params_name: default
|
||||
field_name_patterns:
|
||||
name: tag
|
||||
timeout_millis: 60000
|
||||
- name: ListTags
|
||||
flattening:
|
||||
groups:
|
||||
- parameters:
|
||||
- parent
|
||||
required_fields:
|
||||
- parent
|
||||
page_streaming:
|
||||
request:
|
||||
page_size_field: page_size
|
||||
token_field: page_token
|
||||
response:
|
||||
token_field: next_page_token
|
||||
resources_field: tags
|
||||
retry_codes_name: idempotent
|
||||
retry_params_name: default
|
||||
field_name_patterns:
|
||||
parent: incident
|
||||
timeout_millis: 60000
|
||||
- name: CreateSignal
|
||||
flattening:
|
||||
groups:
|
||||
- parameters:
|
||||
- parent
|
||||
- signal
|
||||
required_fields:
|
||||
- parent
|
||||
- signal
|
||||
retry_codes_name: non_idempotent
|
||||
retry_params_name: default
|
||||
field_name_patterns:
|
||||
parent: project
|
||||
timeout_millis: 60000
|
||||
- name: ListSignals
|
||||
flattening:
|
||||
groups:
|
||||
- parameters:
|
||||
- parent
|
||||
- filter
|
||||
required_fields:
|
||||
- parent
|
||||
page_streaming:
|
||||
request:
|
||||
page_size_field: page_size
|
||||
token_field: page_token
|
||||
response:
|
||||
token_field: next_page_token
|
||||
resources_field: signals
|
||||
retry_codes_name: idempotent
|
||||
retry_params_name: default
|
||||
field_name_patterns:
|
||||
parent: project
|
||||
timeout_millis: 60000
|
||||
- name: GetSignal
|
||||
flattening:
|
||||
groups:
|
||||
- parameters:
|
||||
- name
|
||||
required_fields:
|
||||
- name
|
||||
retry_codes_name: idempotent
|
||||
retry_params_name: default
|
||||
field_name_patterns:
|
||||
name: signal
|
||||
timeout_millis: 60000
|
||||
- name: UpdateSignal
|
||||
flattening:
|
||||
groups:
|
||||
- parameters:
|
||||
- signal
|
||||
- update_mask
|
||||
required_fields:
|
||||
- signal
|
||||
retry_codes_name: non_idempotent
|
||||
retry_params_name: default
|
||||
field_name_patterns:
|
||||
signal.name: signal
|
||||
timeout_millis: 60000
|
||||
- name: AcknowledgeSignal
|
||||
flattening:
|
||||
groups:
|
||||
- parameters:
|
||||
- name
|
||||
required_fields:
|
||||
- name
|
||||
retry_codes_name: non_idempotent
|
||||
retry_params_name: default
|
||||
field_name_patterns:
|
||||
name: signal
|
||||
timeout_millis: 60000
|
||||
- name: EscalateIncident
|
||||
required_fields:
|
||||
- incident
|
||||
retry_codes_name: non_idempotent
|
||||
retry_params_name: default
|
||||
field_name_patterns:
|
||||
incident.name: incident
|
||||
timeout_millis: 60000
|
||||
- name: CreateArtifact
|
||||
flattening:
|
||||
groups:
|
||||
- parameters:
|
||||
- parent
|
||||
- artifact
|
||||
required_fields:
|
||||
- parent
|
||||
- artifact
|
||||
retry_codes_name: non_idempotent
|
||||
retry_params_name: default
|
||||
field_name_patterns:
|
||||
parent: incident
|
||||
timeout_millis: 60000
|
||||
- name: ListArtifacts
|
||||
flattening:
|
||||
groups:
|
||||
- parameters:
|
||||
- parent
|
||||
required_fields:
|
||||
- parent
|
||||
page_streaming:
|
||||
request:
|
||||
page_size_field: page_size
|
||||
token_field: page_token
|
||||
response:
|
||||
token_field: next_page_token
|
||||
resources_field: artifacts
|
||||
retry_codes_name: idempotent
|
||||
retry_params_name: default
|
||||
field_name_patterns:
|
||||
parent: incident
|
||||
timeout_millis: 60000
|
||||
- name: UpdateArtifact
|
||||
flattening:
|
||||
groups:
|
||||
- parameters:
|
||||
- artifact
|
||||
- update_mask
|
||||
required_fields:
|
||||
- artifact
|
||||
retry_codes_name: non_idempotent
|
||||
retry_params_name: default
|
||||
field_name_patterns:
|
||||
artifact.name: artifact
|
||||
timeout_millis: 60000
|
||||
- name: DeleteArtifact
|
||||
flattening:
|
||||
groups:
|
||||
- parameters:
|
||||
- name
|
||||
required_fields:
|
||||
- name
|
||||
retry_codes_name: idempotent
|
||||
retry_params_name: default
|
||||
field_name_patterns:
|
||||
name: artifact
|
||||
timeout_millis: 60000
|
||||
- name: GetShiftHandoffPresets
|
||||
flattening:
|
||||
groups:
|
||||
- parameters:
|
||||
- parent
|
||||
required_fields:
|
||||
- parent
|
||||
retry_codes_name: idempotent
|
||||
retry_params_name: default
|
||||
field_name_patterns:
|
||||
parent: project
|
||||
timeout_millis: 60000
|
||||
- name: SendShiftHandoff
|
||||
required_fields:
|
||||
- parent
|
||||
- recipients
|
||||
- subject
|
||||
retry_codes_name: non_idempotent
|
||||
retry_params_name: default
|
||||
field_name_patterns:
|
||||
parent: project
|
||||
timeout_millis: 60000
|
||||
- name: CreateSubscription
|
||||
flattening:
|
||||
groups:
|
||||
- parameters:
|
||||
- parent
|
||||
- subscription
|
||||
required_fields:
|
||||
- parent
|
||||
- subscription
|
||||
retry_codes_name: non_idempotent
|
||||
retry_params_name: default
|
||||
field_name_patterns:
|
||||
parent: incident
|
||||
timeout_millis: 60000
|
||||
- name: ListSubscriptions
|
||||
flattening:
|
||||
groups:
|
||||
- parameters:
|
||||
- parent
|
||||
required_fields:
|
||||
- parent
|
||||
page_streaming:
|
||||
request:
|
||||
page_size_field: page_size
|
||||
token_field: page_token
|
||||
response:
|
||||
token_field: next_page_token
|
||||
resources_field: subscriptions
|
||||
retry_codes_name: idempotent
|
||||
retry_params_name: default
|
||||
field_name_patterns:
|
||||
parent: incident
|
||||
timeout_millis: 60000
|
||||
- name: DeleteSubscription
|
||||
flattening:
|
||||
groups:
|
||||
- parameters:
|
||||
- name
|
||||
required_fields:
|
||||
- name
|
||||
retry_codes_name: idempotent
|
||||
retry_params_name: default
|
||||
field_name_patterns:
|
||||
name: subscription
|
||||
timeout_millis: 60000
|
||||
- name: CreateIncidentRoleAssignment
|
||||
flattening:
|
||||
groups:
|
||||
- parameters:
|
||||
- parent
|
||||
- incident_role_assignment
|
||||
required_fields:
|
||||
- parent
|
||||
- incident_role_assignment
|
||||
retry_codes_name: non_idempotent
|
||||
retry_params_name: default
|
||||
field_name_patterns:
|
||||
parent: incident
|
||||
timeout_millis: 60000
|
||||
- name: DeleteIncidentRoleAssignment
|
||||
flattening:
|
||||
groups:
|
||||
- parameters:
|
||||
- name
|
||||
required_fields:
|
||||
- name
|
||||
retry_codes_name: idempotent
|
||||
retry_params_name: default
|
||||
field_name_patterns:
|
||||
name: role_assignment
|
||||
timeout_millis: 60000
|
||||
- name: ListIncidentRoleAssignments
|
||||
flattening:
|
||||
groups:
|
||||
- parameters:
|
||||
- parent
|
||||
required_fields:
|
||||
- parent
|
||||
page_streaming:
|
||||
request:
|
||||
page_size_field: page_size
|
||||
token_field: page_token
|
||||
response:
|
||||
token_field: next_page_token
|
||||
resources_field: incident_role_assignments
|
||||
retry_codes_name: idempotent
|
||||
retry_params_name: default
|
||||
field_name_patterns:
|
||||
parent: incident
|
||||
timeout_millis: 60000
|
||||
- name: RequestIncidentRoleHandover
|
||||
flattening:
|
||||
groups:
|
||||
- parameters:
|
||||
- name
|
||||
- new_assignee
|
||||
required_fields:
|
||||
- name
|
||||
- new_assignee
|
||||
retry_codes_name: non_idempotent
|
||||
retry_params_name: default
|
||||
field_name_patterns:
|
||||
name: role_assignment
|
||||
timeout_millis: 60000
|
||||
- name: ConfirmIncidentRoleHandover
|
||||
flattening:
|
||||
groups:
|
||||
- parameters:
|
||||
- name
|
||||
- new_assignee
|
||||
required_fields:
|
||||
- name
|
||||
- new_assignee
|
||||
retry_codes_name: non_idempotent
|
||||
retry_params_name: default
|
||||
field_name_patterns:
|
||||
name: role_assignment
|
||||
timeout_millis: 60000
|
||||
- name: ForceIncidentRoleHandover
|
||||
flattening:
|
||||
groups:
|
||||
- parameters:
|
||||
- name
|
||||
- new_assignee
|
||||
required_fields:
|
||||
- name
|
||||
- new_assignee
|
||||
retry_codes_name: non_idempotent
|
||||
retry_params_name: default
|
||||
field_name_patterns:
|
||||
name: role_assignment
|
||||
timeout_millis: 60000
|
||||
- name: CancelIncidentRoleHandover
|
||||
flattening:
|
||||
groups:
|
||||
- parameters:
|
||||
- name
|
||||
- new_assignee
|
||||
required_fields:
|
||||
- name
|
||||
- new_assignee
|
||||
retry_codes_name: non_idempotent
|
||||
retry_params_name: default
|
||||
field_name_patterns:
|
||||
name: role_assignment
|
||||
timeout_millis: 60000
|
||||
Loading…
Reference in New Issue