Package google.cloud.apim.v1alpha

Index

ApiDiscoveryObservation

Shadow API Discovery Observation Service

CreateObservationJob

rpc CreateObservationJob(CreateObservationJobRequest) returns (Operation)

CreateObservationJob creates a new ObservationJob but does not have any effecton its own. It is a configuration that can be used in an Observation Job to collect data about existing APIs.

Authorization scopes

Requires the following OAuth scope:

  • https://www.googleapis.com/auth/cloud-platform
IAM Permissions

Requires the following IAM permission on the parent resource:

  • apim.observationJobs.create

For more information, see the IAM documentation.

CreateObservationSource

rpc CreateObservationSource(CreateObservationSourceRequest) returns (Operation)

CreateObservationSource creates a new ObservationSource but does not affect any deployed infrastructure. It is a configuration that can be used in an Observation Job to collect data about APIs running in user's dataplane.

Authorization scopes

Requires the following OAuth scope:

  • https://www.googleapis.com/auth/cloud-platform
IAM Permissions

Requires the following IAM permission on the parent resource:

  • apim.observationSources.create

For more information, see the IAM documentation.

DeleteObservationJob

rpc DeleteObservationJob(DeleteObservationJobRequest) returns (Operation)

DeleteObservationJob deletes an ObservationJob. This method will fail if the observation job is currently being used by any ObservationSource, even if not enabled.

Authorization scopes

Requires the following OAuth scope:

  • https://www.googleapis.com/auth/cloud-platform
IAM Permissions

Requires the following IAM permission on the name resource:

  • apim.observationJobs.delete

For more information, see the IAM documentation.

DeleteObservationSource

rpc DeleteObservationSource(DeleteObservationSourceRequest) returns (Operation)

DeleteObservationSource deletes an observation source. This method will fail if the observation source is currently being used by any ObservationJob, even if not enabled.

Authorization scopes

Requires the following OAuth scope:

  • https://www.googleapis.com/auth/cloud-platform
IAM Permissions

Requires the following IAM permission on the name resource:

  • apim.observationSources.delete

For more information, see the IAM documentation.

DisableObservationJob

rpc DisableObservationJob(DisableObservationJobRequest) returns (Operation)

Disables the given ObservationJob.

Authorization scopes

Requires the following OAuth scope:

  • https://www.googleapis.com/auth/cloud-platform
IAM Permissions

Requires the following IAM permission on the name resource:

  • apim.observationJobs.disable

For more information, see the IAM documentation.

EnableObservationJob

rpc EnableObservationJob(EnableObservationJobRequest) returns (Operation)

Enables the given ObservationJob.

Authorization scopes

Requires the following OAuth scope:

  • https://www.googleapis.com/auth/cloud-platform
IAM Permissions

Requires the following IAM permission on the name resource:

  • apim.observationJobs.enable

For more information, see the IAM documentation.

GetApiObservation

rpc GetApiObservation(GetApiObservationRequest) returns (ApiObservation)

GetApiObservation retrieves a single ApiObservation by name.

Authorization scopes

Requires the following OAuth scope:

  • https://www.googleapis.com/auth/cloud-platform
IAM Permissions

Requires the following IAM permission on the name resource:

  • apim.apiObservations.get

For more information, see the IAM documentation.

GetApiOperation

rpc GetApiOperation(GetApiOperationRequest) returns (ApiOperation)

GetApiOperation retrieves a single ApiOperation by name.

Authorization scopes

Requires the following OAuth scope:

  • https://www.googleapis.com/auth/cloud-platform
IAM Permissions

Requires the following IAM permission on the name resource:

  • apim.apiOperations.get

For more information, see the IAM documentation.

GetObservationJob

rpc GetObservationJob(GetObservationJobRequest) returns (ObservationJob)

GetObservationJob retrieves a single ObservationJob by name.

Authorization scopes

Requires the following OAuth scope:

  • https://www.googleapis.com/auth/cloud-platform
IAM Permissions

Requires the following IAM permission on the name resource:

  • apim.observationJobs.get

For more information, see the IAM documentation.

GetObservationSource

rpc GetObservationSource(GetObservationSourceRequest) returns (ObservationSource)

GetObservationSource retrieves a single ObservationSource by name.

Authorization scopes

Requires the following OAuth scope:

  • https://www.googleapis.com/auth/cloud-platform
IAM Permissions

Requires the following IAM permission on the name resource:

  • apim.observationSources.get

For more information, see the IAM documentation.

ListApiObservations

rpc ListApiObservations(ListApiObservationsRequest) returns (ListApiObservationsResponse)

ListApiObservations gets all ApiObservations for a given project and location and ObservationJob

Authorization scopes

Requires the following OAuth scope:

  • https://www.googleapis.com/auth/cloud-platform
