Domain
Provides an CloudSearch domain resource. The provider waits for the domain to become Active when applying a configuration.
Example Usage
import * as pulumi from "@pulumi/pulumi";
import * as aws from "@pulumi/aws";
const example = new aws.cloudsearch.Domain("example", {
    name: "example-domain",
    scalingParameters: {
        desiredInstanceType: "search.medium",
    },
    indexFields: [
        {
            name: "headline",
            type: "text",
            search: true,
            "return": true,
            sort: true,
            highlight: false,
            analysisScheme: "_en_default_",
        },
        {
            name: "price",
            type: "double",
            search: true,
            facet: true,
            "return": true,
            sort: true,
            sourceFields: "headline",
        },
    ],
});Content copied to clipboard
import pulumi
import pulumi_aws as aws
example = aws.cloudsearch.Domain("example",
    name="example-domain",
    scaling_parameters=aws.cloudsearch.DomainScalingParametersArgs(
        desired_instance_type="search.medium",
    ),
    index_fields=[
        aws.cloudsearch.DomainIndexFieldArgs(
            name="headline",
            type="text",
            search=True,
            return_=True,
            sort=True,
            highlight=False,
            analysis_scheme="_en_default_",
        ),
        aws.cloudsearch.DomainIndexFieldArgs(
            name="price",
            type="double",
            search=True,
            facet=True,
            return_=True,
            sort=True,
            source_fields="headline",
        ),
    ])Content copied to clipboard
using System.Collections.Generic;
using System.Linq;
using Pulumi;
using Aws = Pulumi.Aws;
return await Deployment.RunAsync(() =>
{
    var example = new Aws.CloudSearch.Domain("example", new()
    {
        Name = "example-domain",
        ScalingParameters = new Aws.CloudSearch.Inputs.DomainScalingParametersArgs
        {
            DesiredInstanceType = "search.medium",
        },
        IndexFields = new[]
        {
            new Aws.CloudSearch.Inputs.DomainIndexFieldArgs
            {
                Name = "headline",
                Type = "text",
                Search = true,
                Return = true,
                Sort = true,
                Highlight = false,
                AnalysisScheme = "_en_default_",
            },
            new Aws.CloudSearch.Inputs.DomainIndexFieldArgs
            {
                Name = "price",
                Type = "double",
                Search = true,
                Facet = true,
                Return = true,
                Sort = true,
                SourceFields = "headline",
            },
        },
    });
});Content copied to clipboard
package main
import (
	"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/cloudsearch"
	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
)
func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		_, err := cloudsearch.NewDomain(ctx, "example", &cloudsearch.DomainArgs{
			Name: pulumi.String("example-domain"),
			ScalingParameters: &cloudsearch.DomainScalingParametersArgs{
				DesiredInstanceType: pulumi.String("search.medium"),
			},
			IndexFields: cloudsearch.DomainIndexFieldArray{
				&cloudsearch.DomainIndexFieldArgs{
					Name:           pulumi.String("headline"),
					Type:           pulumi.String("text"),
					Search:         pulumi.Bool(true),
					Return:         pulumi.Bool(true),
					Sort:           pulumi.Bool(true),
					Highlight:      pulumi.Bool(false),
					AnalysisScheme: pulumi.String("_en_default_"),
				},
				&cloudsearch.DomainIndexFieldArgs{
					Name:         pulumi.String("price"),
					Type:         pulumi.String("double"),
					Search:       pulumi.Bool(true),
					Facet:        pulumi.Bool(true),
					Return:       pulumi.Bool(true),
					Sort:         pulumi.Bool(true),
					SourceFields: pulumi.String("headline"),
				},
			},
		})
		if err != nil {
			return err
		}
		return nil
	})
}Content copied to clipboard
package generated_program;
import com.pulumi.Context;
import com.pulumi.Pulumi;
import com.pulumi.core.Output;
import com.pulumi.aws.cloudsearch.Domain;
import com.pulumi.aws.cloudsearch.DomainArgs;
import com.pulumi.aws.cloudsearch.inputs.DomainScalingParametersArgs;
import com.pulumi.aws.cloudsearch.inputs.DomainIndexFieldArgs;
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 example = new Domain("example", DomainArgs.builder()
            .name("example-domain")
            .scalingParameters(DomainScalingParametersArgs.builder()
                .desiredInstanceType("search.medium")
                .build())
            .indexFields(
                DomainIndexFieldArgs.builder()
                    .name("headline")
                    .type("text")
                    .search(true)
                    .return_(true)
                    .sort(true)
                    .highlight(false)
                    .analysisScheme("_en_default_")
                    .build(),
                DomainIndexFieldArgs.builder()
                    .name("price")
                    .type("double")
                    .search(true)
                    .facet(true)
                    .return_(true)
                    .sort(true)
                    .sourceFields("headline")
                    .build())
            .build());
    }
}Content copied to clipboard
resources:
  example:
    type: aws:cloudsearch:Domain
    properties:
      name: example-domain
      scalingParameters:
        desiredInstanceType: search.medium
      indexFields:
        - name: headline
          type: text
          search: true
          return: true
          sort: true
          highlight: false
          analysisScheme: _en_default_
        - name: price
          type: double
          search: true
          facet: true
          return: true
          sort: true
          sourceFields: headlineContent copied to clipboard
Import
Using pulumi import, import CloudSearch Domains using the name. For example:
$ pulumi import aws:cloudsearch/domain:Domain example example-domainContent copied to clipboard