Module gameservices

This page documents the language specification for the gcp package. If you're looking for help working with the inputs, outputs, or functions of gcp resources in a Pulumi program, please see the resource documentation for examples and API reference.

Resources

Others

Resources

Resource GameServerCluster

class GameServerCluster extends CustomResource

A game server cluster resource.

To get more information about GameServerCluster, see:

constructor

new GameServerCluster(name: string, args: GameServerClusterArgs, opts?: pulumi.CustomResourceOptions)

Create a GameServerCluster resource with the given unique name, arguments, and options.

  • name The unique name of the resource.
  • args The arguments to use to populate this resource's properties.
  • opts A bag of options that control this resource's behavior.

method get

public static get(name: string, id: pulumi.Input<pulumi.ID>, state?: GameServerClusterState, opts?: pulumi.CustomResourceOptions): GameServerCluster

Get an existing GameServerCluster resource’s state with the given name, ID, and optional extra properties used to qualify the lookup.

method getProvider

getProvider(moduleMember: string): ProviderResource | undefined

method isInstance

public static isInstance(obj: any): obj is GameServerCluster

Returns true if the given object is an instance of GameServerCluster. This is designed to work even when multiple copies of the Pulumi SDK have been loaded into the same process.

property clusterId

public clusterId: pulumi.Output<string>;

Required. The resource name of the game server cluster

property connectionInfo

public connectionInfo: pulumi.Output<GameServerClusterConnectionInfo>;

Game server cluster connection information. This information is used to manage game server clusters. Structure is documented below.

property description

public description: pulumi.Output<string | undefined>;

Human readable description of the cluster.

property id

id: Output<ID>;

id is the provider-assigned unique ID for this managed resource. It is set during deployments and may be missing (undefined) during planning phases.

property labels

public labels: pulumi.Output<{[key: string]: string} | undefined>;

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

property location

public location: pulumi.Output<string | undefined>;

Location of the Cluster.

property name

public name: pulumi.Output<string>;

The resource id of the game server cluster, eg: ‘projects/{project_id}/locations/{location}/realms/{realm_id}/gameServerClusters/{cluster_id}‘. For example, ‘projects/my-project/locations/{location}/realms/zanzibar/gameServerClusters/my-onprem-cluster’.

property project

public project: pulumi.Output<string>;

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

property realmId

public realmId: pulumi.Output<string>;

The realm id of the game server realm.

property urn

urn: Output<URN>;

urn is the stable logical URN used to distinctly address a resource, both before and after deployments.

Resource GameServerConfig

class GameServerConfig extends CustomResource

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

To get more information about GameServerConfig, see:

Example Usage - Game Service Config Basic

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",
    fleet_configs: [{
        name: "something-unique",
        fleetSpec: JSON.stringify({
            replicas: 1,
            scheduling: "Packed",
            template: {
                metadata: {
                    name: "tf-test-game-server-template",
                },
                spec: {
                    template: {
                        spec: {
                            containers: [{
                                name: "simple-udp-server",
                                image: "gcr.io/agones-images/udp-server:0.14",
                            }],
                        },
                    },
                },
            },
        }),
    }],
    scaling_configs: [{
        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",
        }],
    }],
});

constructor

new GameServerConfig(name: string, args: GameServerConfigArgs, opts?: pulumi.CustomResourceOptions)

Create a GameServerConfig resource with the given unique name, arguments, and options.

  • name The unique name of the resource.
  • args The arguments to use to populate this resource's properties.
  • opts A bag of options that control this resource's behavior.

method get

public static get(name: string, id: pulumi.Input<pulumi.ID>, state?: GameServerConfigState, opts?: pulumi.CustomResourceOptions): GameServerConfig

Get an existing GameServerConfig resource’s state with the given name, ID, and optional extra properties used to qualify the lookup.

method getProvider

getProvider(moduleMember: string): ProviderResource | undefined

method isInstance

public static isInstance(obj: any): obj is GameServerConfig

Returns true if the given object is an instance of GameServerConfig. This is designed to work even when multiple copies of the Pulumi SDK have been loaded into the same process.

property configId

public configId: pulumi.Output<string>;

A unique id for the deployment config.

property deploymentId

public deploymentId: pulumi.Output<string>;

A unique id for the deployment.

property description

public description: pulumi.Output<string | undefined>;

The description of the game server config.

property fleetConfigs