IAM Permissions

Requires the following IAM permission on the parent resource:

  • apim.apiObservations.list

For more information, see the IAM documentation.

ListApiOperations

rpc ListApiOperations(ListApiOperationsRequest) returns (ListApiOperationsResponse)

ListApiOperations gets all ApiOperations for a given project and location and ObservationJob and ApiObservation

Authorization scopes

Requires the following OAuth scope:

  • https://www.googleapis.com/auth/cloud-platform
IAM Permissions

Requires the following IAM permission on the parent resource:

  • apim.apiOperations.list

For more information, see the IAM documentation.

ListObservationJobs

rpc ListObservationJobs(ListObservationJobsRequest) returns (ListObservationJobsResponse)

ListObservationJobs gets all ObservationJobs for a given project and location

Authorization scopes

Requires the following OAuth scope:

  • https://www.googleapis.com/auth/cloud-platform
IAM Permissions

Requires the following IAM permission on the parent resource:

  • apim.observationJobs.list

For more information, see the IAM documentation.

ListObservationSources

rpc ListObservationSources(ListObservationSourcesRequest) returns (ListObservationSourcesResponse)

ListObservationSources gets all ObservationSources for a given project and location

Authorization scopes

Requires the following OAuth scope:

  • https://www.googleapis.com/auth/cloud-platform
IAM Permissions

Requires the following IAM permission on the parent resource:

  • apim.observationSources.list

For more information, see the IAM documentation.

ApiDiscoveryOperationMetadata

Represents the metadata of the long-running operation.

Fields
create_time

Timestamp

Output only. The time the operation was created.

end_time

Timestamp

Output only. The time the operation finished running.

target

string

Output only. Server-defined resource path for the target of the operation.

verb

string

Output only. Name of the verb executed by the operation.

status_message

string

Output only. Human-readable status of the operation, if any.

requested_cancellation

bool

Output only. Identifies whether the user has requested cancellation of the operation. Operations that have been cancelled successfully have [Operation.error][] value with a google.rpc.Status.code of 1, corresponding to Code.CANCELLED.

api_version

string

Output only. API version used to start the operation.

ApiObservation

Message describing ApiObservation object

Fields
name

string

Identifier. Name of resource

style

Style

Style of ApiObservation

server_ips[]

string

The IP address (IPv4 or IPv6) of the origin server that the request was sent to. This field can include port information. Examples: "192.168.1.1", "10.0.0.1:80", "FE80::0202:B3FF:FE1E:8329".

hostname

string

The hostname of requests processed for this Observation.

source_locations[]

string

Location of the Observation Source, for example "us-central1" or "europe-west1."

tags[]

string

User-defined tags to organize and sort

api_operation_count

int64

The number of observed API Operations.

create_time

Timestamp

Create time stamp

update_time

Timestamp

Update time stamp

last_event_detected_time

Timestamp

Last event detected time stamp

Style

ApiObservation protocol style For MVP, only support REST and unknown protocol

Enums
STYLE_UNSPECIFIED Unknown style
REST Style is Rest API
GRPC Style is Grpc API
GRAPHQL Style is GraphQL API

ApiOperation

Message describing ApiOperation object

Fields
name

string

Identifier. Name of resource

first_seen_time

Timestamp

First seen time stamp

last_seen_time

Timestamp

Last seen time stamp

count

int64

The number of occurrences of this API Operation.

Union field operation. ApiOperation protocol style operation can be only one of the following:
http_operation

HttpOperation

An HTTP Operation.

CreateObservationJobRequest

Message for creating an ObservationJob

Fields
parent

string

Required. The parent resource where this ObservationJob will be created. Format: projects/{project}/locations/{location}

observation_job_id

string

Required. The ID to use for the Observation Job. This value should be 4-63 characters, and valid characters are /[a-z][0-9]-/.

observation_job

ObservationJob

Required. The ObservationJob to create.

request_id

string

Optional. An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. The server will guarantee that for at least 60 minutes since the first request.

For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.

The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).

CreateObservationSourceRequest

Message for creating an ObservationSource

Fields
parent

string

Required. Value for parent.

observation_source_id

string

Required. The ID to use for the Observation Source. This value should be 4-63 characters, and valid characters are /[a-z][0-9]-/.

observation_source

ObservationSource

Required. The ObservationSource to create.

request_id

string

Optional. An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. The server will guarantee that for at least 60 minutes since the first request.

For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.

The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).

DataType

Type of data

Enums
DATA_TYPE_UNSPECIFIED Unspecified data type
BOOL Boolean data type
INTEGER Integer data type
FLOAT Float data type
STRING String data type
UUID UUID data type

DeleteObservationJobRequest

Message for deleting an ObservationJob

Fields
name

string

