# Game Services API . projects . locations . gameServerDeployments . configs

## Instance Methods

Creates a new game server config in a given project, location, and game

Deletes a single game server config. The deletion will fail if the game

Gets details of a single game server config.

Lists game server configs in a given project, location, and game server

Retrieves the next page of results.

### Method Details

`create(parent, body=None, configId=None, x__xgafv=None)`

    Creates a new game server config in a given project, location, and game
    server deployment. Game server configs are immutable, and are not applied
    until referenced in the game server deployment rollout resource.

    Args:
      parent: string, Required. The parent resource name. Uses the form:

    `projects/{project}/locations/{location}/gameServerDeployments/{deployment}/`. (required)
      body: object, The request body.
        The object takes the form of:

    { # A game server config resource.
      "description": "A String", # The description of the game server config.
      "fleetConfigs": [ # FleetConfig contains a list of Agones fleet specs. Only one FleetConfig
          # is allowed.
        { # Fleet configs for Agones.
          "name": "A String", # The name of the FleetConfig.
          "fleetSpec": "A String", # Agones fleet spec. Example spec:
              # `https://agones.dev/site/docs/reference/fleet/`.
        },
      ],
      "scalingConfigs": [ # The autoscaling settings.
        { # Autoscaling config for an Agones fleet.
          "name": "A String", # Required. The name of the Scaling Config
          "fleetAutoscalerSpec": "A String", # Required. Agones fleet autoscaler spec. Example spec:
              # https://agones.dev/site/docs/reference/fleetautoscaler/
          "selectors": [ # Labels used to identify the game server clusters to which this Agones
              # scaling config applies. A game server cluster is subject to this Agones
              # scaling config if its labels match any of the selector entries.
            { # The label selector, used to group labels on the resources.
              "labels": { # Resource labels for this selector.
                "a_key": "A String",
              },
            },
          ],
          "schedules": [ # The schedules to which this Scaling Config applies.
            { # The schedule of a recurring or one time event. The event's time span is
                # specified by start_time and end_time. If the scheduled event's timespan is
                # larger than the cron_spec + cron_job_duration, the event will be recurring.
                # If only cron_spec + cron_job_duration are specified, the event is effective
                # starting at the local time specified by cron_spec, and is recurring.
                #
                #   start_time|-------[cron job]-------[cron job]-------[cron job]---|end_time
                #   cron job: cron spec start time + duration
              "endTime": "A String", # The end time of the event.
              "cronSpec": "A 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.
              "cronJobDuration": "A String", # The duration for the cron job event. The duration of the event is effective
                  # after the cron job's start time.
              "startTime": "A String", # The start time of the event.
            },
          ],
        },
      ],
      "name": "A String", # The resource name of the game server config. Uses the form:
          #
          # `projects/{project}/locations/{location}/gameServerDeployments/{deployment}/configs/{config}`.
          # For example,
          #
          # `projects/my-project/locations/global/gameServerDeployments/my-game/configs/my-config`.
      "labels": { # The labels associated with this game server config. Each label is a
          # key-value pair.
        "a_key": "A String",
      },
      "updateTime": "A String", # Output only. The last-modified time.
      "createTime": "A String", # Output only. The creation time.
    }

      configId: string, Required. The ID of the game server config resource to be created.
      x__xgafv: string, V1 error format.
        Allowed values
          1 - v1 error format
          2 - v2 error format

    Returns:
      An object of the form:

        { # This resource represents a long-running operation that is the result of a
          # network API call.
        "done": True or False, # If the value is `false`, it means the operation is still in progress.
            # If `true`, the operation is completed, and either `error` or `response` is
            # available.
        "error": { # The `Status` type defines a logical error model that is suitable for # The error result of the operation in case of failure or cancellation.
            # different programming environments, including REST APIs and RPC APIs. It is
            # used by [gRPC](https://github.com/grpc). Each `Status` message contains
            # three pieces of data: error code, error message, and error details.
            #
            # You can find out more about this error model and how to work with it in the
            # [API Design Guide](https://cloud.google.com/apis/design/errors).
          "details": [ # A list of messages that carry the error details.  There is a common set of
              # message types for APIs to use.
            {
              "a_key": "", # Properties of the object. Contains field @type with type URL.
            },
          ],
          "message": "A String", # A developer-facing error message, which should be in English. Any
              # user-facing error message should be localized and sent in the
              # google.rpc.Status.details field, or localized by the client.
          "code": 42, # The status code, which should be an enum value of google.rpc.Code.
        },
        "name": "A String", # The server-assigned name, which is only unique within the same service that
            # originally returns it. If you use the default HTTP mapping, the
            # `name` should be a resource name ending with `operations/{unique_id}`.
        "metadata": { # Service-specific metadata associated with the operation.  It typically
            # contains progress information and common metadata such as create time.
            # Some services might not provide such metadata.  Any method that returns a
            # long-running operation should document the metadata type, if any.
          "a_key": "", # Properties of the object. Contains field @type with type URL.
        },
        "response": { # The normal response of the operation in case of success.  If the original
            # method returns no data on success, such as `Delete`, the response is
            # `google.protobuf.Empty`.  If the original method is standard
            # `Get`/`Create`/`Update`, the response should be the resource.  For other
            # methods, the response should have the type `XxxResponse`, where `Xxx`
            # is the original method name.  For example, if the original method name
            # is `TakeSnapshot()`, the inferred response type is
            # `TakeSnapshotResponse`.
          "a_key": "", # Properties of the object. Contains field @type with type URL.
        },
      }

