public static List <ObjectSummary> GetUsageReportNames(ClientConfig config, ObjectStorageClient client, string startName = "")
        {
            List <ObjectSummary> res = new List <ObjectSummary>();

            client.SetRegion(Regions.US_ASHBURN_1);
            var listORequest = new ListObjectsRequest()
            {
                NamespaceName = "bling",
                BucketName    = config.TenancyId,
                Fields        = new List <string>()
                {
                    "name"
                },
                Start = startName,
                Limit = 10
            };
            var reports = client.ListObjects(listORequest);

            res.AddRange(reports.ListObjects.Objects);

            if (!string.IsNullOrEmpty(reports.ListObjects.NextStartWith))
            {
                res.AddRange(GetUsageReportNames(config, client, reports.ListObjects.NextStartWith));
            }

            return(res);
        }
Ejemplo n.º 2
0
 protected override void ProcessRecord()
 {
     base.ProcessRecord();
     try
     {
         client?.Dispose();
         int timeout = GetPreferredTimeout();
         WriteDebug($"Cmdlet Timeout : {timeout} milliseconds.");
         client = new ObjectStorageClient(AuthProvider, new Oci.Common.ClientConfiguration
         {
             RetryConfiguration = retryConfig,
             TimeoutMillis      = timeout,
             ClientUserAgent    = PSUserAgent
         });
         string region = GetPreferredRegion();
         if (region != null)
         {
             WriteDebug("Choosing Region:" + region);
             client.SetRegion(region);
         }
         if (Endpoint != null)
         {
             WriteDebug("Choosing Endpoint:" + Endpoint);
             client.SetEndpoint(Endpoint);
         }
     }
     catch (Exception ex)
     {
         TerminatingErrorDuringExecution(ex);
     }
 }
        /// <summary>
        /// すべてのバケットを取得する
        /// </summary>
        /// <param name="nameSpaceName"></param>
        /// <param name="compartmentId"></param>
        /// <returns></returns>
        public IEnumerable <BucketInfo> GetAllBuckets(string nameSpaceName, string compartmentId)
        {
            List <BucketInfo> res = new List <BucketInfo>();

            var regions = GetRegions();
            var request = new ListBucketsRequest {
                NamespaceName = nameSpaceName, CompartmentId = compartmentId, Limit = 10
            };

            Parallel.ForEach(regions, region => {
                ObjectStorageClient objectStorageClient = new ObjectStorageClient(ClientConfig);
                objectStorageClient.SetRegion(region.RegionName);
                while (true)
                {
                    var buckets = objectStorageClient.ListBuckets(request);

                    foreach (var item in buckets.Items)
                    {
                        res.Add(new BucketInfo()
                        {
                            Name = item.Name, Region = region.RegionName, Id = item.Id, ModifiedTime = item.TimeCreated
                        });
                    }

                    if (string.IsNullOrEmpty(buckets.OpcNextPage))
                    {
                        break;
                    }

                    request.Page = buckets.OpcNextPage;
                }
            });

            return(res);
        }