Google Cloud (GCP) Classic

v6.43.0 published on Tuesday, Nov 15, 2022 by Pulumi

CxEnvironment

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:

Example Usage

Dialogflowcx Environment Full

using System.Collections.Generic;
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:

DisplayName string

The human-readable name of the environment (unique in an agent). Limit of 64 characters.

VersionConfigs List<CxEnvironmentVersionConfigArgs>

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/.

DisplayName string

The human-readable name of the environment (unique in an agent). Limit of 64 characters.

VersionConfigs []CxEnvironmentVersionConfigArgs

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/.

displayName String

The human-readable name of the environment (unique in an agent). Limit of 64 characters.

versionConfigs List<CxEnvironmentVersionConfigArgs>

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/.

displayName string

The human-readable name of the environment (unique in an agent). Limit of 64 characters.

versionConfigs CxEnvironmentVersionConfigArgs[]

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[CxEnvironmentVersionConfigArgs]

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/.

displayName String

The human-readable name of the environment (unique in an agent). Limit of 64 characters.

versionConfigs 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.

UpdateTime 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.

UpdateTime 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.

updateTime 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.

updateTime 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.

updateTime 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.
The following state arguments are supported:
Description string

The human-readable description of the environment. The maximum length is 500 characters. If exceeded, the request is rejected.

DisplayName 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/.

UpdateTime 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".

VersionConfigs List<CxEnvironmentVersionConfigArgs>

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.

DisplayName 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/.

UpdateTime 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".

VersionConfigs []CxEnvironmentVersionConfigArgs

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.

displayName 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/.

updateTime 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".

versionConfigs List<CxEnvironmentVersionConfigArgs>

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.

displayName 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/.

updateTime 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".

versionConfigs CxEnvironmentVersionConfigArgs[]

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[CxEnvironmentVersionConfigArgs]

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.

displayName 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/.

updateTime 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".

versionConfigs 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

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
https://github.com/pulumi/pulumi-gcp
License
Apache-2.0
Notes

This Pulumi package is based on the google-beta Terraform Provider.