protected sealed override Task StartOrResumeStep()

in Editor/Window/Containers/CreateECRRepoStep.cs [38:77]


        protected sealed override Task StartOrResumeStep()
        {
            bool stopEarly = false;
            Show(_repoNameField);
            if (_errorMessage != null)
            {
                EncounteredException(_errorMessage);
                stopEarly = true;
            }

            if (_stateManager.IsECRRepoCreated && _stateManager.ContainerECRRepositoryUri != null)
            {
                SetRepoUriAndComplete(_stateManager.ContainerECRRepositoryUri);
                stopEarly = true;
            }

            if (stopEarly)
            {
                return Task.CompletedTask;
            }

            // First see if repository already exists
            var describeResponse = _coreApi.DescribeECRRepositories(_stateManager.ProfileName, _stateManager.Region, new List<string> { RepositoryName });
            if (describeResponse.Success && describeResponse.ECRRepositories.Count() > 0)
            {
                SetRepoUriAndComplete(describeResponse.ECRRepositories.First().RepositoryUri);
                return Task.CompletedTask;
            }

            var response = _coreApi.CreateRepository(_stateManager.ProfileName, _stateManager.Region, RepositoryName);
            if (response.Success)
            {
                SetRepoUriAndComplete(response.RepositoryUri);
            }
            else
            {
                EncounteredException(response.ErrorMessage);
            }
            return Task.CompletedTask;
        }