`delete(name, x__xgafv=None)`

    Deletes a single game server config. The deletion will fail if the game
    server config is referenced in a game server deployment rollout.

    Args:
      name: string, Required. The name of the game server config to delete. Uses the form:

    `projects/{project}/locations/{location}/gameServerDeployments/{deployment}/configs/{config}`. (required)
      x__xgafv: string, V1 error format.
        Allowed values
          1 - v1 error format
          2 - v2 error format

    Returns:
      An object of the form:

        { # This resource represents a long-running operation that is the result of a
          # network API call.
        "done": True or False, # If the value is `false`, it means the operation is still in progress.
            # If `true`, the operation is completed, and either `error` or `response` is
            # available.
        "error": { # The `Status` type defines a logical error model that is suitable for # The error result of the operation in case of failure or cancellation.
            # different programming environments, including REST APIs and RPC APIs. It is
            # used by [gRPC](https://github.com/grpc). Each `Status` message contains
            # three pieces of data: error code, error message, and error details.
            #
            # You can find out more about this error model and how to work with it in the
            # [API Design Guide](https://cloud.google.com/apis/design/errors).
          "details": [ # A list of messages that carry the error details.  There is a common set of
              # message types for APIs to use.
            {
              "a_key": "", # Properties of the object. Contains field @type with type URL.
            },
          ],
          "message": "A String", # A developer-facing error message, which should be in English. Any
              # user-facing error message should be localized and sent in the
              # google.rpc.Status.details field, or localized by the client.
          "code": 42, # The status code, which should be an enum value of google.rpc.Code.
        },
        "name": "A String", # The server-assigned name, which is only unique within the same service that
            # originally returns it. If you use the default HTTP mapping, the
            # `name` should be a resource name ending with `operations/{unique_id}`.
        "metadata": { # Service-specific metadata associated with the operation.  It typically
            # contains progress information and common metadata such as create time.
            # Some services might not provide such metadata.  Any method that returns a
            # long-running operation should document the metadata type, if any.
          "a_key": "", # Properties of the object. Contains field @type with type URL.
        },
        "response": { # The normal response of the operation in case of success.  If the original
            # method returns no data on success, such as `Delete`, the response is
            # `google.protobuf.Empty`.  If the original method is standard
            # `Get`/`Create`/`Update`, the response should be the resource.  For other
            # methods, the response should have the type `XxxResponse`, where `Xxx`
            # is the original method name.  For example, if the original method name
            # is `TakeSnapshot()`, the inferred response type is
            # `TakeSnapshotResponse`.
          "a_key": "", # Properties of the object. Contains field @type with type URL.
        },
      }

`get(name, x__xgafv=None)`

    Gets details of a single game server config.

    Args:
      name: string, Required. The name of the game server config to retrieve. Uses the form:

    `projects/{project}/locations/{location}/gameServerDeployments/{deployment}/configs/{config}`. (required)
      x__xgafv: string, V1 error format.
        Allowed values
          1 - v1 error format
          2 - v2 error format

    Returns:
      An object of the form:

        { # A game server config resource.
        "description": "A String", # The description of the game server config.
        "fleetConfigs": [ # FleetConfig contains a list of Agones fleet specs. Only one FleetConfig
            # is allowed.
          { # Fleet configs for Agones.
            "name": "A String", # The name of the FleetConfig.
            "fleetSpec": "A String", # Agones fleet spec. Example spec:
                # `https://agones.dev/site/docs/reference/fleet/`.
          },
        ],
        "scalingConfigs": [ # The autoscaling settings.
          { # Autoscaling config for an Agones fleet.
            "name": "A String", # Required. The name of the Scaling Config
            "fleetAutoscalerSpec": "A String", # Required. Agones fleet autoscaler spec. Example spec:
                # https://agones.dev/site/docs/reference/fleetautoscaler/
            "selectors": [ # Labels used to identify the game server clusters to which this Agones
                # scaling config applies. A game server cluster is subject to this Agones
                # scaling config if its labels match any of the selector entries.
              { # The label selector, used to group labels on the resources.
                "labels": { # Resource labels for this selector.
                  "a_key": "A String",
                },
              },
            ],
            "schedules": [ # The schedules to which this Scaling Config applies.
              { # The schedule of a recurring or one time event. The event's time span is
                  # specified by start_time and end_time. If the scheduled event's timespan is
                  # larger than the cron_spec + cron_job_duration, the event will be recurring.
                  # If only cron_spec + cron_job_duration are specified, the event is effective
                  # starting at the local time specified by cron_spec, and is recurring.
                  #
                  #   start_time|-------[cron job]-------[cron job]-------[cron job]---|end_time
                  #   cron job: cron spec start time + duration
                "endTime": "A String", # The end time of the event.
                "cronSpec": "A 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.
                "cronJobDuration": "A String", # The duration for the cron job event. The duration of the event is effective
                    # after the cron job's start time.
                "startTime": "A String", # The start time of the event.
              },
            ],
          },
        ],
        "name": "A String", # The resource name of the game server config. Uses the form:
            #
            # `projects/{project}/locations/{location}/gameServerDeployments/{deployment}/configs/{config}`.
            # For example,
            #
            # `projects/my-project/locations/global/gameServerDeployments/my-game/configs/my-config`.
        "labels": { # The labels associated with this game server config. Each label is a
            # key-value pair.
          "a_key": "A String",
        },
        "updateTime": "A String", # Output only. The last-modified time.
        "createTime": "A String", # Output only. The creation time.
      }

