1. Packages
  2. Google Cloud (GCP) Classic
  3. API Docs
  4. gameservices
  5. GameServerConfig
Google Cloud Classic v6.58.0 published on Tuesday, Jun 6, 2023 by Pulumi

gcp.gameservices.GameServerConfig

Explore with Pulumi AI

gcp logo
Google Cloud Classic v6.58.0 published on Tuesday, Jun 6, 2023 by Pulumi

    A game server config resource. Configs are global and immutable.

    To get more information about GameServerConfig, see:

    Example Usage

    Game Service Config Basic

    using System.Collections.Generic;
    using System.Linq;
    using System.Text.Json;
    using Pulumi;
    using Gcp = Pulumi.Gcp;
    
    return await Deployment.RunAsync(() => 
    {
        var defaultGameServerDeployment = new Gcp.GameServices.GameServerDeployment("defaultGameServerDeployment", new()
        {
            DeploymentId = "tf-test-deployment",
            Description = "a deployment description",
        });
    
        var defaultGameServerConfig = new Gcp.GameServices.GameServerConfig("defaultGameServerConfig", new()
        {
            ConfigId = "tf-test-config",
            DeploymentId = defaultGameServerDeployment.DeploymentId,
            Description = "a config description",
            FleetConfigs = new[]
            {
                new Gcp.GameServices.Inputs.GameServerConfigFleetConfigArgs
                {
                    Name = "something-unique",
                    FleetSpec = JsonSerializer.Serialize(new Dictionary<string, object?>
                    {
                        ["replicas"] = 1,
                        ["scheduling"] = "Packed",
                        ["template"] = new Dictionary<string, object?>
                        {
                            ["metadata"] = new Dictionary<string, object?>
                            {
                                ["name"] = "tf-test-game-server-template",
                            },
                            ["spec"] = new Dictionary<string, object?>
                            {
                                ["ports"] = new[]
                                {
                                    new Dictionary<string, object?>
                                    {
                                        ["name"] = "default",
                                        ["portPolicy"] = "Dynamic",
                                        ["containerPort"] = 7654,
                                        ["protocol"] = "UDP",
                                    },
                                },
                                ["template"] = new Dictionary<string, object?>
                                {
                                    ["spec"] = new Dictionary<string, object?>
                                    {
                                        ["containers"] = new[]
                                        {
                                            new Dictionary<string, object?>
                                            {
                                                ["name"] = "simple-udp-server",
                                                ["image"] = "gcr.io/agones-images/udp-server:0.14",
                                            },
                                        },
                                    },
                                },
                            },
                        },
                    }),
                },
            },
            ScalingConfigs = new[]
            {
                new Gcp.GameServices.Inputs.GameServerConfigScalingConfigArgs
                {
                    Name = "scaling-config-name",
                    FleetAutoscalerSpec = JsonSerializer.Serialize(new Dictionary<string, object?>
                    {
                        ["policy"] = new Dictionary<string, object?>
                        {
                            ["type"] = "Webhook",
                            ["webhook"] = new Dictionary<string, object?>
                            {
                                ["service"] = new Dictionary<string, object?>
                                {
                                    ["name"] = "autoscaler-webhook-service",
                                    ["namespace"] = "default",
                                    ["path"] = "scale",
                                },
                            },
                        },
                    }),
                    Selectors = new[]
                    {
                        new Gcp.GameServices.Inputs.GameServerConfigScalingConfigSelectorArgs
                        {
                            Labels = 
                            {
                                { "one", "two" },
                            },
                        },
                    },
                    Schedules = new[]
                    {
                        new Gcp.GameServices.Inputs.GameServerConfigScalingConfigScheduleArgs
                        {
                            CronJobDuration = "3.500s",
                            CronSpec = "0 0 * * 0",
                        },
                    },
                },
            },
        });
    
    });
    
    package main
    
    import (
    	"encoding/json"
    
    	"github.com/pulumi/pulumi-gcp/sdk/v6/go/gcp/gameservices"
    	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
    )
    
    func main() {
    	pulumi.Run(func(ctx *pulumi.Context) error {
    		defaultGameServerDeployment, err := gameservices.NewGameServerDeployment(ctx, "defaultGameServerDeployment", &gameservices.GameServerDeploymentArgs{
    			DeploymentId: pulumi.String("tf-test-deployment"),
    			Description:  pulumi.String("a deployment description"),
    		})
    		if err != nil {
    			return err
    		}
    		tmpJSON0, err := json.Marshal(map[string]interface{}{
    			"replicas":   1,
    			"scheduling": "Packed",
    			"template": map[string]interface{}{
    				"metadata": map[string]interface{}{
    					"name": "tf-test-game-server-template",
    				},
    				"spec": map[string]interface{}{
    					"ports": []map[string]interface{}{
    						map[string]interface{}{
    							"name":          "default",
    							"portPolicy":    "Dynamic",
    							"containerPort": 7654,
    							"protocol":      "UDP",
    						},
    					},
    					"template": map[string]interface{}{
    						"spec": map[string]interface{}{
    							"containers": []map[string]interface{}{
    								map[string]interface{}{
    									"name":  "simple-udp-server",
    									"image": "gcr.io/agones-images/udp-server:0.14",
    								},
    							},
    						},
    					},
    				},
    			},
    		})
    		if err != nil {
    			return err
    		}
    		json0 := string(tmpJSON0)
    		tmpJSON1, err := json.Marshal(map[string]interface{}{
    			"policy": map[string]interface{}{
    				"type": "Webhook",
    				"webhook": map[string]interface{}{
    					"service": map[string]interface{}{
    						"name":      "autoscaler-webhook-service",
    						"namespace": "default",
    						"path":      "scale",
    					},
    				},
    			},
    		})
    		if err != nil {
    			return err
    		}
    		json1 := string(tmpJSON1)
    		_, err = gameservices.NewGameServerConfig(ctx, "defaultGameServerConfig", &gameservices.GameServerConfigArgs{
    			ConfigId:     pulumi.String("tf-test-config"),
    			DeploymentId: defaultGameServerDeployment.DeploymentId,
    			Description:  pulumi.String("a config description"),
    			FleetConfigs: gameservices.GameServerConfigFleetConfigArray{
    				&gameservices.GameServerConfigFleetConfigArgs{
    					Name:      pulumi.String("something-unique"),
    					FleetSpec: pulumi.String(json0),
    				},
    			},
    			ScalingConfigs: gameservices.GameServerConfigScalingConfigArray{
    				&gameservices.GameServerConfigScalingConfigArgs{
    					Name:                pulumi.String("scaling-config-name"),
    					FleetAutoscalerSpec: pulumi.String(json1),
    					Selectors: gameservices.GameServerConfigScalingConfigSelectorArray{
    						&gameservices.GameServerConfigScalingConfigSelectorArgs{
    							Labels: pulumi.StringMap{
    								"one": pulumi.String("two"),
    							},
    						},
    					},
    					Schedules: gameservices.GameServerConfigScalingConfigScheduleArray{
    						&gameservices.GameServerConfigScalingConfigScheduleArgs{
    							CronJobDuration: pulumi.String("3.500s"),
    							CronSpec:        pulumi.String("0 0 * * 0"),
    						},
    					},
    				},
    			},
    		})
    		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.gameservices.GameServerDeployment;
    import com.pulumi.gcp.gameservices.GameServerDeploymentArgs;
    import com.pulumi.gcp.gameservices.GameServerConfig;
    import com.pulumi.gcp.gameservices.GameServerConfigArgs;
    import com.pulumi.gcp.gameservices.inputs.GameServerConfigFleetConfigArgs;
    import com.pulumi.gcp.gameservices.inputs.GameServerConfigScalingConfigArgs;
    import static com.pulumi.codegen.internal.Serialization.*;
    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 defaultGameServerDeployment = new GameServerDeployment("defaultGameServerDeployment", GameServerDeploymentArgs.builder()        
                .deploymentId("tf-test-deployment")
                .description("a deployment description")
                .build());
    
            var defaultGameServerConfig = new GameServerConfig("defaultGameServerConfig", GameServerConfigArgs.builder()        
                .configId("tf-test-config")
                .deploymentId(defaultGameServerDeployment.deploymentId())
                .description("a config description")
                .fleetConfigs(GameServerConfigFleetConfigArgs.builder()
                    .name("something-unique")
                    .fleetSpec(serializeJson(
                        jsonObject(
                            jsonProperty("replicas", 1),
                            jsonProperty("scheduling", "Packed"),
                            jsonProperty("template", jsonObject(
                                jsonProperty("metadata", jsonObject(
                                    jsonProperty("name", "tf-test-game-server-template")
                                )),
                                jsonProperty("spec", jsonObject(
                                    jsonProperty("ports", jsonArray(jsonObject(
                                        jsonProperty("name", "default"),
                                        jsonProperty("portPolicy", "Dynamic"),
                                        jsonProperty("containerPort", 7654),
                                        jsonProperty("protocol", "UDP")
                                    ))),
                                    jsonProperty("template", jsonObject(
                                        jsonProperty("spec", jsonObject(
                                            jsonProperty("containers", jsonArray(jsonObject(
                                                jsonProperty("name", "simple-udp-server"),
                                                jsonProperty("image", "gcr.io/agones-images/udp-server:0.14")
                                            )))
                                        ))
                                    ))
                                ))
                            ))
                        )))
                    .build())
                .scalingConfigs(GameServerConfigScalingConfigArgs.builder()
                    .name("scaling-config-name")
                    .fleetAutoscalerSpec(serializeJson(
                        jsonObject(
                            jsonProperty("policy", jsonObject(
                                jsonProperty("type", "Webhook"),
                                jsonProperty("webhook", jsonObject(
                                    jsonProperty("service", jsonObject(
                                        jsonProperty("name", "autoscaler-webhook-service"),
                                        jsonProperty("namespace", "default"),
                                        jsonProperty("path", "scale")
                                    ))
                                ))
                            ))
                        )))
                    .selectors(GameServerConfigScalingConfigSelectorArgs.builder()
                        .labels(Map.of("one", "two"))
                        .build())
                    .schedules(GameServerConfigScalingConfigScheduleArgs.builder()
                        .cronJobDuration("3.500s")
                        .cronSpec("0 0 * * 0")
                        .build())
                    .build())
                .build());
    
        }
    }
    
    import pulumi
    import json
    import pulumi_gcp as gcp
    
    default_game_server_deployment = gcp.gameservices.GameServerDeployment("defaultGameServerDeployment",
        deployment_id="tf-test-deployment",
        description="a deployment description")
    default_game_server_config = gcp.gameservices.GameServerConfig("defaultGameServerConfig",
        config_id="tf-test-config",
        deployment_id=default_game_server_deployment.deployment_id,
        description="a config description",
        fleet_configs=[gcp.gameservices.GameServerConfigFleetConfigArgs(
            name="something-unique",
            fleet_spec=json.dumps({
                "replicas": 1,
                "scheduling": "Packed",
                "template": {
                    "metadata": {
                        "name": "tf-test-game-server-template",
                    },
                    "spec": {
                        "ports": [{
                            "name": "default",
                            "portPolicy": "Dynamic",
                            "containerPort": 7654,
                            "protocol": "UDP",
                        }],
                        "template": {
                            "spec": {
                                "containers": [{
                                    "name": "simple-udp-server",
                                    "image": "gcr.io/agones-images/udp-server:0.14",
                                }],
                            },
                        },
                    },
                },
            }),
        )],
        scaling_configs=[gcp.gameservices.GameServerConfigScalingConfigArgs(
            name="scaling-config-name",
            fleet_autoscaler_spec=json.dumps({
                "policy": {
                    "type": "Webhook",
                    "webhook": {
                        "service": {
                            "name": "autoscaler-webhook-service",
                            "namespace": "default",
                            "path": "scale",
                        },
                    },
                },
            }),
            selectors=[gcp.gameservices.GameServerConfigScalingConfigSelectorArgs(
                labels={
                    "one": "two",
                },
            )],
            schedules=[gcp.gameservices.GameServerConfigScalingConfigScheduleArgs(
                cron_job_duration="3.500s",
                cron_spec="0 0 * * 0",
            )],
        )])
    
    import * as pulumi from "@pulumi/pulumi";
    import * as gcp from "@pulumi/gcp";
    
    const defaultGameServerDeployment = new gcp.gameservices.GameServerDeployment("defaultGameServerDeployment", {
        deploymentId: "tf-test-deployment",
        description: "a deployment description",
    });
    const defaultGameServerConfig = new gcp.gameservices.GameServerConfig("defaultGameServerConfig", {
        configId: "tf-test-config",
        deploymentId: defaultGameServerDeployment.deploymentId,
        description: "a config description",
        fleetConfigs: [{
            name: "something-unique",
            fleetSpec: JSON.stringify({
                replicas: 1,
                scheduling: "Packed",
                template: {
                    metadata: {
                        name: "tf-test-game-server-template",
                    },
                    spec: {
                        ports: [{
                            name: "default",
                            portPolicy: "Dynamic",
                            containerPort: 7654,
                            protocol: "UDP",
                        }],
                        template: {
                            spec: {
                                containers: [{
                                    name: "simple-udp-server",
                                    image: "gcr.io/agones-images/udp-server:0.14",
                                }],
                            },
                        },
                    },
                },
            }),
        }],
        scalingConfigs: [{
            name: "scaling-config-name",
            fleetAutoscalerSpec: JSON.stringify({
                policy: {
                    type: "Webhook",
                    webhook: {
                        service: {
                            name: "autoscaler-webhook-service",
                            namespace: "default",
                            path: "scale",
                        },
                    },
                },
            }),
            selectors: [{
                labels: {
                    one: "two",
                },
            }],
            schedules: [{
                cronJobDuration: "3.500s",
                cronSpec: "0 0 * * 0",
            }],
        }],
    });
    
    resources:
      defaultGameServerDeployment:
        type: gcp:gameservices:GameServerDeployment
        properties:
          deploymentId: tf-test-deployment
          description: a deployment description
      defaultGameServerConfig:
        type: gcp:gameservices:GameServerConfig
        properties:
          configId: tf-test-config
          deploymentId: ${defaultGameServerDeployment.deploymentId}
          description: a config description
          fleetConfigs:
            - name: something-unique
              fleetSpec:
                fn::toJSON:
                  replicas: 1
                  scheduling: Packed
                  template:
                    metadata:
                      name: tf-test-game-server-template
                    spec:
                      ports:
                        - name: default
                          portPolicy: Dynamic
                          containerPort: 7654
                          protocol: UDP
                      template:
                        spec:
                          containers:
                            - name: simple-udp-server
                              image: gcr.io/agones-images/udp-server:0.14
          scalingConfigs:
            - name: scaling-config-name
              fleetAutoscalerSpec:
                fn::toJSON:
                  policy:
                    type: Webhook
                    webhook:
                      service:
                        name: autoscaler-webhook-service
                        namespace: default
                        path: scale
              selectors:
                - labels:
                    one: two
              schedules:
                - cronJobDuration: 3.500s
                  cronSpec: 0 0 * * 0
    

    Create GameServerConfig Resource

    new GameServerConfig(name: string, args: GameServerConfigArgs, opts?: CustomResourceOptions);
    @overload
    def GameServerConfig(resource_name: str,
                         opts: Optional[ResourceOptions] = None,
                         config_id: Optional[str] = None,
                         deployment_id: Optional[str] = None,
                         description: Optional[str] = None,
                         fleet_configs: Optional[Sequence[GameServerConfigFleetConfigArgs]] = None,
                         labels: Optional[Mapping[str, str]] = None,
                         location: Optional[str] = None,
                         project: Optional[str] = None,
                         scaling_configs: Optional[Sequence[GameServerConfigScalingConfigArgs]] = None)
    @overload
    def GameServerConfig(resource_name: str,
                         args: GameServerConfigArgs,
                         opts: Optional[ResourceOptions] = None)
    func NewGameServerConfig(ctx *Context, name string, args GameServerConfigArgs, opts ...ResourceOption) (*GameServerConfig, error)
    public GameServerConfig(string name, GameServerConfigArgs args, CustomResourceOptions? opts = null)
    public GameServerConfig(String name, GameServerConfigArgs args)
    public GameServerConfig(String name, GameServerConfigArgs args, CustomResourceOptions options)
    
    type: gcp:gameservices:GameServerConfig
    properties: # The arguments to resource properties.
    options: # Bag of options to control resource's behavior.
    
    
    name string
    The unique name of the resource.
    args GameServerConfigArgs
    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 GameServerConfigArgs
    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 GameServerConfigArgs
    The arguments to resource properties.
    opts ResourceOption
    Bag of options to control resource's behavior.
    name string
    The unique name of the resource.
    args GameServerConfigArgs
    The arguments to resource properties.
    opts CustomResourceOptions
    Bag of options to control resource's behavior.
    name String
    The unique name of the resource.
    args GameServerConfigArgs
    The arguments to resource properties.
    options CustomResourceOptions
    Bag of options to control resource's behavior.

    GameServerConfig 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 GameServerConfig resource accepts the following input properties:

    ConfigId string

    A unique id for the deployment config.

    DeploymentId string

    A unique id for the deployment.

    FleetConfigs List<GameServerConfigFleetConfigArgs>

    The fleet config contains list of fleet specs. In the Single Cloud, there will be only one. Structure is documented below.

    Description string

    The description of the game server config.

    Labels Dictionary<string, string>

    The labels associated with this game server config. Each label is a key-value pair.

    (Optional) Set of labels to group by.

    Location string

    Location of the Deployment.

    Project string

    The ID of the project in which the resource belongs. If it is not provided, the provider project is used.

    ScalingConfigs List<GameServerConfigScalingConfigArgs>

    Optional. This contains the autoscaling settings. Structure is documented below.

    ConfigId string

    A unique id for the deployment config.

    DeploymentId string

    A unique id for the deployment.

    FleetConfigs []GameServerConfigFleetConfigArgs

    The fleet config contains list of fleet specs. In the Single Cloud, there will be only one. Structure is documented below.

    Description string

    The description of the game server config.

    Labels map[string]string

    The labels associated with this game server config. Each label is a key-value pair.

    (Optional) Set of labels to group by.

    Location string

    Location of the Deployment.

    Project string

    The ID of the project in which the resource belongs. If it is not provided, the provider project is used.

    ScalingConfigs []GameServerConfigScalingConfigArgs

    Optional. This contains the autoscaling settings. Structure is documented below.

    configId String

    A unique id for the deployment config.

    deploymentId String

    A unique id for the deployment.

    fleetConfigs List<GameServerConfigFleetConfigArgs>

    The fleet config contains list of fleet specs. In the Single Cloud, there will be only one. Structure is documented below.

    description String

    The description of the game server config.

    labels Map<String,String>

    The labels associated with this game server config. Each label is a key-value pair.

    (Optional) Set of labels to group by.

    location String

    Location of the Deployment.

    project String

    The ID of the project in which the resource belongs. If it is not provided, the provider project is used.

    scalingConfigs List<GameServerConfigScalingConfigArgs>

    Optional. This contains the autoscaling settings. Structure is documented below.

    configId string

    A unique id for the deployment config.

    deploymentId string

    A unique id for the deployment.

    fleetConfigs GameServerConfigFleetConfigArgs[]

    The fleet config contains list of fleet specs. In the Single Cloud, there will be only one. Structure is documented below.

    description string

    The description of the game server config.

    labels {[key: string]: string}

    The labels associated with this game server config. Each label is a key-value pair.

    (Optional) Set of labels to group by.

    location string

    Location of the Deployment.

    project string

    The ID of the project in which the resource belongs. If it is not provided, the provider project is used.

    scalingConfigs GameServerConfigScalingConfigArgs[]

    Optional. This contains the autoscaling settings. Structure is documented below.

    config_id str

    A unique id for the deployment config.

    deployment_id str

    A unique id for the deployment.

    fleet_configs Sequence[GameServerConfigFleetConfigArgs]

    The fleet config contains list of fleet specs. In the Single Cloud, there will be only one. Structure is documented below.

    description str

    The description of the game server config.

    labels Mapping[str, str]

    The labels associated with this game server config. Each label is a key-value pair.

    (Optional) Set of labels to group by.

    location str

    Location of the Deployment.

    project str

    The ID of the project in which the resource belongs. If it is not provided, the provider project is used.

    scaling_configs Sequence[GameServerConfigScalingConfigArgs]

    Optional. This contains the autoscaling settings. Structure is documented below.

    configId String

    A unique id for the deployment config.

    deploymentId String

    A unique id for the deployment.

    fleetConfigs List<Property Map>

    The fleet config contains list of fleet specs. In the Single Cloud, there will be only one. Structure is documented below.

    description String

    The description of the game server config.

    labels Map<String>

    The labels associated with this game server config. Each label is a key-value pair.

    (Optional) Set of labels to group by.

    location String

    Location of the Deployment.

    project String

    The ID of the project in which the resource belongs. If it is not provided, the provider project is used.

    scalingConfigs List<Property Map>

    Optional. This contains the autoscaling settings. Structure is documented below.

    Outputs

    All input properties are implicitly available as output properties. Additionally, the GameServerConfig resource produces the following output properties:

    Id string

    The provider-assigned unique ID for this managed resource.

    Name string

    The name of the FleetConfig.


    (Required) The name of the ScalingConfig

    Id string

    The provider-assigned unique ID for this managed resource.

    Name string

    The name of the FleetConfig.


    (Required) The name of the ScalingConfig

    id String

    The provider-assigned unique ID for this managed resource.

    name String

    The name of the FleetConfig.


    (Required) The name of the ScalingConfig

    id string

    The provider-assigned unique ID for this managed resource.

    name string

    The name of the FleetConfig.


    (Required) The name of the ScalingConfig

    id str

    The provider-assigned unique ID for this managed resource.

    name str

    The name of the FleetConfig.


    (Required) The name of the ScalingConfig

    id String

    The provider-assigned unique ID for this managed resource.

    name String

    The name of the FleetConfig.


    (Required) The name of the ScalingConfig

    Look up Existing GameServerConfig Resource

    Get an existing GameServerConfig 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?: GameServerConfigState, opts?: CustomResourceOptions): GameServerConfig
    @staticmethod
    def get(resource_name: str,
            id: str,
            opts: Optional[ResourceOptions] = None,
            config_id: Optional[str] = None,
            deployment_id: Optional[str] = None,
            description: Optional[str] = None,
            fleet_configs: Optional[Sequence[GameServerConfigFleetConfigArgs]] = None,
            labels: Optional[Mapping[str, str]] = None,
            location: Optional[str] = None,
            name: Optional[str] = None,
            project: Optional[str] = None,
            scaling_configs: Optional[Sequence[GameServerConfigScalingConfigArgs]] = None) -> GameServerConfig
    func GetGameServerConfig(ctx *Context, name string, id IDInput, state *GameServerConfigState, opts ...ResourceOption) (*GameServerConfig, error)
    public static GameServerConfig Get(string name, Input<string> id, GameServerConfigState? state, CustomResourceOptions? opts = null)
    public static GameServerConfig get(String name, Output<String> id, GameServerConfigState 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:
    ConfigId string

    A unique id for the deployment config.

    DeploymentId string

    A unique id for the deployment.

    Description string

    The description of the game server config.

    FleetConfigs List<GameServerConfigFleetConfigArgs>

    The fleet config contains list of fleet specs. In the Single Cloud, there will be only one. Structure is documented below.

    Labels Dictionary<string, string>

    The labels associated with this game server config. Each label is a key-value pair.

    (Optional) Set of labels to group by.

    Location string

    Location of the Deployment.

    Name string

    The name of the FleetConfig.


    (Required) The name of the ScalingConfig

    Project string

    The ID of the project in which the resource belongs. If it is not provided, the provider project is used.

    ScalingConfigs List<GameServerConfigScalingConfigArgs>

    Optional. This contains the autoscaling settings. Structure is documented below.

    ConfigId string

    A unique id for the deployment config.

    DeploymentId string

    A unique id for the deployment.

    Description string

    The description of the game server config.

    FleetConfigs []GameServerConfigFleetConfigArgs

    The fleet config contains list of fleet specs. In the Single Cloud, there will be only one. Structure is documented below.

    Labels map[string]string

    The labels associated with this game server config. Each label is a key-value pair.

    (Optional) Set of labels to group by.

    Location string

    Location of the Deployment.

    Name string

    The name of the FleetConfig.


    (Required) The name of the ScalingConfig

    Project string

    The ID of the project in which the resource belongs. If it is not provided, the provider project is used.

    ScalingConfigs []GameServerConfigScalingConfigArgs

    Optional. This contains the autoscaling settings. Structure is documented below.

    configId String

    A unique id for the deployment config.

    deploymentId String

    A unique id for the deployment.

    description String

    The description of the game server config.

    fleetConfigs List<GameServerConfigFleetConfigArgs>

    The fleet config contains list of fleet specs. In the Single Cloud, there will be only one. Structure is documented below.

    labels Map<String,String>

    The labels associated with this game server config. Each label is a key-value pair.

    (Optional) Set of labels to group by.

    location String

    Location of the Deployment.

    name String

    The name of the FleetConfig.


    (Required) The name of the ScalingConfig

    project String

    The ID of the project in which the resource belongs. If it is not provided, the provider project is used.

    scalingConfigs List<GameServerConfigScalingConfigArgs>

    Optional. This contains the autoscaling settings. Structure is documented below.

    configId string

    A unique id for the deployment config.

    deploymentId string

    A unique id for the deployment.

    description string

    The description of the game server config.

    fleetConfigs GameServerConfigFleetConfigArgs[]

    The fleet config contains list of fleet specs. In the Single Cloud, there will be only one. Structure is documented below.

    labels {[key: string]: string}

    The labels associated with this game server config. Each label is a key-value pair.

    (Optional) Set of labels to group by.

    location string

    Location of the Deployment.

    name string

    The name of the FleetConfig.


    (Required) The name of the ScalingConfig

    project string

    The ID of the project in which the resource belongs. If it is not provided, the provider project is used.

    scalingConfigs GameServerConfigScalingConfigArgs[]

    Optional. This contains the autoscaling settings. Structure is documented below.

    config_id str

    A unique id for the deployment config.

    deployment_id str

    A unique id for the deployment.

    description str

    The description of the game server config.

    fleet_configs Sequence[GameServerConfigFleetConfigArgs]

    The fleet config contains list of fleet specs. In the Single Cloud, there will be only one. Structure is documented below.

    labels Mapping[str, str]

    The labels associated with this game server config. Each label is a key-value pair.

    (Optional) Set of labels to group by.

    location str

    Location of the Deployment.

    name str

    The name of the FleetConfig.


    (Required) The name of the ScalingConfig

    project str

    The ID of the project in which the resource belongs. If it is not provided, the provider project is used.

    scaling_configs Sequence[GameServerConfigScalingConfigArgs]

    Optional. This contains the autoscaling settings. Structure is documented below.

    configId String

    A unique id for the deployment config.

    deploymentId String

    A unique id for the deployment.

    description String

    The description of the game server config.

    fleetConfigs List<Property Map>

    The fleet config contains list of fleet specs. In the Single Cloud, there will be only one. Structure is documented below.

    labels Map<String>

    The labels associated with this game server config. Each label is a key-value pair.

    (Optional) Set of labels to group by.

    location String

    Location of the Deployment.

    name String

    The name of the FleetConfig.


    (Required) The name of the ScalingConfig

    project String

    The ID of the project in which the resource belongs. If it is not provided, the provider project is used.

    scalingConfigs List<Property Map>

    Optional. This contains the autoscaling settings. Structure is documented below.

    Supporting Types

    GameServerConfigFleetConfig

    FleetSpec string

    The fleet spec, which is sent to Agones to configure fleet. The spec can be passed as inline json but it is recommended to use a file reference instead. File references can contain the json or yaml format of the fleet spec. Eg:

    • fleet_spec = jsonencode(yamldecode(file("fleet_configs.yaml")))
    • fleet_spec = file("fleet_configs.json") The format of the spec can be found : https://agones.dev/site/docs/reference/fleet/.
    Name string

    The name of the FleetConfig.


    FleetSpec string

    The fleet spec, which is sent to Agones to configure fleet. The spec can be passed as inline json but it is recommended to use a file reference instead. File references can contain the json or yaml format of the fleet spec. Eg:

    • fleet_spec = jsonencode(yamldecode(file("fleet_configs.yaml")))
    • fleet_spec = file("fleet_configs.json") The format of the spec can be found : https://agones.dev/site/docs/reference/fleet/.
    Name string

    The name of the FleetConfig.


    fleetSpec String

    The fleet spec, which is sent to Agones to configure fleet. The spec can be passed as inline json but it is recommended to use a file reference instead. File references can contain the json or yaml format of the fleet spec. Eg:

    • fleet_spec = jsonencode(yamldecode(file("fleet_configs.yaml")))
    • fleet_spec = file("fleet_configs.json") The format of the spec can be found : https://agones.dev/site/docs/reference/fleet/.
    name String

    The name of the FleetConfig.


    fleetSpec string

    The fleet spec, which is sent to Agones to configure fleet. The spec can be passed as inline json but it is recommended to use a file reference instead. File references can contain the json or yaml format of the fleet spec. Eg:

    • fleet_spec = jsonencode(yamldecode(file("fleet_configs.yaml")))
    • fleet_spec = file("fleet_configs.json") The format of the spec can be found : https://agones.dev/site/docs/reference/fleet/.
    name string

    The name of the FleetConfig.


    fleet_spec str

    The fleet spec, which is sent to Agones to configure fleet. The spec can be passed as inline json but it is recommended to use a file reference instead. File references can contain the json or yaml format of the fleet spec. Eg:

    • fleet_spec = jsonencode(yamldecode(file("fleet_configs.yaml")))
    • fleet_spec = file("fleet_configs.json") The format of the spec can be found : https://agones.dev/site/docs/reference/fleet/.
    name str

    The name of the FleetConfig.


    fleetSpec String

    The fleet spec, which is sent to Agones to configure fleet. The spec can be passed as inline json but it is recommended to use a file reference instead. File references can contain the json or yaml format of the fleet spec. Eg:

    • fleet_spec = jsonencode(yamldecode(file("fleet_configs.yaml")))
    • fleet_spec = file("fleet_configs.json") The format of the spec can be found : https://agones.dev/site/docs/reference/fleet/.
    name String

    The name of the FleetConfig.


    GameServerConfigScalingConfig

    FleetAutoscalerSpec string

    Fleet autoscaler spec, which is sent to Agones. Example spec can be found : https://agones.dev/site/docs/reference/fleetautoscaler/

    Name string

    The name of the ScalingConfig

    Schedules List<GameServerConfigScalingConfigSchedule>

    The schedules to which this scaling config applies. Structure is documented below.

    Selectors List<GameServerConfigScalingConfigSelector>

    Labels used to identify the clusters to which this scaling config applies. A cluster is subject to this scaling config if its labels match any of the selector entries. Structure is documented below.

    FleetAutoscalerSpec string

    Fleet autoscaler spec, which is sent to Agones. Example spec can be found : https://agones.dev/site/docs/reference/fleetautoscaler/

    Name string

    The name of the ScalingConfig

    Schedules []GameServerConfigScalingConfigSchedule

    The schedules to which this scaling config applies. Structure is documented below.

    Selectors []GameServerConfigScalingConfigSelector

    Labels used to identify the clusters to which this scaling config applies. A cluster is subject to this scaling config if its labels match any of the selector entries. Structure is documented below.

    fleetAutoscalerSpec String

    Fleet autoscaler spec, which is sent to Agones. Example spec can be found : https://agones.dev/site/docs/reference/fleetautoscaler/

    name String

    The name of the ScalingConfig

    schedules List<GameServerConfigScalingConfigSchedule>

    The schedules to which this scaling config applies. Structure is documented below.

    selectors List<GameServerConfigScalingConfigSelector>

    Labels used to identify the clusters to which this scaling config applies. A cluster is subject to this scaling config if its labels match any of the selector entries. Structure is documented below.

    fleetAutoscalerSpec string

    Fleet autoscaler spec, which is sent to Agones. Example spec can be found : https://agones.dev/site/docs/reference/fleetautoscaler/

    name string

    The name of the ScalingConfig

    schedules GameServerConfigScalingConfigSchedule[]

    The schedules to which this scaling config applies. Structure is documented below.

    selectors GameServerConfigScalingConfigSelector[]

    Labels used to identify the clusters to which this scaling config applies. A cluster is subject to this scaling config if its labels match any of the selector entries. Structure is documented below.

    fleet_autoscaler_spec str

    Fleet autoscaler spec, which is sent to Agones. Example spec can be found : https://agones.dev/site/docs/reference/fleetautoscaler/

    name str

    The name of the ScalingConfig

    schedules Sequence[GameServerConfigScalingConfigSchedule]

    The schedules to which this scaling config applies. Structure is documented below.

    selectors Sequence[GameServerConfigScalingConfigSelector]

    Labels used to identify the clusters to which this scaling config applies. A cluster is subject to this scaling config if its labels match any of the selector entries. Structure is documented below.

    fleetAutoscalerSpec String

    Fleet autoscaler spec, which is sent to Agones. Example spec can be found : https://agones.dev/site/docs/reference/fleetautoscaler/

    name String

    The name of the ScalingConfig

    schedules List<Property Map>

    The schedules to which this scaling config applies. Structure is documented below.

    selectors List<Property Map>

    Labels used to identify the clusters to which this scaling config applies. A cluster is subject to this scaling config if its labels match any of the selector entries. Structure is documented below.

    GameServerConfigScalingConfigSchedule

    CronJobDuration string

    The duration for the cron job event. The duration of the event is effective after the cron job's start time. A duration in seconds with up to nine fractional digits, terminated by 's'. Example: "3.5s".

    CronSpec string

    The cron definition of the scheduled event. See https://en.wikipedia.org/wiki/Cron. Cron spec specifies the local time as defined by the realm.

    EndTime string

    The end time of the event. A timestamp in RFC3339 UTC "Zulu" format, accurate to nanoseconds. Example: "2014-10-02T15:01:23.045123456Z".

    StartTime string

    The start time of the event. A timestamp in RFC3339 UTC "Zulu" format, accurate to nanoseconds. Example: "2014-10-02T15:01:23.045123456Z".

    CronJobDuration string

    The duration for the cron job event. The duration of the event is effective after the cron job's start time. A duration in seconds with up to nine fractional digits, terminated by 's'. Example: "3.5s".

    CronSpec string

    The cron definition of the scheduled event. See https://en.wikipedia.org/wiki/Cron. Cron spec specifies the local time as defined by the realm.

    EndTime string

    The end time of the event. A timestamp in RFC3339 UTC "Zulu" format, accurate to nanoseconds. Example: "2014-10-02T15:01:23.045123456Z".

    StartTime string

    The start time of the event. A timestamp in RFC3339 UTC "Zulu" format, accurate to nanoseconds. Example: "2014-10-02T15:01:23.045123456Z".

    cronJobDuration String

    The duration for the cron job event. The duration of the event is effective after the cron job's start time. A duration in seconds with up to nine fractional digits, terminated by 's'. Example: "3.5s".

    cronSpec String

    The cron definition of the scheduled event. See https://en.wikipedia.org/wiki/Cron. Cron spec specifies the local time as defined by the realm.

    endTime String

    The end time of the event. A timestamp in RFC3339 UTC "Zulu" format, accurate to nanoseconds. Example: "2014-10-02T15:01:23.045123456Z".

    startTime String

    The start time of the event. A timestamp in RFC3339 UTC "Zulu" format, accurate to nanoseconds. Example: "2014-10-02T15:01:23.045123456Z".

    cronJobDuration string

    The duration for the cron job event. The duration of the event is effective after the cron job's start time. A duration in seconds with up to nine fractional digits, terminated by 's'. Example: "3.5s".

    cronSpec string

    The cron definition of the scheduled event. See https://en.wikipedia.org/wiki/Cron. Cron spec specifies the local time as defined by the realm.

    endTime string

    The end time of the event. A timestamp in RFC3339 UTC "Zulu" format, accurate to nanoseconds. Example: "2014-10-02T15:01:23.045123456Z".

    startTime string

    The start time of the event. A timestamp in RFC3339 UTC "Zulu" format, accurate to nanoseconds. Example: "2014-10-02T15:01:23.045123456Z".

    cron_job_duration str

    The duration for the cron job event. The duration of the event is effective after the cron job's start time. A duration in seconds with up to nine fractional digits, terminated by 's'. Example: "3.5s".

    cron_spec str

    The cron definition of the scheduled event. See https://en.wikipedia.org/wiki/Cron. Cron spec specifies the local time as defined by the realm.

    end_time str

    The end time of the event. A timestamp in RFC3339 UTC "Zulu" format, accurate to nanoseconds. Example: "2014-10-02T15:01:23.045123456Z".

    start_time str

    The start time of the event. A timestamp in RFC3339 UTC "Zulu" format, accurate to nanoseconds. Example: "2014-10-02T15:01:23.045123456Z".

    cronJobDuration String

    The duration for the cron job event. The duration of the event is effective after the cron job's start time. A duration in seconds with up to nine fractional digits, terminated by 's'. Example: "3.5s".

    cronSpec String

    The cron definition of the scheduled event. See https://en.wikipedia.org/wiki/Cron. Cron spec specifies the local time as defined by the realm.

    endTime String

    The end time of the event. A timestamp in RFC3339 UTC "Zulu" format, accurate to nanoseconds. Example: "2014-10-02T15:01:23.045123456Z".

    startTime String

    The start time of the event. A timestamp in RFC3339 UTC "Zulu" format, accurate to nanoseconds. Example: "2014-10-02T15:01:23.045123456Z".

    GameServerConfigScalingConfigSelector

    Labels Dictionary<string, string>

    Set of labels to group by.

    Labels map[string]string

    Set of labels to group by.

    labels Map<String,String>

    Set of labels to group by.

    labels {[key: string]: string}

    Set of labels to group by.

    labels Mapping[str, str]

    Set of labels to group by.

    labels Map<String>

    Set of labels to group by.

    Import

    GameServerConfig can be imported using any of these accepted formats

     $ pulumi import gcp:gameservices/gameServerConfig:GameServerConfig default projects/{{project}}/locations/{{location}}/gameServerDeployments/{{deployment_id}}/configs/{{config_id}}
    
     $ pulumi import gcp:gameservices/gameServerConfig:GameServerConfig default {{project}}/{{location}}/{{deployment_id}}/{{config_id}}
    
     $ pulumi import gcp:gameservices/gameServerConfig:GameServerConfig default {{location}}/{{deployment_id}}/{{config_id}}
    

    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.

    gcp logo
    Google Cloud Classic v6.58.0 published on Tuesday, Jun 6, 2023 by Pulumi