import * as pulumi from "@pulumi/pulumi"; import * as outputs from "../types/output"; /** * A Monitoring Service is the root resource under which operational aspects of a * generic service are accessible. A service is some discrete, autonomous, and * network-accessible unit, designed to solve an individual concern * * An Cluster Istio monitoring service is automatically created by GCP to monitor * Cluster Istio services. * * To get more information about Service, see: * * * [API documentation](https://cloud.google.com/monitoring/api/ref_v3/rest/v3/services) * * How-to Guides * * [Service Monitoring](https://cloud.google.com/monitoring/service-monitoring) * * [Monitoring API Documentation](https://cloud.google.com/monitoring/api/v3/) * * ## Example Usage * * ### Monitoring Cluster Istio Service * * ```typescript * import * as pulumi from "@pulumi/pulumi"; * import * as gcp from "@pulumi/gcp"; * * // Monitors the default ClusterIstio service * const _default = gcp.monitoring.getClusterIstioService({ * location: "us-west2-a", * clusterName: "west", * serviceNamespace: "istio-system", * serviceName: "istio-policy", * }); * ``` */ export declare function getClusterIstioService(args: GetClusterIstioServiceArgs, opts?: pulumi.InvokeOptions): Promise; /** * A collection of arguments for invoking getClusterIstioService. */ export interface GetClusterIstioServiceArgs { /** * The name of the Kubernetes cluster in which this Istio service * is defined. Corresponds to the clusterName resource label in k8sCluster resources. */ clusterName: string; /** * The location of the Kubernetes cluster in which this Istio service * is defined. Corresponds to the location resource label in k8sCluster resources. */ location: string; /** * The ID of the project in which the resource belongs. * If it is not provided, the provider project is used. */ project?: string; /** * The name of the Istio service underlying this service. * Corresponds to the destinationServiceName metric label in Istio metrics. * * - - - * * Other optional fields include: */ serviceName: string; /** * The namespace of the Istio service underlying this service. * Corresponds to the destinationServiceNamespace metric label in Istio metrics. */ serviceNamespace: string; } /** * A collection of values returned by getClusterIstioService. */ export interface GetClusterIstioServiceResult { readonly clusterName: string; /** * Name used for UI elements listing this (Monitoring) Service. */ readonly displayName: string; /** * The provider-assigned unique ID for this managed resource. */ readonly id: string; readonly location: string; /** * The full REST resource name for this channel. The syntax is: * `projects/[PROJECT_ID]/services/[SERVICE_ID]`. */ readonly name: string; readonly project?: string; readonly serviceId: string; readonly serviceName: string; readonly serviceNamespace: string; /** * Configuration for how to query telemetry on the Service. Structure is documented below. */ readonly telemetries: outputs.monitoring.GetClusterIstioServiceTelemetry[]; readonly userLabels: { [key: string]: string; }; } /** * A Monitoring Service is the root resource under which operational aspects of a * generic service are accessible. A service is some discrete, autonomous, and * network-accessible unit, designed to solve an individual concern * * An Cluster Istio monitoring service is automatically created by GCP to monitor * Cluster Istio services. * * To get more information about Service, see: * * * [API documentation](https://cloud.google.com/monitoring/api/ref_v3/rest/v3/services) * * How-to Guides * * [Service Monitoring](https://cloud.google.com/monitoring/service-monitoring) * * [Monitoring API Documentation](https://cloud.google.com/monitoring/api/v3/) * * ## Example Usage * * ### Monitoring Cluster Istio Service * * ```typescript * import * as pulumi from "@pulumi/pulumi"; * import * as gcp from "@pulumi/gcp"; * * // Monitors the default ClusterIstio service * const _default = gcp.monitoring.getClusterIstioService({ * location: "us-west2-a", * clusterName: "west", * serviceNamespace: "istio-system", * serviceName: "istio-policy", * }); * ``` */ export declare function getClusterIstioServiceOutput(args: GetClusterIstioServiceOutputArgs, opts?: pulumi.InvokeOutputOptions): pulumi.Output; /** * A collection of arguments for invoking getClusterIstioService. */ export interface GetClusterIstioServiceOutputArgs { /** * The name of the Kubernetes cluster in which this Istio service * is defined. Corresponds to the clusterName resource label in k8sCluster resources. */ clusterName: pulumi.Input; /** * The location of the Kubernetes cluster in which this Istio service * is defined. Corresponds to the location resource label in k8sCluster resources. */ location: pulumi.Input; /** * The ID of the project in which the resource belongs. * If it is not provided, the provider project is used. */ project?: pulumi.Input; /** * The name of the Istio service underlying this service. * Corresponds to the destinationServiceName metric label in Istio metrics. * * - - - * * Other optional fields include: */ serviceName: pulumi.Input; /** * The namespace of the Istio service underlying this service. * Corresponds to the destinationServiceNamespace metric label in Istio metrics. */ serviceNamespace: pulumi.Input; }