public fleetConfigs: pulumi.Output<GameServerConfigFleetConfig[]>;

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

property id

id: Output<ID>;

id is the provider-assigned unique ID for this managed resource. It is set during deployments and may be missing (undefined) during planning phases.

property labels

public labels: pulumi.Output<{[key: string]: string} | undefined>;

Set of labels to group by.

property location

public location: pulumi.Output<string | undefined>;

Location of the Deployment.

property name

public name: pulumi.Output<string>;

The name of the ScalingConfig

property project

public project: pulumi.Output<string>;

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

property scalingConfigs

public scalingConfigs: pulumi.Output<GameServerConfigScalingConfig[] | undefined>;

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

property urn

urn: Output<URN>;

urn is the stable logical URN used to distinctly address a resource, both before and after deployments.

Resource GameServerDeployment

class GameServerDeployment extends CustomResource

A game server deployment resource.

To get more information about GameServerDeployment, see:

Example Usage - Game Service Deployment Basic

import * as pulumi from "@pulumi/pulumi";
import * as gcp from "@pulumi/gcp";

const _default = new gcp.gameservices.GameServerDeployment("default", {
    deploymentId: "tf-test-deployment",
    description: "a deployment description",
});

constructor

new GameServerDeployment(name: string, args: GameServerDeploymentArgs, opts?: pulumi.CustomResourceOptions)

Create a GameServerDeployment resource with the given unique name, arguments, and options.

  • name The unique name of the resource.
  • args The arguments to use to populate this resource's properties.
  • opts A bag of options that control this resource's behavior.

method get

public static get(name: string, id: pulumi.Input<pulumi.ID>, state?: GameServerDeploymentState, opts?: pulumi.CustomResourceOptions): GameServerDeployment

Get an existing GameServerDeployment resource’s state with the given name, ID, and optional extra properties used to qualify the lookup.

method getProvider

getProvider(moduleMember: string): ProviderResource | undefined

method isInstance

public static isInstance(obj: any): obj is GameServerDeployment

Returns true if the given object is an instance of GameServerDeployment. This is designed to work even when multiple copies of the Pulumi SDK have been loaded into the same process.

property deploymentId

public deploymentId: pulumi.Output<string>;

A unique id for the deployment.

property description

public description: pulumi.Output<string | undefined>;

Human readable description of the game server deployment.

property id

id: Output<ID>;

id is the provider-assigned unique ID for this managed resource. It is set during deployments and may be missing (undefined) during planning phases.

property labels

public labels: pulumi.Output<{[key: string]: string} | undefined>;

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

property location

public location: pulumi.Output<string | undefined>;

Location of the Deployment.

property name

public name: pulumi.Output<string>;

The resource id of the game server deployment, eg: ‘projects/{project_id}/locations/{location}/gameServerDeployments/{deployment_id}‘. For example, ‘projects/my-project/locations/{location}/gameServerDeployments/my-deployment’.

property project

public project: pulumi.Output<string>;

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

property urn

urn: Output<URN>;

urn is the stable logical URN used to distinctly address a resource, both before and after deployments.

Resource GameServerDeploymentRollout

class GameServerDeploymentRollout extends CustomResource

This represents the rollout state. This is part of the game server deployment.

To get more information about GameServerDeploymentRollout, see:

Example Usage - Game Service Deployment Rollout Basic

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",
    fleet_configs: [{
        name: "some-non-guid",
        fleetSpec: JSON.stringify({
            replicas: 1,
            scheduling: "Packed",
            template: {
                metadata: {
                    name: "tf-test-game-server-template",
                },
                spec: {
                    template: {
                        spec: {
                            containers: [{
                                name: "simple-udp-server",
                                image: "gcr.io/agones-images/udp-server:0.14",
                            }],
                        },
                    },
                },
            },
        }),
    }],
});
const defaultGameServerDeploymentRollout = new gcp.gameservices.GameServerDeploymentRollout("defaultGameServerDeploymentRollout", {
    deploymentId: defaultGameServerDeployment.deploymentId,
    defaultGameServerConfig: defaultGameServerConfig.name,
});

constructor

new GameServerDeploymentRollout(name: string, args: GameServerDeploymentRolloutArgs, opts?: pulumi.CustomResourceOptions)

Create a GameServerDeploymentRollout resource with the given unique name, arguments, and options.

  • name The unique name of the resource.
  • args The arguments to use to populate this resource's properties.
  • opts A bag of options that control this resource's behavior.