Required. Name of the resource Format: projects/{project}/locations/{location}/observationJobs/{observation_job}

DeleteObservationSourceRequest

Message for deleting an ObservationSource

Fields
name

string

Required. Name of the resource Format: projects/{project}/locations/{location}/observationSources/{source}

DisableObservationJobRequest

Message for disabling an ObservationJob

Fields
name

string

Required. The name of the ObservationJob to disable. Format: projects/{project}/locations/{location}/observationJobs/{job}

EnableObservationJobRequest

Message for enabling an ObservationJob

Fields
name

string

Required. The name of the ObservationJob to enable. Format: projects/{project}/locations/{location}/observationJobs/{job}

GclbObservationSource

The GCLB observation source.

Fields
psc_network_configs[]

PscNetworkConfig

Required. The VPC networks where traffic will be observed. All load balancers within this network will be observed. Currently, this is limited to only one network.

PscNetworkConfig

Network information for setting up a PSC connection.

Fields
network

string

Required. The VPC network. Format: projects/{project_id}/global/networks/{network}

subnetwork

string

Required. The subnetwork in the source region that will be used to connect to the Cloud Load Balancers via PSC NEGs. Must belong to network. Format: projects/{project_id}/regions/{region}/subnetworks/{subnet}

GetApiObservationRequest

Message for getting an ApiObservation

Fields
name

string

Required. The name of the ApiObservation to retrieve. Format: projects/{project}/locations/{location}/observationJobs/{observation_job}/apiObservations/{api_observation}

GetApiOperationRequest

Message for getting an ApiOperation

Fields
name

string

Required. The name of the ApiOperation to retrieve. Format: projects/{project}/locations/{location}/observationJobs/{observation_job}/apiObservations/{api_observation}/apiOperation/{api_operation}

GetObservationJobRequest

Message for getting an ObservationJob

Fields
name

string

Required. The name of the ObservationJob to retrieve. Format: projects/{project}/locations/{location}/observationJobs/{job}

GetObservationSourceRequest

Message for getting an ObservationSource

Fields
name

string

Required. The name of the ObservationSource to retrieve. Format: projects/{project}/locations/{location}/observationSources/{source}

HttpOperation

An HTTP-based API Operation, sometimes called a "REST" Operation.

Fields
path

string

Path of the HTTP request.

path_params[]

PathParam

Path params of HttpOperation

query_params

map<string, QueryParam>

Query params of HttpOperation

method

HttpMethod

HTTP Method.

request

HttpRequest

Request metadata.

response

HttpResponse

Response metadata.

An aggregation of HTTP header occurrences.

Fields
name

string

Header name.

count

int64

The number of occurrences of this Header across transactions.

data_type

DataType

Data type of header

HttpMethod

HTTP method

Enums
HTTP_METHOD_UNSPECIFIED Unspecified HTTP method
GET GET HTTP method
HEAD HEAD HTTP method
POST POST HTTP method
PUT PUT HTTP method
PATCH PATCH HTTP method
DELETE DELETE HTTP method
TRACE TRACE HTTP method
OPTIONS OPTIONS HTTP method
CONNECT CONNECT HTTP method

HttpRequest

An aggregation of HTTP requests.

Fields
headers

map<string, Header>

Unordered map from header name to header metadata

HttpResponse

An aggregation of HTTP responses.

Fields
headers

map<string, Header>

Unordered map from header name to header metadata

response_codes

map<int32, int64>

Map of status code to observed count

PathParam

HTTP Path parameter.

Fields
position

int32

Segment location in the path, 1-indexed

data_type

DataType

Data type of path param

QueryParam

An aggregation of HTTP query parameter occurrences.

Fields
name

string

Name of query param

count

int64

The number of occurrences of this query parameter across transactions.

data_type

DataType

Data type of path param

ListApiObservationsRequest

Message for requesting list of ApiObservations

Fields
parent

string

Required. The parent, which owns this collection of ApiObservations. Format: projects/{project}/locations/{location}/observationJobs/{observation_job}

page_size

int32

Optional. The maximum number of ApiObservations to return. The service may return fewer than this value. If unspecified, at most 10 ApiObservations will be returned. The maximum value is 1000; values above 1000 will be coerced to 1000.

page_token

string

Optional. A page token, received from a previous ListApiObservations call. Provide this to retrieve the subsequent page.

When paginating, all other parameters provided to ListApiObservations must match the call that provided the page token.

ListApiObservationsResponse

Message for response to listing ApiObservations

Fields
api_observations[]

ApiObservation

The ApiObservation from the specified project and location and ObservationJobs.

next_page_token

string

A token, which can be sent as page_token to retrieve the next page. If this field is omitted, there are no subsequent pages.

ListApiOperationsRequest

Message for requesting list of ApiOperations

Fields
parent

string

Required. The parent, which owns this collection of ApiOperations. Format: projects/{project}/locations/{location}/observationJobs/{observation_job}/apiObservations/{api_observation}

page_size

int32

Optional. The maximum number of ApiOperations to return. The service may return fewer than this value. If unspecified, at most 10 ApiOperations will be returned. The maximum value is 1000; values above 1000 will be coerced to 1000.

page_token

string

Optional. A page token, received from a previous ListApiApiOperations call. Provide this to retrieve the subsequent page.

When paginating, all other parameters provided to ListApiApiOperations must match the call that provided the page token.

ListApiOperationsResponse

Message for response to listing ApiOperations

Fields
api_operations[]

ApiOperation

The ApiOperations from the specified project and location and ObservationJob and ApiObservation.

next_page_token

string

A token, which can be sent as page_token to retrieve the next page. If this field is omitted, there are no subsequent pages.

ListObservationJobsRequest

Message for requesting list of ObservationJobs

Fields
parent

string

Required. The parent, which owns this collection of ObservationJobs. Format: projects/{project}/locations/{location}

page_size

int32

Optional. The maximum number of ObservationJobs to return. The service may return fewer than this value. If unspecified, at most 10 ObservationJobs will be returned. The maximum value is 1000; values above 1000 will be coerced to 1000.

page_token

string

Optional. A page token, received from a previous ListObservationJobs call. Provide this to retrieve the subsequent page.

When paginating, all other parameters provided to ListObservationJobs must match the call that provided the page token.

ListObservationJobsResponse

Message for response to listing ObservationJobs

Fields
observation_jobs[]

ObservationJob

The ObservationJob from the specified project and location.

next_page_token

string

A token, which can be sent as page_token to retrieve the next page. If this field is omitted, there are no subsequent pages.

unreachable[]

string

Locations that could not be reached.

ListObservationSourcesRequest

Message for requesting list of ObservationSources

Fields
parent

string

Required. The parent, which owns this collection of ObservationSources. Format: projects/{project}/locations/{location}

page_size

int32

Optional. The maximum number of ObservationSources to return. The service may return fewer than this value. If unspecified, at most 10 ObservationSources will be returned. The maximum value is 1000; values above 1000 will be coerced to 1000.

page_token

string

Optional. A page token, received from a previous ListObservationSources call. Provide this to retrieve the subsequent page.

When paginating, all other parameters provided to ListObservationSources must match the call that provided the page token.

ListObservationSourcesResponse

Message for response to listing ObservationSources

Fields
observation_sources[]

ObservationSource

The ObservationSource from the specified project and location.

next_page_token

string

A token, which can be sent as page_token to retrieve the next page. If this field is omitted, there are no subsequent pages.

unreachable[]

string

Locations that could not be reached.

ObservationJob

Message describing ObservationJob object

Fields
name

string

Identifier. name of resource Format: projects/{project}/locations/{location}/observationJobs/{observation_job}

state

State

Output only. The observation job state

sources[]

string

Optional. These should be of the same kind of source.

create_time

Timestamp

Output only. [Output only] Create time stamp

update_time

Timestamp

Output only. [Output only] Update time stamp

State

Observation job state

Enums
STATE_UNSPECIFIED Unspecified state
CREATING Job is in the creating state
ENABLING Job is in the enabling state
ENABLED Job is enabled
DISABLING Job is in the disabling state
DISABLED Job is disabled
DELETING Job is being deleted
ERROR Job is in an error state

ObservationSource

Observation source configuration types

Fields
name

string

Identifier. name of resource For MVP, each region can only have 1 source.

state

State

Output only. The observation source state

create_time

Timestamp

Output only. [Output only] Create time stamp

update_time

Timestamp

Output only. [Output only] Update time stamp

Union field source. Type of the source source can be only one of the following:
gclb_observation_source

GclbObservationSource

The GCLB observation source

State

Observation source state

Enums
STATE_UNSPECIFIED Unspecified state
CREATING Source is in the creating state
CREATED Source has been created and is ready to use
DELETING Source is being deleted
ERROR Source is in an error state

OperationMetadata

Represents the metadata of the long-running operation.

Fields
create_time

Timestamp

Output only. The time the operation was created.

end_time

Timestamp

Output only. The time the operation finished running.

target

string

Output only. Server-defined resource path for the target of the operation.

verb

string

Output only. Name of the verb executed by the operation.

status_message

string

Output only. Human-readable status of the operation, if any.

requested_cancellation

bool

Output only. Identifies whether the user has requested cancellation of the operation. Operations that have been cancelled successfully have [Operation.error][] value with a google.rpc.Status.code of 1, corresponding to Code.CANCELLED.

api_version

string

Output only. API version used to start the operation.