Google Cloud Support v2 API - Class CaseService.CaseServiceBase (1.4.0)

[BindServiceMethod(typeof(CaseService), "BindService")]
public abstract class CaseService.CaseServiceBase

Reference documentation and code samples for the Google Cloud Support v2 API class CaseService.CaseServiceBase.

Base class for server-side implementations of CaseService

Inheritance

object > CaseService.CaseServiceBase

Namespace

Google.Cloud.Support.V2

Assembly

Google.Cloud.Support.V2.dll

Methods

CloseCase(CloseCaseRequest, ServerCallContext)

public virtual Task<Case> CloseCase(CloseCaseRequest request, ServerCallContext context)

Close a case.

EXAMPLES:

cURL:

case="projects/some-project/cases/43595344"
curl \
  --request POST \
  --header "Authorization: Bearer $(gcloud auth print-access-token)" \
  "https://cloudsupport.googleapis.com/v2/$case:close"

Python:

import googleapiclient.discovery

api_version = "v2"
supportApiService = googleapiclient.discovery.build(
    serviceName="cloudsupport",
    version=api_version,
    discoveryServiceUrl=f"https://cloudsupport.googleapis.com/$discovery/rest?version={api_version}",
)
request = supportApiService.cases().close(
    name="projects/some-project/cases/43595344"
)
print(request.execute())
Parameters
Name Description
request CloseCaseRequest

The request received from the client.

context ServerCallContext

The context of the server-side call handler being invoked.

Returns
Type Description
TaskCase

The response to send back to the client (wrapped by a task).

CreateCase(CreateCaseRequest, ServerCallContext)

public virtual Task<Case> CreateCase(CreateCaseRequest request, ServerCallContext context)

Create a new case and associate it with a parent.

It must have the following fields set: display_name, description, classification, and priority. If you're just testing the API and don't want to route your case to an agent, set testCase=true.

EXAMPLES:

cURL:

parent="projects/some-project"
curl \
  --request POST \
  --header "Authorization: Bearer $(gcloud auth print-access-token)" \
  --header 'Content-Type: application/json' \
  --data '{
    "display_name": "Test case created by me.",
    "description": "a random test case, feel free to close",
    "classification": {
      "id":
      "100IK2AKCLHMGRJ9CDGMOCGP8DM6UTB4BT262T31BT1M2T31DHNMENPO6KS36CPJ786L2TBFEHGN6NPI64R3CDHN8880G08I1H3MURR7DHII0GRCDTQM8"
    },
    "time_zone": "-07:00",
    "subscriber_email_addresses": [
      "foo@domain.com",
      "bar@domain.com"
    ],
    "testCase": true,
    "priority": "P3"
  }' \
  "https://cloudsupport.googleapis.com/v2/$parent/cases"

Python:

import googleapiclient.discovery

api_version = "v2"
supportApiService = googleapiclient.discovery.build(
    serviceName="cloudsupport",
    version=api_version,
    discoveryServiceUrl=f"https://cloudsupport.googleapis.com/$discovery/rest?version={api_version}",
)
request = supportApiService.cases().create(
    parent="projects/some-project",
    body={
        "displayName": "A Test Case",
        "description": "This is a test case.",
        "testCase": True,
        "priority": "P2",
        "classification": {
            "id":
              "100IK2AKCLHMGRJ9CDGMOCGP8DM6UTB4BT262T31BT1M2T31DHNMENPO6KS36CPJ786L2TBFEHGN6NPI64R3CDHN8880G08I1H3MURR7DHII0GRCDTQM8"
        },
    },
)
print(request.execute())
Parameters
Name Description
request CreateCaseRequest

The request received from the client.

context ServerCallContext

The context of the server-side call handler being invoked.

Returns
Type Description
TaskCase

The response to send back to the client (wrapped by a task).

EscalateCase(EscalateCaseRequest, ServerCallContext)

public virtual Task<Case> EscalateCase(EscalateCaseRequest request, ServerCallContext context)

Escalate a case, starting the Google Cloud Support escalation management process.

This operation is only available for some support services. Go to https://cloud.google.com/support and look for 'Technical support escalations' in the feature list to find out which ones let you do that.

EXAMPLES:

cURL:

case="projects/some-project/cases/43595344"
curl \
  --request POST \
  --header "Authorization: Bearer $(gcloud auth print-access-token)" \
  --header "Content-Type: application/json" \
  --data '{
    "escalation": {
      "reason": "BUSINESS_IMPACT",
      "justification": "This is a test escalation."
    }
  }' \
  "https://cloudsupport.googleapis.com/v2/$case:escalate"

Python:

import googleapiclient.discovery

api_version = "v2"
supportApiService = googleapiclient.discovery.build(
    serviceName="cloudsupport",
    version=api_version,
    discoveryServiceUrl=f"https://cloudsupport.googleapis.com/$discovery/rest?version={api_version}",
)
request = supportApiService.cases().escalate(
    name="projects/some-project/cases/43595344",
    body={
        "escalation": {
            "reason": "BUSINESS_IMPACT",
            "justification": "This is a test escalation.",
        },
    },
)
print(request.execute())
Parameters
Name Description
request EscalateCaseRequest

The request received from the client.

context ServerCallContext

The context of the server-side call handler being invoked.

Returns
Type Description
TaskCase

The response to send back to the client (wrapped by a task).

GetCase(GetCaseRequest, ServerCallContext)

public virtual Task<Case> GetCase(GetCaseRequest request, ServerCallContext context)

Retrieve a case.

EXAMPLES:

cURL:

case="projects/some-project/cases/16033687"
curl \
  --header "Authorization: Bearer $(gcloud auth print-access-token)" \
  "https://cloudsupport.googleapis.com/v2/$case"