method get

public static get(name: string, id: pulumi.Input<pulumi.ID>, state?: GameServerDeploymentRolloutState, opts?: pulumi.CustomResourceOptions): GameServerDeploymentRollout

Get an existing GameServerDeploymentRollout resource’s state with the given name, ID, and optional extra properties used to qualify the lookup.

method getProvider

getProvider(moduleMember: string): ProviderResource | undefined

method isInstance

public static isInstance(obj: any): obj is GameServerDeploymentRollout

Returns true if the given object is an instance of GameServerDeploymentRollout. This is designed to work even when multiple copies of the Pulumi SDK have been loaded into the same process.

property defaultGameServerConfig

public defaultGameServerConfig: pulumi.Output<string>;

This field points to the game server config that is applied by default to all realms and clusters. For example, projects/my-project/locations/global/gameServerDeployments/my-game/configs/my-config.

property deploymentId

public deploymentId: pulumi.Output<string>;

The deployment to rollout the new config to. Only 1 rollout must be associated with each deployment.

property gameServerConfigOverrides

public gameServerConfigOverrides: pulumi.Output<GameServerDeploymentRolloutGameServerConfigOverride[] | undefined>;

The gameServerConfigOverrides contains the per game server config overrides. The overrides are processed in the order they are listed. As soon as a match is found for a cluster, the rest of the list is not processed. Structure is documented below.

property id

id: Output<ID>;

id is the provider-assigned unique ID for this managed resource. It is set during deployments and may be missing (undefined) during planning phases.

property name

public name: pulumi.Output<string>;

The resource id of the game server deployment eg: ‘projects/my-project/locations/global/gameServerDeployments/my-deployment/rollout’.

property project

public project: pulumi.Output<string>;

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

property urn

urn: Output<URN>;

urn is the stable logical URN used to distinctly address a resource, both before and after deployments.

Resource Realm

class Realm extends CustomResource

A Realm resource.

To get more information about Realm, see:

Example Usage - Game Service Realm Basic

import * as pulumi from "@pulumi/pulumi";
import * as gcp from "@pulumi/gcp";

const _default = new gcp.gameservices.Realm("default", {
    realmId: "tf-test-realm",
    timeZone: "EST",
    location: "global",
    description: "one of the nine",
});

constructor

new Realm(name: string, args: RealmArgs, opts?: pulumi.CustomResourceOptions)

Create a Realm resource with the given unique name, arguments, and options.

  • name The unique name of the resource.
  • args The arguments to use to populate this resource's properties.
  • opts A bag of options that control this resource's behavior.

method get

public static get(name: string, id: pulumi.Input<pulumi.ID>, state?: RealmState, opts?: pulumi.CustomResourceOptions): Realm

Get an existing Realm resource’s state with the given name, ID, and optional extra properties used to qualify the lookup.

method getProvider

getProvider(moduleMember: string): ProviderResource | undefined

method isInstance

public static isInstance(obj: any): obj is Realm

Returns true if the given object is an instance of Realm. This is designed to work even when multiple copies of the Pulumi SDK have been loaded into the same process.

property description

public description: pulumi.Output<string | undefined>;

Human readable description of the realm.

property etag

public etag: pulumi.Output<string>;

ETag of the resource.

property id

id: Output<ID>;

id is the provider-assigned unique ID for this managed resource. It is set during deployments and may be missing (undefined) during planning phases.

property labels

public labels: pulumi.Output<{[key: string]: string} | undefined>;

The labels associated with this realm. Each label is a key-value pair.

property location

public location: pulumi.Output<string | undefined>;

Location of the Realm.

property name

public name: pulumi.Output<string>;

The resource id of the realm, of the form: ‘projects/{project_id}/locations/{location}/realms/{realm_id}‘. For example, ‘projects/my-project/locations/{location}/realms/my-realm’.

property project

public project: pulumi.Output<string>;

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

property realmId

public realmId: pulumi.Output<string>;

GCP region of the Realm.

property timeZone

public timeZone: pulumi.Output<string>;

Required. Time zone where all realm-specific policies are evaluated. The value of this field must be from the IANA time zone database: https://www.iana.org/time-zones.

property urn

urn: Output<URN>;

urn is the stable logical URN used to distinctly address a resource, both before and after deployments.

Others

interface GameServerClusterArgs

interface GameServerClusterArgs

