-
Notifications
You must be signed in to change notification settings - Fork 17
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
client.Identity.MfaConfigureTotpMethod and similar do not work to create new MFA methods #180
Labels
bug
Something isn't working
Comments
maxb
added a commit
to maxb/vault
that referenced
this issue
May 30, 2023
Vault API endpoints are defined using regexes in instances of the SDK's framework.Path structure. However, OpenAPI does not use regexes, so a translation is performed. It is technically possible that this translation produces colliding OpenAPI paths from multiple framework.Path structures. When this happens, there has formerly been no diagnostic, and one result silently overwrites the other in a map. As a result of this, several operations are currently accidentally missing from the Vault OpenAPI, which is also the trigger for hashicorp/vault-client-go#180. This PR adds a log message, to help catch such accidents so that they can be fixed. Much of the PR is propagating a logger to the point where it is needed, and adjusting tests for the API change. With current Vault, this will result in the following being logged each time a request is made which triggers OpenAPI generation: ``` [WARN] secrets.identity.identity_0cd35e4d: OpenAPI spec generation: multiple framework.Path instances generated the same path; last processed wins: path=/mfa/method [WARN] secrets.identity.identity_0cd35e4d: OpenAPI spec generation: multiple framework.Path instances generated the same path; last processed wins: path=/mfa/method/totp [WARN] secrets.identity.identity_0cd35e4d: OpenAPI spec generation: multiple framework.Path instances generated the same path; last processed wins: path=/mfa/method/okta [WARN] secrets.identity.identity_0cd35e4d: OpenAPI spec generation: multiple framework.Path instances generated the same path; last processed wins: path=/mfa/method/duo [WARN] secrets.identity.identity_0cd35e4d: OpenAPI spec generation: multiple framework.Path instances generated the same path; last processed wins: path=/mfa/method/pingid ``` I will submit a further PR to fix the issue - this one is just to add the diagnostic.
maxb
added a commit
to maxb/vault
that referenced
this issue
May 30, 2023
There is a problem with how the `identity/mfa/method/*` endpoints are defined, resulting in incorrect OpenAPI generation. I raised hashicorp/vault-client-go#180 to track a consequence, and opened hashicorp#20873 which explains the problem and adds a log message to detect it. This PR is now the fix. It's actually quite an interesting problem, that has come about through some particular implementation choices, in Vault's first/only case where REST API objects are created by writing to the collection URL, and have their ID allocated by the server, instead of the client. The triggering cause of the malfunction was trying to have a single framework.Path struct instance which optionally includes or excludes the method_id path parameter, and also another framework.Path struct instance handling list operations. The fix is to simplify the path regexes, and have one framework.Path which handles the method_id being present, and one that handles it being absent. The diff is somewhat large, because the affected code had been copy/pasted four times (TOTP, Okta, Duo, PingID) - so I took the opportunity to fix the duplication, creating appropriate helper methods so that the quadruplicated code could be re-unified.
maxb
added a commit
to maxb/vault
that referenced
this issue
May 30, 2023
Fixes a minor annoyance I discovered whilst comparing before and after OpenAPI specs whilst working on hashicorp/vault-client-go#180. Sort the entries in a JSON array which has set semantics, after we construct it by iterating a map (non-deterministic ordering).
averche
pushed a commit
to hashicorp/vault
that referenced
this issue
May 31, 2023
…20881) * Fix non-deterministic ordering of 'required' field in OpenAPI spec Fixes a minor annoyance I discovered whilst comparing before and after OpenAPI specs whilst working on hashicorp/vault-client-go#180. Sort the entries in a JSON array which has set semantics, after we construct it by iterating a map (non-deterministic ordering). * changelog
This was referenced May 31, 2023
These are now ready:
|
averche
added a commit
to hashicorp/vault
that referenced
this issue
Jun 23, 2023
* Refactor `identity/mfa/method/*` endpoints to fix bad OpenAPI There is a problem with how the `identity/mfa/method/*` endpoints are defined, resulting in incorrect OpenAPI generation. I raised hashicorp/vault-client-go#180 to track a consequence, and opened #20873 which explains the problem and adds a log message to detect it. This PR is now the fix. It's actually quite an interesting problem, that has come about through some particular implementation choices, in Vault's first/only case where REST API objects are created by writing to the collection URL, and have their ID allocated by the server, instead of the client. The triggering cause of the malfunction was trying to have a single framework.Path struct instance which optionally includes or excludes the method_id path parameter, and also another framework.Path struct instance handling list operations. The fix is to simplify the path regexes, and have one framework.Path which handles the method_id being present, and one that handles it being absent. The diff is somewhat large, because the affected code had been copy/pasted four times (TOTP, Okta, Duo, PingID) - so I took the opportunity to fix the duplication, creating appropriate helper methods so that the quadruplicated code could be re-unified. * Revise documentation This update refactors how the documentation presents these endpoints to users, both for clarity, and to align with the new structure of the code. From a user perspective, it clears up some unclear presentation of when the `method_id` parameter should and should not be present, adds a missing description of the response to create requests, and changes the `method_id` parameter name to be used consistently (rather than `id` in some cases, unlike the actual code/OpenAPI). * Fix incorrect acronym (review fix) * Accept suggestion of tweaked grammar in documentation Co-authored-by: Anton Averchenkov <84287187+averche@users.noreply.github.com> * Add changelog --------- Co-authored-by: Anton Averchenkov <84287187+averche@users.noreply.github.com>
averche
pushed a commit
to hashicorp/vault
that referenced
this issue
Jun 23, 2023
…0873) Vault API endpoints are defined using regexes in instances of the SDK's framework.Path structure. However, OpenAPI does not use regexes, so a translation is performed. It is technically possible that this translation produces colliding OpenAPI paths from multiple framework.Path structures. When this happens, there has formerly been no diagnostic, and one result silently overwrites the other in a map. As a result of this, several operations are currently accidentally missing from the Vault OpenAPI, which is also the trigger for hashicorp/vault-client-go#180. This PR adds a log message, to help catch such accidents so that they can be fixed. Much of the PR is propagating a logger to the point where it is needed, and adjusting tests for the API change. With current Vault, this will result in the following being logged each time a request is made which triggers OpenAPI generation: ``` [WARN] secrets.identity.identity_0cd35e4d: OpenAPI spec generation: multiple framework.Path instances generated the same path; last processed wins: path=/mfa/method [WARN] secrets.identity.identity_0cd35e4d: OpenAPI spec generation: multiple framework.Path instances generated the same path; last processed wins: path=/mfa/method/totp [WARN] secrets.identity.identity_0cd35e4d: OpenAPI spec generation: multiple framework.Path instances generated the same path; last processed wins: path=/mfa/method/okta [WARN] secrets.identity.identity_0cd35e4d: OpenAPI spec generation: multiple framework.Path instances generated the same path; last processed wins: path=/mfa/method/duo [WARN] secrets.identity.identity_0cd35e4d: OpenAPI spec generation: multiple framework.Path instances generated the same path; last processed wins: path=/mfa/method/pingid ``` I will submit a further PR to fix the issue - this one is just to add the diagnostic.
This was referenced Jul 1, 2023
averche
pushed a commit
that referenced
this issue
Jul 7, 2023
Closes #180 As discussed in #187 this is a big bang approach that is considered appropriate mostly only because the library is still in beta. Closes #187 Some of the changes being introduced here due to OpenAPI changes look wrong to me (e.g. it seems wrong for `sys/decode-token` to be given the method name of just `Decode`, and it seems wrong for the `sys/raw` APIs to have variants with and without the path parameter), but mindful of the large amount of changes, and beta status of the library, it's probably better to resync with the current OpenAPI and iterate from there. golang.org/x/exp/apidiff report for root package: ``` Incompatible changes: - (*Identity).MfaConfigureDuoMethod: removed - (*Identity).MfaConfigureOktaMethod: removed - (*Identity).MfaConfigurePingIdMethod: removed - (*Identity).MfaConfigureTotpMethod: removed - (*Identity).MfaReadDuoMethodConfiguration: removed - (*Identity).MfaReadMethodConfiguration: removed - (*Identity).MfaReadOktaMethodConfiguration: removed - (*Identity).MfaReadPingIdMethodConfiguration: removed - (*Identity).MfaReadTotpMethodConfiguration: removed - (*Secrets).PkiIssuersRotateRoot: removed - (*System).ReplicationStatus: removed Compatible changes: - (*Identity).MfaCreateDuoMethod: added - (*Identity).MfaCreateOktaMethod: added - (*Identity).MfaCreatePingIdMethod: added - (*Identity).MfaCreateTotpMethod: added - (*Identity).MfaReadDuoMethod: added - (*Identity).MfaReadMethod: added - (*Identity).MfaReadOktaMethod: added - (*Identity).MfaReadPingIdMethod: added - (*Identity).MfaReadTotpMethod: added - (*Identity).MfaUpdateDuoMethod: added - (*Identity).MfaUpdateOktaMethod: added - (*Identity).MfaUpdatePingIdMethod: added - (*Identity).MfaUpdateTotpMethod: added - (*Identity).OidcProviderAuthorizeWithParameters: added - (*Secrets).AwsDeleteStaticRolesName: added - (*Secrets).AwsGenerateCredentialsWithParameters: added - (*Secrets).AwsGenerateStsCredentialsWithParameters: added - (*Secrets).AwsReadStaticCredsName: added - (*Secrets).AwsReadStaticRolesName: added - (*Secrets).AwsWriteStaticRolesName: added - (*Secrets).PkiConfigureAcme: added - (*Secrets).PkiDeleteEabKey: added - (*Secrets).PkiGenerateEabKey: added - (*Secrets).PkiGenerateEabKeyForIssuer: added - (*Secrets).PkiGenerateEabKeyForIssuerAndRole: added - (*Secrets).PkiGenerateEabKeyForRole: added - (*Secrets).PkiListEabKeys: added - (*Secrets).PkiReadAcmeConfiguration: added - (*Secrets).PkiReadAcmeDirectory: added - (*Secrets).PkiReadAcmeNewNonce: added - (*Secrets).PkiReadIssuerIssuerRefAcmeDirectory: added - (*Secrets).PkiReadIssuerIssuerRefAcmeNewNonce: added - (*Secrets).PkiReadIssuerIssuerRefRolesRoleAcmeDirectory: added - (*Secrets).PkiReadIssuerIssuerRefRolesRoleAcmeNewNonce: added - (*Secrets).PkiReadRolesRoleAcmeDirectory: added - (*Secrets).PkiReadRolesRoleAcmeNewNonce: added - (*Secrets).PkiRotateRoot: added - (*Secrets).PkiWriteAcmeAccountKid: added - (*Secrets).PkiWriteAcmeAuthorizationAuthId: added - (*Secrets).PkiWriteAcmeChallengeAuthIdChallengeType: added - (*Secrets).PkiWriteAcmeNewAccount: added - (*Secrets).PkiWriteAcmeNewOrder: added - (*Secrets).PkiWriteAcmeOrderOrderId: added - (*Secrets).PkiWriteAcmeOrderOrderIdCert: added - (*Secrets).PkiWriteAcmeOrderOrderIdFinalize: added - (*Secrets).PkiWriteAcmeOrders: added - (*Secrets).PkiWriteAcmeRevokeCert: added - (*Secrets).PkiWriteIssuerIssuerRefAcmeAccountKid: added - (*Secrets).PkiWriteIssuerIssuerRefAcmeAuthorizationAuthId: added - (*Secrets).PkiWriteIssuerIssuerRefAcmeChallengeAuthIdChallengeType: added - (*Secrets).PkiWriteIssuerIssuerRefAcmeNewAccount: added - (*Secrets).PkiWriteIssuerIssuerRefAcmeNewOrder: added - (*Secrets).PkiWriteIssuerIssuerRefAcmeOrderOrderId: added - (*Secrets).PkiWriteIssuerIssuerRefAcmeOrderOrderIdCert: added - (*Secrets).PkiWriteIssuerIssuerRefAcmeOrderOrderIdFinalize: added - (*Secrets).PkiWriteIssuerIssuerRefAcmeOrders: added - (*Secrets).PkiWriteIssuerIssuerRefAcmeRevokeCert: added - (*Secrets).PkiWriteIssuerIssuerRefRolesRoleAcmeAccountKid: added - (*Secrets).PkiWriteIssuerIssuerRefRolesRoleAcmeAuthorizationAuthId: added - (*Secrets).PkiWriteIssuerIssuerRefRolesRoleAcmeChallengeAuthIdChallengeType: added - (*Secrets).PkiWriteIssuerIssuerRefRolesRoleAcmeNewAccount: added - (*Secrets).PkiWriteIssuerIssuerRefRolesRoleAcmeNewOrder: added - (*Secrets).PkiWriteIssuerIssuerRefRolesRoleAcmeOrderOrderId: added - (*Secrets).PkiWriteIssuerIssuerRefRolesRoleAcmeOrderOrderIdCert: added - (*Secrets).PkiWriteIssuerIssuerRefRolesRoleAcmeOrderOrderIdFinalize: added - (*Secrets).PkiWriteIssuerIssuerRefRolesRoleAcmeOrders: added - (*Secrets).PkiWriteIssuerIssuerRefRolesRoleAcmeRevokeCert: added - (*Secrets).PkiWriteRolesRoleAcmeAccountKid: added - (*Secrets).PkiWriteRolesRoleAcmeAuthorizationAuthId: added - (*Secrets).PkiWriteRolesRoleAcmeChallengeAuthIdChallengeType: added - (*Secrets).PkiWriteRolesRoleAcmeNewAccount: added - (*Secrets).PkiWriteRolesRoleAcmeNewOrder: added - (*Secrets).PkiWriteRolesRoleAcmeOrderOrderId: added - (*Secrets).PkiWriteRolesRoleAcmeOrderOrderIdCert: added - (*Secrets).PkiWriteRolesRoleAcmeOrderOrderIdFinalize: added - (*Secrets).PkiWriteRolesRoleAcmeOrders: added - (*Secrets).PkiWriteRolesRoleAcmeRevokeCert: added - (*Secrets).TransitByokKey: added - (*Secrets).TransitByokKeyVersion: added - (*System).Decode: added - (*System).InternalGenerateOpenApiDocumentWithParameters: added - (*System).RawDelete: added - (*System).RawDeletePath: added - (*System).RawRead: added - (*System).RawReadPath: added - (*System).RawWrite: added - (*System).RawWritePath: added - (*System).SystemDeleteConfigControlGroup: added - (*System).SystemDeleteManagedKeysTypeName: added - (*System).SystemDeleteMfaMethodDuoName: added - (*System).SystemDeleteMfaMethodOktaName: added - (*System).SystemDeleteMfaMethodPingidName: added - (*System).SystemDeleteMfaMethodTotpName: added - (*System).SystemDeleteNamespacesPath: added - (*System).SystemDeletePoliciesEgpName: added - (*System).SystemDeletePoliciesRgpName: added - (*System).SystemDeleteQuotasLeaseCountName: added - (*System).SystemDeleteReplicationPerformancePrimaryPathsFilterId: added - (*System).SystemDeleteStorageRaftSnapshotAutoConfigName: added - (*System).SystemListManagedKeysType: added - (*System).SystemListMfaMethod: added - (*System).SystemListNamespaces: added - (*System).SystemListPoliciesEgp: added - (*System).SystemListPoliciesRgp: added - (*System).SystemListQuotasLeaseCount: added - (*System).SystemListStorageRaftSnapshotAutoConfig: added - (*System).SystemReadConfigControlGroup: added - (*System).SystemReadConfigGroupPolicyApplication: added - (*System).SystemReadLicenseStatus: added - (*System).SystemReadManagedKeysTypeName: added - (*System).SystemReadMfaMethodDuoName: added - (*System).SystemReadMfaMethodOktaName: added - (*System).SystemReadMfaMethodPingidName: added - (*System).SystemReadMfaMethodTotpName: added - (*System).SystemReadMfaMethodTotpNameGenerate: added - (*System).SystemReadNamespacesPath: added - (*System).SystemReadPluginsReloadBackendStatus: added - (*System).SystemReadPoliciesEgpName: added - (*System).SystemReadPoliciesRgpName: added - (*System).SystemReadQuotasLeaseCountName: added - (*System).SystemReadReplicationDrSecondaryLicenseStatus: added - (*System).SystemReadReplicationDrStatus: added - (*System).SystemReadReplicationPerformancePrimaryDynamicFilterId: added - (*System).SystemReadReplicationPerformancePrimaryPathsFilterId: added - (*System).SystemReadReplicationPerformanceSecondaryDynamicFilterId: added - (*System).SystemReadReplicationPerformanceStatus: added - (*System).SystemReadReplicationStatus: added - (*System).SystemReadSealwrapRewrap: added - (*System).SystemReadStorageRaftSnapshotAutoConfigName: added - (*System).SystemReadStorageRaftSnapshotAutoStatusName: added - (*System).SystemWriteConfigControlGroup: added - (*System).SystemWriteConfigGroupPolicyApplication: added - (*System).SystemWriteControlGroupAuthorize: added - (*System).SystemWriteControlGroupRequest: added - (*System).SystemWriteManagedKeysTypeName: added - (*System).SystemWriteManagedKeysTypeNameTestSign: added - (*System).SystemWriteMfaMethodDuoName: added - (*System).SystemWriteMfaMethodOktaName: added - (*System).SystemWriteMfaMethodPingidName: added - (*System).SystemWriteMfaMethodTotpName: added - (*System).SystemWriteMfaMethodTotpNameAdminDestroy: added - (*System).SystemWriteMfaMethodTotpNameAdminGenerate: added - (*System).SystemWriteNamespacesApiLockLock: added - (*System).SystemWriteNamespacesApiLockLockPath: added - (*System).SystemWriteNamespacesApiLockUnlock: added - (*System).SystemWriteNamespacesApiLockUnlockPath: added - (*System).SystemWriteNamespacesPath: added - (*System).SystemWritePoliciesEgpName: added - (*System).SystemWritePoliciesRgpName: added - (*System).SystemWriteQuotasLeaseCountName: added - (*System).SystemWriteReplicationDrPrimaryDemote: added - (*System).SystemWriteReplicationDrPrimaryDisable: added - (*System).SystemWriteReplicationDrPrimaryEnable: added - (*System).SystemWriteReplicationDrPrimaryRevokeSecondary: added - (*System).SystemWriteReplicationDrPrimarySecondaryToken: added - (*System).SystemWriteReplicationDrSecondaryConfigReloadSubsystem: added - (*System).SystemWriteReplicationDrSecondaryDisable: added - (*System).SystemWriteReplicationDrSecondaryEnable: added - (*System).SystemWriteReplicationDrSecondaryGeneratePublicKey: added - (*System).SystemWriteReplicationDrSecondaryOperationTokenDelete: added - (*System).SystemWriteReplicationDrSecondaryPromote: added - (*System).SystemWriteReplicationDrSecondaryRecover: added - (*System).SystemWriteReplicationDrSecondaryReindex: added - (*System).SystemWriteReplicationDrSecondaryUpdatePrimary: added - (*System).SystemWriteReplicationPerformancePrimaryDemote: added - (*System).SystemWriteReplicationPerformancePrimaryDisable: added - (*System).SystemWriteReplicationPerformancePrimaryEnable: added - (*System).SystemWriteReplicationPerformancePrimaryPathsFilterId: added - (*System).SystemWriteReplicationPerformancePrimaryRevokeSecondary: added - (*System).SystemWriteReplicationPerformancePrimarySecondaryToken: added - (*System).SystemWriteReplicationPerformanceSecondaryDisable: added - (*System).SystemWriteReplicationPerformanceSecondaryEnable: added - (*System).SystemWriteReplicationPerformanceSecondaryGeneratePublicKey: added - (*System).SystemWriteReplicationPerformanceSecondaryPromote: added - (*System).SystemWriteReplicationPerformanceSecondaryUpdatePrimary: added - (*System).SystemWriteReplicationPrimaryDemote: added - (*System).SystemWriteReplicationPrimaryDisable: added - (*System).SystemWriteReplicationPrimaryEnable: added - (*System).SystemWriteReplicationPrimaryRevokeSecondary: added - (*System).SystemWriteReplicationPrimarySecondaryToken: added - (*System).SystemWriteReplicationRecover: added - (*System).SystemWriteReplicationReindex: added - (*System).SystemWriteReplicationSecondaryDisable: added - (*System).SystemWriteReplicationSecondaryEnable: added - (*System).SystemWriteReplicationSecondaryPromote: added - (*System).SystemWriteReplicationSecondaryUpdatePrimary: added - (*System).SystemWriteSealwrapRewrap: added - (*System).SystemWriteStorageRaftSnapshotAutoConfigName: added ``` golang.org/x/exp/cmd/apidiff report for schema package: ``` Incompatible changes: - AliCloudWriteAuthRoleRequest.MaxTtl: changed from int32 to string - AliCloudWriteAuthRoleRequest.Period: changed from int32 to string - AliCloudWriteAuthRoleRequest.TokenExplicitMaxTtl: changed from int32 to string - AliCloudWriteAuthRoleRequest.TokenMaxTtl: changed from int32 to string - AliCloudWriteAuthRoleRequest.TokenPeriod: changed from int32 to string - AliCloudWriteAuthRoleRequest.TokenTtl: changed from int32 to string - AliCloudWriteAuthRoleRequest.Ttl: changed from int32 to string - AliCloudWriteRoleRequest.MaxTtl: changed from int32 to string - AliCloudWriteRoleRequest.Ttl: changed from int32 to string - AppRoleLookUpSecretIdByAccessorResponse.SecretIdTtl: changed from int32 to string - AppRoleLookUpSecretIdResponse.SecretIdTtl: changed from int32 to string - AppRoleReadPeriodResponse.Period: changed from int32 to string - AppRoleReadPeriodResponse.TokenPeriod: changed from int32 to string - AppRoleReadRoleResponse.Period: changed from int32 to string - AppRoleReadRoleResponse.SecretIdTtl: changed from int32 to string - AppRoleReadRoleResponse.TokenExplicitMaxTtl: changed from int32 to string - AppRoleReadRoleResponse.TokenMaxTtl: changed from int32 to string - AppRoleReadRoleResponse.TokenPeriod: changed from int32 to string - AppRoleReadRoleResponse.TokenTtl: changed from int32 to string - AppRoleReadSecretIdTtlResponse.SecretIdTtl: changed from int32 to string - AppRoleReadTokenMaxTtlResponse.TokenMaxTtl: changed from int32 to string - AppRoleReadTokenTtlResponse.TokenTtl: changed from int32 to string - AppRoleWriteCustomSecretIdRequest.Ttl: changed from int32 to string - AppRoleWriteCustomSecretIdResponse.SecretIdTtl: changed from int32 to string - AppRoleWritePeriodRequest.Period: changed from int32 to string - AppRoleWritePeriodRequest.TokenPeriod: changed from int32 to string - AppRoleWriteRoleRequest.Period: changed from int32 to string - AppRoleWriteRoleRequest.SecretIdTtl: changed from int32 to string - AppRoleWriteRoleRequest.TokenExplicitMaxTtl: changed from int32 to string - AppRoleWriteRoleRequest.TokenMaxTtl: changed from int32 to string - AppRoleWriteRoleRequest.TokenPeriod: changed from int32 to string - AppRoleWriteRoleRequest.TokenTtl: changed from int32 to string - AppRoleWriteSecretIdRequest.Ttl: changed from int32 to string - AppRoleWriteSecretIdResponse.SecretIdTtl: changed from int32 to string - AppRoleWriteSecretIdTtlRequest.SecretIdTtl: changed from int32 to string - AppRoleWriteTokenMaxTtlRequest.TokenMaxTtl: changed from int32 to string - AppRoleWriteTokenTtlRequest.TokenTtl: changed from int32 to string - AwsConfigureIdentityAccessListTidyOperationRequest.SafetyBuffer: changed from int32 to string - AwsConfigureIdentityWhitelistTidyOperationRequest.SafetyBuffer: changed from int32 to string - AwsConfigureRoleTagBlacklistTidyOperationRequest.SafetyBuffer: changed from int32 to string - AwsConfigureRoleTagDenyListTidyOperationRequest.SafetyBuffer: changed from int32 to string - AwsTidyIdentityAccessListRequest.SafetyBuffer: changed from int32 to string - AwsTidyIdentityWhitelistRequest.SafetyBuffer: changed from int32 to string - AwsTidyRoleTagBlacklistRequest.SafetyBuffer: changed from int32 to string - AwsTidyRoleTagDenyListRequest.SafetyBuffer: changed from int32 to string - AwsWriteAuthRoleRequest.MaxTtl: changed from int32 to string - AwsWriteAuthRoleRequest.Period: changed from int32 to string - AwsWriteAuthRoleRequest.TokenExplicitMaxTtl: changed from int32 to string - AwsWriteAuthRoleRequest.TokenMaxTtl: changed from int32 to string - AwsWriteAuthRoleRequest.TokenPeriod: changed from int32 to string - AwsWriteAuthRoleRequest.TokenTtl: changed from int32 to string - AwsWriteAuthRoleRequest.Ttl: changed from int32 to string - AwsWriteRoleRequest.DefaultStsTtl: changed from int32 to string - AwsWriteRoleRequest.MaxStsTtl: changed from int32 to string - AwsWriteRoleTagRequest.MaxTtl: changed from int32 to string - AzureConfigureAuthRequest.RootPasswordTtl: changed from int32 to string - AzureConfigureRequest.RootPasswordTtl: changed from int32 to string - AzureWriteAuthRoleRequest.MaxTtl: changed from int32 to string - AzureWriteAuthRoleRequest.Period: changed from int32 to string - AzureWriteAuthRoleRequest.TokenExplicitMaxTtl: changed from int32 to string - AzureWriteAuthRoleRequest.TokenMaxTtl: changed from int32 to string - AzureWriteAuthRoleRequest.TokenPeriod: changed from int32 to string - AzureWriteAuthRoleRequest.TokenTtl: changed from int32 to string - AzureWriteAuthRoleRequest.Ttl: changed from int32 to string - AzureWriteRoleRequest.MaxTtl: changed from int32 to string - AzureWriteRoleRequest.Ttl: changed from int32 to string - CentrifyConfigureRequest.TokenTtl: changed from int32 to string - CertWriteCertificateRequest.MaxTtl: changed from int32 to string - CertWriteCertificateRequest.Period: changed from int32 to string - CertWriteCertificateRequest.TokenExplicitMaxTtl: changed from int32 to string - CertWriteCertificateRequest.TokenMaxTtl: changed from int32 to string - CertWriteCertificateRequest.TokenPeriod: changed from int32 to string - CertWriteCertificateRequest.TokenTtl: changed from int32 to string - CertWriteCertificateRequest.Ttl: changed from int32 to string - CloudFoundryConfigureRequest.LoginMaxSecondsNotBefore: changed from int32 to string - CloudFoundryWriteRoleRequest.MaxTtl: changed from int32 to string - CloudFoundryWriteRoleRequest.Period: changed from int32 to string - CloudFoundryWriteRoleRequest.TokenExplicitMaxTtl: changed from int32 to string - CloudFoundryWriteRoleRequest.TokenMaxTtl: changed from int32 to string - CloudFoundryWriteRoleRequest.TokenPeriod: changed from int32 to string - CloudFoundryWriteRoleRequest.TokenTtl: changed from int32 to string - CloudFoundryWriteRoleRequest.Ttl: changed from int32 to string - ConsulWriteRoleRequest.Lease: changed from int32 to string - ConsulWriteRoleRequest.MaxTtl: changed from int32 to string - ConsulWriteRoleRequest.Ttl: changed from int32 to string - DatabaseWriteRoleRequest.DefaultTtl: changed from int32 to string - DatabaseWriteRoleRequest.MaxTtl: changed from int32 to string - DatabaseWriteStaticRoleRequest.RotationPeriod: changed from int32 to string - EncryptionKeyConfigureRotationRequest.Interval: changed from int32 to string - EncryptionKeyReadRotationConfigurationResponse.Interval: changed from int32 to string - GithubConfigureRequest.MaxTtl: changed from int32 to string - GithubConfigureRequest.TokenExplicitMaxTtl: changed from int32 to string - GithubConfigureRequest.TokenMaxTtl: changed from int32 to string - GithubConfigureRequest.TokenPeriod: changed from int32 to string - GithubConfigureRequest.TokenTtl: changed from int32 to string - GithubConfigureRequest.Ttl: changed from int32 to string - GoogleCloudConfigureRequest.MaxTtl: changed from int32 to string - GoogleCloudConfigureRequest.Ttl: changed from int32 to string - GoogleCloudGenerateRolesetKeyWithParametersRequest.Ttl: changed from int32 to string - GoogleCloudGenerateStaticAccountKeyWithParametersRequest.Ttl: changed from int32 to string - GoogleCloudKmsWriteKeyRequest.RotationPeriod: changed from int32 to string - GoogleCloudWriteImpersonatedAccountRequest.Ttl: changed from int32 to string - GoogleCloudWriteRoleRequest.MaxJwtExp: changed from int32 to string - GoogleCloudWriteRoleRequest.MaxTtl: changed from int32 to string - GoogleCloudWriteRoleRequest.Period: changed from int32 to string - GoogleCloudWriteRoleRequest.TokenExplicitMaxTtl: changed from int32 to string - GoogleCloudWriteRoleRequest.TokenMaxTtl: changed from int32 to string - GoogleCloudWriteRoleRequest.TokenPeriod: changed from int32 to string - GoogleCloudWriteRoleRequest.TokenTtl: changed from int32 to string - GoogleCloudWriteRoleRequest.Ttl: changed from int32 to string - JwtWriteRoleRequest.ClockSkewLeeway: changed from int32 to string - JwtWriteRoleRequest.ExpirationLeeway: changed from int32 to string - JwtWriteRoleRequest.MaxAge: changed from int32 to string - JwtWriteRoleRequest.MaxTtl: changed from int32 to string - JwtWriteRoleRequest.NotBeforeLeeway: changed from int32 to string - JwtWriteRoleRequest.Period: changed from int32 to string - JwtWriteRoleRequest.TokenExplicitMaxTtl: changed from int32 to string - JwtWriteRoleRequest.TokenMaxTtl: changed from int32 to string - JwtWriteRoleRequest.TokenPeriod: changed from int32 to string - JwtWriteRoleRequest.TokenTtl: changed from int32 to string - JwtWriteRoleRequest.Ttl: changed from int32 to string - KerberosConfigureLdapRequest.ConnectionTimeout: changed from int32 to string - KerberosConfigureLdapRequest.RequestTimeout: changed from int32 to string - KerberosConfigureLdapRequest.TokenExplicitMaxTtl: changed from int32 to string - KerberosConfigureLdapRequest.TokenMaxTtl: changed from int32 to string - KerberosConfigureLdapRequest.TokenPeriod: changed from int32 to string - KerberosConfigureLdapRequest.TokenTtl: changed from int32 to string - KubernetesGenerateCredentialsRequest.Ttl: changed from int32 to string - KubernetesWriteAuthRoleRequest.MaxTtl: changed from int32 to string - KubernetesWriteAuthRoleRequest.Period: changed from int32 to string - KubernetesWriteAuthRoleRequest.TokenExplicitMaxTtl: changed from int32 to string - KubernetesWriteAuthRoleRequest.TokenMaxTtl: changed from int32 to string - KubernetesWriteAuthRoleRequest.TokenPeriod: changed from int32 to string - KubernetesWriteAuthRoleRequest.TokenTtl: changed from int32 to string - KubernetesWriteAuthRoleRequest.Ttl: changed from int32 to string - KubernetesWriteRoleRequest.TokenDefaultTtl: changed from int32 to string - KubernetesWriteRoleRequest.TokenMaxTtl: changed from int32 to string - KvV2ConfigureRequest.DeleteVersionAfter: changed from int32 to string - KvV2ReadConfigurationResponse.DeleteVersionAfter: changed from int32 to string - KvV2ReadMetadataResponse.DeleteVersionAfter: changed from int32 to string - KvV2WriteMetadataRequest.DeleteVersionAfter: changed from int32 to string - LdapConfigureAuthRequest.ConnectionTimeout: changed from int32 to string - LdapConfigureAuthRequest.RequestTimeout: changed from int32 to string - LdapConfigureAuthRequest.TokenExplicitMaxTtl: changed from int32 to string - LdapConfigureAuthRequest.TokenMaxTtl: changed from int32 to string - LdapConfigureAuthRequest.TokenPeriod: changed from int32 to string - LdapConfigureAuthRequest.TokenTtl: changed from int32 to string - LdapConfigureRequest.ConnectionTimeout: changed from int32 to string - LdapConfigureRequest.MaxTtl: changed from int32 to string - LdapConfigureRequest.RequestTimeout: changed from int32 to string - LdapConfigureRequest.Ttl: changed from int32 to string - LdapLibraryCheckOutRequest.Ttl: changed from int32 to string - LdapLibraryConfigureRequest.MaxTtl: changed from int32 to string - LdapLibraryConfigureRequest.Ttl: changed from int32 to string - LdapWriteDynamicRoleRequest.DefaultTtl: changed from int32 to string - LdapWriteDynamicRoleRequest.MaxTtl: changed from int32 to string - LdapWriteStaticRoleRequest.RotationPeriod: changed from int32 to string - LeasesRenewLeaseRequest.Increment: changed from int32 to string - LeasesRenewLeaseWithIdRequest.Increment: changed from int32 to string - MfaConfigureDuoMethodRequest: removed - MfaConfigureOktaMethodRequest: removed - MfaConfigurePingIdMethodRequest: removed - MfaConfigureTotpMethodRequest: removed - MongoDbAtlasWriteRoleRequest.MaxTtl: changed from int32 to string - MongoDbAtlasWriteRoleRequest.Ttl: changed from int32 to string - NewMfaConfigureDuoMethodRequestWithDefaults: removed - NewMfaConfigureOktaMethodRequestWithDefaults: removed - NewMfaConfigurePingIdMethodRequestWithDefaults: removed - NewMfaConfigureTotpMethodRequestWithDefaults: removed - NewPkiIssuersRotateRootRequestWithDefaults: removed - NewPkiIssuersRotateRootResponseWithDefaults: removed - NomadConfigureLeaseRequest.MaxTtl: changed from int32 to string - NomadConfigureLeaseRequest.Ttl: changed from int32 to string - OciWriteRoleRequest.TokenExplicitMaxTtl: changed from int32 to string - OciWriteRoleRequest.TokenMaxTtl: changed from int32 to string - OciWriteRoleRequest.TokenPeriod: changed from int32 to string - OciWriteRoleRequest.TokenTtl: changed from int32 to string - OidcRotateKeyRequest.VerificationTtl: changed from int32 to string - OidcWriteClientRequest.AccessTokenTtl: changed from int32 to string - OidcWriteClientRequest.IdTokenTtl: changed from int32 to string - OidcWriteKeyRequest.RotationPeriod: changed from int32 to string - OidcWriteKeyRequest.VerificationTtl: changed from int32 to string - OidcWriteRoleRequest.Ttl: changed from int32 to string - OktaConfigureRequest.MaxTtl: changed from int32 to string - OktaConfigureRequest.TokenExplicitMaxTtl: changed from int32 to string - OktaConfigureRequest.TokenMaxTtl: changed from int32 to string - OktaConfigureRequest.TokenPeriod: changed from int32 to string - OktaConfigureRequest.TokenTtl: changed from int32 to string - OktaConfigureRequest.Ttl: changed from int32 to string - PkiConfigureAutoTidyRequest.IntervalDuration: changed from int32 to string - PkiConfigureAutoTidyRequest.IssuerSafetyBuffer: changed from int32 to string - PkiConfigureAutoTidyRequest.RevocationQueueSafetyBuffer: changed from int32 to string - PkiConfigureAutoTidyRequest.SafetyBuffer: changed from int32 to string - PkiCrossSignIntermediateRequest.NotBeforeDuration: changed from int32 to string - PkiCrossSignIntermediateRequest.Ttl: changed from int32 to string - PkiGenerateIntermediateRequest.NotBeforeDuration: changed from int32 to string - PkiGenerateIntermediateRequest.Ttl: changed from int32 to string - PkiGenerateRootRequest.NotBeforeDuration: changed from int32 to string - PkiGenerateRootRequest.Ttl: changed from int32 to string - PkiGenerateRootResponse.Expiration: changed from string to int64 - PkiIssueWithRoleRequest.Ttl: changed from int32 to string - PkiIssueWithRoleResponse.Expiration: changed from string to int64 - PkiIssuerIssueWithRoleRequest.Ttl: changed from int32 to string - PkiIssuerIssueWithRoleResponse.Expiration: changed from string to int64 - PkiIssuerSignIntermediateRequest.NotBeforeDuration: changed from int32 to string - PkiIssuerSignIntermediateRequest.Ttl: changed from int32 to string - PkiIssuerSignVerbatimRequest.Ttl: changed from int32 to string - PkiIssuerSignVerbatimResponse.Expiration: changed from string to int64 - PkiIssuerSignVerbatimWithRoleRequest.Ttl: changed from int32 to string - PkiIssuerSignVerbatimWithRoleResponse.Expiration: changed from string to int64 - PkiIssuerSignWithRoleRequest.Ttl: changed from int32 to string - PkiIssuerSignWithRoleResponse.Expiration: changed from string to int64 - PkiIssuersGenerateIntermediateRequest.NotBeforeDuration: changed from int32 to string - PkiIssuersGenerateIntermediateRequest.Ttl: changed from int32 to string - PkiIssuersGenerateRootRequest.NotBeforeDuration: changed from int32 to string - PkiIssuersGenerateRootRequest.Ttl: changed from int32 to string - PkiIssuersGenerateRootResponse.Expiration: changed from string to int64 - PkiIssuersRotateRootRequest: removed - PkiIssuersRotateRootResponse: removed - PkiPatchIssuerResponse.Usage: changed from []string to string - PkiPatchRoleResponse.MaxTtl: changed from int32 to int64 - PkiPatchRoleResponse.NotBeforeDuration: changed from int32 to int64 - PkiPatchRoleResponse.Ttl: changed from int32 to int64 - PkiReadCaChainPemResponse.CaChain: changed from []string to string - PkiReadCaChainPemResponse.RevocationTime: changed from string to int64 - PkiReadCaDerResponse.CaChain: changed from []string to string - PkiReadCaDerResponse.RevocationTime: changed from string to int64 - PkiReadCaPemResponse.CaChain: changed from []string to string - PkiReadCaPemResponse.RevocationTime: changed from string to int64 - PkiReadCertCaChainResponse.CaChain: changed from []string to string - PkiReadCertCaChainResponse.RevocationTime: changed from string to int64 - PkiReadCertCrlResponse.CaChain: changed from []string to string - PkiReadCertCrlResponse.RevocationTime: changed from string to int64 - PkiReadCertDeltaCrlResponse.CaChain: changed from []string to string - PkiReadCertDeltaCrlResponse.RevocationTime: changed from string to int64 - PkiReadCertRawDerResponse.CaChain: changed from []string to string - PkiReadCertRawDerResponse.RevocationTime: changed from string to int64 - PkiReadCertRawPemResponse.CaChain: changed from []string to string - PkiReadCertRawPemResponse.RevocationTime: changed from string to int64 - PkiReadCertResponse.CaChain: changed from []string to string - PkiReadCertResponse.RevocationTime: changed from string to int64 - PkiReadCrlDeltaPemResponse.CaChain: changed from []string to string - PkiReadCrlDeltaPemResponse.RevocationTime: changed from string to int64 - PkiReadCrlDeltaResponse.CaChain: changed from []string to string - PkiReadCrlDeltaResponse.RevocationTime: changed from string to int64 - PkiReadCrlDerResponse.CaChain: changed from []string to string - PkiReadCrlDerResponse.RevocationTime: changed from string to int64 - PkiReadCrlPemResponse.CaChain: changed from []string to string - PkiReadCrlPemResponse.RevocationTime: changed from string to int64 - PkiReadIssuerResponse.Usage: changed from []string to string - PkiReadRoleResponse.MaxTtl: changed from int32 to int64 - PkiReadRoleResponse.NotBeforeDuration: changed from int32 to int64 - PkiReadRoleResponse.Ttl: changed from int32 to int64 - PkiRevokeResponse.RevocationTime: changed from int32 to int64 - PkiRevokeWithKeyResponse.RevocationTime: changed from int32 to int64 - PkiRootSignIntermediateRequest.NotBeforeDuration: changed from int32 to string - PkiRootSignIntermediateRequest.Ttl: changed from int32 to string - PkiSignVerbatimRequest.Ttl: changed from int32 to string - PkiSignVerbatimResponse.Expiration: changed from string to int64 - PkiSignVerbatimWithRoleRequest.Ttl: changed from int32 to string - PkiSignVerbatimWithRoleResponse.Expiration: changed from string to int64 - PkiSignWithRoleRequest.Ttl: changed from int32 to string - PkiSignWithRoleResponse.Expiration: changed from string to int64 - PkiTidyRequest.IssuerSafetyBuffer: changed from int32 to string - PkiTidyRequest.MaintainStoredCertificateCounts: removed - PkiTidyRequest.PublishStoredCertificateCountMetrics: removed - PkiTidyRequest.RevocationQueueSafetyBuffer: changed from int32 to string - PkiTidyRequest.SafetyBuffer: changed from int32 to string - PkiTidyStatusResponse.TidyCrossClusterRevokedCerts: changed from string to bool - PkiWriteIssuerResponse.Usage: changed from []string to string - PkiWriteRoleRequest.MaxTtl: changed from int32 to string - PkiWriteRoleRequest.NotBeforeDuration: changed from int32 to string - PkiWriteRoleRequest.Ttl: changed from int32 to string - PkiWriteRoleResponse.MaxTtl: changed from int32 to int64 - PkiWriteRoleResponse.NotBeforeDuration: changed from int32 to int64 - PkiWriteRoleResponse.Ttl: changed from int32 to int64 - RabbitMqConfigureLeaseRequest.MaxTtl: changed from int32 to string - RabbitMqConfigureLeaseRequest.Ttl: changed from int32 to string - RadiusConfigureRequest.DialTimeout: changed from int32 to string - RadiusConfigureRequest.ReadTimeout: changed from int32 to string - RadiusConfigureRequest.TokenExplicitMaxTtl: changed from int32 to string - RadiusConfigureRequest.TokenMaxTtl: changed from int32 to string - RadiusConfigureRequest.TokenPeriod: changed from int32 to string - RadiusConfigureRequest.TokenTtl: changed from int32 to string - RateLimitQuotasWriteRequest.BlockInterval: changed from int32 to string - RateLimitQuotasWriteRequest.Interval: changed from int32 to string - ReadWrappingPropertiesResponse.CreationTtl: changed from int32 to string - SshIssueCertificateRequest.Ttl: changed from int32 to string - SshSignCertificateRequest.Ttl: changed from int32 to string - SshWriteRoleRequest.MaxTtl: changed from int32 to string - SshWriteRoleRequest.NotBeforeDuration: changed from int32 to string - SshWriteRoleRequest.Ttl: changed from int32 to string - TerraformCloudWriteRoleRequest.MaxTtl: changed from int32 to string - TerraformCloudWriteRoleRequest.Ttl: changed from int32 to string - TokenRenewAccessorRequest.Increment: changed from int32 to string - TokenRenewRequest.Increment: changed from int32 to string - TokenRenewSelfRequest.Increment: changed from int32 to string - TokenWriteRoleRequest.ExplicitMaxTtl: changed from int32 to string - TokenWriteRoleRequest.Period: changed from int32 to string - TokenWriteRoleRequest.TokenExplicitMaxTtl: changed from int32 to string - TokenWriteRoleRequest.TokenPeriod: changed from int32 to string - TotpCreateKeyRequest.Period: changed from int32 to string - TransitConfigureKeyRequest.AutoRotatePeriod: changed from int32 to string - TransitCreateKeyRequest.AutoRotatePeriod: changed from int32 to string - TransitImportKeyRequest.AutoRotatePeriod: changed from int32 to string - UserpassWriteUserRequest.MaxTtl: changed from int32 to string - UserpassWriteUserRequest.TokenExplicitMaxTtl: changed from int32 to string - UserpassWriteUserRequest.TokenMaxTtl: changed from int32 to string - UserpassWriteUserRequest.TokenPeriod: changed from int32 to string - UserpassWriteUserRequest.TokenTtl: changed from int32 to string - UserpassWriteUserRequest.Ttl: changed from int32 to string Compatible changes: - AwsGenerateCredentialsWithParametersRequest: added - AwsGenerateStsCredentialsWithParametersRequest: added - AwsReadStaticCredsNameResponse: added - AwsReadStaticRolesNameResponse: added - AwsWriteStaticRolesNameRequest: added - AwsWriteStaticRolesNameResponse: added - DecodeRequest: added - InternalGenerateOpenApiDocumentWithParametersRequest: added - MfaCreateDuoMethodRequest: added - MfaCreateOktaMethodRequest: added - MfaCreatePingIdMethodRequest: added - MfaCreateTotpMethodRequest: added - MfaUpdateDuoMethodRequest: added - MfaUpdateOktaMethodRequest: added - MfaUpdatePingIdMethodRequest: added - MfaUpdateTotpMethodRequest: added - NewAwsGenerateCredentialsWithParametersRequestWithDefaults: added - NewAwsGenerateStsCredentialsWithParametersRequestWithDefaults: added - NewAwsReadStaticCredsNameResponseWithDefaults: added - NewAwsReadStaticRolesNameResponseWithDefaults: added - NewAwsWriteStaticRolesNameRequestWithDefaults: added - NewAwsWriteStaticRolesNameResponseWithDefaults: added - NewDecodeRequestWithDefaults: added - NewInternalGenerateOpenApiDocumentWithParametersRequestWithDefaults: added - NewMfaCreateDuoMethodRequestWithDefaults: added - NewMfaCreateOktaMethodRequestWithDefaults: added - NewMfaCreatePingIdMethodRequestWithDefaults: added - NewMfaCreateTotpMethodRequestWithDefaults: added - NewMfaUpdateDuoMethodRequestWithDefaults: added - NewMfaUpdateOktaMethodRequestWithDefaults: added - NewMfaUpdatePingIdMethodRequestWithDefaults: added - NewMfaUpdateTotpMethodRequestWithDefaults: added - NewOidcProviderAuthorizeWithParametersRequestWithDefaults: added - NewPkiConfigureAcmeRequestWithDefaults: added - NewPkiGenerateEabKeyForIssuerAndRoleResponseWithDefaults: added - NewPkiGenerateEabKeyForIssuerResponseWithDefaults: added - NewPkiGenerateEabKeyForRoleResponseWithDefaults: added - NewPkiGenerateEabKeyResponseWithDefaults: added - NewPkiListEabKeysResponseWithDefaults: added - NewPkiRotateRootRequestWithDefaults: added - NewPkiRotateRootResponseWithDefaults: added - NewPkiWriteAcmeAccountKidRequestWithDefaults: added - NewPkiWriteAcmeAuthorizationAuthIdRequestWithDefaults: added - NewPkiWriteAcmeChallengeAuthIdChallengeTypeRequestWithDefaults: added - NewPkiWriteAcmeNewAccountRequestWithDefaults: added - NewPkiWriteAcmeNewOrderRequestWithDefaults: added - NewPkiWriteAcmeOrderOrderIdCertRequestWithDefaults: added - NewPkiWriteAcmeOrderOrderIdFinalizeRequestWithDefaults: added - NewPkiWriteAcmeOrderOrderIdRequestWithDefaults: added - NewPkiWriteAcmeOrdersRequestWithDefaults: added - NewPkiWriteAcmeRevokeCertRequestWithDefaults: added - NewPkiWriteIssuerIssuerRefAcmeAccountKidRequestWithDefaults: added - NewPkiWriteIssuerIssuerRefAcmeAuthorizationAuthIdRequestWithDefaults: added - NewPkiWriteIssuerIssuerRefAcmeChallengeAuthIdChallengeTypeRequestWithDefaults: added - NewPkiWriteIssuerIssuerRefAcmeNewAccountRequestWithDefaults: added - NewPkiWriteIssuerIssuerRefAcmeNewOrderRequestWithDefaults: added - NewPkiWriteIssuerIssuerRefAcmeOrderOrderIdCertRequestWithDefaults: added - NewPkiWriteIssuerIssuerRefAcmeOrderOrderIdFinalizeRequestWithDefaults: added - NewPkiWriteIssuerIssuerRefAcmeOrderOrderIdRequestWithDefaults: added - NewPkiWriteIssuerIssuerRefAcmeOrdersRequestWithDefaults: added - NewPkiWriteIssuerIssuerRefAcmeRevokeCertRequestWithDefaults: added - NewPkiWriteIssuerIssuerRefRolesRoleAcmeAccountKidRequestWithDefaults: added - NewPkiWriteIssuerIssuerRefRolesRoleAcmeAuthorizationAuthIdRequestWithDefaults: added - NewPkiWriteIssuerIssuerRefRolesRoleAcmeChallengeAuthIdChallengeTypeRequestWithDefaults: added - NewPkiWriteIssuerIssuerRefRolesRoleAcmeNewAccountRequestWithDefaults: added - NewPkiWriteIssuerIssuerRefRolesRoleAcmeNewOrderRequestWithDefaults: added - NewPkiWriteIssuerIssuerRefRolesRoleAcmeOrderOrderIdCertRequestWithDefaults: added - NewPkiWriteIssuerIssuerRefRolesRoleAcmeOrderOrderIdFinalizeRequestWithDefaults: added - NewPkiWriteIssuerIssuerRefRolesRoleAcmeOrderOrderIdRequestWithDefaults: added - NewPkiWriteIssuerIssuerRefRolesRoleAcmeOrdersRequestWithDefaults: added - NewPkiWriteIssuerIssuerRefRolesRoleAcmeRevokeCertRequestWithDefaults: added - NewPkiWriteRolesRoleAcmeAccountKidRequestWithDefaults: added - NewPkiWriteRolesRoleAcmeAuthorizationAuthIdRequestWithDefaults: added - NewPkiWriteRolesRoleAcmeChallengeAuthIdChallengeTypeRequestWithDefaults: added - NewPkiWriteRolesRoleAcmeNewAccountRequestWithDefaults: added - NewPkiWriteRolesRoleAcmeNewOrderRequestWithDefaults: added - NewPkiWriteRolesRoleAcmeOrderOrderIdCertRequestWithDefaults: added - NewPkiWriteRolesRoleAcmeOrderOrderIdFinalizeRequestWithDefaults: added - NewPkiWriteRolesRoleAcmeOrderOrderIdRequestWithDefaults: added - NewPkiWriteRolesRoleAcmeOrdersRequestWithDefaults: added - NewPkiWriteRolesRoleAcmeRevokeCertRequestWithDefaults: added - NewRawReadPathResponseWithDefaults: added - NewRawReadResponseWithDefaults: added - NewRawWritePathRequestWithDefaults: added - NewRawWriteRequestWithDefaults: added - NewSystemWriteNamespacesApiLockLockRequestWithDefaults: added - NewSystemWriteNamespacesApiLockUnlockRequestWithDefaults: added - OidcProviderAuthorizeWithParametersRequest: added - PkiConfigureAcmeRequest: added - PkiConfigureAutoTidyRequest.AcmeAccountSafetyBuffer: added - PkiConfigureAutoTidyRequest.TidyAcme: added - PkiConfigureAutoTidyResponse.AcmeAccountSafetyBuffer: added - PkiConfigureAutoTidyResponse.MaintainStoredCertificateCounts: added - PkiConfigureAutoTidyResponse.PublishStoredCertificateCountMetrics: added - PkiConfigureAutoTidyResponse.TidyAcme: added - PkiConfigureCaResponse.ExistingIssuers: added - PkiConfigureCaResponse.ExistingKeys: added - PkiGenerateEabKeyForIssuerAndRoleResponse: added - PkiGenerateEabKeyForIssuerResponse: added - PkiGenerateEabKeyForRoleResponse: added - PkiGenerateEabKeyResponse: added - PkiIssuersImportBundleResponse.ExistingIssuers: added - PkiIssuersImportBundleResponse.ExistingKeys: added - PkiIssuersImportCertResponse.ExistingIssuers: added - PkiIssuersImportCertResponse.ExistingKeys: added - PkiListEabKeysResponse: added - PkiPatchIssuerResponse.EnableAiaUrlTemplating: added - PkiReadAutoTidyConfigurationResponse.AcmeAccountSafetyBuffer: added - PkiReadAutoTidyConfigurationResponse.TidyAcme: added - PkiReadIssuerResponse.EnableAiaUrlTemplating: added - PkiReadKeyResponse.SubjectKeyId: added - PkiRotateRootRequest: added - PkiRotateRootResponse: added - PkiSetSignedIntermediateResponse.ExistingIssuers: added - PkiSetSignedIntermediateResponse.ExistingKeys: added - PkiTidyCancelResponse.AcmeAccountDeletedCount: added - PkiTidyCancelResponse.AcmeAccountRevokedCount: added - PkiTidyCancelResponse.AcmeAccountSafetyBuffer: added - PkiTidyCancelResponse.AcmeOrdersDeletedCount: added - PkiTidyCancelResponse.LastAutoTidyFinished: added - PkiTidyCancelResponse.RevocationQueueSafetyBuffer: added - PkiTidyCancelResponse.TidyAcme: added - PkiTidyCancelResponse.TotalAcmeAccountCount: added - PkiTidyRequest.AcmeAccountSafetyBuffer: added - PkiTidyRequest.TidyAcme: added - PkiTidyStatusResponse.AcmeAccountDeletedCount: added - PkiTidyStatusResponse.AcmeAccountRevokedCount: added - PkiTidyStatusResponse.AcmeAccountSafetyBuffer: added - PkiTidyStatusResponse.AcmeOrdersDeletedCount: added - PkiTidyStatusResponse.LastAutoTidyFinished: added - PkiTidyStatusResponse.RevocationQueueSafetyBuffer: added - PkiTidyStatusResponse.TidyAcme: added - PkiTidyStatusResponse.TotalAcmeAccountCount: added - PkiWriteAcmeAccountKidRequest: added - PkiWriteAcmeAuthorizationAuthIdRequest: added - PkiWriteAcmeChallengeAuthIdChallengeTypeRequest: added - PkiWriteAcmeNewAccountRequest: added - PkiWriteAcmeNewOrderRequest: added - PkiWriteAcmeOrderOrderIdCertRequest: added - PkiWriteAcmeOrderOrderIdFinalizeRequest: added - PkiWriteAcmeOrderOrderIdRequest: added - PkiWriteAcmeOrdersRequest: added - PkiWriteAcmeRevokeCertRequest: added - PkiWriteIssuerIssuerRefAcmeAccountKidRequest: added - PkiWriteIssuerIssuerRefAcmeAuthorizationAuthIdRequest: added - PkiWriteIssuerIssuerRefAcmeChallengeAuthIdChallengeTypeRequest: added - PkiWriteIssuerIssuerRefAcmeNewAccountRequest: added - PkiWriteIssuerIssuerRefAcmeNewOrderRequest: added - PkiWriteIssuerIssuerRefAcmeOrderOrderIdCertRequest: added - PkiWriteIssuerIssuerRefAcmeOrderOrderIdFinalizeRequest: added - PkiWriteIssuerIssuerRefAcmeOrderOrderIdRequest: added - PkiWriteIssuerIssuerRefAcmeOrdersRequest: added - PkiWriteIssuerIssuerRefAcmeRevokeCertRequest: added - PkiWriteIssuerIssuerRefRolesRoleAcmeAccountKidRequest: added - PkiWriteIssuerIssuerRefRolesRoleAcmeAuthorizationAuthIdRequest: added - PkiWriteIssuerIssuerRefRolesRoleAcmeChallengeAuthIdChallengeTypeRequest: added - PkiWriteIssuerIssuerRefRolesRoleAcmeNewAccountRequest: added - PkiWriteIssuerIssuerRefRolesRoleAcmeNewOrderRequest: added - PkiWriteIssuerIssuerRefRolesRoleAcmeOrderOrderIdCertRequest: added - PkiWriteIssuerIssuerRefRolesRoleAcmeOrderOrderIdFinalizeRequest: added - PkiWriteIssuerIssuerRefRolesRoleAcmeOrderOrderIdRequest: added - PkiWriteIssuerIssuerRefRolesRoleAcmeOrdersRequest: added - PkiWriteIssuerIssuerRefRolesRoleAcmeRevokeCertRequest: added - PkiWriteIssuerResponse.EnableAiaUrlTemplating: added - PkiWriteRolesRoleAcmeAccountKidRequest: added - PkiWriteRolesRoleAcmeAuthorizationAuthIdRequest: added - PkiWriteRolesRoleAcmeChallengeAuthIdChallengeTypeRequest: added - PkiWriteRolesRoleAcmeNewAccountRequest: added - PkiWriteRolesRoleAcmeNewOrderRequest: added - PkiWriteRolesRoleAcmeOrderOrderIdCertRequest: added - PkiWriteRolesRoleAcmeOrderOrderIdFinalizeRequest: added - PkiWriteRolesRoleAcmeOrderOrderIdRequest: added - PkiWriteRolesRoleAcmeOrdersRequest: added - PkiWriteRolesRoleAcmeRevokeCertRequest: added - RawReadPathResponse: added - RawReadResponse: added - RawWritePathRequest: added - RawWriteRequest: added - SystemWriteNamespacesApiLockLockRequest: added - SystemWriteNamespacesApiLockUnlockRequest: added - TransitImportKeyRequest.PublicKey: added - TransitImportKeyVersionRequest.PublicKey: added - TransitImportKeyVersionRequest.Version: added ```
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Expected Behavior
Creation of MFA methods is possible using the library.
Current Behavior
There is no obvious way to invoke the MFA method creation APIs, like
identity/mfa/method/totp
.If
client.Identity.MfaConfigureTotpMethod
is invoked passing an empty string as the method_id, Vault returns an error message:400: cannot write to a path ending in '/'
Failure Information
Vault 1.13.2 (latest release)
vault-client-go current main
Steps to Reproduce
Run this code
Additional Information
This bug is not located in the library at all - the fault is in Vault core. The correct endpoint is never generated into the OpenAPI spec at all, because of the path collides with the path calculated for the LIST operation, and the relevant key in a map gets overwritten.
I'm planning to open a PR against Vault in the next few days and will link this issue.
The text was updated successfully, but these errors were encountered: