Package monitoring is an auto-generated package for the Cloud Monitoring API.
Manages your Cloud Monitoring data and configurations. Most projects must be associated with a Workspace, with a few exceptions as noted on the individual method pages. The table entries below are presented in alphabetical order, not in order of common use. For explanations of the concepts found in the table entries, read the Cloud Monitoring documentation (at https://cloud.google.com/monitoring/docs ).
Example usage
To get started with this package, create a client.
ctx := context . Background () c , err := monitoring . NewAlertPolicyClient ( ctx ) if err != nil { // TODO: Handle error. } defer c . Close ()
The client will use your default application credentials. Clients should be reused instead of created as needed. The methods of Client are safe for concurrent use by multiple goroutines. The returned client must be Closed when it is done being used.
Using the Client
The following is an example of making an API call with the newly created client.
ctx := context . Background () c , err := monitoring . NewAlertPolicyClient ( ctx ) if err != nil { // TODO: Handle error. } defer c . Close () req := & monitoringpb . ListAlertPoliciesRequest { // TODO: Fill request struct fields. // See https://pkg.go.dev/google.golang.org/genproto/googleapis/monitoring/v3#ListAlertPoliciesRequest. } it := c . ListAlertPolicies ( ctx , req ) for { resp , err := it . Next () if err == iterator . Done { break } if err != nil { // TODO: Handle error. } // TODO: Use resp. _ = resp }
Use of Context
The ctx passed to NewClient is used for authentication requests and for creating the underlying connection, but is not used for subsequent calls. Individual methods on the client use the ctx given to them.
To close the open connection, use the Close() method.
For information about setting deadlines, reusing contexts, and more please visit https://pkg.go.dev/cloud.google.com/go .
Functions
func DefaultAuthScopes
func
DefaultAuthScopes
()
[]
string
DefaultAuthScopes reports the default set of authentication scopes to use with this package.
AlertPolicyCallOptions
type
AlertPolicyCallOptions
struct
{
ListAlertPolicies
[]
gax
.
CallOption
GetAlertPolicy
[]
gax
.
CallOption
CreateAlertPolicy
[]
gax
.
CallOption
DeleteAlertPolicy
[]
gax
.
CallOption
UpdateAlertPolicy
[]
gax
.
CallOption
}
AlertPolicyCallOptions contains the retry settings for each method of AlertPolicyClient.
AlertPolicyClient
type
AlertPolicyClient
struct
{
// The call options for this service.
CallOptions
*
AlertPolicyCallOptions
// contains filtered or unexported fields
}
AlertPolicyClient is a client for interacting with Cloud Monitoring API. Methods, except Close, may be called concurrently. However, fields must not be modified concurrently with method calls.
The AlertPolicyService API is used to manage (list, create, delete, edit) alert policies in Stackdriver Monitoring. An alerting policy is a description of the conditions under which some aspect of your system is considered to be “unhealthy” and the ways to notify people or services about this state. In addition to using this API, alert policies can also be managed through Stackdriver Monitoring (at https://cloud.google.com/monitoring/docs/ ), which can be reached by clicking the “Monitoring” tab in Cloud Console (at https://console.cloud.google.com/ ).
func NewAlertPolicyClient
func
NewAlertPolicyClient
(
ctx
context
.
Context
,
opts
...
option
.
ClientOption
)
(
*
AlertPolicyClient
,
error
)
NewAlertPolicyClient creates a new alert policy service client based on gRPC. The returned client must be Closed when it is done being used to clean up its underlying connections.
The AlertPolicyService API is used to manage (list, create, delete, edit) alert policies in Stackdriver Monitoring. An alerting policy is a description of the conditions under which some aspect of your system is considered to be “unhealthy” and the ways to notify people or services about this state. In addition to using this API, alert policies can also be managed through Stackdriver Monitoring (at https://cloud.google.com/monitoring/docs/ ), which can be reached by clicking the “Monitoring” tab in Cloud Console (at https://console.cloud.google.com/ ).
Example
package
main
import
(
"context"
monitoring
"cloud.google.com/go/monitoring/apiv3/v2"
)
func
main
()
{
ctx
:=
context
.
Background
()
c
,
err
:=
monitoring
.
NewAlertPolicyClient
(
ctx
)
if
err
!=
nil
{
// TODO: Handle error.
}
defer
c
.
Close
()
// TODO: Use client.
_
=
c
}
func (*AlertPolicyClient) Close
func
(
c
*
AlertPolicyClient
)
Close
()
error
Close closes the connection to the API service. The user should invoke this when the client is no longer required.
func (*AlertPolicyClient) Connection
func
(
c
*
AlertPolicyClient
)
Connection
()
*
grpc
.
ClientConn
Connection returns a connection to the API service.
Deprecated.
func (*AlertPolicyClient) CreateAlertPolicy
func
(
c
*
AlertPolicyClient
)
CreateAlertPolicy
(
ctx
context
.
Context
,
req
*
monitoringpb
.
CreateAlertPolicyRequest
,
opts
...
gax
.
CallOption
)
(
*
monitoringpb
.
AlertPolicy
,
error
)
CreateAlertPolicy creates a new alerting policy.
Example
package
main
import
(
"context"
monitoring
"cloud.google.com/go/monitoring/apiv3/v2"
monitoringpb
"google.golang.org/genproto/googleapis/monitoring/v3"
)
func
main
()
{
ctx
:=
context
.
Background
()
c
,
err
:=
monitoring
.
NewAlertPolicyClient
(
ctx
)
if
err
!=
nil
{
// TODO: Handle error.
}
defer
c
.
Close
()
req
:=
& monitoringpb
.
CreateAlertPolicyRequest
{
// TODO: Fill request struct fields.
// See https://pkg.go.dev/google.golang.org/genproto/googleapis/monitoring/v3#CreateAlertPolicyRequest.
}
resp
,
err
:=
c
.
CreateAlertPolicy
(
ctx
,
req
)
if
err
!=
nil
{
// TODO: Handle error.
}
// TODO: Use resp.
_
=
resp
}
func (*AlertPolicyClient) DeleteAlertPolicy
func
(
c
*
AlertPolicyClient
)
DeleteAlertPolicy
(
ctx
context
.
Context
,
req
*
monitoringpb
.
DeleteAlertPolicyRequest
,
opts
...
gax
.
CallOption
)
error
DeleteAlertPolicy deletes an alerting policy.
Example
package
main
import
(
"context"
monitoring
"cloud.google.com/go/monitoring/apiv3/v2"
monitoringpb
"google.golang.org/genproto/googleapis/monitoring/v3"
)
func
main
()
{
ctx
:=
context
.
Background
()
c
,
err
:=
monitoring
.
NewAlertPolicyClient
(
ctx
)
if
err
!=
nil
{
// TODO: Handle error.
}
defer
c
.
Close
()
req
:=
& monitoringpb
.
DeleteAlertPolicyRequest
{
// TODO: Fill request struct fields.
// See https://pkg.go.dev/google.golang.org/genproto/googleapis/monitoring/v3#DeleteAlertPolicyRequest.
}
err
=
c
.
DeleteAlertPolicy
(
ctx
,
req
)
if
err
!=
nil
{
// TODO: Handle error.
}
}
func (*AlertPolicyClient) GetAlertPolicy
func
(
c
*
AlertPolicyClient
)
GetAlertPolicy
(
ctx
context
.
Context
,
req
*
monitoringpb
.
GetAlertPolicyRequest
,
opts
...
gax
.
CallOption
)
(
*
monitoringpb
.
AlertPolicy
,
error
)
GetAlertPolicy gets a single alerting policy.
Example
package
main
import
(
"context"
monitoring
"cloud.google.com/go/monitoring/apiv3/v2"
monitoringpb
"google.golang.org/genproto/googleapis/monitoring/v3"
)
func
main
()
{
ctx
:=
context
.
Background
()
c
,
err
:=
monitoring
.
NewAlertPolicyClient
(
ctx
)
if
err
!=
nil
{
// TODO: Handle error.
}
defer
c
.
Close
()
req
:=
& monitoringpb
.
GetAlertPolicyRequest
{
// TODO: Fill request struct fields.
// See https://pkg.go.dev/google.golang.org/genproto/googleapis/monitoring/v3#GetAlertPolicyRequest.
}
resp
,
err
:=
c
.
GetAlertPolicy
(
ctx
,
req
)
if
err
!=
nil
{
// TODO: Handle error.
}
// TODO: Use resp.
_
=
resp
}
func (*AlertPolicyClient) ListAlertPolicies
func
(
c
*
AlertPolicyClient
)
ListAlertPolicies
(
ctx
context
.
Context
,
req
*
monitoringpb
.
ListAlertPoliciesRequest
,
opts
...
gax
.
CallOption
)
*
AlertPolicyIterator
ListAlertPolicies lists the existing alerting policies for the workspace.
Example
package
main
import
(
"context"
monitoring
"cloud.google.com/go/monitoring/apiv3/v2"
"google.golang.org/api/iterator"
monitoringpb
"google.golang.org/genproto/googleapis/monitoring/v3"
)
func
main
()
{
ctx
:=
context
.
Background
()
c
,
err
:=
monitoring
.
NewAlertPolicyClient
(
ctx
)
if
err
!=
nil
{
// TODO: Handle error.
}
defer
c
.
Close
()
req
:=
& monitoringpb
.
ListAlertPoliciesRequest
{
// TODO: Fill request struct fields.
// See https://pkg.go.dev/google.golang.org/genproto/googleapis/monitoring/v3#ListAlertPoliciesRequest.
}
it
:=
c
.
ListAlertPolicies
(
ctx
,
req
)
for
{
resp
,
err
:=
it
.
Next
()
if
err
==
iterator
.
Done
{
break
}
if
err
!=
nil
{
// TODO: Handle error.
}
// TODO: Use resp.
_
=
resp
}
}
func (*AlertPolicyClient) UpdateAlertPolicy
func
(
c
*
AlertPolicyClient
)
UpdateAlertPolicy
(
ctx
context
.
Context
,
req
*
monitoringpb
.
UpdateAlertPolicyRequest
,
opts
...
gax
.
CallOption
)
(
*
monitoringpb
.
AlertPolicy
,
error
)
UpdateAlertPolicy updates an alerting policy. You can either replace the entire policy with a new one or replace only certain fields in the current alerting policy by specifying the fields to be updated via updateMask. Returns the updated alerting policy.
Example
package
main
import
(
"context"
monitoring
"cloud.google.com/go/monitoring/apiv3/v2"
monitoringpb
"google.golang.org/genproto/googleapis/monitoring/v3"
)
func
main
()
{
ctx
:=
context
.
Background
()
c
,
err
:=
monitoring
.
NewAlertPolicyClient
(
ctx
)
if
err
!=
nil
{
// TODO: Handle error.
}
defer
c
.
Close
()
req
:=
& monitoringpb
.
UpdateAlertPolicyRequest
{
// TODO: Fill request struct fields.
// See https://pkg.go.dev/google.golang.org/genproto/googleapis/monitoring/v3#UpdateAlertPolicyRequest.
}
resp
,
err
:=
c
.
UpdateAlertPolicy
(
ctx
,
req
)
if
err
!=
nil
{
// TODO: Handle error.
}
// TODO: Use resp.
_
=
resp
}
AlertPolicyIterator
type
AlertPolicyIterator
struct
{
// Response is the raw response for the current page.
// It must be cast to the RPC response type.
// Calling Next() or InternalFetch() updates this value.
Response
interface
{}
// InternalFetch is for use by the Google Cloud Libraries only.
// It is not part of the stable interface of this package.
//
// InternalFetch returns results from a single call to the underlying RPC.
// The number of results is no greater than pageSize.
// If there are no more results, nextPageToken is empty and err is nil.
InternalFetch
func
(
pageSize
int
,
pageToken
string
)
(
results
[]
*
monitoringpb
.
AlertPolicy
,
nextPageToken
string
,
err
error
)
// contains filtered or unexported fields
}
AlertPolicyIterator manages a stream of *monitoringpb.AlertPolicy.
func (*AlertPolicyIterator) Next
func
(
it
*
AlertPolicyIterator
)
Next
()
(
*
monitoringpb
.
AlertPolicy
,
error
)
Next returns the next result. Its second return value is iterator.Done if there are no more results. Once Next returns Done, all subsequent calls will return Done.
func (*AlertPolicyIterator) PageInfo
func
(
it
*
AlertPolicyIterator
)
PageInfo
()
*
iterator
.
PageInfo
PageInfo supports pagination. See the google.golang.org/api/iterator package for details.
GroupCallOptions
type
GroupCallOptions
struct
{
ListGroups
[]
gax
.
CallOption
GetGroup
[]
gax
.
CallOption
CreateGroup
[]
gax
.
CallOption
UpdateGroup
[]
gax
.
CallOption
DeleteGroup
[]
gax
.
CallOption
ListGroupMembers
[]
gax
.
CallOption
}
GroupCallOptions contains the retry settings for each method of GroupClient.
GroupClient
type
GroupClient
struct
{
// The call options for this service.
CallOptions
*
GroupCallOptions
// contains filtered or unexported fields
}
GroupClient is a client for interacting with Cloud Monitoring API. Methods, except Close, may be called concurrently. However, fields must not be modified concurrently with method calls.
The Group API lets you inspect and manage your groups (at #google.monitoring.v3.Group).
A group is a named filter that is used to identify a collection of monitored resources. Groups are typically used to mirror the physical and/or logical topology of the environment. Because group membership is computed dynamically, monitored resources that are started in the future are automatically placed in matching groups. By using a group to name monitored resources in, for example, an alert policy, the target of that alert policy is updated automatically as monitored resources are added and removed from the infrastructure.
func NewGroupClient
func
NewGroupClient
(
ctx
context
.
Context
,
opts
...
option
.
ClientOption
)
(
*
GroupClient
,
error
)
NewGroupClient creates a new group service client based on gRPC. The returned client must be Closed when it is done being used to clean up its underlying connections.
The Group API lets you inspect and manage your groups (at #google.monitoring.v3.Group).
A group is a named filter that is used to identify a collection of monitored resources. Groups are typically used to mirror the physical and/or logical topology of the environment. Because group membership is computed dynamically, monitored resources that are started in the future are automatically placed in matching groups. By using a group to name monitored resources in, for example, an alert policy, the target of that alert policy is updated automatically as monitored resources are added and removed from the infrastructure.
Example
package
main
import
(
"context"
monitoring
"cloud.google.com/go/monitoring/apiv3/v2"
)
func
main
()
{
ctx
:=
context
.
Background
()
c
,
err
:=
monitoring
.
NewGroupClient
(
ctx
)
if
err
!=
nil
{
// TODO: Handle error.
}
defer
c
.
Close
()
// TODO: Use client.
_
=
c
}
func (*GroupClient) Close
func
(
c
*
GroupClient
)
Close
()
error
Close closes the connection to the API service. The user should invoke this when the client is no longer required.
func (*GroupClient) Connection
func
(
c
*
GroupClient
)
Connection
()
*
grpc
.
ClientConn
Connection returns a connection to the API service.
Deprecated.
func (*GroupClient) CreateGroup
func
(
c
*
GroupClient
)
CreateGroup
(
ctx
context
.
Context
,
req
*
monitoringpb
.
CreateGroupRequest
,
opts
...
gax
.
CallOption
)
(
*
monitoringpb
.
Group
,
error
)
CreateGroup creates a new group.
Example
package
main
import
(
"context"
monitoring
"cloud.google.com/go/monitoring/apiv3/v2"
monitoringpb
"google.golang.org/genproto/googleapis/monitoring/v3"
)
func
main
()
{
ctx
:=
context
.
Background
()
c
,
err
:=
monitoring
.
NewGroupClient
(
ctx
)
if
err
!=
nil
{
// TODO: Handle error.
}
defer
c
.
Close
()
req
:=
& monitoringpb
.
CreateGroupRequest
{
// TODO: Fill request struct fields.
// See https://pkg.go.dev/google.golang.org/genproto/googleapis/monitoring/v3#CreateGroupRequest.
}
resp
,
err
:=
c
.
CreateGroup
(
ctx
,
req
)
if
err
!=
nil
{
// TODO: Handle error.
}
// TODO: Use resp.
_
=
resp
}
func (*GroupClient) DeleteGroup
func
(
c
*
GroupClient
)
DeleteGroup
(
ctx
context
.
Context
,
req
*
monitoringpb
.
DeleteGroupRequest
,
opts
...
gax
.
CallOption
)
error
DeleteGroup deletes an existing group.
Example
package
main
import
(
"context"
monitoring
"cloud.google.com/go/monitoring/apiv3/v2"
monitoringpb
"google.golang.org/genproto/googleapis/monitoring/v3"
)
func
main
()
{
ctx
:=
context
.
Background
()
c
,
err
:=
monitoring
.
NewGroupClient
(
ctx
)
if
err
!=
nil
{
// TODO: Handle error.
}
defer
c
.
Close
()
req
:=
& monitoringpb
.
DeleteGroupRequest
{
// TODO: Fill request struct fields.
// See https://pkg.go.dev/google.golang.org/genproto/googleapis/monitoring/v3#DeleteGroupRequest.
}
err
=
c
.
DeleteGroup
(
ctx
,
req
)
if
err
!=
nil
{
// TODO: Handle error.
}
}
func (*GroupClient) GetGroup
func
(
c
*
GroupClient
)
GetGroup
(
ctx
context
.
Context
,
req
*
monitoringpb
.
GetGroupRequest
,
opts
...
gax
.
CallOption
)
(
*
monitoringpb
.
Group
,
error
)
GetGroup gets a single group.
Example
package
main
import
(
"context"
monitoring
"cloud.google.com/go/monitoring/apiv3/v2"
monitoringpb
"google.golang.org/genproto/googleapis/monitoring/v3"
)
func
main
()
{
ctx
:=
context
.
Background
()
c
,
err
:=
monitoring
.
NewGroupClient
(
ctx
)
if
err
!=
nil
{
// TODO: Handle error.
}
defer
c
.
Close
()
req
:=
& monitoringpb
.
GetGroupRequest
{
// TODO: Fill request struct fields.
// See https://pkg.go.dev/google.golang.org/genproto/googleapis/monitoring/v3#GetGroupRequest.
}
resp
,
err
:=
c
.
GetGroup
(
ctx
,
req
)
if
err
!=
nil
{
// TODO: Handle error.
}
// TODO: Use resp.
_
=
resp
}
func (*GroupClient) ListGroupMembers
func
(
c
*
GroupClient
)
ListGroupMembers
(
ctx
context
.
Context
,
req
*
monitoringpb
.
ListGroupMembersRequest
,
opts
...
gax
.
CallOption
)
*
MonitoredResourceIterator
ListGroupMembers lists the monitored resources that are members of a group.
Example
package
main
import
(
"context"
monitoring
"cloud.google.com/go/monitoring/apiv3/v2"
"google.golang.org/api/iterator"
monitoringpb
"google.golang.org/genproto/googleapis/monitoring/v3"
)
func
main
()
{
ctx
:=
context
.
Background
()
c
,
err
:=
monitoring
.
NewGroupClient
(
ctx
)
if
err
!=
nil
{
// TODO: Handle error.
}
defer
c
.
Close
()
req
:=
& monitoringpb
.
ListGroupMembersRequest
{
// TODO: Fill request struct fields.
// See https://pkg.go.dev/google.golang.org/genproto/googleapis/monitoring/v3#ListGroupMembersRequest.
}
it
:=
c
.
ListGroupMembers
(
ctx
,
req
)
for
{
resp
,
err
:=
it
.
Next
()
if
err
==
iterator
.
Done
{
break
}
if
err
!=
nil
{
// TODO: Handle error.
}
// TODO: Use resp.
_
=
resp
}
}
func (*GroupClient) ListGroups
func
(
c
*
GroupClient
)
ListGroups
(
ctx
context
.
Context
,
req
*
monitoringpb
.
ListGroupsRequest
,
opts
...
gax
.
CallOption
)
*
GroupIterator
ListGroups lists the existing groups.
Example
package
main
import
(
"context"
monitoring
"cloud.google.com/go/monitoring/apiv3/v2"
"google.golang.org/api/iterator"
monitoringpb
"google.golang.org/genproto/googleapis/monitoring/v3"
)
func
main
()
{
ctx
:=
context
.
Background
()
c
,
err
:=
monitoring
.
NewGroupClient
(
ctx
)
if
err
!=
nil
{
// TODO: Handle error.
}
defer
c
.
Close
()
req
:=
& monitoringpb
.
ListGroupsRequest
{
// TODO: Fill request struct fields.
// See https://pkg.go.dev/google.golang.org/genproto/googleapis/monitoring/v3#ListGroupsRequest.
}
it
:=
c
.
ListGroups
(
ctx
,
req
)
for
{
resp
,
err
:=
it
.
Next
()
if
err
==
iterator
.
Done
{
break
}
if
err
!=
nil
{
// TODO: Handle error.
}
// TODO: Use resp.
_
=
resp
}
}
func (*GroupClient) UpdateGroup
func
(
c
*
GroupClient
)
UpdateGroup
(
ctx
context
.
Context
,
req
*
monitoringpb
.
UpdateGroupRequest
,
opts
...
gax
.
CallOption
)
(
*
monitoringpb
.
Group
,
error
)
UpdateGroup updates an existing group. You can change any group attributes except name.
Example
package
main
import
(
"context"
monitoring
"cloud.google.com/go/monitoring/apiv3/v2"
monitoringpb
"google.golang.org/genproto/googleapis/monitoring/v3"
)
func
main
()
{
ctx
:=
context
.
Background
()
c
,
err
:=
monitoring
.
NewGroupClient
(
ctx
)
if
err
!=
nil
{
// TODO: Handle error.
}
defer
c
.
Close
()
req
:=
& monitoringpb
.
UpdateGroupRequest
{
// TODO: Fill request struct fields.
// See https://pkg.go.dev/google.golang.org/genproto/googleapis/monitoring/v3#UpdateGroupRequest.
}
resp
,
err
:=
c
.
UpdateGroup
(
ctx
,
req
)
if
err
!=
nil
{
// TODO: Handle error.
}
// TODO: Use resp.
_
=
resp
}
GroupIterator
type
GroupIterator
struct
{
// Response is the raw response for the current page.
// It must be cast to the RPC response type.
// Calling Next() or InternalFetch() updates this value.
Response
interface
{}
// InternalFetch is for use by the Google Cloud Libraries only.
// It is not part of the stable interface of this package.
//
// InternalFetch returns results from a single call to the underlying RPC.
// The number of results is no greater than pageSize.
// If there are no more results, nextPageToken is empty and err is nil.
InternalFetch
func
(
pageSize
int
,
pageToken
string
)
(
results
[]
*
monitoringpb
.
Group
,
nextPageToken
string
,
err
error
)
// contains filtered or unexported fields
}
GroupIterator manages a stream of *monitoringpb.Group.
func (*GroupIterator) Next
func
(
it
*
GroupIterator
)
Next
()
(
*
monitoringpb
.
Group
,
error
)
Next returns the next result. Its second return value is iterator.Done if there are no more results. Once Next returns Done, all subsequent calls will return Done.
func (*GroupIterator) PageInfo
func
(
it
*
GroupIterator
)
PageInfo
()
*
iterator
.
PageInfo
PageInfo supports pagination. See the google.golang.org/api/iterator package for details.
MetricCallOptions
type
MetricCallOptions
struct
{
ListMonitoredResourceDescriptors
[]
gax
.
CallOption
GetMonitoredResourceDescriptor
[]
gax
.
CallOption
ListMetricDescriptors
[]
gax
.
CallOption
GetMetricDescriptor
[]
gax
.
CallOption
CreateMetricDescriptor
[]
gax
.
CallOption
DeleteMetricDescriptor
[]
gax
.
CallOption
ListTimeSeries
[]
gax
.
CallOption
CreateTimeSeries
[]
gax
.
CallOption
}
MetricCallOptions contains the retry settings for each method of MetricClient.
MetricClient
type
MetricClient
struct
{
// The call options for this service.
CallOptions
*
MetricCallOptions
// contains filtered or unexported fields
}
MetricClient is a client for interacting with Cloud Monitoring API. Methods, except Close, may be called concurrently. However, fields must not be modified concurrently with method calls.
Manages metric descriptors, monitored resource descriptors, and time series data.
func NewMetricClient
func
NewMetricClient
(
ctx
context
.
Context
,
opts
...
option
.
ClientOption
)
(
*
MetricClient
,
error
)
NewMetricClient creates a new metric service client based on gRPC. The returned client must be Closed when it is done being used to clean up its underlying connections.
Manages metric descriptors, monitored resource descriptors, and time series data.
Example
package
main
import
(
"context"
monitoring
"cloud.google.com/go/monitoring/apiv3/v2"
)
func
main
()
{
ctx
:=
context
.
Background
()
c
,
err
:=
monitoring
.
NewMetricClient
(
ctx
)
if
err
!=
nil
{
// TODO: Handle error.
}
defer
c
.
Close
()
// TODO: Use client.
_
=
c
}
func (*MetricClient) Close
func
(
c
*
MetricClient
)
Close
()
error
Close closes the connection to the API service. The user should invoke this when the client is no longer required.
func (*MetricClient) Connection
func
(
c
*
MetricClient
)
Connection
()
*
grpc
.
ClientConn
Connection returns a connection to the API service.
Deprecated.
func (*MetricClient) CreateMetricDescriptor
func
(
c
*
MetricClient
)
CreateMetricDescriptor
(
ctx
context
.
Context
,
req
*
monitoringpb
.
CreateMetricDescriptorRequest
,
opts
...
gax
.
CallOption
)
(
*
metricpb
.
MetricDescriptor
,
error
)
CreateMetricDescriptor creates a new metric descriptor. User-created metric descriptors define custom metrics (at https://cloud.google.com/monitoring/custom-metrics ).
Example
package
main
import
(
"context"
monitoring
"cloud.google.com/go/monitoring/apiv3/v2"
monitoringpb
"google.golang.org/genproto/googleapis/monitoring/v3"
)
func
main
()
{
ctx
:=
context
.
Background
()
c
,
err
:=
monitoring
.
NewMetricClient
(
ctx
)
if
err
!=
nil
{
// TODO: Handle error.
}
defer
c
.
Close
()
req
:=
& monitoringpb
.
CreateMetricDescriptorRequest
{
// TODO: Fill request struct fields.
// See https://pkg.go.dev/google.golang.org/genproto/googleapis/monitoring/v3#CreateMetricDescriptorRequest.
}
resp
,
err
:=
c
.
CreateMetricDescriptor
(
ctx
,
req
)
if
err
!=
nil
{
// TODO: Handle error.
}
// TODO: Use resp.
_
=
resp
}
func (*MetricClient) CreateTimeSeries
func
(
c
*
MetricClient
)
CreateTimeSeries
(
ctx
context
.
Context
,
req
*
monitoringpb
.
CreateTimeSeriesRequest
,
opts
...
gax
.
CallOption
)
error
CreateTimeSeries creates or adds data to one or more time series. The response is empty if all time series in the request were written. If any time series could not be written, a corresponding failure message is included in the error response.
Example
package
main
import
(
"context"
monitoring
"cloud.google.com/go/monitoring/apiv3/v2"
monitoringpb
"google.golang.org/genproto/googleapis/monitoring/v3"
)
func
main
()
{
ctx
:=
context
.
Background
()
c
,
err
:=
monitoring
.
NewMetricClient
(
ctx
)
if
err
!=
nil
{
// TODO: Handle error.
}
defer
c
.
Close
()
req
:=
& monitoringpb
.
CreateTimeSeriesRequest
{
// TODO: Fill request struct fields.
// See https://pkg.go.dev/google.golang.org/genproto/googleapis/monitoring/v3#CreateTimeSeriesRequest.
}
err
=
c
.
CreateTimeSeries
(
ctx
,
req
)
if
err
!=
nil
{
// TODO: Handle error.
}
}
func (*MetricClient) DeleteMetricDescriptor
func
(
c
*
MetricClient
)
DeleteMetricDescriptor
(
ctx
context
.
Context
,
req
*
monitoringpb
.
DeleteMetricDescriptorRequest
,
opts
...
gax
.
CallOption
)
error
DeleteMetricDescriptor deletes a metric descriptor. Only user-created custom metrics (at https://cloud.google.com/monitoring/custom-metrics ) can be deleted.
Example
package
main
import
(
"context"
monitoring
"cloud.google.com/go/monitoring/apiv3/v2"
monitoringpb
"google.golang.org/genproto/googleapis/monitoring/v3"
)
func
main
()
{
ctx
:=
context
.
Background
()
c
,
err
:=
monitoring
.
NewMetricClient
(
ctx
)
if
err
!=
nil
{
// TODO: Handle error.
}
defer
c
.
Close
()
req
:=
& monitoringpb
.
DeleteMetricDescriptorRequest
{
// TODO: Fill request struct fields.
// See https://pkg.go.dev/google.golang.org/genproto/googleapis/monitoring/v3#DeleteMetricDescriptorRequest.
}
err
=
c
.
DeleteMetricDescriptor
(
ctx
,
req
)
if
err
!=
nil
{
// TODO: Handle error.
}
}
func (*MetricClient) GetMetricDescriptor
func
(
c
*
MetricClient
)
GetMetricDescriptor
(
ctx
context
.
Context
,
req
*
monitoringpb
.
GetMetricDescriptorRequest
,
opts
...
gax
.
CallOption
)
(
*
metricpb
.
MetricDescriptor
,
error
)
GetMetricDescriptor gets a single metric descriptor. This method does not require a Workspace.
Example
package
main
import
(
"context"
monitoring
"cloud.google.com/go/monitoring/apiv3/v2"
monitoringpb
"google.golang.org/genproto/googleapis/monitoring/v3"
)
func
main
()
{
ctx
:=
context
.
Background
()
c
,
err
:=
monitoring
.
NewMetricClient
(
ctx
)
if
err
!=
nil
{
// TODO: Handle error.
}
defer
c
.
Close
()
req
:=
& monitoringpb
.
GetMetricDescriptorRequest
{
// TODO: Fill request struct fields.
// See https://pkg.go.dev/google.golang.org/genproto/googleapis/monitoring/v3#GetMetricDescriptorRequest.
}
resp
,
err
:=
c
.
GetMetricDescriptor
(
ctx
,
req
)
if
err
!=
nil
{
// TODO: Handle error.
}
// TODO: Use resp.
_
=
resp
}
func (*MetricClient) GetMonitoredResourceDescriptor
func
(
c
*
MetricClient
)
GetMonitoredResourceDescriptor
(
ctx
context
.
Context
,
req
*
monitoringpb
.
GetMonitoredResourceDescriptorRequest
,
opts
...
gax
.
CallOption
)
(
*
monitoredrespb
.
MonitoredResourceDescriptor
,
error
)
GetMonitoredResourceDescriptor gets a single monitored resource descriptor. This method does not require a Workspace.
Example
package
main
import
(
"context"
monitoring
"cloud.google.com/go/monitoring/apiv3/v2"
monitoringpb
"google.golang.org/genproto/googleapis/monitoring/v3"
)
func
main
()
{
ctx
:=
context
.
Background
()
c
,
err
:=
monitoring
.
NewMetricClient
(
ctx
)
if
err
!=
nil
{
// TODO: Handle error.
}
defer
c
.
Close
()
req
:=
& monitoringpb
.
GetMonitoredResourceDescriptorRequest
{
// TODO: Fill request struct fields.
// See https://pkg.go.dev/google.golang.org/genproto/googleapis/monitoring/v3#GetMonitoredResourceDescriptorRequest.
}
resp
,
err
:=
c
.
GetMonitoredResourceDescriptor
(
ctx
,
req
)
if
err
!=
nil
{
// TODO: Handle error.
}
// TODO: Use resp.
_
=
resp
}
func (*MetricClient) ListMetricDescriptors
func
(
c
*
MetricClient
)
ListMetricDescriptors
(
ctx
context
.
Context
,
req
*
monitoringpb
.
ListMetricDescriptorsRequest
,
opts
...
gax
.
CallOption
)
*
MetricDescriptorIterator
ListMetricDescriptors lists metric descriptors that match a filter. This method does not require a Workspace.
Example
package
main
import
(
"context"
monitoring
"cloud.google.com/go/monitoring/apiv3/v2"
"google.golang.org/api/iterator"
monitoringpb
"google.golang.org/genproto/googleapis/monitoring/v3"
)
func
main
()
{
ctx
:=
context
.
Background
()
c
,
err
:=
monitoring
.
NewMetricClient
(
ctx
)
if
err
!=
nil
{
// TODO: Handle error.
}
defer
c
.
Close
()
req
:=
& monitoringpb
.
ListMetricDescriptorsRequest
{
// TODO: Fill request struct fields.
// See https://pkg.go.dev/google.golang.org/genproto/googleapis/monitoring/v3#ListMetricDescriptorsRequest.
}
it
:=
c
.
ListMetricDescriptors
(
ctx
,
req
)
for
{
resp
,
err
:=
it
.
Next
()
if
err
==
iterator
.
Done
{
break
}
if
err
!=
nil
{
// TODO: Handle error.
}
// TODO: Use resp.
_
=
resp
}
}
func (*MetricClient) ListMonitoredResourceDescriptors
func
(
c
*
MetricClient
)
ListMonitoredResourceDescriptors
(
ctx
context
.
Context
,
req
*
monitoringpb
.
ListMonitoredResourceDescriptorsRequest
,
opts
...
gax
.
CallOption
)
*
MonitoredResourceDescriptorIterator
ListMonitoredResourceDescriptors lists monitored resource descriptors that match a filter. This method does not require a Workspace.
Example
package
main
import
(
"context"
monitoring
"cloud.google.com/go/monitoring/apiv3/v2"
"google.golang.org/api/iterator"
monitoringpb
"google.golang.org/genproto/googleapis/monitoring/v3"
)
func
main
()
{
ctx
:=
context
.
Background
()
c
,
err
:=
monitoring
.
NewMetricClient
(
ctx
)
if
err
!=
nil
{
// TODO: Handle error.
}
defer
c
.
Close
()
req
:=
& monitoringpb
.
ListMonitoredResourceDescriptorsRequest
{
// TODO: Fill request struct fields.
// See https://pkg.go.dev/google.golang.org/genproto/googleapis/monitoring/v3#ListMonitoredResourceDescriptorsRequest.
}
it
:=
c
.
ListMonitoredResourceDescriptors
(
ctx
,
req
)
for
{
resp
,
err
:=
it
.
Next
()
if
err
==
iterator
.
Done
{
break
}
if
err
!=
nil
{
// TODO: Handle error.
}
// TODO: Use resp.
_
=
resp
}
}
func (*MetricClient) ListTimeSeries
func
(
c
*
MetricClient
)
ListTimeSeries
(
ctx
context
.
Context
,
req
*
monitoringpb
.
ListTimeSeriesRequest
,
opts
...
gax
.
CallOption
)
*
TimeSeriesIterator
ListTimeSeries lists time series that match a filter. This method does not require a Workspace.
Example
package
main
import
(
"context"
monitoring
"cloud.google.com/go/monitoring/apiv3/v2"
"google.golang.org/api/iterator"
monitoringpb
"google.golang.org/genproto/googleapis/monitoring/v3"
)
func
main
()
{
ctx
:=
context
.
Background
()
c
,
err
:=
monitoring
.
NewMetricClient
(
ctx
)
if
err
!=
nil
{
// TODO: Handle error.
}
defer
c
.
Close
()
req
:=
& monitoringpb
.
ListTimeSeriesRequest
{
// TODO: Fill request struct fields.
// See https://pkg.go.dev/google.golang.org/genproto/googleapis/monitoring/v3#ListTimeSeriesRequest.
}
it
:=
c
.
ListTimeSeries
(
ctx
,
req
)
for
{
resp
,
err
:=
it
.
Next
()
if
err
==
iterator
.
Done
{
break
}
if
err
!=
nil
{
// TODO: Handle error.
}
// TODO: Use resp.
_
=
resp
}
}
MetricDescriptorIterator
type
MetricDescriptorIterator
struct
{
// Response is the raw response for the current page.
// It must be cast to the RPC response type.
// Calling Next() or InternalFetch() updates this value.
Response
interface
{}
// InternalFetch is for use by the Google Cloud Libraries only.
// It is not part of the stable interface of this package.
//
// InternalFetch returns results from a single call to the underlying RPC.
// The number of results is no greater than pageSize.
// If there are no more results, nextPageToken is empty and err is nil.
InternalFetch
func
(
pageSize
int
,
pageToken
string
)
(
results
[]
*
metricpb
.
MetricDescriptor
,
nextPageToken
string
,
err
error
)
// contains filtered or unexported fields
}
MetricDescriptorIterator manages a stream of *metricpb.MetricDescriptor.
func (*MetricDescriptorIterator) Next
func
(
it
*
MetricDescriptorIterator
)
Next
()
(
*
metricpb
.
MetricDescriptor
,
error
)
Next returns the next result. Its second return value is iterator.Done if there are no more results. Once Next returns Done, all subsequent calls will return Done.
func (*MetricDescriptorIterator) PageInfo
func
(
it
*
MetricDescriptorIterator
)
PageInfo
()
*
iterator
.
PageInfo
PageInfo supports pagination. See the google.golang.org/api/iterator package for details.
MonitoredResourceDescriptorIterator
type
MonitoredResourceDescriptorIterator
struct
{
// Response is the raw response for the current page.
// It must be cast to the RPC response type.
// Calling Next() or InternalFetch() updates this value.
Response
interface
{}
// InternalFetch is for use by the Google Cloud Libraries only.
// It is not part of the stable interface of this package.
//
// InternalFetch returns results from a single call to the underlying RPC.
// The number of results is no greater than pageSize.
// If there are no more results, nextPageToken is empty and err is nil.
InternalFetch
func
(
pageSize
int
,
pageToken
string
)
(
results
[]
*
monitoredrespb
.
MonitoredResourceDescriptor
,
nextPageToken
string
,
err
error
)
// contains filtered or unexported fields
}
MonitoredResourceDescriptorIterator manages a stream of *monitoredrespb.MonitoredResourceDescriptor.
func (*MonitoredResourceDescriptorIterator) Next
func
(
it
*
MonitoredResourceDescriptorIterator
)
Next
()
(
*
monitoredrespb
.
MonitoredResourceDescriptor
,
error
)
Next returns the next result. Its second return value is iterator.Done if there are no more results. Once Next returns Done, all subsequent calls will return Done.
func (*MonitoredResourceDescriptorIterator) PageInfo
func
(
it
*
MonitoredResourceDescriptorIterator
)
PageInfo
()
*
iterator
.
PageInfo
PageInfo supports pagination. See the google.golang.org/api/iterator package for details.
MonitoredResourceIterator
type
MonitoredResourceIterator
struct
{
// Response is the raw response for the current page.
// It must be cast to the RPC response type.
// Calling Next() or InternalFetch() updates this value.
Response
interface
{}
// InternalFetch is for use by the Google Cloud Libraries only.
// It is not part of the stable interface of this package.
//
// InternalFetch returns results from a single call to the underlying RPC.
// The number of results is no greater than pageSize.
// If there are no more results, nextPageToken is empty and err is nil.
InternalFetch
func
(
pageSize
int
,
pageToken
string
)
(
results
[]
*
monitoredrespb
.
MonitoredResource
,
nextPageToken
string
,
err
error
)
// contains filtered or unexported fields
}
MonitoredResourceIterator manages a stream of *monitoredrespb.MonitoredResource.
func (*MonitoredResourceIterator) Next
func
(
it
*
MonitoredResourceIterator
)
Next
()
(
*
monitoredrespb
.
MonitoredResource
,
error
)
Next returns the next result. Its second return value is iterator.Done if there are no more results. Once Next returns Done, all subsequent calls will return Done.
func (*MonitoredResourceIterator) PageInfo
func
(
it
*
MonitoredResourceIterator
)
PageInfo
()
*
iterator
.
PageInfo
PageInfo supports pagination. See the google.golang.org/api/iterator package for details.
NotificationChannelCallOptions
type
NotificationChannelCallOptions
struct
{
ListNotificationChannelDescriptors
[]
gax
.
CallOption
GetNotificationChannelDescriptor
[]
gax
.
CallOption
ListNotificationChannels
[]
gax
.
CallOption
GetNotificationChannel
[]
gax
.
CallOption
CreateNotificationChannel
[]
gax
.
CallOption
UpdateNotificationChannel
[]
gax
.
CallOption
DeleteNotificationChannel
[]
gax
.
CallOption
SendNotificationChannelVerificationCode
[]
gax
.
CallOption
GetNotificationChannelVerificationCode
[]
gax
.
CallOption
VerifyNotificationChannel
[]
gax
.
CallOption
}
NotificationChannelCallOptions contains the retry settings for each method of NotificationChannelClient.
NotificationChannelClient
type
NotificationChannelClient
struct
{
// The call options for this service.
CallOptions
*
NotificationChannelCallOptions
// contains filtered or unexported fields
}
NotificationChannelClient is a client for interacting with Cloud Monitoring API. Methods, except Close, may be called concurrently. However, fields must not be modified concurrently with method calls.
The Notification Channel API provides access to configuration that controls how messages related to incidents are sent.
func NewNotificationChannelClient
func
NewNotificationChannelClient
(
ctx
context
.
Context
,
opts
...
option
.
ClientOption
)
(
*
NotificationChannelClient
,
error
)
NewNotificationChannelClient creates a new notification channel service client based on gRPC. The returned client must be Closed when it is done being used to clean up its underlying connections.
The Notification Channel API provides access to configuration that controls how messages related to incidents are sent.
Example
package
main
import
(
"context"
monitoring
"cloud.google.com/go/monitoring/apiv3/v2"
)
func
main
()
{
ctx
:=
context
.
Background
()
c
,
err
:=
monitoring
.
NewNotificationChannelClient
(
ctx
)
if
err
!=
nil
{
// TODO: Handle error.
}
defer
c
.
Close
()
// TODO: Use client.
_
=
c
}
func (*NotificationChannelClient) Close
func
(
c
*
NotificationChannelClient
)
Close
()
error
Close closes the connection to the API service. The user should invoke this when the client is no longer required.
func (*NotificationChannelClient) Connection
func
(
c
*
NotificationChannelClient
)
Connection
()
*
grpc
.
ClientConn
Connection returns a connection to the API service.
Deprecated.
func (*NotificationChannelClient) CreateNotificationChannel
func
(
c
*
NotificationChannelClient
)
CreateNotificationChannel
(
ctx
context
.
Context
,
req
*
monitoringpb
.
CreateNotificationChannelRequest
,
opts
...
gax
.
CallOption
)
(
*
monitoringpb
.
NotificationChannel
,
error
)
CreateNotificationChannel creates a new notification channel, representing a single notification endpoint such as an email address, SMS number, or PagerDuty service.
Example
package
main
import
(
"context"
monitoring
"cloud.google.com/go/monitoring/apiv3/v2"
monitoringpb
"google.golang.org/genproto/googleapis/monitoring/v3"
)
func
main
()
{
ctx
:=
context
.
Background
()
c
,
err
:=
monitoring
.
NewNotificationChannelClient
(
ctx
)
if
err
!=
nil
{
// TODO: Handle error.
}
defer
c
.
Close
()
req
:=
& monitoringpb
.
CreateNotificationChannelRequest
{
// TODO: Fill request struct fields.
// See https://pkg.go.dev/google.golang.org/genproto/googleapis/monitoring/v3#CreateNotificationChannelRequest.
}
resp
,
err
:=
c
.
CreateNotificationChannel
(
ctx
,
req
)
if
err
!=
nil
{
// TODO: Handle error.
}
// TODO: Use resp.
_
=
resp
}
func (*NotificationChannelClient) DeleteNotificationChannel
func
(
c
*
NotificationChannelClient
)
DeleteNotificationChannel
(
ctx
context
.
Context
,
req
*
monitoringpb
.
DeleteNotificationChannelRequest
,
opts
...
gax
.
CallOption
)
error
DeleteNotificationChannel deletes a notification channel.
Example
package
main
import
(
"context"
monitoring
"cloud.google.com/go/monitoring/apiv3/v2"
monitoringpb
"google.golang.org/genproto/googleapis/monitoring/v3"
)
func
main
()
{
ctx
:=
context
.
Background
()
c
,
err
:=
monitoring
.
NewNotificationChannelClient
(
ctx
)
if
err
!=
nil
{
// TODO: Handle error.
}
defer
c
.
Close
()
req
:=
& monitoringpb
.
DeleteNotificationChannelRequest
{
// TODO: Fill request struct fields.
// See https://pkg.go.dev/google.golang.org/genproto/googleapis/monitoring/v3#DeleteNotificationChannelRequest.
}
err
=
c
.
DeleteNotificationChannel
(
ctx
,
req
)
if
err
!=
nil
{
// TODO: Handle error.
}
}
func (*NotificationChannelClient) GetNotificationChannel
func
(
c
*
NotificationChannelClient
)
GetNotificationChannel
(
ctx
context
.
Context
,
req
*
monitoringpb
.
GetNotificationChannelRequest
,
opts
...
gax
.
CallOption
)
(
*
monitoringpb
.
NotificationChannel
,
error
)
GetNotificationChannel gets a single notification channel. The channel includes the relevant configuration details with which the channel was created. However, the response may truncate or omit passwords, API keys, or other private key matter and thus the response may not be 100% identical to the information that was supplied in the call to the create method.
Example
package
main
import
(
"context"
monitoring
"cloud.google.com/go/monitoring/apiv3/v2"
monitoringpb
"google.golang.org/genproto/googleapis/monitoring/v3"
)
func
main
()
{
ctx
:=
context
.
Background
()
c
,
err
:=
monitoring
.
NewNotificationChannelClient
(
ctx
)
if
err
!=
nil
{
// TODO: Handle error.
}
defer
c
.
Close
()
req
:=
& monitoringpb
.
GetNotificationChannelRequest
{
// TODO: Fill request struct fields.
// See https://pkg.go.dev/google.golang.org/genproto/googleapis/monitoring/v3#GetNotificationChannelRequest.
}
resp
,
err
:=
c
.
GetNotificationChannel
(
ctx
,
req
)
if
err
!=
nil
{
// TODO: Handle error.
}
// TODO: Use resp.
_
=
resp
}
func (*NotificationChannelClient) GetNotificationChannelDescriptor
func
(
c
*
NotificationChannelClient
)
GetNotificationChannelDescriptor
(
ctx
context
.
Context
,
req
*
monitoringpb
.
GetNotificationChannelDescriptorRequest
,
opts
...
gax
.
CallOption
)
(
*
monitoringpb
.
NotificationChannelDescriptor
,
error
)
GetNotificationChannelDescriptor gets a single channel descriptor. The descriptor indicates which fields are expected / permitted for a notification channel of the given type.
Example
package
main
import
(
"context"
monitoring
"cloud.google.com/go/monitoring/apiv3/v2"
monitoringpb
"google.golang.org/genproto/googleapis/monitoring/v3"
)
func
main
()
{
ctx
:=
context
.
Background
()
c
,
err
:=
monitoring
.
NewNotificationChannelClient
(
ctx
)
if
err
!=
nil
{
// TODO: Handle error.
}
defer
c
.
Close
()
req
:=
& monitoringpb
.
GetNotificationChannelDescriptorRequest
{
// TODO: Fill request struct fields.
// See https://pkg.go.dev/google.golang.org/genproto/googleapis/monitoring/v3#GetNotificationChannelDescriptorRequest.
}
resp
,
err
:=
c
.
GetNotificationChannelDescriptor
(
ctx
,
req
)
if
err
!=
nil
{
// TODO: Handle error.
}
// TODO: Use resp.
_
=
resp
}
func (*NotificationChannelClient) GetNotificationChannelVerificationCode
func
(
c
*
NotificationChannelClient
)
GetNotificationChannelVerificationCode
(
ctx
context
.
Context
,
req
*
monitoringpb
.
GetNotificationChannelVerificationCodeRequest
,
opts
...
gax
.
CallOption
)
(
*
monitoringpb
.
GetNotificationChannelVerificationCodeResponse
,
error
)
GetNotificationChannelVerificationCode requests a verification code for an already verified channel that can then be used in a call to VerifyNotificationChannel() on a different channel with an equivalent identity in the same or in a different project. This makes it possible to copy a channel between projects without requiring manual reverification of the channel. If the channel is not in the verified state, this method will fail (in other words, this may only be used if the SendNotificationChannelVerificationCode and VerifyNotificationChannel paths have already been used to put the given channel into the verified state).
There is no guarantee that the verification codes returned by this method will be of a similar structure or form as the ones that are delivered to the channel via SendNotificationChannelVerificationCode; while VerifyNotificationChannel() will recognize both the codes delivered via SendNotificationChannelVerificationCode() and returned from GetNotificationChannelVerificationCode(), it is typically the case that the verification codes delivered via SendNotificationChannelVerificationCode() will be shorter and also have a shorter expiration (e.g. codes such as “G-123456”) whereas GetVerificationCode() will typically return a much longer, websafe base 64 encoded string that has a longer expiration time.
Example
package
main
import
(
"context"
monitoring
"cloud.google.com/go/monitoring/apiv3/v2"
monitoringpb
"google.golang.org/genproto/googleapis/monitoring/v3"
)
func
main
()
{
ctx
:=
context
.
Background
()
c
,
err
:=
monitoring
.
NewNotificationChannelClient
(
ctx
)
if
err
!=
nil
{
// TODO: Handle error.
}
defer
c
.
Close
()
req
:=
& monitoringpb
.
GetNotificationChannelVerificationCodeRequest
{
// TODO: Fill request struct fields.
// See https://pkg.go.dev/google.golang.org/genproto/googleapis/monitoring/v3#GetNotificationChannelVerificationCodeRequest.
}
resp
,
err
:=
c
.
GetNotificationChannelVerificationCode
(
ctx
,
req
)
if
err
!=
nil
{
// TODO: Handle error.
}
// TODO: Use resp.
_
=
resp
}
func (*NotificationChannelClient) ListNotificationChannelDescriptors
func
(
c
*
NotificationChannelClient
)
ListNotificationChannelDescriptors
(
ctx
context
.
Context
,
req
*
monitoringpb
.
ListNotificationChannelDescriptorsRequest
,
opts
...
gax
.
CallOption
)
*
NotificationChannelDescriptorIterator
ListNotificationChannelDescriptors lists the descriptors for supported channel types. The use of descriptors makes it possible for new channel types to be dynamically added.
Example
package
main
import
(
"context"
monitoring
"cloud.google.com/go/monitoring/apiv3/v2"
"google.golang.org/api/iterator"
monitoringpb
"google.golang.org/genproto/googleapis/monitoring/v3"
)
func
main
()
{
ctx
:=
context
.
Background
()
c
,
err
:=
monitoring
.
NewNotificationChannelClient
(
ctx
)
if
err
!=
nil
{
// TODO: Handle error.
}
defer
c
.
Close
()
req
:=
& monitoringpb
.
ListNotificationChannelDescriptorsRequest
{
// TODO: Fill request struct fields.
// See https://pkg.go.dev/google.golang.org/genproto/googleapis/monitoring/v3#ListNotificationChannelDescriptorsRequest.
}
it
:=
c
.
ListNotificationChannelDescriptors
(
ctx
,
req
)
for
{
resp
,
err
:=
it
.
Next
()
if
err
==
iterator
.
Done
{
break
}
if
err
!=
nil
{
// TODO: Handle error.
}
// TODO: Use resp.
_
=
resp
}
}
func (*NotificationChannelClient) ListNotificationChannels
func
(
c
*
NotificationChannelClient
)
ListNotificationChannels
(
ctx
context
.
Context
,
req
*
monitoringpb
.
ListNotificationChannelsRequest
,
opts
...
gax
.
CallOption
)
*
NotificationChannelIterator
ListNotificationChannels lists the notification channels that have been created for the project.
Example
package
main
import
(
"context"
monitoring
"cloud.google.com/go/monitoring/apiv3/v2"
"google.golang.org/api/iterator"
monitoringpb
"google.golang.org/genproto/googleapis/monitoring/v3"
)
func
main
()
{
ctx
:=
context
.
Background
()
c
,
err
:=
monitoring
.
NewNotificationChannelClient
(
ctx
)
if
err
!=
nil
{
// TODO: Handle error.
}
defer
c
.
Close
()
req
:=
& monitoringpb
.
ListNotificationChannelsRequest
{
// TODO: Fill request struct fields.
// See https://pkg.go.dev/google.golang.org/genproto/googleapis/monitoring/v3#ListNotificationChannelsRequest.
}
it
:=
c
.
ListNotificationChannels
(
ctx
,
req
)
for
{
resp
,
err
:=
it
.
Next
()
if
err
==
iterator
.
Done
{
break
}
if
err
!=
nil
{
// TODO: Handle error.
}
// TODO: Use resp.
_
=
resp
}
}
func (*NotificationChannelClient) SendNotificationChannelVerificationCode
func
(
c
*
NotificationChannelClient
)
SendNotificationChannelVerificationCode
(
ctx
context
.
Context
,
req
*
monitoringpb
.
SendNotificationChannelVerificationCodeRequest
,
opts
...
gax
.
CallOption
)
error
SendNotificationChannelVerificationCode causes a verification code to be delivered to the channel. The code can then be supplied in VerifyNotificationChannel to verify the channel.
Example
package
main
import
(
"context"
monitoring
"cloud.google.com/go/monitoring/apiv3/v2"
monitoringpb
"google.golang.org/genproto/googleapis/monitoring/v3"
)
func
main
()
{
ctx
:=
context
.
Background
()
c
,
err
:=
monitoring
.
NewNotificationChannelClient
(
ctx
)
if
err
!=
nil
{
// TODO: Handle error.
}
defer
c
.
Close
()
req
:=
& monitoringpb
.
SendNotificationChannelVerificationCodeRequest
{
// TODO: Fill request struct fields.
// See https://pkg.go.dev/google.golang.org/genproto/googleapis/monitoring/v3#SendNotificationChannelVerificationCodeRequest.
}
err
=
c
.
SendNotificationChannelVerificationCode
(
ctx
,
req
)
if
err
!=
nil
{
// TODO: Handle error.
}
}
func (*NotificationChannelClient) UpdateNotificationChannel
func
(
c
*
NotificationChannelClient
)
UpdateNotificationChannel
(
ctx
context
.
Context
,
req
*
monitoringpb
.
UpdateNotificationChannelRequest
,
opts
...
gax
.
CallOption
)
(
*
monitoringpb
.
NotificationChannel
,
error
)
UpdateNotificationChannel updates a notification channel. Fields not specified in the field mask remain unchanged.
Example
package
main
import
(
"context"
monitoring
"cloud.google.com/go/monitoring/apiv3/v2"
monitoringpb
"google.golang.org/genproto/googleapis/monitoring/v3"
)
func
main
()
{
ctx
:=
context
.
Background
()
c
,
err
:=
monitoring
.
NewNotificationChannelClient
(
ctx
)
if
err
!=
nil
{
// TODO: Handle error.
}
defer
c
.
Close
()
req
:=
& monitoringpb
.
UpdateNotificationChannelRequest
{
// TODO: Fill request struct fields.
// See https://pkg.go.dev/google.golang.org/genproto/googleapis/monitoring/v3#UpdateNotificationChannelRequest.
}
resp
,
err
:=
c
.
UpdateNotificationChannel
(
ctx
,
req
)
if
err
!=
nil
{
// TODO: Handle error.
}
// TODO: Use resp.
_
=
resp
}
func (*NotificationChannelClient) VerifyNotificationChannel
func
(
c
*
NotificationChannelClient
)
VerifyNotificationChannel
(
ctx
context
.
Context
,
req
*
monitoringpb
.
VerifyNotificationChannelRequest
,
opts
...
gax
.
CallOption
)
(
*
monitoringpb
.
NotificationChannel
,
error
)
VerifyNotificationChannel verifies a NotificationChannel by proving receipt of the code delivered to the channel as a result of calling SendNotificationChannelVerificationCode.
Example
package
main
import
(
"context"
monitoring
"cloud.google.com/go/monitoring/apiv3/v2"
monitoringpb
"google.golang.org/genproto/googleapis/monitoring/v3"
)
func
main
()
{
ctx
:=
context
.
Background
()
c
,
err
:=
monitoring
.
NewNotificationChannelClient
(
ctx
)
if
err
!=
nil
{
// TODO: Handle error.
}
defer
c
.
Close
()
req
:=
& monitoringpb
.
VerifyNotificationChannelRequest
{
// TODO: Fill request struct fields.
// See https://pkg.go.dev/google.golang.org/genproto/googleapis/monitoring/v3#VerifyNotificationChannelRequest.
}
resp
,
err
:=
c
.
VerifyNotificationChannel
(
ctx
,
req
)
if
err
!=
nil
{
// TODO: Handle error.
}
// TODO: Use resp.
_
=
resp
}
NotificationChannelDescriptorIterator
type
NotificationChannelDescriptorIterator
struct
{
// Response is the raw response for the current page.
// It must be cast to the RPC response type.
// Calling Next() or InternalFetch() updates this value.
Response
interface
{}
// InternalFetch is for use by the Google Cloud Libraries only.
// It is not part of the stable interface of this package.
//
// InternalFetch returns results from a single call to the underlying RPC.
// The number of results is no greater than pageSize.
// If there are no more results, nextPageToken is empty and err is nil.
InternalFetch
func
(
pageSize
int
,
pageToken
string
)
(
results
[]
*
monitoringpb
.
NotificationChannelDescriptor
,
nextPageToken
string
,
err
error
)
// contains filtered or unexported fields
}
NotificationChannelDescriptorIterator manages a stream of *monitoringpb.NotificationChannelDescriptor.
func (*NotificationChannelDescriptorIterator) Next
func
(
it
*
NotificationChannelDescriptorIterator
)
Next
()
(
*
monitoringpb
.
NotificationChannelDescriptor
,
error
)
Next returns the next result. Its second return value is iterator.Done if there are no more results. Once Next returns Done, all subsequent calls will return Done.
func (*NotificationChannelDescriptorIterator) PageInfo
func
(
it
*
NotificationChannelDescriptorIterator
)
PageInfo
()
*
iterator
.
PageInfo
PageInfo supports pagination. See the google.golang.org/api/iterator package for details.
NotificationChannelIterator
type
NotificationChannelIterator
struct
{
// Response is the raw response for the current page.
// It must be cast to the RPC response type.
// Calling Next() or InternalFetch() updates this value.
Response
interface
{}
// InternalFetch is for use by the Google Cloud Libraries only.
// It is not part of the stable interface of this package.
//
// InternalFetch returns results from a single call to the underlying RPC.
// The number of results is no greater than pageSize.
// If there are no more results, nextPageToken is empty and err is nil.
InternalFetch
func
(
pageSize
int
,
pageToken
string
)
(
results
[]
*
monitoringpb
.
NotificationChannel
,
nextPageToken
string
,
err
error
)
// contains filtered or unexported fields
}
NotificationChannelIterator manages a stream of *monitoringpb.NotificationChannel.
func (*NotificationChannelIterator) Next
func
(
it
*
NotificationChannelIterator
)
Next
()
(
*
monitoringpb
.
NotificationChannel
,
error
)
Next returns the next result. Its second return value is iterator.Done if there are no more results. Once Next returns Done, all subsequent calls will return Done.
func (*NotificationChannelIterator) PageInfo
func
(
it
*
NotificationChannelIterator
)
PageInfo
()
*
iterator
.
PageInfo
PageInfo supports pagination. See the google.golang.org/api/iterator package for details.
QueryCallOptions
type
QueryCallOptions
struct
{
QueryTimeSeries
[]
gax
.
CallOption
}
QueryCallOptions contains the retry settings for each method of QueryClient.
QueryClient
type
QueryClient
struct
{
// The call options for this service.
CallOptions
*
QueryCallOptions
// contains filtered or unexported fields
}
QueryClient is a client for interacting with Cloud Monitoring API. Methods, except Close, may be called concurrently. However, fields must not be modified concurrently with method calls.
The QueryService API is used to manage time series data in Stackdriver Monitoring. Time series data is a collection of data points that describes the time-varying values of a metric.
func NewQueryClient
func
NewQueryClient
(
ctx
context
.
Context
,
opts
...
option
.
ClientOption
)
(
*
QueryClient
,
error
)
NewQueryClient creates a new query service client based on gRPC. The returned client must be Closed when it is done being used to clean up its underlying connections.
The QueryService API is used to manage time series data in Stackdriver Monitoring. Time series data is a collection of data points that describes the time-varying values of a metric.
Example
package
main
import
(
"context"
monitoring
"cloud.google.com/go/monitoring/apiv3/v2"
)
func
main
()
{
ctx
:=
context
.
Background
()
c
,
err
:=
monitoring
.
NewQueryClient
(
ctx
)
if
err
!=
nil
{
// TODO: Handle error.
}
defer
c
.
Close
()
// TODO: Use client.
_
=
c
}
func (*QueryClient) Close
func
(
c
*
QueryClient
)
Close
()
error
Close closes the connection to the API service. The user should invoke this when the client is no longer required.
func (*QueryClient) Connection
func
(
c
*
QueryClient
)
Connection
()
*
grpc
.
ClientConn
Connection returns a connection to the API service.
Deprecated.
func (*QueryClient) QueryTimeSeries
func
(
c
*
QueryClient
)
QueryTimeSeries
(
ctx
context
.
Context
,
req
*
monitoringpb
.
QueryTimeSeriesRequest
,
opts
...
gax
.
CallOption
)
*
TimeSeriesDataIterator
QueryTimeSeries queries time series using Monitoring Query Language. This method does not require a Workspace.
Example
package
main
import
(
"context"
monitoring
"cloud.google.com/go/monitoring/apiv3/v2"
"google.golang.org/api/iterator"
monitoringpb
"google.golang.org/genproto/googleapis/monitoring/v3"
)
func
main
()
{
ctx
:=
context
.
Background
()
c
,
err
:=
monitoring
.
NewQueryClient
(
ctx
)
if
err
!=
nil
{
// TODO: Handle error.
}
defer
c
.
Close
()
req
:=
& monitoringpb
.
QueryTimeSeriesRequest
{
// TODO: Fill request struct fields.
// See https://pkg.go.dev/google.golang.org/genproto/googleapis/monitoring/v3#QueryTimeSeriesRequest.
}
it
:=
c
.
QueryTimeSeries
(
ctx
,
req
)
for
{
resp
,
err
:=
it
.
Next
()
if
err
==
iterator
.
Done
{
break
}
if
err
!=
nil
{
// TODO: Handle error.
}
// TODO: Use resp.
_
=
resp
}
}
ServiceIterator
type
ServiceIterator
struct
{
// Response is the raw response for the current page.
// It must be cast to the RPC response type.
// Calling Next() or InternalFetch() updates this value.
Response
interface
{}
// InternalFetch is for use by the Google Cloud Libraries only.
// It is not part of the stable interface of this package.
//
// InternalFetch returns results from a single call to the underlying RPC.
// The number of results is no greater than pageSize.
// If there are no more results, nextPageToken is empty and err is nil.
InternalFetch
func
(
pageSize
int
,
pageToken
string
)
(
results
[]
*
monitoringpb
.
Service
,
nextPageToken
string
,
err
error
)
// contains filtered or unexported fields
}
ServiceIterator manages a stream of *monitoringpb.Service.
func (*ServiceIterator) Next
func
(
it
*
ServiceIterator
)
Next
()
(
*
monitoringpb
.
Service
,
error
)
Next returns the next result. Its second return value is iterator.Done if there are no more results. Once Next returns Done, all subsequent calls will return Done.
func (*ServiceIterator) PageInfo
func
(
it
*
ServiceIterator
)
PageInfo
()
*
iterator
.
PageInfo
PageInfo supports pagination. See the google.golang.org/api/iterator package for details.
ServiceLevelObjectiveIterator
type
ServiceLevelObjectiveIterator
struct
{
// Response is the raw response for the current page.
// It must be cast to the RPC response type.
// Calling Next() or InternalFetch() updates this value.
Response
interface
{}
// InternalFetch is for use by the Google Cloud Libraries only.
// It is not part of the stable interface of this package.
//
// InternalFetch returns results from a single call to the underlying RPC.
// The number of results is no greater than pageSize.
// If there are no more results, nextPageToken is empty and err is nil.
InternalFetch
func
(
pageSize
int
,
pageToken
string
)
(
results
[]
*
monitoringpb
.
ServiceLevelObjective
,
nextPageToken
string
,
err
error
)
// contains filtered or unexported fields
}
ServiceLevelObjectiveIterator manages a stream of *monitoringpb.ServiceLevelObjective.
func (*ServiceLevelObjectiveIterator) Next
func
(
it
*
ServiceLevelObjectiveIterator
)
Next
()
(
*
monitoringpb
.
ServiceLevelObjective
,
error
)
Next returns the next result. Its second return value is iterator.Done if there are no more results. Once Next returns Done, all subsequent calls will return Done.
func (*ServiceLevelObjectiveIterator) PageInfo
func
(
it
*
ServiceLevelObjectiveIterator
)
PageInfo
()
*
iterator
.
PageInfo
PageInfo supports pagination. See the google.golang.org/api/iterator package for details.
ServiceMonitoringCallOptions
type
ServiceMonitoringCallOptions
struct
{
CreateService
[]
gax
.
CallOption
GetService
[]
gax
.
CallOption
ListServices
[]
gax
.
CallOption
UpdateService
[]
gax
.
CallOption
DeleteService
[]
gax
.
CallOption
CreateServiceLevelObjective
[]
gax
.
CallOption
GetServiceLevelObjective
[]
gax
.
CallOption
ListServiceLevelObjectives
[]
gax
.
CallOption
UpdateServiceLevelObjective
[]
gax
.
CallOption
DeleteServiceLevelObjective
[]
gax
.
CallOption
}
ServiceMonitoringCallOptions contains the retry settings for each method of ServiceMonitoringClient.
ServiceMonitoringClient
type
ServiceMonitoringClient
struct
{
// The call options for this service.
CallOptions
*
ServiceMonitoringCallOptions
// contains filtered or unexported fields
}
ServiceMonitoringClient is a client for interacting with Cloud Monitoring API. Methods, except Close, may be called concurrently. However, fields must not be modified concurrently with method calls.
The Cloud Monitoring Service-Oriented Monitoring API has endpoints for managing and querying aspects of a workspace’s services. These include the Service's monitored resources, its Service-Level Objectives, and a taxonomy of categorized Health Metrics.
func NewServiceMonitoringClient
func
NewServiceMonitoringClient
(
ctx
context
.
Context
,
opts
...
option
.
ClientOption
)
(
*
ServiceMonitoringClient
,
error
)
NewServiceMonitoringClient creates a new service monitoring service client based on gRPC. The returned client must be Closed when it is done being used to clean up its underlying connections.
The Cloud Monitoring Service-Oriented Monitoring API has endpoints for managing and querying aspects of a workspace’s services. These include the Service's monitored resources, its Service-Level Objectives, and a taxonomy of categorized Health Metrics.
Example
package
main
import
(
"context"
monitoring
"cloud.google.com/go/monitoring/apiv3/v2"
)
func
main
()
{
ctx
:=
context
.
Background
()
c
,
err
:=
monitoring
.
NewServiceMonitoringClient
(
ctx
)
if
err
!=
nil
{
// TODO: Handle error.
}
defer
c
.
Close
()
// TODO: Use client.
_
=
c
}
func (*ServiceMonitoringClient) Close
func
(
c
*
ServiceMonitoringClient
)
Close
()
error
Close closes the connection to the API service. The user should invoke this when the client is no longer required.
func (*ServiceMonitoringClient) Connection
func
(
c
*
ServiceMonitoringClient
)
Connection
()
*
grpc
.
ClientConn
Connection returns a connection to the API service.
Deprecated.
func (*ServiceMonitoringClient) CreateService
func
(
c
*
ServiceMonitoringClient
)
CreateService
(
ctx
context
.
Context
,
req
*
monitoringpb
.
CreateServiceRequest
,
opts
...
gax
.
CallOption
)
(
*
monitoringpb
.
Service
,
error
)
CreateService create a Service.
Example
package
main
import
(
"context"
monitoring
"cloud.google.com/go/monitoring/apiv3/v2"
monitoringpb
"google.golang.org/genproto/googleapis/monitoring/v3"
)
func
main
()
{
ctx
:=
context
.
Background
()
c
,
err
:=
monitoring
.
NewServiceMonitoringClient
(
ctx
)
if
err
!=
nil
{
// TODO: Handle error.
}
defer
c
.
Close
()
req
:=
& monitoringpb
.
CreateServiceRequest
{
// TODO: Fill request struct fields.
// See https://pkg.go.dev/google.golang.org/genproto/googleapis/monitoring/v3#CreateServiceRequest.
}
resp
,
err
:=
c
.
CreateService
(
ctx
,
req
)
if
err
!=
nil
{
// TODO: Handle error.
}
// TODO: Use resp.
_
=
resp
}
func (*ServiceMonitoringClient) CreateServiceLevelObjective
func
(
c
*
ServiceMonitoringClient
)
CreateServiceLevelObjective
(
ctx
context
.
Context
,
req
*
monitoringpb
.
CreateServiceLevelObjectiveRequest
,
opts
...
gax
.
CallOption
)
(
*
monitoringpb
.
ServiceLevelObjective
,
error
)
CreateServiceLevelObjective create a ServiceLevelObjective for the given Service.
Example
package
main
import
(
"context"
monitoring
"cloud.google.com/go/monitoring/apiv3/v2"
monitoringpb
"google.golang.org/genproto/googleapis/monitoring/v3"
)
func
main
()
{
ctx
:=
context
.
Background
()
c
,
err
:=
monitoring
.
NewServiceMonitoringClient
(
ctx
)
if
err
!=
nil
{
// TODO: Handle error.
}
defer
c
.
Close
()
req
:=
& monitoringpb
.
CreateServiceLevelObjectiveRequest
{
// TODO: Fill request struct fields.
// See https://pkg.go.dev/google.golang.org/genproto/googleapis/monitoring/v3#CreateServiceLevelObjectiveRequest.
}
resp
,
err
:=
c
.
CreateServiceLevelObjective
(
ctx
,
req
)
if
err
!=
nil
{
// TODO: Handle error.
}
// TODO: Use resp.
_
=
resp
}
func (*ServiceMonitoringClient) DeleteService
func
(
c
*
ServiceMonitoringClient
)
DeleteService
(
ctx
context
.
Context
,
req
*
monitoringpb
.
DeleteServiceRequest
,
opts
...
gax
.
CallOption
)
error
DeleteService soft delete this Service.
Example
package
main
import
(
"context"
monitoring
"cloud.google.com/go/monitoring/apiv3/v2"
monitoringpb
"google.golang.org/genproto/googleapis/monitoring/v3"
)
func
main
()
{
ctx
:=
context
.
Background
()
c
,
err
:=
monitoring
.
NewServiceMonitoringClient
(
ctx
)
if
err
!=
nil
{
// TODO: Handle error.
}
defer
c
.
Close
()
req
:=
& monitoringpb
.
DeleteServiceRequest
{
// TODO: Fill request struct fields.
// See https://pkg.go.dev/google.golang.org/genproto/googleapis/monitoring/v3#DeleteServiceRequest.
}
err
=
c
.
DeleteService
(
ctx
,
req
)
if
err
!=
nil
{
// TODO: Handle error.
}
}
func (*ServiceMonitoringClient) DeleteServiceLevelObjective
func
(
c
*
ServiceMonitoringClient
)
DeleteServiceLevelObjective
(
ctx
context
.
Context
,
req
*
monitoringpb
.
DeleteServiceLevelObjectiveRequest
,
opts
...
gax
.
CallOption
)
error
DeleteServiceLevelObjective delete the given ServiceLevelObjective.
Example
package
main
import
(
"context"
monitoring
"cloud.google.com/go/monitoring/apiv3/v2"
monitoringpb
"google.golang.org/genproto/googleapis/monitoring/v3"
)
func
main
()
{
ctx
:=
context
.
Background
()
c
,
err
:=
monitoring
.
NewServiceMonitoringClient
(
ctx
)
if
err
!=
nil
{
// TODO: Handle error.
}
defer
c
.
Close
()
req
:=
& monitoringpb
.
DeleteServiceLevelObjectiveRequest
{
// TODO: Fill request struct fields.
// See https://pkg.go.dev/google.golang.org/genproto/googleapis/monitoring/v3#DeleteServiceLevelObjectiveRequest.
}
err
=
c
.
DeleteServiceLevelObjective
(
ctx
,
req
)
if
err
!=
nil
{
// TODO: Handle error.
}
}
func (*ServiceMonitoringClient) GetService
func
(
c
*
ServiceMonitoringClient
)
GetService
(
ctx
context
.
Context
,
req
*
monitoringpb
.
GetServiceRequest
,
opts
...
gax
.
CallOption
)
(
*
monitoringpb
.
Service
,
error
)
GetService get the named Service.
Example
package
main
import
(
"context"
monitoring
"cloud.google.com/go/monitoring/apiv3/v2"
monitoringpb
"google.golang.org/genproto/googleapis/monitoring/v3"
)
func
main
()
{
ctx
:=
context
.
Background
()
c
,
err
:=
monitoring
.
NewServiceMonitoringClient
(
ctx
)
if
err
!=
nil
{
// TODO: Handle error.
}
defer
c
.
Close
()
req
:=
& monitoringpb
.
GetServiceRequest
{
// TODO: Fill request struct fields.
// See https://pkg.go.dev/google.golang.org/genproto/googleapis/monitoring/v3#GetServiceRequest.
}
resp
,
err
:=
c
.
GetService
(
ctx
,
req
)
if
err
!=
nil
{
// TODO: Handle error.
}
// TODO: Use resp.
_
=
resp
}
func (*ServiceMonitoringClient) GetServiceLevelObjective
func
(
c
*
ServiceMonitoringClient
)
GetServiceLevelObjective
(
ctx
context
.
Context
,
req
*
monitoringpb
.
GetServiceLevelObjectiveRequest
,
opts
...
gax
.
CallOption
)
(
*
monitoringpb
.
ServiceLevelObjective
,
error
)
GetServiceLevelObjective get a ServiceLevelObjective by name.
Example
package
main
import
(
"context"
monitoring
"cloud.google.com/go/monitoring/apiv3/v2"
monitoringpb
"google.golang.org/genproto/googleapis/monitoring/v3"
)
func
main
()
{
ctx
:=
context
.
Background
()
c
,
err
:=
monitoring
.
NewServiceMonitoringClient
(
ctx
)
if
err
!=
nil
{
// TODO: Handle error.
}
defer
c
.
Close
()
req
:=
& monitoringpb
.
GetServiceLevelObjectiveRequest
{
// TODO: Fill request struct fields.
// See https://pkg.go.dev/google.golang.org/genproto/googleapis/monitoring/v3#GetServiceLevelObjectiveRequest.
}
resp
,
err
:=
c
.
GetServiceLevelObjective
(
ctx
,
req
)
if
err
!=
nil
{
// TODO: Handle error.
}
// TODO: Use resp.
_
=
resp
}
func (*ServiceMonitoringClient) ListServiceLevelObjectives
func
(
c
*
ServiceMonitoringClient
)
ListServiceLevelObjectives
(
ctx
context
.
Context
,
req
*
monitoringpb
.
ListServiceLevelObjectivesRequest
,
opts
...
gax
.
CallOption
)
*
ServiceLevelObjectiveIterator
ListServiceLevelObjectives list the ServiceLevelObjectives for the given Service.
Example
package
main
import
(
"context"
monitoring
"cloud.google.com/go/monitoring/apiv3/v2"
"google.golang.org/api/iterator"
monitoringpb
"google.golang.org/genproto/googleapis/monitoring/v3"
)
func
main
()
{
ctx
:=
context
.
Background
()
c
,
err
:=
monitoring
.
NewServiceMonitoringClient
(
ctx
)
if
err
!=
nil
{
// TODO: Handle error.
}
defer
c
.
Close
()
req
:=
& monitoringpb
.
ListServiceLevelObjectivesRequest
{
// TODO: Fill request struct fields.
// See https://pkg.go.dev/google.golang.org/genproto/googleapis/monitoring/v3#ListServiceLevelObjectivesRequest.
}
it
:=
c
.
ListServiceLevelObjectives
(
ctx
,
req
)
for
{
resp
,
err
:=
it
.
Next
()
if
err
==
iterator
.
Done
{
break
}
if
err
!=
nil
{
// TODO: Handle error.
}
// TODO: Use resp.
_
=
resp
}
}
func (*ServiceMonitoringClient) ListServices
func
(
c
*
ServiceMonitoringClient
)
ListServices
(
ctx
context
.
Context
,
req
*
monitoringpb
.
ListServicesRequest
,
opts
...
gax
.
CallOption
)
*
ServiceIterator
ListServices list Services for this workspace.
Example
package
main
import
(
"context"
monitoring
"cloud.google.com/go/monitoring/apiv3/v2"
"google.golang.org/api/iterator"
monitoringpb
"google.golang.org/genproto/googleapis/monitoring/v3"
)
func
main
()
{
ctx
:=
context
.
Background
()
c
,
err
:=
monitoring
.
NewServiceMonitoringClient
(
ctx
)
if
err
!=
nil
{
// TODO: Handle error.
}
defer
c
.
Close
()
req
:=
& monitoringpb
.
ListServicesRequest
{
// TODO: Fill request struct fields.
// See https://pkg.go.dev/google.golang.org/genproto/googleapis/monitoring/v3#ListServicesRequest.
}
it
:=
c
.
ListServices
(
ctx
,
req
)
for
{
resp
,
err
:=
it
.
Next
()
if
err
==
iterator
.
Done
{
break
}
if
err
!=
nil
{
// TODO: Handle error.
}
// TODO: Use resp.
_
=
resp
}
}
func (*ServiceMonitoringClient) UpdateService
func
(
c
*
ServiceMonitoringClient
)
UpdateService
(
ctx
context
.
Context
,
req
*
monitoringpb
.
UpdateServiceRequest
,
opts
...
gax
.
CallOption
)
(
*
monitoringpb
.
Service
,
error
)
UpdateService update this Service.
Example
package
main
import
(
"context"
monitoring
"cloud.google.com/go/monitoring/apiv3/v2"
monitoringpb
"google.golang.org/genproto/googleapis/monitoring/v3"
)
func
main
()
{
ctx
:=
context
.
Background
()
c
,
err
:=
monitoring
.
NewServiceMonitoringClient
(
ctx
)
if
err
!=
nil
{
// TODO: Handle error.
}
defer
c
.
Close
()
req
:=
& monitoringpb
.
UpdateServiceRequest
{
// TODO: Fill request struct fields.
// See https://pkg.go.dev/google.golang.org/genproto/googleapis/monitoring/v3#UpdateServiceRequest.
}
resp
,
err
:=
c
.
UpdateService
(
ctx
,
req
)
if
err
!=
nil
{
// TODO: Handle error.
}
// TODO: Use resp.
_
=
resp
}
func (*ServiceMonitoringClient) UpdateServiceLevelObjective
func
(
c
*
ServiceMonitoringClient
)
UpdateServiceLevelObjective
(
ctx
context
.
Context
,
req
*
monitoringpb
.
UpdateServiceLevelObjectiveRequest
,
opts
...
gax
.
CallOption
)
(
*
monitoringpb
.
ServiceLevelObjective
,
error
)
UpdateServiceLevelObjective update the given ServiceLevelObjective.
Example
package
main
import
(
"context"
monitoring
"cloud.google.com/go/monitoring/apiv3/v2"
monitoringpb
"google.golang.org/genproto/googleapis/monitoring/v3"
)
func
main
()
{
ctx
:=
context
.
Background
()
c
,
err
:=
monitoring
.
NewServiceMonitoringClient
(
ctx
)
if
err
!=
nil
{
// TODO: Handle error.
}
defer
c
.
Close
()
req
:=
& monitoringpb
.
UpdateServiceLevelObjectiveRequest
{
// TODO: Fill request struct fields.
// See https://pkg.go.dev/google.golang.org/genproto/googleapis/monitoring/v3#UpdateServiceLevelObjectiveRequest.
}
resp
,
err
:=
c
.
UpdateServiceLevelObjective
(
ctx
,
req
)
if
err
!=
nil
{
// TODO: Handle error.
}
// TODO: Use resp.
_
=
resp
}
TimeSeriesDataIterator
type
TimeSeriesDataIterator
struct
{
// Response is the raw response for the current page.
// It must be cast to the RPC response type.
// Calling Next() or InternalFetch() updates this value.
Response
interface
{}
// InternalFetch is for use by the Google Cloud Libraries only.
// It is not part of the stable interface of this package.
//
// InternalFetch returns results from a single call to the underlying RPC.
// The number of results is no greater than pageSize.
// If there are no more results, nextPageToken is empty and err is nil.
InternalFetch
func
(
pageSize
int
,
pageToken
string
)
(
results
[]
*
monitoringpb
.
TimeSeriesData
,
nextPageToken
string
,
err
error
)
// contains filtered or unexported fields
}
TimeSeriesDataIterator manages a stream of *monitoringpb.TimeSeriesData.
func (*TimeSeriesDataIterator) Next
func
(
it
*
TimeSeriesDataIterator
)
Next
()
(
*
monitoringpb
.
TimeSeriesData
,
error
)
Next returns the next result. Its second return value is iterator.Done if there are no more results. Once Next returns Done, all subsequent calls will return Done.
func (*TimeSeriesDataIterator) PageInfo
func
(
it
*
TimeSeriesDataIterator
)
PageInfo
()
*
iterator
.
PageInfo
PageInfo supports pagination. See the google.golang.org/api/iterator package for details.
TimeSeriesIterator
type
TimeSeriesIterator
struct
{
// Response is the raw response for the current page.
// It must be cast to the RPC response type.
// Calling Next() or InternalFetch() updates this value.
Response
interface
{}
// InternalFetch is for use by the Google Cloud Libraries only.
// It is not part of the stable interface of this package.
//
// InternalFetch returns results from a single call to the underlying RPC.
// The number of results is no greater than pageSize.
// If there are no more results, nextPageToken is empty and err is nil.
InternalFetch
func
(
pageSize
int
,
pageToken
string
)
(
results
[]
*
monitoringpb
.
TimeSeries
,
nextPageToken
string
,
err
error
)
// contains filtered or unexported fields
}
TimeSeriesIterator manages a stream of *monitoringpb.TimeSeries.
func (*TimeSeriesIterator) Next
func
(
it
*
TimeSeriesIterator
)
Next
()
(
*
monitoringpb
.
TimeSeries
,
error
)
Next returns the next result. Its second return value is iterator.Done if there are no more results. Once Next returns Done, all subsequent calls will return Done.
func (*TimeSeriesIterator) PageInfo
func
(
it
*
TimeSeriesIterator
)
PageInfo
()
*
iterator
.
PageInfo
PageInfo supports pagination. See the google.golang.org/api/iterator package for details.
UptimeCheckCallOptions
type
UptimeCheckCallOptions
struct
{
ListUptimeCheckConfigs
[]
gax
.
CallOption
GetUptimeCheckConfig
[]
gax
.
CallOption
CreateUptimeCheckConfig
[]
gax
.
CallOption
UpdateUptimeCheckConfig
[]
gax
.
CallOption
DeleteUptimeCheckConfig
[]
gax
.
CallOption
ListUptimeCheckIps
[]
gax
.
CallOption
}
UptimeCheckCallOptions contains the retry settings for each method of UptimeCheckClient.
UptimeCheckClient
type
UptimeCheckClient
struct
{
// The call options for this service.
CallOptions
*
UptimeCheckCallOptions
// contains filtered or unexported fields
}
UptimeCheckClient is a client for interacting with Cloud Monitoring API. Methods, except Close, may be called concurrently. However, fields must not be modified concurrently with method calls.
The UptimeCheckService API is used to manage (list, create, delete, edit) Uptime check configurations in the Stackdriver Monitoring product. An Uptime check is a piece of configuration that determines which resources and services to monitor for availability. These configurations can also be configured interactively by navigating to the [Cloud Console] ( http://console.cloud.google.com (at http://console.cloud.google.com )), selecting the appropriate project, clicking on “Monitoring” on the left-hand side to navigate to Stackdriver, and then clicking on “Uptime”.
func NewUptimeCheckClient
func
NewUptimeCheckClient
(
ctx
context
.
Context
,
opts
...
option
.
ClientOption
)
(
*
UptimeCheckClient
,
error
)
NewUptimeCheckClient creates a new uptime check service client based on gRPC. The returned client must be Closed when it is done being used to clean up its underlying connections.
The UptimeCheckService API is used to manage (list, create, delete, edit) Uptime check configurations in the Stackdriver Monitoring product. An Uptime check is a piece of configuration that determines which resources and services to monitor for availability. These configurations can also be configured interactively by navigating to the [Cloud Console] ( http://console.cloud.google.com (at http://console.cloud.google.com )), selecting the appropriate project, clicking on “Monitoring” on the left-hand side to navigate to Stackdriver, and then clicking on “Uptime”.
Example
package
main
import
(
"context"
monitoring
"cloud.google.com/go/monitoring/apiv3/v2"
)
func
main
()
{
ctx
:=
context
.
Background
()
c
,
err
:=
monitoring
.
NewUptimeCheckClient
(
ctx
)
if
err
!=
nil
{
// TODO: Handle error.
}
defer
c
.
Close
()
// TODO: Use client.
_
=
c
}
func (*UptimeCheckClient) Close
func
(
c
*
UptimeCheckClient
)
Close
()
error
Close closes the connection to the API service. The user should invoke this when the client is no longer required.
func (*UptimeCheckClient) Connection
func
(
c
*
UptimeCheckClient
)
Connection
()
*
grpc
.
ClientConn
Connection returns a connection to the API service.
Deprecated.
func (*UptimeCheckClient) CreateUptimeCheckConfig
func
(
c
*
UptimeCheckClient
)
CreateUptimeCheckConfig
(
ctx
context
.
Context
,
req
*
monitoringpb
.
CreateUptimeCheckConfigRequest
,
opts
...
gax
.
CallOption
)
(
*
monitoringpb
.
UptimeCheckConfig
,
error
)
CreateUptimeCheckConfig creates a new Uptime check configuration.
Example
package
main
import
(
"context"
monitoring
"cloud.google.com/go/monitoring/apiv3/v2"
monitoringpb
"google.golang.org/genproto/googleapis/monitoring/v3"
)
func
main
()
{
ctx
:=
context
.
Background
()
c
,
err
:=
monitoring
.
NewUptimeCheckClient
(
ctx
)
if
err
!=
nil
{
// TODO: Handle error.
}
defer
c
.
Close
()
req
:=
& monitoringpb
.
CreateUptimeCheckConfigRequest
{
// TODO: Fill request struct fields.
// See https://pkg.go.dev/google.golang.org/genproto/googleapis/monitoring/v3#CreateUptimeCheckConfigRequest.
}
resp
,
err
:=
c
.
CreateUptimeCheckConfig
(
ctx
,
req
)
if
err
!=
nil
{
// TODO: Handle error.
}
// TODO: Use resp.
_
=
resp
}
func (*UptimeCheckClient) DeleteUptimeCheckConfig
func
(
c
*
UptimeCheckClient
)
DeleteUptimeCheckConfig
(
ctx
context
.
Context
,
req
*
monitoringpb
.
DeleteUptimeCheckConfigRequest
,
opts
...
gax
.
CallOption
)
error
DeleteUptimeCheckConfig deletes an Uptime check configuration. Note that this method will fail if the Uptime check configuration is referenced by an alert policy or other dependent configs that would be rendered invalid by the deletion.
Example
package
main
import
(
"context"
monitoring
"cloud.google.com/go/monitoring/apiv3/v2"
monitoringpb
"google.golang.org/genproto/googleapis/monitoring/v3"
)
func
main
()
{
ctx
:=
context
.
Background
()
c
,
err
:=
monitoring
.
NewUptimeCheckClient
(
ctx
)
if
err
!=
nil
{
// TODO: Handle error.
}
defer
c
.
Close
()
req
:=
& monitoringpb
.
DeleteUptimeCheckConfigRequest
{
// TODO: Fill request struct fields.
// See https://pkg.go.dev/google.golang.org/genproto/googleapis/monitoring/v3#DeleteUptimeCheckConfigRequest.
}
err
=
c
.
DeleteUptimeCheckConfig
(
ctx
,
req
)
if
err
!=
nil
{
// TODO: Handle error.
}
}
func (*UptimeCheckClient) GetUptimeCheckConfig
func
(
c
*
UptimeCheckClient
)
GetUptimeCheckConfig
(
ctx
context
.
Context
,
req
*
monitoringpb
.
GetUptimeCheckConfigRequest
,
opts
...
gax
.
CallOption
)
(
*
monitoringpb
.
UptimeCheckConfig
,
error
)
GetUptimeCheckConfig gets a single Uptime check configuration.
Example
package
main
import
(
"context"
monitoring
"cloud.google.com/go/monitoring/apiv3/v2"
monitoringpb
"google.golang.org/genproto/googleapis/monitoring/v3"
)
func
main
()
{
ctx
:=
context
.
Background
()
c
,
err
:=
monitoring
.
NewUptimeCheckClient
(
ctx
)
if
err
!=
nil
{
// TODO: Handle error.
}
defer
c
.
Close
()
req
:=
& monitoringpb
.
GetUptimeCheckConfigRequest
{
// TODO: Fill request struct fields.
// See https://pkg.go.dev/google.golang.org/genproto/googleapis/monitoring/v3#GetUptimeCheckConfigRequest.
}
resp
,
err
:=
c
.
GetUptimeCheckConfig
(
ctx
,
req
)
if
err
!=
nil
{
// TODO: Handle error.
}
// TODO: Use resp.
_
=
resp
}
func (*UptimeCheckClient) ListUptimeCheckConfigs
func
(
c
*
UptimeCheckClient
)
ListUptimeCheckConfigs
(
ctx
context
.
Context
,
req
*
monitoringpb
.
ListUptimeCheckConfigsRequest
,
opts
...
gax
.
CallOption
)
*
UptimeCheckConfigIterator
ListUptimeCheckConfigs lists the existing valid Uptime check configurations for the project (leaving out any invalid configurations).
Example
package
main
import
(
"context"
monitoring
"cloud.google.com/go/monitoring/apiv3/v2"
"google.golang.org/api/iterator"
monitoringpb
"google.golang.org/genproto/googleapis/monitoring/v3"
)
func
main
()
{
ctx
:=
context
.
Background
()
c
,
err
:=
monitoring
.
NewUptimeCheckClient
(
ctx
)
if
err
!=
nil
{
// TODO: Handle error.
}
defer
c
.
Close
()
req
:=
& monitoringpb
.
ListUptimeCheckConfigsRequest
{
// TODO: Fill request struct fields.
// See https://pkg.go.dev/google.golang.org/genproto/googleapis/monitoring/v3#ListUptimeCheckConfigsRequest.
}
it
:=
c
.
ListUptimeCheckConfigs
(
ctx
,
req
)
for
{
resp
,
err
:=
it
.
Next
()
if
err
==
iterator
.
Done
{
break
}
if
err
!=
nil
{
// TODO: Handle error.
}
// TODO: Use resp.
_
=
resp
}
}
func (*UptimeCheckClient) ListUptimeCheckIps
func
(
c
*
UptimeCheckClient
)
ListUptimeCheckIps
(
ctx
context
.
Context
,
req
*
monitoringpb
.
ListUptimeCheckIpsRequest
,
opts
...
gax
.
CallOption
)
*
UptimeCheckIpIterator
ListUptimeCheckIps returns the list of IP addresses that checkers run from
Example
package
main
import
(
"context"
monitoring
"cloud.google.com/go/monitoring/apiv3/v2"
"google.golang.org/api/iterator"
monitoringpb
"google.golang.org/genproto/googleapis/monitoring/v3"
)
func
main
()
{
ctx
:=
context
.
Background
()
c
,
err
:=
monitoring
.
NewUptimeCheckClient
(
ctx
)
if
err
!=
nil
{
// TODO: Handle error.
}
defer
c
.
Close
()
req
:=
& monitoringpb
.
ListUptimeCheckIpsRequest
{
// TODO: Fill request struct fields.
// See https://pkg.go.dev/google.golang.org/genproto/googleapis/monitoring/v3#ListUptimeCheckIpsRequest.
}
it
:=
c
.
ListUptimeCheckIps
(
ctx
,
req
)
for
{
resp
,
err
:=
it
.
Next
()
if
err
==
iterator
.
Done
{
break
}
if
err
!=
nil
{
// TODO: Handle error.
}
// TODO: Use resp.
_
=
resp
}
}
func (*UptimeCheckClient) UpdateUptimeCheckConfig
func
(
c
*
UptimeCheckClient
)
UpdateUptimeCheckConfig
(
ctx
context
.
Context
,
req
*
monitoringpb
.
UpdateUptimeCheckConfigRequest
,
opts
...
gax
.
CallOption
)
(
*
monitoringpb
.
UptimeCheckConfig
,
error
)
UpdateUptimeCheckConfig updates an Uptime check configuration. You can either replace the entire configuration with a new one or replace only certain fields in the current configuration by specifying the fields to be updated via updateMask. Returns the updated configuration.
Example
package
main
import
(
"context"
monitoring
"cloud.google.com/go/monitoring/apiv3/v2"
monitoringpb
"google.golang.org/genproto/googleapis/monitoring/v3"
)
func
main
()
{
ctx
:=
context
.
Background
()
c
,
err
:=
monitoring
.
NewUptimeCheckClient
(
ctx
)
if
err
!=
nil
{
// TODO: Handle error.
}
defer
c
.
Close
()
req
:=
& monitoringpb
.
UpdateUptimeCheckConfigRequest
{
// TODO: Fill request struct fields.
// See https://pkg.go.dev/google.golang.org/genproto/googleapis/monitoring/v3#UpdateUptimeCheckConfigRequest.
}
resp
,
err
:=
c
.
UpdateUptimeCheckConfig
(
ctx
,
req
)
if
err
!=
nil
{
// TODO: Handle error.
}
// TODO: Use resp.
_
=
resp
}
UptimeCheckConfigIterator
type
UptimeCheckConfigIterator
struct
{
// Response is the raw response for the current page.
// It must be cast to the RPC response type.
// Calling Next() or InternalFetch() updates this value.
Response
interface
{}
// InternalFetch is for use by the Google Cloud Libraries only.
// It is not part of the stable interface of this package.
//
// InternalFetch returns results from a single call to the underlying RPC.
// The number of results is no greater than pageSize.
// If there are no more results, nextPageToken is empty and err is nil.
InternalFetch
func
(
pageSize
int
,
pageToken
string
)
(
results
[]
*
monitoringpb
.
UptimeCheckConfig
,
nextPageToken
string
,
err
error
)
// contains filtered or unexported fields
}
UptimeCheckConfigIterator manages a stream of *monitoringpb.UptimeCheckConfig.
func (*UptimeCheckConfigIterator) Next
func
(
it
*
UptimeCheckConfigIterator
)
Next
()
(
*
monitoringpb
.
UptimeCheckConfig
,
error
)
Next returns the next result. Its second return value is iterator.Done if there are no more results. Once Next returns Done, all subsequent calls will return Done.
func (*UptimeCheckConfigIterator) PageInfo
func
(
it
*
UptimeCheckConfigIterator
)
PageInfo
()
*
iterator
.
PageInfo
PageInfo supports pagination. See the google.golang.org/api/iterator package for details.
UptimeCheckIpIterator
type
UptimeCheckIpIterator
struct
{
// Response is the raw response for the current page.
// It must be cast to the RPC response type.
// Calling Next() or InternalFetch() updates this value.
Response
interface
{}
// InternalFetch is for use by the Google Cloud Libraries only.
// It is not part of the stable interface of this package.
//
// InternalFetch returns results from a single call to the underlying RPC.
// The number of results is no greater than pageSize.
// If there are no more results, nextPageToken is empty and err is nil.
InternalFetch
func
(
pageSize
int
,
pageToken
string
)
(
results
[]
*
monitoringpb
.
UptimeCheckIp
,
nextPageToken
string
,
err
error
)
// contains filtered or unexported fields
}
UptimeCheckIpIterator manages a stream of *monitoringpb.UptimeCheckIp.
func (*UptimeCheckIpIterator) Next
func
(
it
*
UptimeCheckIpIterator
)
Next
()
(
*
monitoringpb
.
UptimeCheckIp
,
error
)
Next returns the next result. Its second return value is iterator.Done if there are no more results. Once Next returns Done, all subsequent calls will return Done.
func (*UptimeCheckIpIterator) PageInfo
func
(
it
*
UptimeCheckIpIterator
)
PageInfo
()
*
iterator
.
PageInfo
PageInfo supports pagination. See the google.golang.org/api/iterator package for details.