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 * * A monitoring Istio Canonical Service is automatically created by GCP to monitor * Istio Canonical 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 Istio Canonical Service * * ```typescript * import * as pulumi from "@pulumi/pulumi"; * import * as gcp from "@pulumi/gcp"; * * // Monitors the default MeshIstio service * const _default = gcp.monitoring.getIstioCanonicalService({ * meshUid: "proj-573164786102", * canonicalServiceNamespace: "istio-system", * canonicalService: "prometheus", * }); * ``` */ export declare function getIstioCanonicalService(args: GetIstioCanonicalServiceArgs, opts?: pulumi.InvokeOptions): Promise; /** * A collection of arguments for invoking getIstioCanonicalService. */ export interface GetIstioCanonicalServiceArgs { /** * The name of the canonical service underlying this service. * Corresponds to the destinationCanonicalServiceName metric label in label in Istio metrics. * * - - - * * Other optional fields include: */ canonicalService: string; /** * The namespace of the canonical service underlying this service. * Corresponds to the destinationCanonicalServiceNamespace metric label in Istio metrics. */ canonicalServiceNamespace: string; /** * Identifier for the mesh in which this Istio service is defined. * Corresponds to the meshUid metric label in Istio metrics. */ meshUid: string; /** * The ID of the project in which the resource belongs. * If it is not provided, the provider project is used. */ project?: string; } /** * A collection of values returned by getIstioCanonicalService. */ export interface GetIstioCanonicalServiceResult { readonly canonicalService: string; readonly canonicalServiceNamespace: 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 meshUid: 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; /** * Configuration for how to query telemetry on the Service. Structure is documented below. */ readonly telemetries: outputs.monitoring.GetIstioCanonicalServiceTelemetry[]; 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 * * A monitoring Istio Canonical Service is automatically created by GCP to monitor * Istio Canonical 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 Istio Canonical Service * * ```typescript * import * as pulumi from "@pulumi/pulumi"; * import * as gcp from "@pulumi/gcp"; * * // Monitors the default MeshIstio service * const _default = gcp.monitoring.getIstioCanonicalService({ * meshUid: "proj-573164786102", * canonicalServiceNamespace: "istio-system", * canonicalService: "prometheus", * }); * ``` */ export declare function getIstioCanonicalServiceOutput(args: GetIstioCanonicalServiceOutputArgs, opts?: pulumi.InvokeOutputOptions): pulumi.Output; /** * A collection of arguments for invoking getIstioCanonicalService. */ export interface GetIstioCanonicalServiceOutputArgs { /** * The name of the canonical service underlying this service. * Corresponds to the destinationCanonicalServiceName metric label in label in Istio metrics. * * - - - * * Other optional fields include: */ canonicalService: pulumi.Input; /** * The namespace of the canonical service underlying this service. * Corresponds to the destinationCanonicalServiceNamespace metric label in Istio metrics. */ canonicalServiceNamespace: pulumi.Input; /** * Identifier for the mesh in which this Istio service is defined. * Corresponds to the meshUid metric label in Istio metrics. */ meshUid: 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; }