Editor/CoreAPI/GameLiftCGDManager.cs (51 lines of code) (raw):
// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
// SPDX-License-Identifier: Apache-2.0
using System;
using System.Collections.Generic;
using System.Linq;
using System.Threading.Tasks;
using Amazon.GameLift;
using Amazon.GameLift.Model;
using Amazon.Runtime.Internal;
using AmazonGameLiftPlugin.Core;
using AmazonGameLiftPlugin.Core.Shared;
using UnityEngine;
using UnityEngine.UIElements;
namespace AmazonGameLift.Editor
{
public class GameLiftCGDManager
{
private readonly IAmazonGameLiftWrapper _amazonGameLiftWrapper;
private string _containerGroupDefinitionName;
private VisualElement _container;
private ErrorResponse _logger;
public GameLiftCGDManager(IAmazonGameLiftWrapper amazonGameLiftWrapper)
{
_amazonGameLiftWrapper = amazonGameLiftWrapper;
}
public async Task<ContainerGroupDefinition> GetContainerGroupDefinition(string _cgdName, bool enableLogging)
{
try
{
var describeContainerGroupDefinitionRequest = new DescribeContainerGroupDefinitionRequest()
{
Name = _cgdName
};
var describeContainerGroupDefinitionResponse =
await _amazonGameLiftWrapper.DescribeContainerGroupDefinition(describeContainerGroupDefinitionRequest);
return describeContainerGroupDefinitionResponse.ContainerGroupDefinition;
}
catch (Exception ex)
{
if (enableLogging)
{
Debug.LogError(ex.Message);
}
return null;
}
}
public async Task<ContainerGroupDefinition> GetContainerGroupDefinition(string _cgdName)
{
return await GetContainerGroupDefinition(_cgdName, true);
}
}
}