protected override void ProcessRecord() { base.ProcessRecord(); ListWorkRequestsRequest request; try { request = new ListWorkRequestsRequest { CompartmentId = CompartmentId, ResourceIdentifier = ResourceIdentifier, OpcRequestId = OpcRequestId, SortOrder = SortOrder, SortBy = SortBy, Page = Page, Limit = Limit }; IEnumerable <ListWorkRequestsResponse> responses = GetRequestDelegate().Invoke(request); foreach (var item in responses) { response = item; WriteOutput(response, response.WorkRequestCollection, true); } if (!ParameterSetName.Equals(AllPageSet) && !ParameterSetName.Equals(LimitSet) && response.OpcNextPage != null) { WriteWarning("This operation supports pagination and not all resources were returned. Re-run using the -All option to auto paginate and list all resources."); } FinishProcessing(response); } catch (Exception ex) { TerminatingErrorDuringExecution(ex); } }
protected override void ProcessRecord() { base.ProcessRecord(); ListWorkRequestsRequest request; try { request = new ListWorkRequestsRequest { CompartmentId = CompartmentId, Id = Id, OperationType = OperationType, Status = Status, Limit = Limit, Page = Page, SortOrder = SortOrder, SortBy = SortBy, OpcRequestId = OpcRequestId }; IEnumerable <ListWorkRequestsResponse> responses = GetRequestDelegate().Invoke(request); foreach (var item in responses) { response = item; WriteOutput(response, response.Items, true); } FinishProcessing(response); } catch (Exception ex) { TerminatingErrorDuringExecution(ex); } }
/// <summary> /// Lists the work requests in a compartment. /// /// </summary> /// <param name="request">The request object containing the details to send. Required.</param> /// <param name="retryConfiguration">The retry configuration that will be used by to send this request. Optional.</param> /// <param name="cancellationToken">The cancellation token to cancel this operation. Optional.</param> /// <returns>A response object containing details about the completed operation</returns> /// <example>Click <a href="https://docs.cloud.oracle.com/en-us/iaas/tools/dot-net-examples/latest/integration/ListWorkRequests.cs.html">here</a> to see an example of how to use ListWorkRequests API.</example> public async Task <ListWorkRequestsResponse> ListWorkRequests(ListWorkRequestsRequest request, RetryConfiguration retryConfiguration = null, CancellationToken cancellationToken = default) { logger.Trace("Called listWorkRequests"); Uri uri = new Uri(this.restClient.GetEndpoint(), System.IO.Path.Combine(basePathWithoutHost, "/workRequests".Trim('/'))); HttpMethod method = new HttpMethod("GET"); HttpRequestMessage requestMessage = Converter.ToHttpRequestMessage(uri, method, request); requestMessage.Headers.Add("Accept", "application/json"); GenericRetrier retryingClient = Retrier.GetPreferredRetrier(retryConfiguration, this.retryConfiguration); HttpResponseMessage responseMessage; try { if (retryingClient != null) { responseMessage = await retryingClient.MakeRetryingCall(this.restClient.HttpSend, requestMessage, cancellationToken).ConfigureAwait(false); } else { responseMessage = await this.restClient.HttpSend(requestMessage).ConfigureAwait(false); } this.restClient.CheckHttpResponseMessage(requestMessage, responseMessage); return(Converter.FromHttpResponseMessage <ListWorkRequestsResponse>(responseMessage)); } catch (Exception e) { logger.Error($"ListWorkRequests failed with error: {e.Message}"); throw; } }
protected override void ProcessRecord() { base.ProcessRecord(); ListWorkRequestsRequest request; try { request = new ListWorkRequestsRequest { NamespaceName = NamespaceName, CompartmentId = CompartmentId, OpcRequestId = OpcRequestId, Page = Page, Limit = Limit }; IEnumerable <ListWorkRequestsResponse> responses = GetRequestDelegate().Invoke(request); foreach (var item in responses) { response = item; WriteOutput(response, response.WorkRequestCollection, true); } FinishProcessing(response); } catch (Exception ex) { TerminatingErrorDuringExecution(ex); } }
/// <summary> /// Creates a new enumerable which will iterate over the WorkRequestSummary objects /// contained in responses from the ListWorkRequests operation. This enumerable will fetch more data from the server as needed. /// </summary> /// <param name="request">The request object containing the details to send</param> /// <param name="retryConfiguration">The configuration for retrying, may be null</param> /// <param name="cancellationToken">The cancellation token object</param> /// <returns>The enumerator, which supports a simple iteration over a collection of a specified type</returns> public IEnumerable <WorkRequestSummary> ListWorkRequestsRecordEnumerator(ListWorkRequestsRequest request, Common.Retry.RetryConfiguration retryConfiguration = null, CancellationToken cancellationToken = default) { return(new Common.Utils.ResponseRecordEnumerable <ListWorkRequestsRequest, ListWorkRequestsResponse, WorkRequestSummary>( response => response.OpcNextPage, input => { if (!string.IsNullOrEmpty(input)) { request.Page = input; } return request; }, request => client.ListWorkRequests(request, retryConfiguration, cancellationToken), response => response.WorkRequestCollection.Items )); }
/// <summary> /// Lists the work requests in a compartment or for a specified resource. /// </summary> /// <param name="param"></param> /// <returns></returns> public ListWorkRequestsResponse ListWorkRequests(ListWorkRequestsRequest param) { var uri = new Uri($"{GetEndPoint(CoreServices.WorkRequests, this.Region)}?{param.GetOptionQuery()}"); using (var webResponse = this.RestClient.Get(uri, new HttpRequestHeaderParam { OpcRequestId = param.OpcRequestId })) using (var stream = webResponse.GetResponseStream()) using (var reader = new StreamReader(stream)) { var response = reader.ReadToEnd(); return(new ListWorkRequestsResponse() { Items = JsonSerializer.Deserialize <List <WorkRequestSummary> >(response), OpcRequestId = webResponse.Headers.Get("opc-request-id"), OpcNextPage = webResponse.Headers.Get("opc-next-page") }); } }
public static void DisplayBucketAndObject(ClientConfig config, string namespaceName, ObjectStorageClient client, IdentityClient identityClient) { // Compartment required only to get a bucket var listCompartmentRequest = new ListCompartmentRequest() { CompartmentId = config.TenancyId, CompartmentIdInSubtree = true, AccessLevel = ListCompartmentRequest.AccessLevels.ACCESSIBLE }; var compartments = identityClient.ListCompartment(listCompartmentRequest).Items; // root(tenant) add compartments.Add(new OCISDK.Core.Identity.Model.Compartment { Id = config.TenancyId, Name = "root" }); foreach (var compartment in compartments) { Console.WriteLine($"## Compartment<{compartment.Name}>--------"); // list bucket ListBucketsRequest listBucketsRequest = new ListBucketsRequest() { NamespaceName = namespaceName, CompartmentId = compartment.Id }; var listBucket = client.ListBuckets(listBucketsRequest); Console.WriteLine($"* Bucket------------------------"); Console.WriteLine($" namespace : {namespaceName}"); Console.WriteLine($" comaprtment : {config.TenancyId}"); listBucket.Items.ForEach(bucket => { HeadBucketRequest headBucketRequest = new HeadBucketRequest() { NamespaceName = bucket.Namespace, BucketName = bucket.Name }; var buckethead = client.HeadBucket(headBucketRequest); // get bucket details GetBucketRequest getBucketRequest = new GetBucketRequest() { NamespaceName = bucket.Namespace, BucketName = bucket.Name, IfMatch = buckethead.ETag }; var bucketDetail = client.GetBucket(getBucketRequest); Console.WriteLine($"\t|- * name : {bucketDetail.Bucket.Name}"); Console.WriteLine($"\t| timeCreated : {bucketDetail.Bucket.TimeCreated}"); // Bucket workrequests ListWorkRequestsRequest listWorkRequestsRequest = new ListWorkRequestsRequest { CompartmentId = bucketDetail.Bucket.CompartmentId, BucketName = bucket.Name }; var wrs = client.ListWorkRequests(listWorkRequestsRequest); Console.WriteLine($"\t|* WorkRequest------------------------"); foreach (var wr in wrs.Items) { Console.WriteLine($"\t|\t|- name : {wr.OperationType}"); Console.WriteLine($"\t|\t|- status : {wr.Status}"); Console.WriteLine($"\t|\t|- start : {wr.TimeStarted}"); Console.WriteLine($"\t|\t|- finish : {wr.TimeFinished}"); } // objects Console.WriteLine($"\t|* Object------------------------"); ListObjectsRequest listObjectsRequest = new ListObjectsRequest() { NamespaceName = bucketDetail.Bucket.Namespace, BucketName = bucketDetail.Bucket.Name, Fields = new List <string> { "size", "timeCreated", "md5" } }; var Objs = client.ListObjects(listObjectsRequest); Objs.ListObjects.Objects.ForEach(obj => { Console.WriteLine($"\t|\t|- name : {obj.Name}"); GetObjectRequest getObjectRequest = new GetObjectRequest() { NamespaceName = bucketDetail.Bucket.Namespace, BucketName = bucketDetail.Bucket.Name, ObjectName = obj.Name, }; var ObjDetails = client.GetObject(getObjectRequest); Console.WriteLine($"\t|\t|- contentLength : {ObjDetails.ContentLength}"); // download /*if (!Directory.Exists("./ExampleDownload")) * { * Directory.CreateDirectory("./ExampleDownload"); * } * if (!File.Exists($"./ExampleDownload/{obj.Name.Replace('/', '_')}")) * { * client.DownloadObject(getObjectRequest, "./ExampleDownload/", obj.Name.Replace('/', '_')); * }*/ }); }); } }
public static void ConsoleDisplay(ClientConfig config) { var identityClient = new IdentityClient(config) { Region = Regions.US_ASHBURN_1 }; var lbClient = new LoadBalancerClient(config); var listCompartmentRequest = new ListCompartmentRequest() { CompartmentId = config.TenancyId, CompartmentIdInSubtree = true, AccessLevel = ListCompartmentRequest.AccessLevels.ACCESSIBLE }; var compartments = identityClient.ListCompartment(listCompartmentRequest).Items; Console.WriteLine("* LB Resources------------------------"); foreach (var com in compartments) { if (com.LifecycleState != "ACTIVE") { continue; } Console.WriteLine($" Compartment<{com.Name}>--------"); var listLoadBalancersRequest = new ListLoadBalancersRequest() { CompartmentId = com.Id, SortBy = ListLoadBalancersRequest.SortByParam.DISPLAYNAME }; Console.WriteLine(" LoadBalancer------"); var loadbalancers = lbClient.ListLoadBalancers(listLoadBalancersRequest).Items; foreach (var lb in loadbalancers) { var getLoadBalancerRequest = new GetLoadBalancerRequest() { LoadBalancerId = lb.Id }; var lbDetail = lbClient.GetLoadBalancer(getLoadBalancerRequest).LoadBalancer; Console.WriteLine($"\t|- displayName: {lbDetail.DisplayName}"); Console.WriteLine($"\t| state: {lbDetail.LifecycleState}"); Console.WriteLine($"\t| shape: {lbDetail.ShapeName}"); Console.WriteLine($"\t| timeCreated: {lbDetail.TimeCreated}"); Console.WriteLine($"\t| ipAddresses: {lbDetail.IpAddresses}"); Console.WriteLine($"\t| private: {lbDetail.IsPrivate}"); Console.WriteLine($"\t| listeners:"); foreach (var key in lbDetail.Listeners.Keys) { Console.WriteLine($"\t| |-{key} : {lbDetail.Listeners[key].DefaultBackendSetName}"); } Console.WriteLine($"\t| rules:"); foreach (var key in lbDetail.RuleSets.Keys) { Console.WriteLine($"\t| |-{lbDetail.RuleSets[key].Name}"); foreach (var rule in lbDetail.RuleSets[key].Items) { Console.WriteLine($"\t| | |-{rule.Action}"); } } Console.WriteLine($"\t| workRequest:"); var listWorkRequestsRequest = new ListWorkRequestsRequest() { LoadBalancerId = lb.Id }; var works = lbClient.ListWorkRequests(listWorkRequestsRequest).Items; foreach (var work in works) { Console.WriteLine($"\t| |-{work.Type}"); Console.WriteLine($"\t| | {work.LifecycleState}"); } } Console.WriteLine(" LoadBalancerHealth------"); var listLoadBalancerHealthsRequest = new ListLoadBalancerHealthsRequest() { CompartmentId = com.Id }; var lbHealths = lbClient.ListLoadBalancerHealths(listLoadBalancerHealthsRequest).Items; foreach (var health in lbHealths) { var getLoadBalancerHealthRequest = new GetLoadBalancerHealthRequest() { LoadBalancerId = health.LoadBalancerId }; var healthDetail = lbClient.GetLoadBalancerHealth(getLoadBalancerHealthRequest).LoadBalancerHealth; Console.WriteLine($"\t|- criticalStateBackendSetNames:"); foreach (var name in healthDetail.CriticalStateBackendSetNames) { Console.WriteLine($"\t| |-{name}"); } Console.WriteLine($"\t|- unknownStateBackendSetNames:"); foreach (var name in healthDetail.UnknownStateBackendSetNames) { Console.WriteLine($"\t| |-{name}"); } Console.WriteLine($"\t|- warningStateBackendSetNames:"); foreach (var name in healthDetail.WarningStateBackendSetNames) { Console.WriteLine($"\t| |-{name}"); } } Console.WriteLine(" LoadBalancerPolicy------"); var listLoadBalancerPoliciesRequest = new ListLoadBalancerPoliciesRequest() { CompartmentId = com.Id }; var lbPolicies = lbClient.ListLoadBalancerPolicies(listLoadBalancerPoliciesRequest).Items; foreach (var policy in lbPolicies) { Console.WriteLine($"\t|- name: {policy.Name}"); } Console.WriteLine(" LoadBalancerProtocol------"); var listLoadBalancerProtocolsRequest = new ListLoadBalancerProtocolsRequest() { CompartmentId = com.Id }; var lbProtocols = lbClient.ListLoadBalancerProtocols(listLoadBalancerProtocolsRequest).Items; foreach (var protocol in lbProtocols) { Console.WriteLine($"\t|- name: {protocol.Name}"); } Console.WriteLine(" LoadBalancerShape------"); var listLoadBalancerShapesRequest = new ListLoadBalancerShapesRequest() { CompartmentId = com.Id }; var lbShapes = lbClient.ListLoadBalancerShapes(listLoadBalancerShapesRequest).Items; foreach (var shape in lbShapes) { Console.WriteLine($"\t|- name: {shape.Name}"); } } }
static void Main(string[] args) { Console.WriteLine("+----------------------------------------+"); Console.WriteLine("| |"); Console.WriteLine("| OCISDK SessionExample |"); Console.WriteLine("| |"); Console.WriteLine("+----------------------------------------+"); string configPath = ".oci/config"; System.OperatingSystem os = System.Environment.OSVersion; // windows if (os.Platform == PlatformID.Win32NT) { string rootPath = Directory.GetDirectoryRoot(Directory.GetCurrentDirectory()); configPath = $"{rootPath}/{configPath}"; if (!Directory.Exists($"{rootPath}/.oci")) { Directory.CreateDirectory($"{rootPath}/.oci"); } } else { configPath = $"/home/user/{configPath}"; } string profile; ConfigFile configReader; if (File.Exists(configPath)) { Console.Write("Connection ProfileName(Empty Input is DEFAULT): "); profile = Console.ReadLine(); if (string.IsNullOrEmpty(profile)) { profile = "Cloudii"; } // load connection file configReader = ConfigFileReader.Parse(configPath, profile); } else { profile = "DEFAULT"; // create connection file Console.WriteLine("Create connection settings to Oracle Cloud Infrastructure"); Console.Write("TenancyId (Required): "); string tenancyId = OCIDInput(); Console.Write("UserId (Required): "); string userId = OCIDInput(); Console.Write("Fingerprint (Required): "); string fingerprint = KeyInput(); Console.Write("PrivateKeyPath (Required): "); string privateKeyPath = KeyInput(); Console.Write("PrivateKeyPassphrase: "); string privateKeyPassphrase = InputPassword(); string testFileContentsMyProfile = $"[{profile}]\n" + $"tenancy={tenancyId}\n" + $"user={userId}\n" + $"fingerprint={fingerprint}\n" + $"key_file={privateKeyPath}\n" + $"pass_phrase={privateKeyPassphrase}\n"; File.WriteAllText(configPath, testFileContentsMyProfile); configReader = ConfigFileReader.Parse(configPath, profile); } // ClientConfig settings var configSt = new ClientConfigStream(); IOciSession session; using (var st = File.OpenText(configReader.Get("key_file"))) { configSt = new ClientConfigStream { TenancyId = configReader.Get("tenancy"), UserId = configReader.Get("user"), Fingerprint = configReader.Get("fingerprint"), PrivateKey = st, PrivateKeyPassphrase = configReader.Get("pass_phrase"), AccountId = configReader.Get("accountId"), DomainName = configReader.Get("domain_name"), IdentityDomain = configReader.Get("identity_domain"), UserName = configReader.Get("user_name"), Password = configReader.Get("password"), HomeRegion = configReader.Get("home_region") }; session = new OciSession(configSt); } var comClient = session.GetCommercialClient(); var listPurchaseEntitlementsRequest = new ListPurchaseEntitlementsRequest { CompartmentId = configSt.TenancyId }; var purchase = comClient.ListPurchaseEntitlements(listPurchaseEntitlementsRequest); var getServiceEntitlementRegistrationsRequest = new ListServiceEntitlementRegistrationsRequest() { CompartmentId = configSt.TenancyId }; var services = comClient.ListServiceEntitlementRegistrations(getServiceEntitlementRegistrationsRequest); var costClient = session.GetUsageCostsClient(); var getSubscriptionInfoRequest = new GetSubscriptionInfoRequest { TenancyId = configSt.TenancyId }; var subsc = costClient.GetSubscriptionInfo(getSubscriptionInfoRequest); // get Client var identityClient = session.GetIdentityClient(); var getTenancyRequest = new GetTenancyRequest() { TenancyId = configSt.TenancyId }; var getTenacy = identityClient.GetTenancy(getTenancyRequest); Console.WriteLine($"tenantName: {getTenacy.Tenancy.Name}"); // get compute var computeClient = session.GetComputeClient(); IDictionary <string, IDictionary <string, string> > tags = new Dictionary <string, IDictionary <string, string> >(); tags.Add("CostTracking", new Dictionary <string, string> { { "cost-trakcerA", "aaaa" } }); var dbClient = session.GetDatabaseClient(); GetDbSystemRequest getDbSystemRequest = new GetDbSystemRequest() { DbSystemId = "ocid1.dbsystem.oc1.iad.abuwcljrbukbjzlameegvsn3u7qb3qcqvtcdvl74jxfth7xjsya7cxkdpibq" }; var dbSystem = dbClient.GetDbSystem(getDbSystemRequest); UpdateDbSystemRequest updateDbSystemRequest = new UpdateDbSystemRequest() { DbSystemId = "ocid1.dbsystem.oc1.iad.abuwcljrbukbjzlameegvsn3u7qb3qcqvtcdvl74jxfth7xjsya7cxkdpibq", UpdateDbSystemDetails = new OCISDK.Core.Database.Model.UpdateDbSystemDetails() { DefinedTags = tags } }; dbClient.UpdateDbSystem(updateDbSystemRequest); var listCompartmentRequest = new ListCompartmentRequest() { CompartmentId = getTenacy.Tenancy.Id, CompartmentIdInSubtree = true }; var cmparts = identityClient.ListCompartment(listCompartmentRequest); foreach (var com in cmparts.Items) { Console.WriteLine($"compartmentName: {com.Name}"); var listInstanceRequest = new ListInstancesRequest() { CompartmentId = com.Id, Limit = 10, SortOrder = SortOrder.ASC }; var instances = computeClient.ListInstances(listInstanceRequest); foreach (var ins in instances.Items) { Console.WriteLine($"rootCompartmentInstanceName: {ins.DisplayName}"); var workReqestClient = session.GetWorkRequestClient(); var listWorkRequestsRequest = new ListWorkRequestsRequest() { CompartmentId = ins.CompartmentId, ResourceId = ins.Id }; var workreqs = workReqestClient.ListWorkRequests(listWorkRequestsRequest); foreach (var wq in workreqs.Items) { Console.WriteLine($"\tWorkRequest: {wq.OperationType}, state:{wq.Status}"); var getWorkRequestRequest = new GetWorkRequestRequest() { WorkRequestId = wq.Id }; var gw = workReqestClient.GetWorkRequest(getWorkRequestRequest); Console.WriteLine($"\taccepted:{gw.WorkRequest.TimeAccepted}, finished:{gw.WorkRequest.TimeFinished}"); var listWorkRequestErrorsRequest = new ListWorkRequestErrorsRequest() { WorkRequestId = wq.Id, Limit = 100, SortOrder = SortOrder.ASC }; var wqErrors = workReqestClient.ListWorkRequestErrors(listWorkRequestErrorsRequest); foreach (var error in wqErrors.Items) { Console.WriteLine($"\tErrorCode: {error.Code}, ErrorMessage:{error.Message}, ErrorTimeStamp:{error.Timestamp}"); } var listWorkRequestLogsRequest = new ListWorkRequestLogsRequest() { WorkRequestId = wq.Id, Limit = 100, SortOrder = SortOrder.ASC }; var wqLogs = workReqestClient.ListWorkRequestLogs(listWorkRequestLogsRequest); foreach (var log in wqLogs.Items) { Console.WriteLine($"\tLogMessage:{log.Message}, LogTimeStamp:{log.Timestamp}"); } } } } Console.WriteLine("Exit with key press..."); Console.ReadLine(); }