The set of arguments for constructing a GameServerCluster resource.

property clusterId

clusterId: pulumi.Input<string>;

Required. The resource name of the game server cluster

property connectionInfo

connectionInfo: pulumi.Input<GameServerClusterConnectionInfo>;

Game server cluster connection information. This information is used to manage game server clusters. Structure is documented below.

property description

description?: pulumi.Input<string>;

Human readable description of the cluster.

property labels

labels?: pulumi.Input<{[key: string]: pulumi.Input<string>}>;

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

property location

location?: pulumi.Input<string>;

Location of the Cluster.

property project

project?: pulumi.Input<string>;

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

property realmId

realmId: pulumi.Input<string>;

The realm id of the game server realm.

interface GameServerClusterState

interface GameServerClusterState

Input properties used for looking up and filtering GameServerCluster resources.

property clusterId

clusterId?: pulumi.Input<string>;

Required. The resource name of the game server cluster

property connectionInfo

connectionInfo?: pulumi.Input<GameServerClusterConnectionInfo>;

Game server cluster connection information. This information is used to manage game server clusters. Structure is documented below.

property description

description?: pulumi.Input<string>;

Human readable description of the cluster.

property labels

labels?: pulumi.Input<{[key: string]: pulumi.Input<string>}>;

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

property location

location?: pulumi.Input<string>;

Location of the Cluster.

property name

name?: pulumi.Input<string>;

The resource id of the game server cluster, eg: ‘projects/{project_id}/locations/{location}/realms/{realm_id}/gameServerClusters/{cluster_id}‘. For example, ‘projects/my-project/locations/{location}/realms/zanzibar/gameServerClusters/my-onprem-cluster’.

property project

project?: pulumi.Input<string>;

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

property realmId

realmId?: pulumi.Input<string>;

The realm id of the game server realm.

interface GameServerConfigArgs

interface GameServerConfigArgs

The set of arguments for constructing a GameServerConfig resource.

property configId

configId: pulumi.Input<string>;

A unique id for the deployment config.

property deploymentId

deploymentId: pulumi.Input<string>;

A unique id for the deployment.

property description

description?: pulumi.Input<string>;

The description of the game server config.

property fleetConfigs

fleetConfigs: pulumi.Input<pulumi.Input<GameServerConfigFleetConfig>[]>;

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

property labels

labels?: pulumi.Input<{[key: string]: pulumi.Input<string>}>;

Set of labels to group by.

property location

location?: pulumi.Input<string>;

Location of the Deployment.

property project

project?: pulumi.Input<string>;

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

property scalingConfigs

scalingConfigs?: pulumi.Input<pulumi.Input<GameServerConfigScalingConfig>[]>;

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

interface GameServerConfigState

interface GameServerConfigState

Input properties used for looking up and filtering GameServerConfig resources.

property configId

configId?: pulumi.Input<string>;

A unique id for the deployment config.

property deploymentId

deploymentId?: pulumi.Input<string>;

A unique id for the deployment.

property description

description?: pulumi.Input<string>;

The description of the game server config.

property fleetConfigs

fleetConfigs?: pulumi.Input<pulumi.Input<GameServerConfigFleetConfig>[]>;

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

property labels

labels?: pulumi.Input<{[key: string]: pulumi.Input<string>}>;

Set of labels to group by.

property location

location?: pulumi.Input<string>;

Location of the Deployment.

property name

name?: pulumi.Input<string>;

The name of the ScalingConfig

property project

project?: pulumi.Input<string>;

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

property scalingConfigs

scalingConfigs?: pulumi.Input<pulumi.Input<GameServerConfigScalingConfig>[]>;

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

interface GameServerDeploymentArgs

interface GameServerDeploymentArgs

The set of arguments for constructing a GameServerDeployment resource.

property deploymentId

deploymentId: pulumi.Input<string>;

A unique id for the deployment.

property description

description?: pulumi.Input<string>;

Human readable description of the game server deployment.

property labels

labels?: pulumi.Input<{[key: string]: pulumi.Input<string>}>;

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

property location

location?: pulumi.Input<string>;

Location of the Deployment.

property project

project?: pulumi.Input<string>;

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

interface GameServerDeploymentRolloutArgs

interface GameServerDeploymentRolloutArgs

The set of arguments for constructing a GameServerDeploymentRollout resource.

property defaultGameServerConfig

