public override void Invoke(AWSCredentials creds, RegionEndpoint region, int maxItems)
        {
            AmazonWorkSpacesConfig config = new AmazonWorkSpacesConfig();

            config.RegionEndpoint = region;
            ConfigureClient(config);
            AmazonWorkSpacesClient client = new AmazonWorkSpacesClient(creds, config);

            DescribeWorkspaceDirectoriesResponse resp = new DescribeWorkspaceDirectoriesResponse();

            do
            {
                DescribeWorkspaceDirectoriesRequest req = new DescribeWorkspaceDirectoriesRequest
                {
                    NextToken = resp.NextToken
                };

                resp = client.DescribeWorkspaceDirectories(req);
                CheckError(resp.HttpStatusCode, "200");

                foreach (var obj in resp.Directories)
                {
                    AddObject(obj);
                }
            }while (!string.IsNullOrEmpty(resp.NextToken));
        }
        protected IAmazonWorkSpaces CreateClient(AWSCredentials credentials, RegionEndpoint region)
        {
            var config = new AmazonWorkSpacesConfig {
                RegionEndpoint = region
            };

            Amazon.PowerShell.Utils.Common.PopulateConfig(this, config);
            this.CustomizeClientConfig(config);
            var client = new AmazonWorkSpacesClient(credentials, config);

            client.BeforeRequestEvent += RequestEventHandler;
            client.AfterResponseEvent += ResponseEventHandler;
            return(client);
        }