import * as pulumi from "@pulumi/pulumi"; import { input as inputs, output as outputs } from "../../types"; /** * Adds a new Feature. */ export declare class Feature extends pulumi.CustomResource { /** * Get an existing Feature 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): Feature; /** * Returns true if the given object is an instance of Feature. 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 Feature; /** * When the Feature resource was created. */ readonly createTime: pulumi.Output; /** * When the Feature resource was deleted. */ readonly deleteTime: pulumi.Output; /** * GCP labels for this Feature. */ readonly labels: pulumi.Output<{ [key: string]: string; }>; /** * Optional. Membership-specific configuration for this Feature. If this Feature does not support any per-Membership configuration, this field may be unused. The keys indicate which Membership the configuration is for, in the form: projects/{p}/locations/{l}/memberships/{m} Where {p} is the project number, {l} is a valid location and {m} is a valid Membership in this project at that location. {p} MUST match the Feature's project number. */ readonly membershipSpecs: pulumi.Output<{ [key: string]: string; }>; /** * Membership-specific Feature status. If this Feature does report any per-Membership status, this field may be unused. The keys indicate which Membership the state is for, in the form: projects/{p}/locations/{l}/memberships/{m} Where {p} is the project number, {l} is a valid location and {m} is a valid Membership in this project at that location. {p} MUST match the Feature's project number. */ readonly membershipStates: pulumi.Output<{ [key: string]: string; }>; /** * The full, unique name of this Feature resource in the format `projects/*/locations/global/features/*`. */ readonly name: pulumi.Output; /** * State of the Feature resource itself. */ readonly resourceState: pulumi.Output; /** * Optional. Hub-wide Feature configuration. If this Feature does not support any Hub-wide configuration, this field may be unused. */ readonly spec: pulumi.Output; /** * The Hub-wide Feature state. */ readonly state: pulumi.Output; /** * When the Feature resource was last updated. */ readonly updateTime: pulumi.Output; /** * Create a Feature 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: FeatureArgs, opts?: pulumi.CustomResourceOptions); } /** * The set of arguments for constructing a Feature resource. */ export interface FeatureArgs { readonly featuresId: pulumi.Input; /** * GCP labels for this Feature. */ readonly labels?: pulumi.Input<{ [key: string]: pulumi.Input; }>; /** * Optional. Membership-specific configuration for this Feature. If this Feature does not support any per-Membership configuration, this field may be unused. The keys indicate which Membership the configuration is for, in the form: projects/{p}/locations/{l}/memberships/{m} Where {p} is the project number, {l} is a valid location and {m} is a valid Membership in this project at that location. {p} MUST match the Feature's project number. */ readonly membershipSpecs?: pulumi.Input<{ [key: string]: pulumi.Input; }>; readonly projectsId: pulumi.Input; /** * Optional. Hub-wide Feature configuration. If this Feature does not support any Hub-wide configuration, this field may be unused. */ readonly spec?: pulumi.Input; }