winterbaume-ssoadmin
SSO Admin (IAM Identity Center) service implementation for winterbaume.
Coverage
| Metric | Value |
|---|---|
| Service | SSO Admin |
| AWS model | sso-admin |
| Protocol | awsJson1.1 |
| winterbaume coverage | 27/79 operations (34.2%) |
| stubs (routed, returns empty/default) | 1/79 operations (1.3%) |
| moto coverage | 25/79 operations (31.6%) |
| floci coverage | 0/79 operations (0.0%) |
| kumo coverage | 0/79 operations (0.0%) |
| fakecloud coverage | 79/79 operations (100.0%) |
| Coverage report date | 2026-07-03 |
Server-mode usage
Install winterbaume-server from crates.io or run it from a workspace checkout, then point the AWS CLI at it:
sh
# Installed binary ( from crates.io ):
cargo install winterbaume-server
winterbaume-server --host 127.0.0.1 --port 5555
# Or, from a workspace checkout:
cargo run -p winterbaume-server -- --host 127.0.0.1 --port 5555sh
export AWS_ENDPOINT_URL=http://localhost:5555
aws ssoadmin helpExample
rust
use aws_sdk_ssoadmin::config::BehaviorVersion;
use winterbaume_core::MockAws;
use winterbaume_ssoadmin::SsoAdminService;
const INSTANCE_ARN: &str = "arn:aws:sso:::instance/ssoins-0123456789abcdef";
#[tokio::main]
async fn main() {
let mock = MockAws::builder()
.with_service(SsoAdminService::new())
.build();
let config = aws_config::defaults(BehaviorVersion::latest())
.http_client(mock.http_client())
.credentials_provider(mock.credentials_provider())
.region(aws_sdk_ssoadmin::config::Region::new("us-east-1"))
.load()
.await;
let client = aws_sdk_ssoadmin::Client::new(&config);
let resp = client
.list_instances()
.send()
.await
.expect("list_instances should succeed");
println!("SSO Admin instances: {:?}", resp.instances());
// Create a permission set
let ps_resp = client
.create_permission_set()
.instance_arn(INSTANCE_ARN)
.name("ExamplePermissionSet")
.description("Created by winterbaume example")
.session_duration("PT4H")
.send()
.await
.expect("create_permission_set should succeed");
let ps = ps_resp.permission_set().expect("permission set present");
println!("Created permission set: {:?}", ps.permission_set_arn());
// List all permission sets
let list_resp = client
.list_permission_sets()
.instance_arn(INSTANCE_ARN)
.send()
.await
.expect("list_permission_sets should succeed");
println!("All permission set ARNs: {:?}", list_resp.permission_sets());
}Implemented APIs (27)
AttachCustomerManagedPolicyReferenceToPermissionSetAttachManagedPolicyToPermissionSetCreateAccountAssignmentCreatePermissionSetDeleteAccountAssignmentDeleteInlinePolicyFromPermissionSetDeletePermissionSetDescribeAccountAssignmentCreationStatusDescribeAccountAssignmentDeletionStatusDescribePermissionSetDetachCustomerManagedPolicyReferenceFromPermissionSetDetachManagedPolicyFromPermissionSetGetInlinePolicyForPermissionSetListAccountAssignmentsListAccountAssignmentsForPrincipalListAccountsForProvisionedPermissionSetListCustomerManagedPolicyReferencesInPermissionSetListManagedPoliciesInPermissionSetListPermissionSetsListPermissionSetsProvisionedToAccountListTagsForResourceProvisionPermissionSetPutInlinePolicyToPermissionSetTagResourceUntagResourceUpdateInstanceUpdatePermissionSet
Stubbed APIs (1) — routed but return an empty/default response
ListInstances
Not yet implemented APIs (51)
AddRegion(implemented by fakecloud)CreateApplication(implemented by fakecloud)CreateApplicationAssignment(implemented by fakecloud)CreateInstance(implemented by fakecloud)CreateInstanceAccessControlAttributeConfiguration(implemented by fakecloud)CreateTrustedTokenIssuer(implemented by fakecloud)DeleteApplication(implemented by fakecloud)DeleteApplicationAccessScope(implemented by fakecloud)DeleteApplicationAssignment(implemented by fakecloud)DeleteApplicationAuthenticationMethod(implemented by fakecloud)DeleteApplicationGrant(implemented by fakecloud)DeleteInstance(implemented by fakecloud)DeleteInstanceAccessControlAttributeConfiguration(implemented by fakecloud)DeletePermissionsBoundaryFromPermissionSet(implemented by fakecloud)DeleteTrustedTokenIssuer(implemented by fakecloud)DescribeApplication(implemented by fakecloud)DescribeApplicationAssignment(implemented by fakecloud)DescribeApplicationProvider(implemented by fakecloud)DescribeInstance(implemented by fakecloud)DescribeInstanceAccessControlAttributeConfiguration(implemented by fakecloud)DescribePermissionSetProvisioningStatus(implemented by fakecloud)DescribeRegion(implemented by fakecloud)DescribeTrustedTokenIssuer(implemented by fakecloud)GetApplicationAccessScope(implemented by fakecloud)GetApplicationAssignmentConfiguration(implemented by fakecloud)GetApplicationAuthenticationMethod(implemented by fakecloud)GetApplicationGrant(implemented by fakecloud)GetApplicationSessionConfiguration(implemented by fakecloud)GetPermissionsBoundaryForPermissionSet(implemented by fakecloud)ListAccountAssignmentCreationStatus(implemented by fakecloud)ListAccountAssignmentDeletionStatus(implemented by fakecloud)ListApplicationAccessScopes(implemented by fakecloud)ListApplicationAssignments(implemented by fakecloud)ListApplicationAssignmentsForPrincipal(implemented by fakecloud)ListApplicationAuthenticationMethods(implemented by fakecloud)ListApplicationGrants(implemented by fakecloud)ListApplicationProviders(implemented by fakecloud)ListApplications(implemented by fakecloud)ListPermissionSetProvisioningStatus(implemented by fakecloud)ListRegions(implemented by fakecloud)ListTrustedTokenIssuers(implemented by fakecloud)PutApplicationAccessScope(implemented by fakecloud)PutApplicationAssignmentConfiguration(implemented by fakecloud)PutApplicationAuthenticationMethod(implemented by fakecloud)PutApplicationGrant(implemented by fakecloud)PutApplicationSessionConfiguration(implemented by fakecloud)PutPermissionsBoundaryToPermissionSet(implemented by fakecloud)RemoveRegion(implemented by fakecloud)UpdateApplication(implemented by fakecloud)UpdateInstanceAccessControlAttributeConfiguration(implemented by fakecloud)UpdateTrustedTokenIssuer(implemented by fakecloud)