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
- GameServerClusterArgs
- GameServerClusterState
- GameServerConfigArgs
- GameServerConfigState
- GameServerDeploymentArgs
- GameServerDeploymentRolloutArgs
- GameServerDeploymentRolloutState
- GameServerDeploymentState
- RealmArgs
- RealmState
Resources
Resource GameServerCluster
class GameServerCluster extends CustomResourceA game server cluster resource.
To get more information about GameServerCluster, see:
- API documentation
- How-to Guides
constructor
new GameServerCluster(name: string, args: GameServerClusterArgs, opts?: pulumi.CustomResourceOptions)Create a GameServerCluster resource with the given unique name, arguments, and options.
nameThe unique name of the resource.argsThe arguments to use to populate this resource's properties.optsA 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): GameServerClusterGet 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 | undefinedmethod isInstance
public static isInstance(obj: any): obj is GameServerClusterReturns 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 CustomResourceA game server config resource. Configs are global and immutable.
To get more information about GameServerConfig, see:
- API documentation
- How-to Guides
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.
nameThe unique name of the resource.argsThe arguments to use to populate this resource's properties.optsA 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): GameServerConfigGet 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 | undefinedmethod isInstance
public static isInstance(obj: any): obj is GameServerConfigReturns 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 CustomResourceA game server deployment resource.
To get more information about GameServerDeployment, see:
- API documentation
- How-to Guides
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.
nameThe unique name of the resource.argsThe arguments to use to populate this resource's properties.optsA 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): GameServerDeploymentGet 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 | undefinedmethod isInstance
public static isInstance(obj: any): obj is GameServerDeploymentReturns 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 CustomResourceThis represents the rollout state. This is part of the game server deployment.
To get more information about GameServerDeploymentRollout, see:
- API documentation
- How-to Guides
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.
nameThe unique name of the resource.argsThe arguments to use to populate this resource's properties.optsA 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): GameServerDeploymentRolloutGet 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 | undefinedmethod isInstance
public static isInstance(obj: any): obj is GameServerDeploymentRolloutReturns 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 CustomResourceA Realm resource.
To get more information about Realm, see:
- API documentation
- How-to Guides
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.
nameThe unique name of the resource.argsThe arguments to use to populate this resource's properties.optsA 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): RealmGet 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 | undefinedmethod isInstance
public static isInstance(obj: any): obj is RealmReturns 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 GameServerClusterArgsThe 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 GameServerClusterStateInput 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 GameServerConfigArgsThe 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 GameServerConfigStateInput 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 GameServerDeploymentArgsThe 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 GameServerDeploymentRolloutArgsThe 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 GameServerDeploymentRolloutStateInput 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 GameServerDeploymentStateInput 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 RealmArgsThe 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 RealmStateInput 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.