defaultGameServerConfig: pulumi.Input<string>;

This field points to the game server config that is applied by default to all realms and clusters. For example, projects/my-project/locations/global/gameServerDeployments/my-game/configs/my-config.

property deploymentId

deploymentId: pulumi.Input<string>;

The deployment to rollout the new config to. Only 1 rollout must be associated with each deployment.

property gameServerConfigOverrides

gameServerConfigOverrides?: pulumi.Input<pulumi.Input<GameServerDeploymentRolloutGameServerConfigOverride>[]>;

The gameServerConfigOverrides contains the per game server config overrides. The overrides are processed in the order they are listed. As soon as a match is found for a cluster, the rest of the list is not processed. Structure is documented below.

property project

project?: pulumi.Input<string>;

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

interface GameServerDeploymentRolloutState

interface GameServerDeploymentRolloutState

Input properties used for looking up and filtering GameServerDeploymentRollout resources.

property defaultGameServerConfig

defaultGameServerConfig?: pulumi.Input<string>;

This field points to the game server config that is applied by default to all realms and clusters. For example, projects/my-project/locations/global/gameServerDeployments/my-game/configs/my-config.

property deploymentId

deploymentId?: pulumi.Input<string>;

The deployment to rollout the new config to. Only 1 rollout must be associated with each deployment.

property gameServerConfigOverrides

gameServerConfigOverrides?: pulumi.Input<pulumi.Input<GameServerDeploymentRolloutGameServerConfigOverride>[]>;

The gameServerConfigOverrides contains the per game server config overrides. The overrides are processed in the order they are listed. As soon as a match is found for a cluster, the rest of the list is not processed. Structure is documented below.

property name

name?: pulumi.Input<string>;

The resource id of the game server deployment eg: ‘projects/my-project/locations/global/gameServerDeployments/my-deployment/rollout’.

property project

project?: pulumi.Input<string>;

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

interface GameServerDeploymentState

interface GameServerDeploymentState

Input properties used for looking up and filtering GameServerDeployment resources.

property deploymentId

deploymentId?: pulumi.Input<string>;

A unique id for the deployment.

property description

description?: pulumi.Input<string>;

Human readable description of the game server deployment.

property labels

labels?: pulumi.Input<{[key: string]: pulumi.Input<string>}>;

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

property location

location?: pulumi.Input<string>;

Location of the Deployment.

property name

name?: pulumi.Input<string>;

The resource id of the game server deployment, eg: ‘projects/{project_id}/locations/{location}/gameServerDeployments/{deployment_id}‘. For example, ‘projects/my-project/locations/{location}/gameServerDeployments/my-deployment’.

property project

project?: pulumi.Input<string>;

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

interface RealmArgs

interface RealmArgs

The set of arguments for constructing a Realm resource.

property description

description?: pulumi.Input<string>;

Human readable description of the realm.

property labels

labels?: pulumi.Input<{[key: string]: pulumi.Input<string>}>;

The labels associated with this realm. Each label is a key-value pair.

property location

location?: pulumi.Input<string>;

Location of the Realm.

property project

project?: pulumi.Input<string>;

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

property realmId

realmId: pulumi.Input<string>;

GCP region of the Realm.

property timeZone

timeZone: pulumi.Input<string>;

Required. Time zone where all realm-specific policies are evaluated. The value of this field must be from the IANA time zone database: https://www.iana.org/time-zones.

interface RealmState

interface RealmState

Input properties used for looking up and filtering Realm resources.

property description

description?: pulumi.Input<string>;

Human readable description of the realm.

property etag

etag?: pulumi.Input<string>;

ETag of the resource.

property labels

labels?: pulumi.Input<{[key: string]: pulumi.Input<string>}>;

The labels associated with this realm. Each label is a key-value pair.

property location

location?: pulumi.Input<string>;

Location of the Realm.

property name

name?: pulumi.Input<string>;

The resource id of the realm, of the form: ‘projects/{project_id}/locations/{location}/realms/{realm_id}‘. For example, ‘projects/my-project/locations/{location}/realms/my-realm’.

property project

project?: pulumi.Input<string>;

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

property realmId

realmId?: pulumi.Input<string>;

GCP region of the Realm.

property timeZone

timeZone?: pulumi.Input<string>;

Required. Time zone where all realm-specific policies are evaluated. The value of this field must be from the IANA time zone database: https://www.iana.org/time-zones.