Python:

import googleapiclient.discovery

api_version = "v2"
supportApiService = googleapiclient.discovery.build(
    serviceName="cloudsupport",
    version=api_version,
    discoveryServiceUrl=f"https://cloudsupport.googleapis.com/$discovery/rest?version={api_version}",
)

request = supportApiService.cases().get(
    name="projects/some-project/cases/43595344",
)
print(request.execute())
Parameters
Name Description
request GetCaseRequest

The request received from the client.

context ServerCallContext

The context of the server-side call handler being invoked.

Returns
Type Description
TaskCase

The response to send back to the client (wrapped by a task).

ListCases(ListCasesRequest, ServerCallContext)

public virtual Task<ListCasesResponse> ListCases(ListCasesRequest request, ServerCallContext context)

Retrieve all cases under a parent, but not its children.

For example, listing cases under an organization only returns the cases that are directly parented by that organization. To retrieve cases under an organization and its projects, use cases.search.

EXAMPLES:

cURL:

parent="projects/some-project"
curl \
  --header "Authorization: Bearer $(gcloud auth print-access-token)" \
  "https://cloudsupport.googleapis.com/v2/$parent/cases"

Python:

import googleapiclient.discovery

api_version = "v2"
supportApiService = googleapiclient.discovery.build(
    serviceName="cloudsupport",
    version=api_version,
    discoveryServiceUrl=f"https://cloudsupport.googleapis.com/$discovery/rest?version={api_version}",
)

request =
  supportApiService.cases().list(parent="projects/some-project")
print(request.execute())
Parameters
Name Description
request ListCasesRequest

The request received from the client.

context ServerCallContext

The context of the server-side call handler being invoked.

Returns
Type Description
TaskListCasesResponse

The response to send back to the client (wrapped by a task).

SearchCaseClassifications(SearchCaseClassificationsRequest, ServerCallContext)

public virtual Task<SearchCaseClassificationsResponse> SearchCaseClassifications(SearchCaseClassificationsRequest request, ServerCallContext context)

Retrieve valid classifications to use when creating a support case.

Classifications are hierarchical. Each classification is a string containing all levels of the hierarchy separated by " > ". For example, "Technical Issue > Compute > Compute Engine".

Classification IDs returned by this endpoint are valid for at least six months. When a classification is deactivated, this endpoint immediately stops returning it. After six months, case.create requests using the classification will fail.

EXAMPLES:

cURL:

curl \
  --header "Authorization: Bearer $(gcloud auth print-access-token)" \
  'https://cloudsupport.googleapis.com/v2/caseClassifications:search?query=display_name:"*Compute%20Engine*"'

Python:

import googleapiclient.discovery

supportApiService = googleapiclient.discovery.build(
    serviceName="cloudsupport",
    version="v2",
    discoveryServiceUrl=f"https://cloudsupport.googleapis.com/$discovery/rest?version=v2",
)
request = supportApiService.caseClassifications().search(
    query='display_name:"*Compute Engine*"'
)
print(request.execute())
Parameters
Name Description
request SearchCaseClassificationsRequest

The request received from the client.

context ServerCallContext

The context of the server-side call handler being invoked.

Returns
Type Description
TaskSearchCaseClassificationsResponse

The response to send back to the client (wrapped by a task).

SearchCases(SearchCasesRequest, ServerCallContext)

public virtual Task<SearchCasesResponse> SearchCases(SearchCasesRequest request, ServerCallContext context)

Search for cases using a query.

EXAMPLES:

cURL:

parent="projects/some-project"
curl \
  --header "Authorization: Bearer $(gcloud auth print-access-token)" \
  "https://cloudsupport.googleapis.com/v2/$parent/cases:search"

Python:

import googleapiclient.discovery

api_version = "v2"
supportApiService = googleapiclient.discovery.build(
    serviceName="cloudsupport",
    version=api_version,
    discoveryServiceUrl=f"https://cloudsupport.googleapis.com/$discovery/rest?version={api_version}",
)
request = supportApiService.cases().search(
    parent="projects/some-project", query="state=OPEN"
)
print(request.execute())
Parameters
Name Description
request SearchCasesRequest

The request received from the client.

context ServerCallContext

The context of the server-side call handler being invoked.

Returns
Type Description
TaskSearchCasesResponse

The response to send back to the client (wrapped by a task).

UpdateCase(UpdateCaseRequest, ServerCallContext)

public virtual Task<Case> UpdateCase(UpdateCaseRequest request, ServerCallContext context)

Update a case. Only some fields can be updated.

EXAMPLES:

cURL:

case="projects/some-project/cases/43595344"
curl \
  --request PATCH \
  --header "Authorization: Bearer $(gcloud auth print-access-token)" \
  --header "Content-Type: application/json" \
  --data '{
    "priority": "P1"
  }' \
  "https://cloudsupport.googleapis.com/v2/$case?updateMask=priority"

Python:

import googleapiclient.discovery

api_version = "v2"
supportApiService = googleapiclient.discovery.build(
    serviceName="cloudsupport",
    version=api_version,
    discoveryServiceUrl=f"https://cloudsupport.googleapis.com/$discovery/rest?version={api_version}",
)
request = supportApiService.cases().patch(
    name="projects/some-project/cases/43112854",
    body={
        "displayName": "This is Now a New Title",
        "priority": "P2",
    },
)
print(request.execute())
Parameters
Name Description
request UpdateCaseRequest

The request received from the client.

context ServerCallContext

The context of the server-side call handler being invoked.

Returns
Type Description
TaskCase

The response to send back to the client (wrapped by a task).