@pulumi/gcp
Version:
A Pulumi package for creating and managing Google Cloud Platform resources.
226 lines • 9.71 kB
TypeScript
import * as pulumi from "@pulumi/pulumi";
import * as inputs from "../types/input";
import * as outputs from "../types/output";
/**
* A RemoteConfig represents a Remote Config template.
*
* To get more information about RemoteConfig, see:
*
* * [API documentation](https://firebase.google.com/docs/reference/remote-config/rest/v1/projects/getRemoteConfig)
* * How-to Guides
* * [Remote Config Introduction](https://firebase.google.com/docs/remote-config)
*
* ## Example Usage
*
* ### Firebase Remote Config Basic
*
* ```typescript
* import * as pulumi from "@pulumi/pulumi";
* import * as gcp from "@pulumi/gcp";
*
* const basic = new gcp.firebase.RemoteConfigRemoteConfig("basic", {
* conditions: [{
* name: "ios_en",
* expression: "device.os == 'ios' && device.country in ['us']",
* tagColor: "TEAL",
* }],
* parameters: [{
* parameterName: "welcome_message",
* description: "Welcome message",
* valueType: "STRING",
* defaultValue: {
* value: "Welcome to the App!",
* },
* conditionalValues: [{
* conditionName: "ios_en",
* value: "Welcome to the App on iOS!",
* }],
* }],
* parameterGroups: [{
* parameterGroupName: "group_a",
* description: "Parameter group A description",
* parameters: [{
* parameterName: "welcome_message_group",
* description: "Welcome message for group A",
* valueType: "STRING",
* defaultValue: {
* value: "Welcome Group A!",
* },
* conditionalValues: [{
* conditionName: "ios_en",
* value: "Welcome Group A on iOS!",
* }],
* }],
* }],
* });
* ```
*
* ## Import
*
* RemoteConfig can be imported using any of these accepted formats:
*
* * `projects/{{project}}/remoteConfig`
* * `{{project}}`
*
* When using the `pulumi import` command, RemoteConfig can be imported using one of the formats above. For example:
*
* ```sh
* $ pulumi import gcp:firebase/remoteConfigRemoteConfig:RemoteConfigRemoteConfig default projects/{{project}}/remoteConfig
* $ pulumi import gcp:firebase/remoteConfigRemoteConfig:RemoteConfigRemoteConfig default {{project}}
* ```
*/
export declare class RemoteConfigRemoteConfig extends pulumi.CustomResource {
/**
* Get an existing RemoteConfigRemoteConfig 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 state Any extra arguments used during the lookup.
* @param opts Optional settings to control the behavior of the CustomResource.
*/
static get(name: string, id: pulumi.Input<pulumi.ID>, state?: RemoteConfigRemoteConfigState, opts?: pulumi.CustomResourceOptions): RemoteConfigRemoteConfig;
/**
* Returns true if the given object is an instance of RemoteConfigRemoteConfig. 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 RemoteConfigRemoteConfig;
/**
* A list of conditions in descending order by priority.
* The values of the condition names must be unique.
* Structure is documented below.
*/
readonly conditions: pulumi.Output<outputs.firebase.RemoteConfigRemoteConfigCondition[] | undefined>;
/**
* (Output)
* Display name.
*/
readonly name: pulumi.Output<string>;
/**
* Map of parameter group names to their descriptions and grouped parameters.
* A group's name is mutable but must be unique among groups in the config.
* The name is limited to 256 characters and intended to be human-readable.
* Any Unicode characters are allowed.
* Groups have a list of parameters which allows users of the API to group
* parameters that are associated with the same feature or theme together for
* easy organizational access.
* For example, a parameter group with the name "Search V2" may have the
* `description` "New mobile search view" and contain parameters for the new
* search's layout and font.
* Structure is documented below.
*/
readonly parameterGroups: pulumi.Output<outputs.firebase.RemoteConfigRemoteConfigParameterGroup[] | undefined>;
/**
* Map of parameter keys to their optional default values and optional
* conditional values.
* Structure is documented below.
*/
readonly parameters: pulumi.Output<outputs.firebase.RemoteConfigRemoteConfigParameter[] | undefined>;
/**
* The ID of the project in which the resource belongs.
* If it is not provided, the provider project is used.
*/
readonly project: pulumi.Output<string>;
/**
* Contains all metadata about a particular version of the Remote Config
* template.
* All fields are set at the time the specified Remote Config template was
* written.
* Structure is documented below.
*/
readonly versions: pulumi.Output<outputs.firebase.RemoteConfigRemoteConfigVersion[]>;
/**
* Create a RemoteConfigRemoteConfig 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?: RemoteConfigRemoteConfigArgs, opts?: pulumi.CustomResourceOptions);
}
/**
* Input properties used for looking up and filtering RemoteConfigRemoteConfig resources.
*/
export interface RemoteConfigRemoteConfigState {
/**
* A list of conditions in descending order by priority.
* The values of the condition names must be unique.
* Structure is documented below.
*/
conditions?: pulumi.Input<pulumi.Input<inputs.firebase.RemoteConfigRemoteConfigCondition>[] | undefined>;
/**
* (Output)
* Display name.
*/
name?: pulumi.Input<string | undefined>;
/**
* Map of parameter group names to their descriptions and grouped parameters.
* A group's name is mutable but must be unique among groups in the config.
* The name is limited to 256 characters and intended to be human-readable.
* Any Unicode characters are allowed.
* Groups have a list of parameters which allows users of the API to group
* parameters that are associated with the same feature or theme together for
* easy organizational access.
* For example, a parameter group with the name "Search V2" may have the
* `description` "New mobile search view" and contain parameters for the new
* search's layout and font.
* Structure is documented below.
*/
parameterGroups?: pulumi.Input<pulumi.Input<inputs.firebase.RemoteConfigRemoteConfigParameterGroup>[] | undefined>;
/**
* Map of parameter keys to their optional default values and optional
* conditional values.
* Structure is documented below.
*/
parameters?: pulumi.Input<pulumi.Input<inputs.firebase.RemoteConfigRemoteConfigParameter>[] | undefined>;
/**
* The ID of the project in which the resource belongs.
* If it is not provided, the provider project is used.
*/
project?: pulumi.Input<string | undefined>;
/**
* Contains all metadata about a particular version of the Remote Config
* template.
* All fields are set at the time the specified Remote Config template was
* written.
* Structure is documented below.
*/
versions?: pulumi.Input<pulumi.Input<inputs.firebase.RemoteConfigRemoteConfigVersion>[] | undefined>;
}
/**
* The set of arguments for constructing a RemoteConfigRemoteConfig resource.
*/
export interface RemoteConfigRemoteConfigArgs {
/**
* A list of conditions in descending order by priority.
* The values of the condition names must be unique.
* Structure is documented below.
*/
conditions?: pulumi.Input<pulumi.Input<inputs.firebase.RemoteConfigRemoteConfigCondition>[] | undefined>;
/**
* Map of parameter group names to their descriptions and grouped parameters.
* A group's name is mutable but must be unique among groups in the config.
* The name is limited to 256 characters and intended to be human-readable.
* Any Unicode characters are allowed.
* Groups have a list of parameters which allows users of the API to group
* parameters that are associated with the same feature or theme together for
* easy organizational access.
* For example, a parameter group with the name "Search V2" may have the
* `description` "New mobile search view" and contain parameters for the new
* search's layout and font.
* Structure is documented below.
*/
parameterGroups?: pulumi.Input<pulumi.Input<inputs.firebase.RemoteConfigRemoteConfigParameterGroup>[] | undefined>;
/**
* Map of parameter keys to their optional default values and optional
* conditional values.
* Structure is documented below.
*/
parameters?: pulumi.Input<pulumi.Input<inputs.firebase.RemoteConfigRemoteConfigParameter>[] | undefined>;
/**
* The ID of the project in which the resource belongs.
* If it is not provided, the provider project is used.
*/
project?: pulumi.Input<string | undefined>;
}
//# sourceMappingURL=remoteConfigRemoteConfig.d.ts.map