Package: ibm-secrets-manager-sdk
IBM Cloud Secrets Manager Python SDKA Python client library to interact with theIBM Cloud® Secrets Manager APIs.Table of ContentsOverviewPrerequisitesInstallationAuthenticationUsing the SDKQuestionsIssuesContributingLicenseOverviewThe IBM Cloud Secrets Manager Python SDK allows developers to programmatically interact with the following IBM Cloud
services:Service nameImported class nameSecrets ManagerSecretsManagerV2PrerequisitesAnIBM Cloud account.ASecrets Manager service instance.AnIBM Cloud API keythat allows the SDK to access your account.Python 3.9 or above.InstallationTo install, usepiporeasy_install:pipinstall--upgrade"ibm-secrets-manager-sdk"oreasy_install--upgrade"ibm-secrets-manager-sdk"AuthenticationSecrets Manager uses token-based Identity and Access Management (IAM) authentication.With IAM authentication, you supply an API key that is used to generate an access token. Then, the access token is
included in each API request to Secrets Manager. Access tokens are valid for a limited amount of time and must be
regenerated.Authentication for this SDK is accomplished by
usingIAM authenticators. Import
authenticators fromibm_cloud_sdk_core.authenticators.ExamplesProgrammatic credentialsfromibm_cloud_sdk_core.authenticators.iam_authenticatorimportIAMAuthenticatorsecretsManager=SecretsManagerV2(authenticator=IAMAuthenticator(apikey='<IBM_CLOUD_API_KEY>'))To learn more about IAM authenticators and how to use them in your Python application, see theIBM Python SDK Core documentation.Using the SDKBasic usageUse theset_service_urlmethod to set the endpoint URL that is specific to your Secrets Manager service instance. To
find your endpoint URL, you can copy it from theEndpointspage in the Secrets Manager UI.ExamplesConstruct a service client and use it to create and retrieve a secret from your Secrets Manager instance.Here's an examplesecrets_manager.pyfile:fromibm_cloud_sdk_core.authenticators.iam_authenticatorimportIAMAuthenticatorfromibm_secrets_manager_sdk.secrets_manager_v2import*secretsManager=SecretsManagerV2(authenticator=IAMAuthenticator(apikey='<IBM_CLOUD_API_KEY>'))secretsManager.set_service_url('<SERVICE_URL>')# create arbitrary secretsecret_prototype_model={'custom_metadata':{'metadata_custom_key':'metadata_custom_value'},'description':'Description of my arbitrary secret.','expiration_date':'2030-10-05T11:49:42Z','labels':['dev','us-south'],'name':'example-arbitrary-secret','secret_group_id':'default','secret_type':'arbitrary','payload':'secret-data','version_custom_metadata':{'custom_version_key':'custom_version_value'},}response=secretsManager.create_secret(secret_prototype=secret_prototype_model,)secretId=response.result['id']# get arbitrary secretresponse=secretsManager.get_secret(id=secretId)secretPayload=response.result['payload']print('The arbitrary secret payload is: '+secretPayload)Replace theapikeyandset_service_url()values. Then use thepython secrets_manager.pycommand to run your
application. You should see the payload of the arbitrary secret that was created.For more information and IBM Cloud SDK usage examples for Python, see
theIBM Cloud SDK Common documentation.QuestionsIf you're having difficulties using this SDK, you can ask questions about this project by
usingStack Overflow. Be sure to include
theibm-cloudandibm-secrets-managertags.You can also check out theSecrets Manager documentationandAPI referencefor more information about the service.IssuesIf you encounter an issue with the project, you're welcome to submit
abug reportto help us improve.ContributingFor general contribution guidelines, seeCONTRIBUTING.LicenseThis SDK project is released under the Apache 2.0 license. The license's full text can be found inLICENSE.