`list(parent, pageSize=None, orderBy=None, pageToken=None, filter=None, x__xgafv=None)`

    Lists game server configs in a given project, location, and game server
    deployment.

    Args:
      parent: string, Required. The parent resource name. Uses the form:

    `projects/{project}/locations/{location}/gameServerDeployments/{deployment}/configs/*`. (required)
      pageSize: integer, Optional. The maximum number of items to return.  If unspecified, server
    will pick an appropriate default. Server may return fewer items than
    requested. A caller should only rely on response's
    next_page_token to
    determine if there are more GameServerConfigs left to be queried.
      orderBy: string, Optional. Specifies the ordering of results following syntax at
    https://cloud.google.com/apis/design/design_patterns#sorting_order.
      pageToken: string, Optional. The next_page_token value returned from a previous list request, if any.
      filter: string, Optional. The filter to apply to list results.
      x__xgafv: string, V1 error format.
        Allowed values
          1 - v1 error format
          2 - v2 error format

    Returns:
      An object of the form:

        { # Response message for GameServerConfigsService.ListGameServerConfigs.
        "gameServerConfigs": [ # The list of game server configs.
          { # A game server config resource.
            "description": "A String", # The description of the game server config.
            "fleetConfigs": [ # FleetConfig contains a list of Agones fleet specs. Only one FleetConfig
                # is allowed.
              { # Fleet configs for Agones.
                "name": "A String", # The name of the FleetConfig.
                "fleetSpec": "A String", # Agones fleet spec. Example spec:
                    # `https://agones.dev/site/docs/reference/fleet/`.
              },
            ],
            "scalingConfigs": [ # The autoscaling settings.
              { # Autoscaling config for an Agones fleet.
                "name": "A String", # Required. The name of the Scaling Config
                "fleetAutoscalerSpec": "A String", # Required. Agones fleet autoscaler spec. Example spec:
                    # https://agones.dev/site/docs/reference/fleetautoscaler/
                "selectors": [ # Labels used to identify the game server clusters to which this Agones
                    # scaling config applies. A game server cluster is subject to this Agones
                    # scaling config if its labels match any of the selector entries.
                  { # The label selector, used to group labels on the resources.
                    "labels": { # Resource labels for this selector.
                      "a_key": "A String",
                    },
                  },
                ],
                "schedules": [ # The schedules to which this Scaling Config applies.
                  { # The schedule of a recurring or one time event. The event's time span is
                      # specified by start_time and end_time. If the scheduled event's timespan is
                      # larger than the cron_spec + cron_job_duration, the event will be recurring.
                      # If only cron_spec + cron_job_duration are specified, the event is effective
                      # starting at the local time specified by cron_spec, and is recurring.
                      #
                      #   start_time|-------[cron job]-------[cron job]-------[cron job]---|end_time
                      #   cron job: cron spec start time + duration
                    "endTime": "A String", # The end time of the event.
                    "cronSpec": "A 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.
                    "cronJobDuration": "A String", # The duration for the cron job event. The duration of the event is effective
                        # after the cron job's start time.
                    "startTime": "A String", # The start time of the event.
                  },
                ],
              },
            ],
            "name": "A String", # The resource name of the game server config. Uses the form:
                #
                # `projects/{project}/locations/{location}/gameServerDeployments/{deployment}/configs/{config}`.
                # For example,
                #
                # `projects/my-project/locations/global/gameServerDeployments/my-game/configs/my-config`.
            "labels": { # The labels associated with this game server config. Each label is a
                # key-value pair.
              "a_key": "A String",
            },
            "updateTime": "A String", # Output only. The last-modified time.
            "createTime": "A String", # Output only. The creation time.
          },
        ],
        "nextPageToken": "A String", # Token to retrieve the next page of results, or empty if there are no more
            # results in the list.
        "unreachable": [ # List of locations that could not be reached.
          "A String",
        ],
      }

`list_next(previous_request, previous_response)`

    Retrieves the next page of results.

    Args:
      previous_request: The request for the previous page. (required)
      previous_response: The response from the request for the previous page. (required)

    Returns:
      A request object that you can call 'execute()' on to request the next
      page. Returns None if there are no more items in the collection.