public async Task UpdateKeyRotationPolicy() { string name = Recording.GenerateId(); await Client.CreateRsaKeyAsync(new CreateRsaKeyOptions(name)); RegisterForCleanup(name); KeyRotationPolicy policy = new() { ExpiresIn = "P90D", LifetimeActions = { new KeyRotationLifetimeAction(KeyRotationPolicyAction.Rotate) { TimeBeforeExpiry = "P10D", } } }; KeyRotationPolicy updatedPolicy = await Client.UpdateKeyRotationPolicyAsync(name, policy); Assert.AreEqual(policy.ExpiresIn, updatedPolicy.ExpiresIn); // Notify policy is always present and can only be updated. Assert.That(updatedPolicy.LifetimeActions, Has.One.Matches <KeyRotationLifetimeAction>(action => action.Action == KeyRotationPolicyAction.Notify)); KeyRotationLifetimeAction rotateAction = updatedPolicy.LifetimeActions.Single(p => p.Action == KeyRotationPolicyAction.Rotate); Assert.AreEqual(policy.LifetimeActions[0].Action, rotateAction.Action); Assert.AreEqual(policy.LifetimeActions[0].TimeAfterCreate, rotateAction.TimeAfterCreate); Assert.AreEqual(policy.LifetimeActions[0].TimeBeforeExpiry, rotateAction.TimeBeforeExpiry); }
public PSKeyRotationLifetimeAction(KeyRotationLifetimeAction keyRotationLifetimeAction) { Action = keyRotationLifetimeAction.Action.ToString(); TimeAfterCreate = keyRotationLifetimeAction.TimeAfterCreate; TimeBeforeExpiry = keyRotationLifetimeAction.TimeBeforeExpiry; }