{"id":22242416,"url":"https://github.com/manzanit0/aquamon","last_synced_at":"2025-03-25T10:40:37.736Z","repository":{"id":127186368,"uuid":"128839084","full_name":"manzanit0/Aquamon","owner":"manzanit0","description":".NET Core CLI to access Salesforce Tooling API","archived":false,"fork":false,"pushed_at":"2018-07-13T08:43:36.000Z","size":120,"stargazers_count":3,"open_issues_count":0,"forks_count":1,"subscribers_count":5,"default_branch":"master","last_synced_at":"2025-01-30T09:41:52.630Z","etag":null,"topics":["dotnet-core","salesforce","tooling-api"],"latest_commit_sha":null,"homepage":"","language":"C#","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/manzanit0.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2018-04-09T22:03:39.000Z","updated_at":"2020-09-01T04:15:47.000Z","dependencies_parsed_at":null,"dependency_job_id":"789a6c16-6f61-411d-a1f2-021489e73f16","html_url":"https://github.com/manzanit0/Aquamon","commit_stats":null,"previous_names":[],"tags_count":1,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/manzanit0%2FAquamon","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/manzanit0%2FAquamon/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/manzanit0%2FAquamon/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/manzanit0%2FAquamon/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/manzanit0","download_url":"https://codeload.github.com/manzanit0/Aquamon/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":245449502,"owners_count":20617185,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","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":["dotnet-core","salesforce","tooling-api"],"created_at":"2024-12-03T04:16:10.321Z","updated_at":"2025-03-25T10:40:37.725Z","avatar_url":"https://github.com/manzanit0.png","language":"C#","funding_links":[],"categories":[],"sub_categories":[],"readme":"## Aquamon\nA minimalistic cli for accessing Salesforce's Tooling API\n\n### Features\n\n- Creation and refresh of sandboxes.\n- Progress check of sandbox refresh status.\n- Configuration via CLI\n\n### Configuration\n\nBefore using the application you must add your Production credentials to the `appsettings.json` as well as any other\nparameters you want to use for every command, like the Post-Sandbox-Copy script Id.\n\nYour appsettings.json should look something like this:\n\n```\n{\n    \"SalesforceConfiguration\": {\n        \"LoginInfo\": {\n            \"Username\": \"myusername@domain.org\",\n            \"Password\": \"Sal3sf0rc3123\",\n            \"SecurityToken\": \"kqkOzDLSElGGisuRF9S4qzGu\",\n            \"ClientId\": \"3MVG98_Psg5cppybek7esekQkzql9LLOkBAO4MrEYIOGDDpN2VR9CkrPl1BBxh1cH4vrFrtv68MRNE9I3zGFw\",\n            \"ClientSecret\": \"2492353313781879034\"\n        },\n        \"SandboxInfo\": {\n            \"AutoActivate\": true,\n            \"ApexClassId\": \"01p58000007eUTf\"\n        }\n    }\n}\n```\n\nYou can grab the `ApexClassId` from the Salesforce URL: \n`https://**your instance**.lightning.force.com/lightning/setup/ApexClasses/page?address=%2F01p58000007eUTf`, although\ndon't take the the encoded '/' character.\n\nThe `ClientId` and `ClientSecret` you will obtain from the Connected Application you have created in the `Setup \u003e App Manager`\n\n### Usage\n\nFor convenience, there is a configuration command within Aquamon which allows you to change the values without having to \nsearch for the `appsettings.json` all the time. The config command will work as a getter or a setter depending on the \namount of arguments you put into it:\n\nThe following will give you your current user name:\n\n```\naquamon config LoginInfo.Username\n```\n\nWhile the next will change the username to `another.username@mydomain.org`:\n\n```\naquamon config LoginInfo.Username \"another.username@mydomain.org\"\n```\n\nOnce you have set the application's configuration, we can start automating.\n\nIn order to create a new sandbox, simply execute:\n\n```\naquamon create \"MySandbox\" -d \"Some description\"\n```\n\nIn case you want to override the ApexClassId set in the configuration, you can do so by adding the option `-a`:\n\n```\naquamon create \"MySandbox\" -d \"Some description\" -a \"213xDfdx2315464\"\n```\n\nRefreshing sandboxes works exactly the same way, just swapping the command:\n\n```\naquamon refresh \"MySandbox\" -d \"Some description\" -a \"213xDfdx2315464\"\n```\n\nLastly, there is also a command to check the status of a sandbox:\n\n```\naquamon status \"MySandbox\" \"InProgress\"\n```\n\nCurrently Aquamon searches for a certain sandbox in a certain status, but hopefully down the road we can improve it.","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmanzanit0%2Faquamon","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fmanzanit0%2Faquamon","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmanzanit0%2Faquamon/lists"}