/// <summary>Snippet for DeleteGameServerConfig</summary>
        public void DeleteGameServerConfigResourceNames()
        {
            // Snippet: DeleteGameServerConfig(GameServerConfigName, CallSettings)
            // Create client
            GameServerConfigsServiceClient gameServerConfigsServiceClient = GameServerConfigsServiceClient.Create();
            // Initialize request argument(s)
            GameServerConfigName name = GameServerConfigName.FromProjectLocationDeploymentConfig("[PROJECT]", "[LOCATION]", "[DEPLOYMENT]", "[CONFIG]");
            // Make the request
            Operation <GameServerConfig, OperationMetadata> response = gameServerConfigsServiceClient.DeleteGameServerConfig(name);

            // Poll until the returned long-running operation is complete
            Operation <GameServerConfig, OperationMetadata> completedResponse = response.PollUntilCompleted();
            // Retrieve the operation result
            GameServerConfig result = completedResponse.Result;

            // Or get the name of the operation
            string operationName = response.Name;
            // This name can be stored, then the long-running operation retrieved later by name
            Operation <GameServerConfig, OperationMetadata> retrievedResponse = gameServerConfigsServiceClient.PollOnceDeleteGameServerConfig(operationName);

            // Check if the retrieved long-running operation has completed
            if (retrievedResponse.IsCompleted)
            {
                // If it has completed, then access the result
                GameServerConfig retrievedResult = retrievedResponse.Result;
            }
            // End snippet
        }
        /// <summary>Snippet for CreateGameServerConfig</summary>
        public void CreateGameServerConfig()
        {
            // Snippet: CreateGameServerConfig(string, GameServerConfig, CallSettings)
            // Create client
            GameServerConfigsServiceClient gameServerConfigsServiceClient = GameServerConfigsServiceClient.Create();
            // Initialize request argument(s)
            string           parent           = "projects/[PROJECT]/locations/[LOCATION]/gameServerDeployments/[DEPLOYMENT]";
            GameServerConfig gameServerConfig = new GameServerConfig();
            // Make the request
            Operation <GameServerConfig, OperationMetadata> response = gameServerConfigsServiceClient.CreateGameServerConfig(parent, gameServerConfig);

            // Poll until the returned long-running operation is complete
            Operation <GameServerConfig, OperationMetadata> completedResponse = response.PollUntilCompleted();
            // Retrieve the operation result
            GameServerConfig result = completedResponse.Result;

            // Or get the name of the operation
            string operationName = response.Name;
            // This name can be stored, then the long-running operation retrieved later by name
            Operation <GameServerConfig, OperationMetadata> retrievedResponse = gameServerConfigsServiceClient.PollOnceCreateGameServerConfig(operationName);

            // Check if the retrieved long-running operation has completed
            if (retrievedResponse.IsCompleted)
            {
                // If it has completed, then access the result
                GameServerConfig retrievedResult = retrievedResponse.Result;
            }
            // End snippet
        }
 /// <summary>Snippet for GetGameServerConfig</summary>
 public void GetGameServerConfigResourceNames()
 {
     // Snippet: GetGameServerConfig(GameServerConfigName, CallSettings)
     // Create client
     GameServerConfigsServiceClient gameServerConfigsServiceClient = GameServerConfigsServiceClient.Create();
     // Initialize request argument(s)
     GameServerConfigName name = GameServerConfigName.FromProjectLocationDeploymentConfig("[PROJECT]", "[LOCATION]", "[DEPLOYMENT]", "[CONFIG]");
     // Make the request
     GameServerConfig response = gameServerConfigsServiceClient.GetGameServerConfig(name);
     // End snippet
 }
 /// <summary>Snippet for GetGameServerConfig</summary>
 public void GetGameServerConfig()
 {
     // Snippet: GetGameServerConfig(string, CallSettings)
     // Create client
     GameServerConfigsServiceClient gameServerConfigsServiceClient = GameServerConfigsServiceClient.Create();
     // Initialize request argument(s)
     string name = "projects/[PROJECT]/locations/[LOCATION]/gameServerDeployments/[DEPLOYMENT]/configs/[CONFIG]";
     // Make the request
     GameServerConfig response = gameServerConfigsServiceClient.GetGameServerConfig(name);
     // End snippet
 }
        /// <summary>Snippet for ListGameServerConfigs</summary>
        public void ListGameServerConfigsRequestObject()
        {
            // Snippet: ListGameServerConfigs(ListGameServerConfigsRequest, CallSettings)
            // Create client
            GameServerConfigsServiceClient gameServerConfigsServiceClient = GameServerConfigsServiceClient.Create();
            // Initialize request argument(s)
            ListGameServerConfigsRequest request = new ListGameServerConfigsRequest
            {
                ParentAsGameServerDeploymentName = GameServerDeploymentName.FromProjectLocationDeployment("[PROJECT]", "[LOCATION]", "[DEPLOYMENT]"),
                Filter  = "",
                OrderBy = "",
            };
            // Make the request
            PagedEnumerable <ListGameServerConfigsResponse, GameServerConfig> response = gameServerConfigsServiceClient.ListGameServerConfigs(request);

            // Iterate over all response items, lazily performing RPCs as required
            foreach (GameServerConfig item in response)
            {
                // Do something with each item
                Console.WriteLine(item);
            }

            // Or iterate over pages (of server-defined size), performing one RPC per page
            foreach (ListGameServerConfigsResponse page in response.AsRawResponses())
            {
                // Do something with each page of items
                Console.WriteLine("A page of results:");
                foreach (GameServerConfig item in page)
                {
                    // Do something with each item
                    Console.WriteLine(item);
                }
            }

            // Or retrieve a single page of known size (unless it's the final page), performing as many RPCs as required
            int pageSize = 10;
            Page <GameServerConfig> singlePage = response.ReadPage(pageSize);

            // Do something with the page of items
            Console.WriteLine($"A page of {pageSize} results (unless it's the final page):");
            foreach (GameServerConfig item in singlePage)
            {
                // Do something with each item
                Console.WriteLine(item);
            }
            // Store the pageToken, for when the next page is required.
            string nextPageToken = singlePage.NextPageToken;
            // End snippet
        }
    public GameServerConfig GetConfig(
        string projectId, string regionId, string deploymentId, string configId)
    {
        // Create the client.
        GameServerConfigsServiceClient client = GameServerConfigsServiceClient.Create();

        GetGameServerConfigRequest request = new GetGameServerConfigRequest
        {
            GameServerConfigName = GameServerConfigName.FromProjectLocationDeploymentConfig(projectId, regionId, deploymentId, configId)
        };

        // Make the request.
        GameServerConfig response = client.GetGameServerConfig(request);

        return(response);
    }
    public void DeleteConfig(
        string projectId, string regionId, string deploymentId, string configId)
    {
        // Create the client.
        GameServerConfigsServiceClient client = GameServerConfigsServiceClient.Create();

        DeleteGameServerConfigRequest request = new DeleteGameServerConfigRequest
        {
            GameServerConfigName = GameServerConfigName.FromProjectLocationDeploymentConfig(projectId, regionId, deploymentId, configId)
        };

        // Make the request.
        Operation <Empty, OperationMetadata> response = client.DeleteGameServerConfig(request);

        // Poll until the returned long-running operation is complete.
        response.PollUntilCompleted();
    }
    public IList <GameServerConfig> ListConfigs(
        string projectId, string regionId, string deploymentId)
    {
        // Create the client.
        GameServerConfigsServiceClient client = GameServerConfigsServiceClient.Create();

        ListGameServerConfigsRequest request = new ListGameServerConfigsRequest
        {
            ParentAsGameServerDeploymentName = GameServerDeploymentName.FromProjectLocationDeployment(projectId, regionId, deploymentId)
        };

        // Make the request.
        PagedEnumerable <ListGameServerConfigsResponse, GameServerConfig> response = client.ListGameServerConfigs(request);

        // The returned sequence will lazily perform RPCs as it's being iterated over.
        return(response.ToList());
    }