// ListMonitoredResourceDescriptors lists the monitored resource descriptors used by Stackdriver Logging. func (c *Client) ListMonitoredResourceDescriptors(ctx context.Context, req *loggingpb.ListMonitoredResourceDescriptorsRequest) *MonitoredResourceDescriptorIterator { md, _ := metadata.FromContext(ctx) ctx = metadata.NewContext(ctx, metadata.Join(md, c.metadata)) it := &MonitoredResourceDescriptorIterator{} fetch := func(pageSize int, pageToken string) (string, error) { var resp *loggingpb.ListMonitoredResourceDescriptorsResponse req.PageToken = pageToken if pageSize > math.MaxInt32 { req.PageSize = math.MaxInt32 } else { req.PageSize = int32(pageSize) } err := gax.Invoke(ctx, func(ctx context.Context) error { var err error resp, err = c.client.ListMonitoredResourceDescriptors(ctx, req) return err }, c.CallOptions.ListMonitoredResourceDescriptors...) if err != nil { return "", err } it.items = append(it.items, resp.ResourceDescriptors...) return resp.NextPageToken, nil } bufLen := func() int { return len(it.items) } takeBuf := func() interface{} { b := it.items it.items = nil return b } it.pageInfo, it.nextFunc = iterator.NewPageInfo(fetch, bufLen, takeBuf) return it }
// ListLogMetrics lists logs-based metrics. func (c *Client) ListLogMetrics(ctx context.Context, req *google_logging_v2.ListLogMetricsRequest) *LogMetricIterator { ctx = metadata.NewContext(ctx, c.metadata) it := &LogMetricIterator{} it.apiCall = func() error { if it.atLastPage { return Done } var resp *google_logging_v2.ListLogMetricsResponse err := gax.Invoke(ctx, func(ctx context.Context) error { var err error req.PageToken = it.nextPageToken req.PageSize = it.pageSize resp, err = c.client.ListLogMetrics(ctx, req) return err }, c.callOptions["ListLogMetrics"]...) if err != nil { return err } if resp.NextPageToken == "" { it.atLastPage = true } else { it.nextPageToken = resp.NextPageToken } it.items = resp.Metrics return nil } return it }
// ListSubscriptions lists matching subscriptions. func (c *SubscriberClient) ListSubscriptions(ctx context.Context, req *pubsubpb.ListSubscriptionsRequest) *SubscriptionIterator { md, _ := metadata.FromContext(ctx) ctx = metadata.NewContext(ctx, metadata.Join(md, c.metadata)) it := &SubscriptionIterator{} it.InternalFetch = func(pageSize int, pageToken string) ([]*pubsubpb.Subscription, string, error) { var resp *pubsubpb.ListSubscriptionsResponse req.PageToken = pageToken if pageSize > math.MaxInt32 { req.PageSize = math.MaxInt32 } else { req.PageSize = int32(pageSize) } err := gax.Invoke(ctx, func(ctx context.Context) error { var err error resp, err = c.subscriberClient.ListSubscriptions(ctx, req) return err }, c.CallOptions.ListSubscriptions...) if err != nil { return nil, "", err } return resp.Subscriptions, resp.NextPageToken, nil } fetch := func(pageSize int, pageToken string) (string, error) { items, nextPageToken, err := it.InternalFetch(pageSize, pageToken) if err != nil { return "", err } it.items = append(it.items, items...) return nextPageToken, nil } it.pageInfo, it.nextFunc = iterator.NewPageInfo(fetch, it.bufLen, it.takeBuf) return it }
// ModifyAckDeadline modifies the ack deadline for a specific message. This method is useful // to indicate that more time is needed to process a message by the // subscriber, or to make the message available for redelivery if the // processing was interrupted. func (c *SubscriberClient) ModifyAckDeadline(ctx context.Context, req *googleapis_pubsub_v1.ModifyAckDeadlineRequest) error { ctx = metadata.NewContext(ctx, c.metadata) err := gax.Invoke(ctx, func(ctx context.Context) error { var err error _, err = c.client.ModifyAckDeadline(ctx, req) return err }, c.CallOptions.ModifyAckDeadline...) return err }
// DeleteSubscription deletes an existing subscription. All pending messages in the subscription // are immediately dropped. Calls to `Pull` after deletion will return // `NOT_FOUND`. After a subscription is deleted, a new one may be created with // the same name, but the new one has no association with the old // subscription, or its topic unless the same topic is specified. func (c *SubscriberClient) DeleteSubscription(ctx context.Context, req *pubsubpb.DeleteSubscriptionRequest) error { ctx = metadata.NewContext(ctx, c.metadata) err := gax.Invoke(ctx, func(ctx context.Context) error { var err error _, err = c.client.DeleteSubscription(ctx, req) return err }, c.CallOptions.DeleteSubscription...) return err }
// DeleteMetricDescriptor deletes a metric descriptor. Only user-created // [custom metrics](/monitoring/custom-metrics) can be deleted. func (c *MetricClient) DeleteMetricDescriptor(ctx context.Context, req *monitoringpb.DeleteMetricDescriptorRequest) error { ctx = metadata.NewContext(ctx, c.metadata) err := gax.Invoke(ctx, func(ctx context.Context) error { var err error _, err = c.client.DeleteMetricDescriptor(ctx, req) return err }, c.CallOptions.DeleteMetricDescriptor...) return err }
// DeleteLogMetric deletes a logs-based metric. func (c *Client) DeleteLogMetric(ctx context.Context, req *google_logging_v2.DeleteLogMetricRequest) error { ctx = metadata.NewContext(ctx, c.metadata) err := gax.Invoke(ctx, func(ctx context.Context) error { var err error _, err = c.client.DeleteLogMetric(ctx, req) return err }, c.callOptions["DeleteLogMetric"]...) return err }
// Acknowledge acknowledges the messages associated with the `ack_ids` in the // `AcknowledgeRequest`. The Pub/Sub system can remove the relevant messages // from the subscription. // // Acknowledging a message whose ack deadline has expired may succeed, // but such a message may be redelivered later. Acknowledging a message more // than once will not result in an error. func (c *SubscriberClient) Acknowledge(ctx context.Context, req *pubsubpb.AcknowledgeRequest) error { ctx = metadata.NewContext(ctx, c.metadata) err := gax.Invoke(ctx, func(ctx context.Context) error { var err error _, err = c.client.Acknowledge(ctx, req) return err }, c.CallOptions.Acknowledge...) return err }
// **Stackdriver Monitoring Agent only:** Creates a new time series. // // <aside class="caution">This method is only for use by the Google Monitoring Agent. // Use [projects.timeSeries.create][google.monitoring.v3.MetricService.CreateTimeSeries] // instead.</aside> func (c *AgentTranslationClient) CreateCollectdTimeSeries(ctx context.Context, req *monitoringpb.CreateCollectdTimeSeriesRequest) error { ctx = metadata.NewContext(ctx, c.metadata) err := gax.Invoke(ctx, func(ctx context.Context) error { var err error _, err = c.client.CreateCollectdTimeSeries(ctx, req) return err }, c.CallOptions.CreateCollectdTimeSeries...) return err }
// DeleteGroup deletes an existing group. The project ID in the URL path must refer to a // Stackdriver account. func (c *GroupClient) DeleteGroup(ctx context.Context, req *monitoringpb.DeleteGroupRequest) error { ctx = metadata.NewContext(ctx, c.metadata) err := gax.Invoke(ctx, func(ctx context.Context) error { var err error _, err = c.client.DeleteGroup(ctx, req) return err }, c.CallOptions.DeleteGroup...) return err }
// DeleteLog deletes a log and all its log entries. // The log will reappear if it receives new entries. func (c *Client) DeleteLog(ctx context.Context, req *loggingpb.DeleteLogRequest) error { ctx = metadata.NewContext(ctx, c.metadata) err := gax.Invoke(ctx, func(ctx context.Context) error { var err error _, err = c.client.DeleteLog(ctx, req) return err }, c.CallOptions.DeleteLog...) return err }
// DeleteTopic deletes the topic with the given name. Returns `NOT_FOUND` if the topic // does not exist. After a topic is deleted, a new topic may be created with // the same name; this is an entirely new topic with none of the old // configuration or subscriptions. Existing subscriptions to this topic are // not deleted, but their `topic` field is set to `_deleted-topic_`. func (c *PublisherClient) DeleteTopic(ctx context.Context, req *pubsubpb.DeleteTopicRequest) error { ctx = metadata.NewContext(ctx, c.metadata) err := gax.Invoke(ctx, func(ctx context.Context) error { var err error _, err = c.client.DeleteTopic(ctx, req) return err }, c.CallOptions.DeleteTopic...) return err }
// ModifyPushConfig modifies the `PushConfig` for a specified subscription. // // This may be used to change a push subscription to a pull one (signified by // an empty `PushConfig`) or vice versa, or change the endpoint URL and other // attributes of a push subscription. Messages will accumulate for delivery // continuously through the call regardless of changes to the `PushConfig`. func (c *SubscriberClient) ModifyPushConfig(ctx context.Context, req *pubsubpb.ModifyPushConfigRequest) error { ctx = metadata.NewContext(ctx, c.metadata) err := gax.Invoke(ctx, func(ctx context.Context) error { var err error _, err = c.client.ModifyPushConfig(ctx, req) return err }, c.CallOptions.ModifyPushConfig...) return err }
// DeleteBreakpoint deletes the breakpoint from the debuggee. func (c *Debugger2Client) DeleteBreakpoint(ctx context.Context, req *clouddebuggerpb.DeleteBreakpointRequest) error { md, _ := metadata.FromContext(ctx) ctx = metadata.NewContext(ctx, metadata.Join(md, c.metadata)) err := gax.Invoke(ctx, func(ctx context.Context) error { var err error _, err = c.debugger2Client.DeleteBreakpoint(ctx, req) return err }, c.CallOptions.DeleteBreakpoint...) return err }
// ModifyAckDeadline modifies the ack deadline for a specific message. This method is useful // to indicate that more time is needed to process a message by the // subscriber, or to make the message available for redelivery if the // processing was interrupted. Note that this does not modify the // subscription-level `ackDeadlineSeconds` used for subsequent messages. func (c *SubscriberClient) ModifyAckDeadline(ctx context.Context, req *pubsubpb.ModifyAckDeadlineRequest) error { md, _ := metadata.FromContext(ctx) ctx = metadata.NewContext(ctx, metadata.Join(md, c.metadata)) err := gax.Invoke(ctx, func(ctx context.Context) error { var err error _, err = c.subscriberClient.ModifyAckDeadline(ctx, req) return err }, c.CallOptions.ModifyAckDeadline...) return err }
// DeleteLogMetric deletes a logs-based metric. func (c *MetricsClient) DeleteLogMetric(ctx context.Context, req *loggingpb.DeleteLogMetricRequest) error { md, _ := metadata.FromContext(ctx) ctx = metadata.NewContext(ctx, metadata.Join(md, c.metadata)) err := gax.Invoke(ctx, func(ctx context.Context) error { var err error _, err = c.metricsClient.DeleteLogMetric(ctx, req) return err }, c.CallOptions.DeleteLogMetric...) return err }
// DeleteServiceAccountKey deletes a [ServiceAccountKey][google.iam.admin.v1.ServiceAccountKey]. func (c *IamClient) DeleteServiceAccountKey(ctx context.Context, req *adminpb.DeleteServiceAccountKeyRequest) error { md, _ := metadata.FromContext(ctx) ctx = metadata.NewContext(ctx, metadata.Join(md, c.metadata)) err := gax.Invoke(ctx, func(ctx context.Context) error { var err error _, err = c.iamClient.DeleteServiceAccountKey(ctx, req) return err }, c.CallOptions.DeleteServiceAccountKey...) return err }
// 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. func (c *MetricClient) CreateTimeSeries(ctx context.Context, req *monitoringpb.CreateTimeSeriesRequest) error { md, _ := metadata.FromContext(ctx) ctx = metadata.NewContext(ctx, metadata.Join(md, c.metadata)) err := gax.Invoke(ctx, func(ctx context.Context) error { var err error _, err = c.metricClient.CreateTimeSeries(ctx, req) return err }, c.CallOptions.CreateTimeSeries...) return err }
// PatchTraces sends new traces to Stackdriver Trace or updates existing traces. If the ID // of a trace that you send matches that of an existing trace, any fields // in the existing trace and its spans are overwritten by the provided values, // and any new fields provided are merged with the existing trace data. If the // ID does not match, a new trace is created. func (c *Client) PatchTraces(ctx context.Context, req *cloudtracepb.PatchTracesRequest) error { md, _ := metadata.FromContext(ctx) ctx = metadata.NewContext(ctx, metadata.Join(md, c.metadata)) err := gax.Invoke(ctx, func(ctx context.Context) error { var err error _, err = c.client.PatchTraces(ctx, req) return err }, c.CallOptions.PatchTraces...) return err }
// WriteLogEntries writes log entries to Stackdriver Logging. All log entries are // written by this method. func (c *Client) WriteLogEntries(ctx context.Context, req *loggingpb.WriteLogEntriesRequest) (*loggingpb.WriteLogEntriesResponse, error) { ctx = metadata.NewContext(ctx, c.metadata) var resp *loggingpb.WriteLogEntriesResponse err := gax.Invoke(ctx, func(ctx context.Context) error { var err error resp, err = c.client.WriteLogEntries(ctx, req) return err }, c.CallOptions.WriteLogEntries...) if err != nil { return nil, err } return resp, nil }
// UpdateGroup updates an existing group. // You can change any group attributes except `name`. // The project ID in the URL path must refer to a Stackdriver account. func (c *GroupClient) UpdateGroup(ctx context.Context, req *monitoringpb.UpdateGroupRequest) (*monitoringpb.Group, error) { ctx = metadata.NewContext(ctx, c.metadata) var resp *monitoringpb.Group err := gax.Invoke(ctx, func(ctx context.Context) error { var err error resp, err = c.client.UpdateGroup(ctx, req) return err }, c.CallOptions.UpdateGroup...) if err != nil { return nil, err } return resp, nil }
// DeleteEvents deletes all error events of a given project. func (c *ErrorStatsClient) DeleteEvents(ctx context.Context, req *clouderrorreportingpb.DeleteEventsRequest) (*clouderrorreportingpb.DeleteEventsResponse, error) { ctx = metadata.NewContext(ctx, c.metadata) var resp *clouderrorreportingpb.DeleteEventsResponse err := gax.Invoke(ctx, func(ctx context.Context) error { var err error resp, err = c.client.DeleteEvents(ctx, req) return err }, c.CallOptions.DeleteEvents...) if err != nil { return nil, err } return resp, nil }
// UpdateLogMetric creates or updates a logs-based metric. func (c *MetricsClient) UpdateLogMetric(ctx context.Context, req *loggingpb.UpdateLogMetricRequest) (*loggingpb.LogMetric, error) { ctx = metadata.NewContext(ctx, c.metadata) var resp *loggingpb.LogMetric err := gax.Invoke(ctx, func(ctx context.Context) error { var err error resp, err = c.client.UpdateLogMetric(ctx, req) return err }, c.CallOptions.UpdateLogMetric...) if err != nil { return nil, err } return resp, nil }
// GetSubscription gets the configuration details of a subscription. func (c *SubscriberClient) GetSubscription(ctx context.Context, req *googleapis_pubsub_v1.GetSubscriptionRequest) (*googleapis_pubsub_v1.Subscription, error) { ctx = metadata.NewContext(ctx, c.metadata) var resp *googleapis_pubsub_v1.Subscription err := gax.Invoke(ctx, func(ctx context.Context) error { var err error resp, err = c.client.GetSubscription(ctx, req) return err }, c.CallOptions.GetSubscription...) if err != nil { return nil, err } return resp, nil }
// UpdateLogMetric creates or updates a logs-based metric. func (c *Client) UpdateLogMetric(ctx context.Context, req *google_logging_v2.UpdateLogMetricRequest) (*google_logging_v2.LogMetric, error) { ctx = metadata.NewContext(ctx, c.metadata) var resp *google_logging_v2.LogMetric err := gax.Invoke(ctx, func(ctx context.Context) error { var err error resp, err = c.client.UpdateLogMetric(ctx, req) return err }, c.callOptions["UpdateLogMetric"]...) if err != nil { return nil, err } return resp, nil }
// GetGroup get the specified group. func (c *ErrorGroupClient) GetGroup(ctx context.Context, req *clouderrorreportingpb.GetGroupRequest) (*clouderrorreportingpb.ErrorGroup, error) { ctx = metadata.NewContext(ctx, c.metadata) var resp *clouderrorreportingpb.ErrorGroup err := gax.Invoke(ctx, func(ctx context.Context) error { var err error resp, err = c.client.GetGroup(ctx, req) return err }, c.CallOptions.GetGroup...) if err != nil { return nil, err } return resp, nil }
// CreateSink creates a sink. func (c *ConfigClient) CreateSink(ctx context.Context, req *loggingpb.CreateSinkRequest) (*loggingpb.LogSink, error) { ctx = metadata.NewContext(ctx, c.metadata) var resp *loggingpb.LogSink err := gax.Invoke(ctx, func(ctx context.Context) error { var err error resp, err = c.client.CreateSink(ctx, req) return err }, c.CallOptions.CreateSink...) if err != nil { return nil, err } return resp, nil }
// Pull pulls messages from the server. Returns an empty list if there are no // messages available in the backlog. The server may return `UNAVAILABLE` if // there are too many concurrent pull requests pending for the given // subscription. func (c *SubscriberClient) Pull(ctx context.Context, req *pubsubpb.PullRequest) (*pubsubpb.PullResponse, error) { ctx = metadata.NewContext(ctx, c.metadata) var resp *pubsubpb.PullResponse err := gax.Invoke(ctx, func(ctx context.Context) error { var err error resp, err = c.client.Pull(ctx, req) return err }, c.CallOptions.Pull...) if err != nil { return nil, err } return resp, nil }
// GetTopic gets the configuration of a topic. func (c *PublisherClient) GetTopic(ctx context.Context, req *pubsubpb.GetTopicRequest) (*pubsubpb.Topic, error) { ctx = metadata.NewContext(ctx, c.metadata) var resp *pubsubpb.Topic err := gax.Invoke(ctx, func(ctx context.Context) error { var err error resp, err = c.client.GetTopic(ctx, req) return err }, c.CallOptions.GetTopic...) if err != nil { return nil, err } return resp, nil }
// CreateSubscription creates a subscription to a given topic for a given subscriber. // If the subscription already exists, returns `ALREADY_EXISTS`. // If the corresponding topic doesn't exist, returns `NOT_FOUND`. // // If the name is not provided in the request, the server will assign a random // name for this subscription on the same project as the topic. func (c *SubscriberClient) CreateSubscription(ctx context.Context, req *pubsubpb.Subscription) (*pubsubpb.Subscription, error) { ctx = metadata.NewContext(ctx, c.metadata) var resp *pubsubpb.Subscription err := gax.Invoke(ctx, func(ctx context.Context) error { var err error resp, err = c.client.CreateSubscription(ctx, req) return err }, c.CallOptions.CreateSubscription...) if err != nil { return nil, err } return resp, nil }