{"id":18554323,"url":"https://github.com/oracle/oci-dotnet-sdk","last_synced_at":"2026-02-03T18:01:32.523Z","repository":{"id":37900050,"uuid":"275828695","full_name":"oracle/oci-dotnet-sdk","owner":"oracle","description":"Oracle Cloud Infrastructure SDK for .NET","archived":false,"fork":false,"pushed_at":"2026-01-27T17:35:02.000Z","size":61756,"stargazers_count":63,"open_issues_count":28,"forks_count":24,"subscribers_count":13,"default_branch":"master","last_synced_at":"2026-01-28T03:58:13.212Z","etag":null,"topics":["cloud","csharp","dotnet","oracle","oracle-cloud","oracle-cloud-infrastructure","sdk"],"latest_commit_sha":null,"homepage":"https://cloud.oracle.com/cloud-infrastructure","language":"C#","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"other","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/oracle.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE.txt","code_of_conduct":null,"threat_model":null,"audit":"Audit/AuditClient.cs","citation":null,"codeowners":null,"security":"SECURITY.md","support":null,"governance":"Governancerulescontrolplane/GovernanceRuleClient.cs","roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":"NOTICE.txt","maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2020-06-29T13:50:05.000Z","updated_at":"2026-01-27T17:34:39.000Z","dependencies_parsed_at":"2023-09-26T23:05:48.952Z","dependency_job_id":"1766a6cc-f7cc-4cb4-8522-7fbc03c9e13d","html_url":"https://github.com/oracle/oci-dotnet-sdk","commit_stats":null,"previous_names":[],"tags_count":254,"template":false,"template_full_name":null,"purl":"pkg:github/oracle/oci-dotnet-sdk","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/oracle%2Foci-dotnet-sdk","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/oracle%2Foci-dotnet-sdk/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/oracle%2Foci-dotnet-sdk/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/oracle%2Foci-dotnet-sdk/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/oracle","download_url":"https://codeload.github.com/oracle/oci-dotnet-sdk/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/oracle%2Foci-dotnet-sdk/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":29051269,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-02-03T15:43:47.601Z","status":"ssl_error","status_checked_at":"2026-02-03T15:43:46.709Z","response_time":96,"last_error":"SSL_read: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["cloud","csharp","dotnet","oracle","oracle-cloud","oracle-cloud-infrastructure","sdk"],"created_at":"2024-11-06T21:21:19.978Z","updated_at":"2026-02-03T18:01:32.503Z","avatar_url":"https://github.com/oracle.png","language":"C#","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Oracle Cloud Infrastructure SDK for .NET\n\n## About\n\nThe oci-dotnet-sdk provides an SDK for .NET that you can use to manage your Oracle Cloud Infrastructure resources.\n\nThe project is open source and maintained by Oracle Corp.\n\n## Dependencies\n\n- [.NETStandard 2.0](https://dotnet.microsoft.com/platform/dotnet-standard)\n\n## SDK Organization\n\nThe oci-dotnet-sdk contain the following 3 groups of packages:\n\n- **Common package**: Found in the [Common](/Common) and [Commontests](/Commontests) (unit tests for common package) directories.\n  The common package provides supporting classes and methods used by service packages.\n  It includes HTTP request/response (de)serialization, request signing, JSON parsing, and other helper functions.\n  Most of the functions in this package are meant to be used by the service packages.\n- **Examples package**: Found in the [Examples](/Examples) directory. It includes some working examples on how to use\n  oci-dotnet-sdk to manage Oracle Cloud Infrastracture resources.\n- **Service packages**: All packages except [Common](/Common), [Commontests](/Commontests), and [Examples](/Examples). These packages represent\n  the Oracle Cloud Infrastructure services supported by the .NET SDK. Each package represents a service.\n  These packages include the service client(s) with methods to interact with the service, classes for the requests,\n  responses, and input and output parameters.\n\n## Install Packages\n\nThe SDK is published as Nuget packages.\n\nUse either dotnet CLI or Visual Studio to install and consume a package from [nuget.org](https://www.nuget.org/profiles/oci-dotnet-sdk).\n\n- **dotnet CLI**:\n\n```\ndotnet add package \u003cPACKAGE_ID\u003e --version \u003cVERSION\u003e (If version not specified then it pulls the latest version)\n\nExample:\ndotnet add package OCI.DotNetSDK.Core (Installs the latest version of the Core Service package)\ndotnet add package OCI.DotNetSDK.Identity -v 1.0.0 (Installs version 1.0.0 of the Identity Service package)\n\nNOTE: To avoid dependency conflicts, you should use the same versions of all OCI .NET SDK Nuget packages within an application.\n```\n\n- **Visual Studio**:\n  Right-click a project and select \"Manage Nuget Packages\" and then search for the package name and version number to install.\n\n## Documentation\n\nPublic documentation and API Reference for the sdk can be found [here](https://docs.cloud.oracle.com/en-us/iaas/Content/API/SDKDocs/dotnetsdk.htm).\n\n## Working with the .NET SDK\n\nTo start working with oci-dotnet-sdk, you need to create a .NET project, install packages, create a client, and then use that client to send requests to service endpoint.\n\n### Configuring\n\nBefore using the SDK, set up a config file with the required credentials. See [SDK and Tool Configuration](https://docs.us-phoenix-1.oraclecloud.com/Content/API/Concepts/sdkconfig.htm) for instructions.\n\n### Creating Client\n\nTo create a service client, you need to set up the client to use the credentials.\nCheck [here](https://docs.cloud.oracle.com/en-us/iaas/Content/API/SDKDocs/dotnetsdkgettingstarted.htm#configuring) on how to configure it.\n\nExample that shows creating the Audit Service client using ConfigFileAuthenticationDetailsProvider Class for configuring credentials:\n\n```\nvar provider = new ConfigFileAuthenticationDetailsProvider(\"DEFAULT\");\nvar client = new AuditClient(provider, new ClientConfiguration());\n```\n\n### Sending Request\n\nTo send a request to an Oracle Cloud Infrastructure service endpoint, build a request object and send it using the client created above.\n\n```\nvar listEventsRequest = new ListEventsRequest\n{\n    // Assumption: the compartment id has been set in environment variable.\n    CompartmentId = compartmentId,\n    StartTime = DateTime.Now.AddDays(-1),\n    EndTime = DateTime.Now\n};\n\ntry\n{\n    var response = await client.ListEvents(listEventsRequest);\n}\ncatch (Exception e)\n{\n    // Handle the exception.\n}\n```\n\n### Enable Logging\n\nNLog package is used for logging in .NET projects. This package gets auto-installed as a dependency when you install OCI .NET SDK package. In order to view .NET SDK logs, you will need to:\n\n* Add NLog.config file at the project root directory. A sample NLog.config file can be found [here](https://github.com/NLog/NLog/wiki/Configuration-file#nlog-config-xml).\n* Add ItemGroup section in the project file:\n```\n\u003cItemGroup\u003e\n     \u003cContent Include=\"PATH TO NLog.config File\" \u003e\n          \u003cCopyToOutputDirectory\u003ePreserveNewest\u003c/CopyToOutputDirectory\u003e\n     \u003c/Content\u003e\n\u003c/ItemGroup\u003e\n```\n* To enable logging in user application, create a logger:\n```\nvar logger = NLog.LogManager.GetCurrentClassLogger();\nlogger.Info(\"Hello World\");\n```\n---\n**NOTE**\n\nOnly SDK logging will be captured if logger is not created in user application.\n\n---\n\n## Examples\n\nExamples can be found [here](/Examples).\n\nExamples for all supported services can be found at the [API reference](https://docs.cloud.oracle.com/en-us/iaas/tools/dotnet/latest/api/index.html) under their respective reference doc.\n\nTo use the example code: copy the sample, change the parameter values to values that make sense for your use case (ex: OCI instance ID with your OCI instance ID), and then you can run the code to have a working automation against OCI.\n\n## Building and Testing\n\n### Build\n\nBuilding the SDK can be done at the root of the whole solution or at individual project level under it.\nAt the root level, to build the whole solution, run with dotnet cli command:\n\n```\ndotnet build\n```\n\nor use the included Makefile:\n\n```\nmake build\n```\n\nThe Makefile also provides an option to build individal projects from the root level:\n\n```\nmake build PROJECT_PATH=Common\n```\n\nAlternatively, individual project and be built using dotnet cli inside project directory.\n\n### Test\n\nThe common package has corresponding [unit tests](/Commontests).\nThese tests can be run using dotnet cli command or through Makefile.\nTo run the unit tests from the root, a test filter needs to be provided:\n\n```\ndotnet test --filter Category=Unit\n```\n\nAlternatively, running tests inside common_tests project does not require the filter.\nTo run tests using Makefile:\n\n```\nmake unit-test\n```\n\n## Help\n\n* The [Issues](https://github.com/oracle/oci-dotnet-sdk/issues) page of this GitHub repository.\n* [Stack Overflow](https://stackoverflow.com/), use the [oracle-cloud-infrastructure](https://stackoverflow.com/questions/tagged/oracle-cloud-infrastructure) and [oci-dotnet-sdk](https://stackoverflow.com/questions/tagged/oci-dotnet-sdk) tags in your post.\n* [Developer Tools](https://community.oracle.com/community/groundbreakers/oracle-cloud/cloud-infrastructure/content) section of the Oracle Cloud forums.\n* [My Oracle Support](https://support.oracle.com/portal/).\n\n## Contributing\n\nThis project welcomes contributions from the community. Before submitting a pull request, please [review our contribution guide](./CONTRIBUTING.md)\n\n## Security\n\nPlease consult the [security guide](./SECURITY.md) for our responsible security vulnerability disclosure process\n\n## License\n\nCopyright (c) 2020, 2021 Oracle and/or its affiliates. All rights reserved.\n\nThis SDK is dual licensed under the Universal Permissive License 1.0 and the Apache License 2.0.\n\nSee [LICENSE](/LICENSE.txt) for more details.\n\n## Changes\n\nSee [CHANGELOG](/CHANGELOG.md)\n\n## Known Issues\n\nYou can find information on any known issues with the SDK at [Oracle Cloud Infrastructure Known Issues](https://docs.cloud.oracle.com/en-us/iaas/Content/knownissues.htm) and under the [Issues](https://github.com/oracle/oci-dotnet-sdk/issues) tab of this project's GitHub repository.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Foracle%2Foci-dotnet-sdk","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Foracle%2Foci-dotnet-sdk","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Foracle%2Foci-dotnet-sdk/lists"}