import * as pulumi from "@pulumi/pulumi"; import * as inputs from "../../types/input"; import * as outputs from "../../types/output"; /** * Create a Service. * Auto-naming is currently not supported for this resource. */ export declare class Service extends pulumi.CustomResource { /** * Get an existing Service resource's state with the given name, ID, and optional extra * properties used to qualify the lookup. * * @param name The _unique_ name of the resulting resource. * @param id The _unique_ provider ID of the resource to lookup. * @param opts Optional settings to control the behavior of the CustomResource. */ static get(name: string, id: pulumi.Input, opts?: pulumi.CustomResourceOptions): Service; /** * Returns true if the given object is an instance of Service. This is designed to work even * when multiple copies of the Pulumi SDK have been loaded into the same process. */ static isInstance(obj: any): obj is Service; /** * Type used for App Engine services. */ readonly appEngine: pulumi.Output; /** * Message that contains the service type and service labels of this service if it is a basic service. Documentation and examples here (https://cloud.google.com/stackdriver/docs/solutions/slo-monitoring/api/api-structures#basic-svc-w-basic-sli). */ readonly basicService: pulumi.Output; /** * Type used for Cloud Endpoints services. */ readonly cloudEndpoints: pulumi.Output; /** * Type used for Cloud Run services. */ readonly cloudRun: pulumi.Output; /** * Type used for Istio services that live in a Kubernetes cluster. */ readonly clusterIstio: pulumi.Output; /** * Custom service type. */ readonly custom: pulumi.Output; /** * Name used for UI elements listing this Service. */ readonly displayName: pulumi.Output; /** * Type used for GKE Namespaces. */ readonly gkeNamespace: pulumi.Output; /** * Type used for GKE Services (the Kubernetes concept of a service). */ readonly gkeService: pulumi.Output; /** * Type used for GKE Workloads. */ readonly gkeWorkload: pulumi.Output; /** * Type used for canonical services scoped to an Istio mesh. Metrics for Istio are documented here (https://istio.io/latest/docs/reference/config/metrics/) */ readonly istioCanonicalService: pulumi.Output; /** * Type used for Istio services scoped to an Istio mesh. */ readonly meshIstio: pulumi.Output; /** * Resource name for this Service. The format is: projects/[PROJECT_ID_OR_NUMBER]/services/[SERVICE_ID] */ readonly name: pulumi.Output; /** * Optional. The Service id to use for this Service. If omitted, an id will be generated instead. Must match the pattern [a-z0-9\-]+ */ readonly serviceId: pulumi.Output; /** * Configuration for how to query telemetry on a Service. */ readonly telemetry: pulumi.Output; /** * Labels which have been used to annotate the service. Label keys must start with a letter. Label keys and values may contain lowercase letters, numbers, underscores, and dashes. Label keys and values have a maximum length of 63 characters, and must be less than 128 bytes in size. Up to 64 label entries may be stored. For labels which do not have a semantic value, the empty string may be supplied for the label value. */ readonly userLabels: pulumi.Output<{ [key: string]: string; }>; readonly v3Id: pulumi.Output; readonly v3Id1: pulumi.Output; /** * Create a Service resource with the given unique name, arguments, and options. * * @param name The _unique_ name of the resource. * @param args The arguments to use to populate this resource's properties. * @param opts A bag of options that control this resource's behavior. */ constructor(name: string, args: ServiceArgs, opts?: pulumi.CustomResourceOptions); } /** * The set of arguments for constructing a Service resource. */ export interface ServiceArgs { /** * Type used for App Engine services. */ appEngine?: pulumi.Input; /** * Message that contains the service type and service labels of this service if it is a basic service. Documentation and examples here (https://cloud.google.com/stackdriver/docs/solutions/slo-monitoring/api/api-structures#basic-svc-w-basic-sli). */ basicService?: pulumi.Input; /** * Type used for Cloud Endpoints services. */ cloudEndpoints?: pulumi.Input; /** * Type used for Cloud Run services. */ cloudRun?: pulumi.Input; /** * Type used for Istio services that live in a Kubernetes cluster. */ clusterIstio?: pulumi.Input; /** * Custom service type. */ custom?: pulumi.Input; /** * Name used for UI elements listing this Service. */ displayName?: pulumi.Input; /** * Type used for GKE Namespaces. */ gkeNamespace?: pulumi.Input; /** * Type used for GKE Services (the Kubernetes concept of a service). */ gkeService?: pulumi.Input; /** * Type used for GKE Workloads. */ gkeWorkload?: pulumi.Input; /** * Type used for canonical services scoped to an Istio mesh. Metrics for Istio are documented here (https://istio.io/latest/docs/reference/config/metrics/) */ istioCanonicalService?: pulumi.Input; /** * Type used for Istio services scoped to an Istio mesh. */ meshIstio?: pulumi.Input; /** * Resource name for this Service. The format is: projects/[PROJECT_ID_OR_NUMBER]/services/[SERVICE_ID] */ name?: pulumi.Input; /** * Optional. The Service id to use for this Service. If omitted, an id will be generated instead. Must match the pattern [a-z0-9\-]+ */ serviceId?: pulumi.Input; /** * Configuration for how to query telemetry on a Service. */ telemetry?: pulumi.Input; /** * Labels which have been used to annotate the service. Label keys must start with a letter. Label keys and values may contain lowercase letters, numbers, underscores, and dashes. Label keys and values have a maximum length of 63 characters, and must be less than 128 bytes in size. Up to 64 label entries may be stored. For labels which do not have a semantic value, the empty string may be supplied for the label value. */ userLabels?: pulumi.Input<{ [key: string]: pulumi.Input; }>; v3Id: pulumi.Input; v3Id1: pulumi.Input; }