gcp.diagflow.CxEnvironment
Explore with Pulumi AI
Represents an environment for an agent. You can create multiple versions of your agent and publish them to separate environments. When you edit an agent, you are editing the draft agent. At any point, you can save the draft agent as an agent version, which is an immutable snapshot of your agent. When you save the draft agent, it is published to the default environment. When you create agent versions, you can publish them to custom environments. You can create a variety of custom environments for testing, development, production, etc.
To get more information about Environment, see:
- API documentation
- How-to Guides
Example Usage
Dialogflowcx Environment Full
using System.Collections.Generic;
using System.Linq;
using Pulumi;
using Gcp = Pulumi.Gcp;
return await Deployment.RunAsync(() =>
{
var agent = new Gcp.Diagflow.CxAgent("agent", new()
{
DisplayName = "dialogflowcx-agent",
Location = "global",
DefaultLanguageCode = "en",
SupportedLanguageCodes = new[]
{
"fr",
"de",
"es",
},
TimeZone = "America/New_York",
Description = "Example description.",
AvatarUri = "https://cloud.google.com/_static/images/cloud/icons/favicons/onecloud/super_cloud.png",
EnableStackdriverLogging = true,
EnableSpellCorrection = true,
SpeechToTextSettings = new Gcp.Diagflow.Inputs.CxAgentSpeechToTextSettingsArgs
{
EnableSpeechAdaptation = true,
},
});
var version1 = new Gcp.Diagflow.CxVersion("version1", new()
{
Parent = agent.StartFlow,
DisplayName = "1.0.0",
Description = "version 1.0.0",
});
var development = new Gcp.Diagflow.CxEnvironment("development", new()
{
Parent = agent.Id,
DisplayName = "Development",
Description = "Development Environment",
VersionConfigs = new[]
{
new Gcp.Diagflow.Inputs.CxEnvironmentVersionConfigArgs
{
Version = version1.Id,
},
},
});
});
package main
import (
"github.com/pulumi/pulumi-gcp/sdk/v6/go/gcp/diagflow"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
)
func main() {
pulumi.Run(func(ctx *pulumi.Context) error {
agent, err := diagflow.NewCxAgent(ctx, "agent", &diagflow.CxAgentArgs{
DisplayName: pulumi.String("dialogflowcx-agent"),
Location: pulumi.String("global"),
DefaultLanguageCode: pulumi.String("en"),
SupportedLanguageCodes: pulumi.StringArray{
pulumi.String("fr"),
pulumi.String("de"),
pulumi.String("es"),
},
TimeZone: pulumi.String("America/New_York"),
Description: pulumi.String("Example description."),
AvatarUri: pulumi.String("https://cloud.google.com/_static/images/cloud/icons/favicons/onecloud/super_cloud.png"),
EnableStackdriverLogging: pulumi.Bool(true),
EnableSpellCorrection: pulumi.Bool(true),
SpeechToTextSettings: &diagflow.CxAgentSpeechToTextSettingsArgs{
EnableSpeechAdaptation: pulumi.Bool(true),
},
})
if err != nil {
return err
}
version1, err := diagflow.NewCxVersion(ctx, "version1", &diagflow.CxVersionArgs{
Parent: agent.StartFlow,
DisplayName: pulumi.String("1.0.0"),
Description: pulumi.String("version 1.0.0"),
})
if err != nil {
return err
}
_, err = diagflow.NewCxEnvironment(ctx, "development", &diagflow.CxEnvironmentArgs{
Parent: agent.ID(),
DisplayName: pulumi.String("Development"),
Description: pulumi.String("Development Environment"),
VersionConfigs: diagflow.CxEnvironmentVersionConfigArray{
&diagflow.CxEnvironmentVersionConfigArgs{
Version: version1.ID(),
},
},
})
if err != nil {
return err
}
return nil
})
}
package generated_program;
import com.pulumi.Context;
import com.pulumi.Pulumi;
import com.pulumi.core.Output;
import com.pulumi.gcp.diagflow.CxAgent;
import com.pulumi.gcp.diagflow.CxAgentArgs;
import com.pulumi.gcp.diagflow.inputs.CxAgentSpeechToTextSettingsArgs;
import com.pulumi.gcp.diagflow.CxVersion;
import com.pulumi.gcp.diagflow.CxVersionArgs;
import com.pulumi.gcp.diagflow.CxEnvironment;
import com.pulumi.gcp.diagflow.CxEnvironmentArgs;
import com.pulumi.gcp.diagflow.inputs.CxEnvironmentVersionConfigArgs;
import java.util.List;
import java.util.ArrayList;
import java.util.Map;
import java.io.File;
import java.nio.file.Files;
import java.nio.file.Paths;
public class App {
public static void main(String[] args) {
Pulumi.run(App::stack);
}
public static void stack(Context ctx) {
var agent = new CxAgent("agent", CxAgentArgs.builder()
.displayName("dialogflowcx-agent")
.location("global")
.defaultLanguageCode("en")
.supportedLanguageCodes(
"fr",
"de",
"es")
.timeZone("America/New_York")
.description("Example description.")
.avatarUri("https://cloud.google.com/_static/images/cloud/icons/favicons/onecloud/super_cloud.png")
.enableStackdriverLogging(true)
.enableSpellCorrection(true)
.speechToTextSettings(CxAgentSpeechToTextSettingsArgs.builder()
.enableSpeechAdaptation(true)
.build())
.build());
var version1 = new CxVersion("version1", CxVersionArgs.builder()
.parent(agent.startFlow())
.displayName("1.0.0")
.description("version 1.0.0")
.build());
var development = new CxEnvironment("development", CxEnvironmentArgs.builder()
.parent(agent.id())
.displayName("Development")
.description("Development Environment")
.versionConfigs(CxEnvironmentVersionConfigArgs.builder()
.version(version1.id())
.build())
.build());
}
}
import pulumi
import pulumi_gcp as gcp
agent = gcp.diagflow.CxAgent("agent",
display_name="dialogflowcx-agent",
location="global",
default_language_code="en",
supported_language_codes=[
"fr",
"de",
"es",
],
time_zone="America/New_York",
description="Example description.",
avatar_uri="https://cloud.google.com/_static/images/cloud/icons/favicons/onecloud/super_cloud.png",
enable_stackdriver_logging=True,
enable_spell_correction=True,
speech_to_text_settings=gcp.diagflow.CxAgentSpeechToTextSettingsArgs(
enable_speech_adaptation=True,
))
version1 = gcp.diagflow.CxVersion("version1",
parent=agent.start_flow,
display_name="1.0.0",
description="version 1.0.0")
development = gcp.diagflow.CxEnvironment("development",
parent=agent.id,
display_name="Development",
description="Development Environment",
version_configs=[gcp.diagflow.CxEnvironmentVersionConfigArgs(
version=version1.id,
)])
import * as pulumi from "@pulumi/pulumi";
import * as gcp from "@pulumi/gcp";
const agent = new gcp.diagflow.CxAgent("agent", {
displayName: "dialogflowcx-agent",
location: "global",
defaultLanguageCode: "en",
supportedLanguageCodes: [
"fr",
"de",
"es",
],
timeZone: "America/New_York",
description: "Example description.",
avatarUri: "https://cloud.google.com/_static/images/cloud/icons/favicons/onecloud/super_cloud.png",
enableStackdriverLogging: true,
enableSpellCorrection: true,
speechToTextSettings: {
enableSpeechAdaptation: true,
},
});
const version1 = new gcp.diagflow.CxVersion("version1", {
parent: agent.startFlow,
displayName: "1.0.0",
description: "version 1.0.0",
});
const development = new gcp.diagflow.CxEnvironment("development", {
parent: agent.id,
displayName: "Development",
description: "Development Environment",
versionConfigs: [{
version: version1.id,
}],
});
resources:
agent:
type: gcp:diagflow:CxAgent
properties:
displayName: dialogflowcx-agent
location: global
defaultLanguageCode: en
supportedLanguageCodes:
- fr
- de
- es
timeZone: America/New_York
description: Example description.
avatarUri: https://cloud.google.com/_static/images/cloud/icons/favicons/onecloud/super_cloud.png
enableStackdriverLogging: true
enableSpellCorrection: true
speechToTextSettings:
enableSpeechAdaptation: true
version1:
type: gcp:diagflow:CxVersion
properties:
parent: ${agent.startFlow}
displayName: 1.0.0
description: version 1.0.0
development:
type: gcp:diagflow:CxEnvironment
properties:
parent: ${agent.id}
displayName: Development
description: Development Environment
versionConfigs:
- version: ${version1.id}
Create CxEnvironment Resource
new CxEnvironment(name: string, args: CxEnvironmentArgs, opts?: CustomResourceOptions);
@overload
def CxEnvironment(resource_name: str,
opts: Optional[ResourceOptions] = None,
description: Optional[str] = None,
display_name: Optional[str] = None,
parent: Optional[str] = None,
version_configs: Optional[Sequence[CxEnvironmentVersionConfigArgs]] = None)
@overload
def CxEnvironment(resource_name: str,
args: CxEnvironmentArgs,
opts: Optional[ResourceOptions] = None)
func NewCxEnvironment(ctx *Context, name string, args CxEnvironmentArgs, opts ...ResourceOption) (*CxEnvironment, error)
public CxEnvironment(string name, CxEnvironmentArgs args, CustomResourceOptions? opts = null)
public CxEnvironment(String name, CxEnvironmentArgs args)
public CxEnvironment(String name, CxEnvironmentArgs args, CustomResourceOptions options)
type: gcp:diagflow:CxEnvironment
properties: # The arguments to resource properties.
options: # Bag of options to control resource's behavior.
- name string
- The unique name of the resource.
- args CxEnvironmentArgs
- The arguments to resource properties.
- opts CustomResourceOptions
- Bag of options to control resource's behavior.
- resource_name str
- The unique name of the resource.
- args CxEnvironmentArgs
- The arguments to resource properties.
- opts ResourceOptions
- Bag of options to control resource's behavior.
- ctx Context
- Context object for the current deployment.
- name string
- The unique name of the resource.
- args CxEnvironmentArgs
- The arguments to resource properties.
- opts ResourceOption
- Bag of options to control resource's behavior.
- name string
- The unique name of the resource.
- args CxEnvironmentArgs
- The arguments to resource properties.
- opts CustomResourceOptions
- Bag of options to control resource's behavior.
- name String
- The unique name of the resource.
- args CxEnvironmentArgs
- The arguments to resource properties.
- options CustomResourceOptions
- Bag of options to control resource's behavior.
CxEnvironment Resource Properties
To learn more about resource properties and how to use them, see Inputs and Outputs in the Architecture and Concepts docs.
Inputs
The CxEnvironment resource accepts the following input properties:
- Display
Name string The human-readable name of the environment (unique in an agent). Limit of 64 characters.
- Version
Configs List<CxEnvironment Version Config> A list of configurations for flow versions. You should include version configs for all flows that are reachable from [Start Flow][Agent.start_flow] in the agent. Otherwise, an error will be returned. Structure is documented below.
- Description string
The human-readable description of the environment. The maximum length is 500 characters. If exceeded, the request is rejected.
- Parent string
The Agent to create an Environment for. Format: projects//locations//agents/.
- Display
Name string The human-readable name of the environment (unique in an agent). Limit of 64 characters.
- Version
Configs []CxEnvironment Version Config Args A list of configurations for flow versions. You should include version configs for all flows that are reachable from [Start Flow][Agent.start_flow] in the agent. Otherwise, an error will be returned. Structure is documented below.
- Description string
The human-readable description of the environment. The maximum length is 500 characters. If exceeded, the request is rejected.
- Parent string
The Agent to create an Environment for. Format: projects//locations//agents/.
- display
Name String The human-readable name of the environment (unique in an agent). Limit of 64 characters.
- version
Configs List<CxEnvironment Version Config> A list of configurations for flow versions. You should include version configs for all flows that are reachable from [Start Flow][Agent.start_flow] in the agent. Otherwise, an error will be returned. Structure is documented below.
- description String
The human-readable description of the environment. The maximum length is 500 characters. If exceeded, the request is rejected.
- parent String
The Agent to create an Environment for. Format: projects//locations//agents/.
- display
Name string The human-readable name of the environment (unique in an agent). Limit of 64 characters.
- version
Configs CxEnvironment Version Config[] A list of configurations for flow versions. You should include version configs for all flows that are reachable from [Start Flow][Agent.start_flow] in the agent. Otherwise, an error will be returned. Structure is documented below.
- description string
The human-readable description of the environment. The maximum length is 500 characters. If exceeded, the request is rejected.
- parent string
The Agent to create an Environment for. Format: projects//locations//agents/.
- display_
name str The human-readable name of the environment (unique in an agent). Limit of 64 characters.
- version_
configs Sequence[CxEnvironment Version Config Args] A list of configurations for flow versions. You should include version configs for all flows that are reachable from [Start Flow][Agent.start_flow] in the agent. Otherwise, an error will be returned. Structure is documented below.
- description str
The human-readable description of the environment. The maximum length is 500 characters. If exceeded, the request is rejected.
- parent str
The Agent to create an Environment for. Format: projects//locations//agents/.
- display
Name String The human-readable name of the environment (unique in an agent). Limit of 64 characters.
- version
Configs List<Property Map> A list of configurations for flow versions. You should include version configs for all flows that are reachable from [Start Flow][Agent.start_flow] in the agent. Otherwise, an error will be returned. Structure is documented below.
- description String
The human-readable description of the environment. The maximum length is 500 characters. If exceeded, the request is rejected.
- parent String
The Agent to create an Environment for. Format: projects//locations//agents/.
Outputs
All input properties are implicitly available as output properties. Additionally, the CxEnvironment resource produces the following output properties:
- Id string
The provider-assigned unique ID for this managed resource.
- Name string
The name of the environment.
- Update
Time string Update time of this environment. A timestamp in RFC3339 UTC "Zulu" format, with nanosecond resolution and up to nine fractional digits. Examples: "2014-10-02T15:01:23Z" and "2014-10-02T15:01:23.045123456Z".
- Id string
The provider-assigned unique ID for this managed resource.
- Name string
The name of the environment.
- Update
Time string Update time of this environment. A timestamp in RFC3339 UTC "Zulu" format, with nanosecond resolution and up to nine fractional digits. Examples: "2014-10-02T15:01:23Z" and "2014-10-02T15:01:23.045123456Z".
- id String
The provider-assigned unique ID for this managed resource.
- name String
The name of the environment.
- update
Time String Update time of this environment. A timestamp in RFC3339 UTC "Zulu" format, with nanosecond resolution and up to nine fractional digits. Examples: "2014-10-02T15:01:23Z" and "2014-10-02T15:01:23.045123456Z".
- id string
The provider-assigned unique ID for this managed resource.
- name string
The name of the environment.
- update
Time string Update time of this environment. A timestamp in RFC3339 UTC "Zulu" format, with nanosecond resolution and up to nine fractional digits. Examples: "2014-10-02T15:01:23Z" and "2014-10-02T15:01:23.045123456Z".
- id str
The provider-assigned unique ID for this managed resource.
- name str
The name of the environment.
- update_
time str Update time of this environment. A timestamp in RFC3339 UTC "Zulu" format, with nanosecond resolution and up to nine fractional digits. Examples: "2014-10-02T15:01:23Z" and "2014-10-02T15:01:23.045123456Z".
- id String
The provider-assigned unique ID for this managed resource.
- name String
The name of the environment.
- update
Time String Update time of this environment. A timestamp in RFC3339 UTC "Zulu" format, with nanosecond resolution and up to nine fractional digits. Examples: "2014-10-02T15:01:23Z" and "2014-10-02T15:01:23.045123456Z".
Look up Existing CxEnvironment Resource
Get an existing CxEnvironment resource’s state with the given name, ID, and optional extra properties used to qualify the lookup.
public static get(name: string, id: Input<ID>, state?: CxEnvironmentState, opts?: CustomResourceOptions): CxEnvironment
@staticmethod
def get(resource_name: str,
id: str,
opts: Optional[ResourceOptions] = None,
description: Optional[str] = None,
display_name: Optional[str] = None,
name: Optional[str] = None,
parent: Optional[str] = None,
update_time: Optional[str] = None,
version_configs: Optional[Sequence[CxEnvironmentVersionConfigArgs]] = None) -> CxEnvironment
func GetCxEnvironment(ctx *Context, name string, id IDInput, state *CxEnvironmentState, opts ...ResourceOption) (*CxEnvironment, error)
public static CxEnvironment Get(string name, Input<string> id, CxEnvironmentState? state, CustomResourceOptions? opts = null)
public static CxEnvironment get(String name, Output<String> id, CxEnvironmentState state, CustomResourceOptions options)
Resource lookup is not supported in YAML
- name
- The unique name of the resulting resource.
- id
- The unique provider ID of the resource to lookup.
- state
- Any extra arguments used during the lookup.
- opts
- A bag of options that control this resource's behavior.
- resource_name
- The unique name of the resulting resource.
- id
- The unique provider ID of the resource to lookup.
- name
- The unique name of the resulting resource.
- id
- The unique provider ID of the resource to lookup.
- state
- Any extra arguments used during the lookup.
- opts
- A bag of options that control this resource's behavior.
- name
- The unique name of the resulting resource.
- id
- The unique provider ID of the resource to lookup.
- state
- Any extra arguments used during the lookup.
- opts
- A bag of options that control this resource's behavior.
- name
- The unique name of the resulting resource.
- id
- The unique provider ID of the resource to lookup.
- state
- Any extra arguments used during the lookup.
- opts
- A bag of options that control this resource's behavior.
- Description string
The human-readable description of the environment. The maximum length is 500 characters. If exceeded, the request is rejected.
- Display
Name string The human-readable name of the environment (unique in an agent). Limit of 64 characters.
- Name string
The name of the environment.
- Parent string
The Agent to create an Environment for. Format: projects//locations//agents/.
- Update
Time string Update time of this environment. A timestamp in RFC3339 UTC "Zulu" format, with nanosecond resolution and up to nine fractional digits. Examples: "2014-10-02T15:01:23Z" and "2014-10-02T15:01:23.045123456Z".
- Version
Configs List<CxEnvironment Version Config> A list of configurations for flow versions. You should include version configs for all flows that are reachable from [Start Flow][Agent.start_flow] in the agent. Otherwise, an error will be returned. Structure is documented below.
- Description string
The human-readable description of the environment. The maximum length is 500 characters. If exceeded, the request is rejected.
- Display
Name string The human-readable name of the environment (unique in an agent). Limit of 64 characters.
- Name string
The name of the environment.
- Parent string
The Agent to create an Environment for. Format: projects//locations//agents/.
- Update
Time string Update time of this environment. A timestamp in RFC3339 UTC "Zulu" format, with nanosecond resolution and up to nine fractional digits. Examples: "2014-10-02T15:01:23Z" and "2014-10-02T15:01:23.045123456Z".
- Version
Configs []CxEnvironment Version Config Args A list of configurations for flow versions. You should include version configs for all flows that are reachable from [Start Flow][Agent.start_flow] in the agent. Otherwise, an error will be returned. Structure is documented below.
- description String
The human-readable description of the environment. The maximum length is 500 characters. If exceeded, the request is rejected.
- display
Name String The human-readable name of the environment (unique in an agent). Limit of 64 characters.
- name String
The name of the environment.
- parent String
The Agent to create an Environment for. Format: projects//locations//agents/.
- update
Time String Update time of this environment. A timestamp in RFC3339 UTC "Zulu" format, with nanosecond resolution and up to nine fractional digits. Examples: "2014-10-02T15:01:23Z" and "2014-10-02T15:01:23.045123456Z".
- version
Configs List<CxEnvironment Version Config> A list of configurations for flow versions. You should include version configs for all flows that are reachable from [Start Flow][Agent.start_flow] in the agent. Otherwise, an error will be returned. Structure is documented below.
- description string
The human-readable description of the environment. The maximum length is 500 characters. If exceeded, the request is rejected.
- display
Name string The human-readable name of the environment (unique in an agent). Limit of 64 characters.
- name string
The name of the environment.
- parent string
The Agent to create an Environment for. Format: projects//locations//agents/.
- update
Time string Update time of this environment. A timestamp in RFC3339 UTC "Zulu" format, with nanosecond resolution and up to nine fractional digits. Examples: "2014-10-02T15:01:23Z" and "2014-10-02T15:01:23.045123456Z".
- version
Configs CxEnvironment Version Config[] A list of configurations for flow versions. You should include version configs for all flows that are reachable from [Start Flow][Agent.start_flow] in the agent. Otherwise, an error will be returned. Structure is documented below.
- description str
The human-readable description of the environment. The maximum length is 500 characters. If exceeded, the request is rejected.
- display_
name str The human-readable name of the environment (unique in an agent). Limit of 64 characters.
- name str
The name of the environment.
- parent str
The Agent to create an Environment for. Format: projects//locations//agents/.
- update_
time str Update time of this environment. A timestamp in RFC3339 UTC "Zulu" format, with nanosecond resolution and up to nine fractional digits. Examples: "2014-10-02T15:01:23Z" and "2014-10-02T15:01:23.045123456Z".
- version_
configs Sequence[CxEnvironment Version Config Args] A list of configurations for flow versions. You should include version configs for all flows that are reachable from [Start Flow][Agent.start_flow] in the agent. Otherwise, an error will be returned. Structure is documented below.
- description String
The human-readable description of the environment. The maximum length is 500 characters. If exceeded, the request is rejected.
- display
Name String The human-readable name of the environment (unique in an agent). Limit of 64 characters.
- name String
The name of the environment.
- parent String
The Agent to create an Environment for. Format: projects//locations//agents/.
- update
Time String Update time of this environment. A timestamp in RFC3339 UTC "Zulu" format, with nanosecond resolution and up to nine fractional digits. Examples: "2014-10-02T15:01:23Z" and "2014-10-02T15:01:23.045123456Z".
- version
Configs List<Property Map> A list of configurations for flow versions. You should include version configs for all flows that are reachable from [Start Flow][Agent.start_flow] in the agent. Otherwise, an error will be returned. Structure is documented below.
Supporting Types
CxEnvironmentVersionConfig, CxEnvironmentVersionConfigArgs
- Version string
Format: projects/{{project}}/locations/{{location}}/agents/{{agent}}/flows/{{flow}}/versions/{{version}}.
- Version string
Format: projects/{{project}}/locations/{{location}}/agents/{{agent}}/flows/{{flow}}/versions/{{version}}.
- version String
Format: projects/{{project}}/locations/{{location}}/agents/{{agent}}/flows/{{flow}}/versions/{{version}}.
- version string
Format: projects/{{project}}/locations/{{location}}/agents/{{agent}}/flows/{{flow}}/versions/{{version}}.
- version str
Format: projects/{{project}}/locations/{{location}}/agents/{{agent}}/flows/{{flow}}/versions/{{version}}.
- version String
Format: projects/{{project}}/locations/{{location}}/agents/{{agent}}/flows/{{flow}}/versions/{{version}}.
Import
Environment can be imported using any of these accepted formats
$ pulumi import gcp:diagflow/cxEnvironment:CxEnvironment default {{parent}}/environments/{{name}}
$ pulumi import gcp:diagflow/cxEnvironment:CxEnvironment default {{parent}}/{{name}}
Package Details
- Repository
- Google Cloud (GCP) Classic pulumi/pulumi-gcp
- License
- Apache-2.0
- Notes
This Pulumi package is based on the
google-beta
Terraform Provider.