@rockcarver/frodo-lib 1.0.0 → 2.0.0-1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +3 -7
- package/cjs/api/AgentApi.js +91 -37
- package/cjs/api/AgentApi.js.map +1 -1
- package/cjs/api/AgentApi.test.js.map +1 -1
- package/cjs/api/ApiTypes.js.map +1 -1
- package/cjs/api/AuthenticateApi.js +18 -11
- package/cjs/api/AuthenticateApi.js.map +1 -1
- package/cjs/api/AuthenticateApi.test.js.map +1 -1
- package/cjs/api/BaseApi.js +50 -26
- package/cjs/api/BaseApi.js.map +1 -1
- package/cjs/api/CirclesOfTrustApi.js +47 -23
- package/cjs/api/CirclesOfTrustApi.js.map +1 -1
- package/cjs/api/IdmConfigApi.js +54 -21
- package/cjs/api/IdmConfigApi.js.map +1 -1
- package/cjs/api/IdmSystemApi.js +9 -6
- package/cjs/api/IdmSystemApi.js.map +1 -1
- package/cjs/api/ManagedObjectApi.js +49 -27
- package/cjs/api/ManagedObjectApi.js.map +1 -1
- package/cjs/api/NodeApi.js +71 -32
- package/cjs/api/NodeApi.js.map +1 -1
- package/cjs/api/NodeApi.test.js.map +1 -1
- package/cjs/api/OAuth2ClientApi.js +43 -20
- package/cjs/api/OAuth2ClientApi.js.map +1 -1
- package/cjs/api/OAuth2OIDCApi.js +74 -27
- package/cjs/api/OAuth2OIDCApi.js.map +1 -1
- package/cjs/api/OAuth2OIDCApi.test.js.map +1 -1
- package/cjs/api/OAuth2ProviderApi.js +10 -9
- package/cjs/api/OAuth2ProviderApi.js.map +1 -1
- package/cjs/api/PoliciesApi.js +54 -22
- package/cjs/api/PoliciesApi.js.map +1 -1
- package/cjs/api/PoliciesApi.test.js.map +1 -1
- package/cjs/api/PolicySetApi.js +54 -23
- package/cjs/api/PolicySetApi.js.map +1 -1
- package/cjs/api/PolicySetApi.test.js.map +1 -1
- package/cjs/api/RealmApi.js +73 -29
- package/cjs/api/RealmApi.js.map +1 -1
- package/cjs/api/ResourceTypesApi.js +67 -28
- package/cjs/api/ResourceTypesApi.js.map +1 -1
- package/cjs/api/ResourceTypesApi.test.js.map +1 -1
- package/cjs/api/Saml2Api.js +90 -122
- package/cjs/api/Saml2Api.js.map +1 -1
- package/cjs/api/ScriptApi.js +54 -23
- package/cjs/api/ScriptApi.js.map +1 -1
- package/cjs/api/ServerInfoApi.js +23 -10
- package/cjs/api/ServerInfoApi.js.map +1 -1
- package/cjs/api/ServiceApi.js +91 -42
- package/cjs/api/ServiceApi.js.map +1 -1
- package/cjs/api/SocialIdentityProvidersApi.js +70 -31
- package/cjs/api/SocialIdentityProvidersApi.js.map +1 -1
- package/cjs/api/TreeApi.js +43 -20
- package/cjs/api/TreeApi.js.map +1 -1
- package/cjs/api/TreeApi.test.js.map +1 -1
- package/cjs/api/cloud/EnvInfoApi.js +10 -6
- package/cjs/api/cloud/EnvInfoApi.js.map +1 -1
- package/cjs/api/cloud/FeatureApi.js +9 -6
- package/cjs/api/cloud/FeatureApi.js.map +1 -1
- package/cjs/api/cloud/LogApi.js +48 -18
- package/cjs/api/cloud/LogApi.js.map +1 -1
- package/cjs/api/cloud/SecretsApi.js +109 -35
- package/cjs/api/cloud/SecretsApi.js.map +1 -1
- package/cjs/api/cloud/SecretsApi.test.js.map +1 -1
- package/cjs/api/cloud/StartupApi.js +21 -10
- package/cjs/api/cloud/StartupApi.js.map +1 -1
- package/cjs/api/cloud/StartupApi.test.js.map +1 -1
- package/cjs/api/cloud/VariablesApi.js +52 -20
- package/cjs/api/cloud/VariablesApi.js.map +1 -1
- package/cjs/api/cloud/VariablesApi.test.js.map +1 -1
- package/cjs/api/utils/ApiUtils.js +2 -5
- package/cjs/api/utils/ApiUtils.js.map +1 -1
- package/cjs/api/utils/ApiUtils.test.js.map +1 -1
- package/cjs/index.js +22 -17
- package/cjs/index.js.map +1 -1
- package/cjs/lib/FrodoLib.js +142 -0
- package/cjs/lib/FrodoLib.js.map +1 -0
- package/cjs/ops/AdminOps.js +578 -90
- package/cjs/ops/AdminOps.js.map +1 -1
- package/cjs/ops/AgentOps.js +956 -118
- package/cjs/ops/AgentOps.js.map +1 -1
- package/cjs/ops/AgentOps.test.js.map +1 -1
- package/cjs/ops/AuthenticateOps.js +155 -87
- package/cjs/ops/AuthenticateOps.js.map +1 -1
- package/cjs/ops/AuthenticateOps.test.js.map +1 -1
- package/cjs/ops/CirclesOfTrustOps.js +334 -291
- package/cjs/ops/CirclesOfTrustOps.js.map +1 -1
- package/cjs/ops/ConnectionProfileOps.js +241 -46
- package/cjs/ops/ConnectionProfileOps.js.map +1 -1
- package/cjs/ops/ConnectionProfileOps.test.js.map +1 -1
- package/cjs/ops/EmailTemplateOps.js +84 -10
- package/cjs/ops/EmailTemplateOps.js.map +1 -1
- package/cjs/ops/EmailTemplateOps.test.js.map +1 -1
- package/cjs/ops/IdmOps.js +97 -81
- package/cjs/ops/IdmOps.js.map +1 -1
- package/cjs/ops/IdmOps.test.js.map +1 -1
- package/cjs/ops/IdpOps.js +275 -42
- package/cjs/ops/IdpOps.js.map +1 -1
- package/cjs/ops/IdpOps.test.js.map +1 -1
- package/cjs/ops/InfoOps.js +42 -27
- package/cjs/ops/InfoOps.js.map +1 -1
- package/cjs/ops/JoseOps.test.js.map +1 -1
- package/cjs/ops/JourneyOps.js +721 -126
- package/cjs/ops/JourneyOps.js.map +1 -1
- package/cjs/ops/JourneyOps.test.js.map +1 -1
- package/cjs/ops/ManagedObjectOps.js +79 -12
- package/cjs/ops/ManagedObjectOps.js.map +1 -1
- package/cjs/ops/NodeOps.js +127 -100
- package/cjs/ops/NodeOps.js.map +1 -1
- package/cjs/ops/OAuth2ClientOps.js +323 -65
- package/cjs/ops/OAuth2ClientOps.js.map +1 -1
- package/cjs/ops/OAuth2ClientOps.test.js.map +1 -1
- package/cjs/ops/OAuth2ProviderOps.js +20 -13
- package/cjs/ops/OAuth2ProviderOps.js.map +1 -1
- package/cjs/ops/OpsTypes.js.map +1 -1
- package/cjs/ops/OrganizationOps.js +67 -12
- package/cjs/ops/OrganizationOps.js.map +1 -1
- package/cjs/ops/PolicyOps.js +476 -136
- package/cjs/ops/PolicyOps.js.map +1 -1
- package/cjs/ops/PolicyOps.test.js.map +1 -1
- package/cjs/ops/PolicySetOps.js +402 -132
- package/cjs/ops/PolicySetOps.js.map +1 -1
- package/cjs/ops/PolicySetOps.test.js.map +1 -1
- package/cjs/ops/RealmOps.js +119 -84
- package/cjs/ops/RealmOps.js.map +1 -1
- package/cjs/ops/ResourceTypeOps.js +348 -95
- package/cjs/ops/ResourceTypeOps.js.map +1 -1
- package/cjs/ops/ResourceTypeOps.test.js.map +1 -1
- package/cjs/ops/Saml2Ops.js +407 -145
- package/cjs/ops/Saml2Ops.js.map +1 -1
- package/cjs/ops/Saml2Ops.test.js.map +1 -1
- package/cjs/ops/ScriptOps.js +256 -79
- package/cjs/ops/ScriptOps.js.map +1 -1
- package/cjs/ops/ScriptOps.test.js.map +1 -1
- package/cjs/ops/ServiceOps.js +328 -55
- package/cjs/ops/ServiceOps.js.map +1 -1
- package/cjs/ops/ThemeOps.js +349 -54
- package/cjs/ops/ThemeOps.js.map +1 -1
- package/cjs/ops/ThemeOps.test.js.map +1 -1
- package/cjs/ops/cloud/FeatureOps.js +57 -12
- package/cjs/ops/cloud/FeatureOps.js.map +1 -1
- package/cjs/ops/cloud/LogOps.js +136 -6
- package/cjs/ops/cloud/LogOps.js.map +1 -1
- package/cjs/ops/cloud/SecretsOps.js +230 -289
- package/cjs/ops/cloud/SecretsOps.js.map +1 -1
- package/cjs/ops/cloud/ServiceAccountOps.js +101 -18
- package/cjs/ops/cloud/ServiceAccountOps.js.map +1 -1
- package/cjs/ops/cloud/ServiceAccountOps.test.js.map +1 -1
- package/cjs/ops/cloud/StartupOps.js +64 -9
- package/cjs/ops/cloud/StartupOps.js.map +1 -1
- package/cjs/ops/cloud/VariablesOps.js +100 -175
- package/cjs/ops/cloud/VariablesOps.js.map +1 -1
- package/cjs/ops/utils/Console.js +9 -10
- package/cjs/ops/utils/Console.js.map +1 -1
- package/cjs/ops/utils/DataProtection.js +2 -2
- package/cjs/ops/utils/DataProtection.js.map +1 -1
- package/cjs/ops/utils/ExportImportUtils.js +35 -13
- package/cjs/ops/utils/ExportImportUtils.js.map +1 -1
- package/cjs/ops/utils/OpsUtils.js +7 -5
- package/cjs/ops/utils/OpsUtils.js.map +1 -1
- package/cjs/ops/utils/OpsUtils.test.js.map +1 -1
- package/cjs/ops/utils/{ValidationUtils.js → ScriptValidationUtils.js} +1 -1
- package/cjs/ops/utils/ScriptValidationUtils.js.map +1 -0
- package/cjs/ops/utils/ScriptValidationUtils.test.js.map +1 -0
- package/cjs/ops/utils/Version.js +9 -2
- package/cjs/ops/utils/Version.js.map +1 -1
- package/cjs/shared/State.js +455 -210
- package/cjs/shared/State.js.map +1 -1
- package/cjs/shared/State.test.js.map +1 -1
- package/cjs/utils/AutoSetupPolly.js +4 -1
- package/cjs/utils/AutoSetupPolly.js.map +1 -1
- package/esm/api/AgentApi.mjs +75 -27
- package/esm/api/AgentApi.test.mjs +319 -71
- package/esm/api/AuthenticateApi.mjs +15 -4
- package/esm/api/AuthenticateApi.test.mjs +27 -8
- package/esm/api/BaseApi.mjs +43 -19
- package/esm/api/CirclesOfTrustApi.mjs +39 -17
- package/esm/api/IdmConfigApi.mjs +44 -13
- package/esm/api/IdmSystemApi.mjs +7 -3
- package/esm/api/ManagedObjectApi.mjs +44 -20
- package/esm/api/NodeApi.mjs +59 -24
- package/esm/api/NodeApi.test.mjs +158 -40
- package/esm/api/OAuth2ClientApi.mjs +36 -15
- package/esm/api/OAuth2OIDCApi.mjs +69 -20
- package/esm/api/OAuth2OIDCApi.test.mjs +21 -3
- package/esm/api/OAuth2ProviderApi.mjs +8 -6
- package/esm/api/PoliciesApi.mjs +45 -16
- package/esm/api/PoliciesApi.test.mjs +63 -15
- package/esm/api/PolicySetApi.mjs +44 -16
- package/esm/api/PolicySetApi.test.mjs +48 -12
- package/esm/api/RealmApi.mjs +65 -24
- package/esm/api/ResourceTypesApi.mjs +56 -21
- package/esm/api/ResourceTypesApi.test.mjs +58 -14
- package/esm/api/Saml2Api.mjs +75 -89
- package/esm/api/ScriptApi.mjs +45 -17
- package/esm/api/ServerInfoApi.mjs +19 -6
- package/esm/api/ServiceApi.mjs +77 -26
- package/esm/api/SocialIdentityProvidersApi.mjs +58 -23
- package/esm/api/TreeApi.mjs +36 -15
- package/esm/api/TreeApi.test.mjs +129 -34
- package/esm/api/cloud/EnvInfoApi.mjs +8 -3
- package/esm/api/cloud/FeatureApi.mjs +7 -3
- package/esm/api/cloud/LogApi.mjs +38 -11
- package/esm/api/cloud/SecretsApi.mjs +89 -21
- package/esm/api/cloud/SecretsApi.test.mjs +193 -50
- package/esm/api/cloud/StartupApi.mjs +17 -6
- package/esm/api/cloud/StartupApi.test.mjs +28 -11
- package/esm/api/cloud/VariablesApi.mjs +43 -14
- package/esm/api/cloud/VariablesApi.test.mjs +124 -33
- package/esm/api/utils/ApiUtils.mjs +2 -4
- package/esm/api/utils/ApiUtils.test.mjs +14 -6
- package/esm/index.mjs +3 -4
- package/esm/lib/FrodoLib.mjs +127 -0
- package/esm/ops/AdminOps.mjs +500 -71
- package/esm/ops/AgentOps.mjs +773 -81
- package/esm/ops/AgentOps.test.mjs +296 -113
- package/esm/ops/AuthenticateOps.mjs +136 -64
- package/esm/ops/AuthenticateOps.test.mjs +7 -4
- package/esm/ops/CirclesOfTrustOps.mjs +278 -229
- package/esm/ops/ConnectionProfileOps.mjs +206 -35
- package/esm/ops/ConnectionProfileOps.test.mjs +25 -5
- package/esm/ops/EmailTemplateOps.mjs +66 -6
- package/esm/ops/EmailTemplateOps.test.mjs +32 -11
- package/esm/ops/IdmOps.mjs +60 -47
- package/esm/ops/IdmOps.test.mjs +54 -18
- package/esm/ops/IdpOps.mjs +227 -31
- package/esm/ops/IdpOps.test.mjs +57 -20
- package/esm/ops/InfoOps.mjs +36 -23
- package/esm/ops/JoseOps.test.mjs +8 -0
- package/esm/ops/JourneyOps.mjs +634 -96
- package/esm/ops/JourneyOps.test.mjs +73 -31
- package/esm/ops/ManagedObjectOps.mjs +66 -10
- package/esm/ops/NodeOps.mjs +108 -85
- package/esm/ops/OAuth2ClientOps.mjs +258 -42
- package/esm/ops/OAuth2ClientOps.test.mjs +80 -29
- package/esm/ops/OAuth2ProviderOps.mjs +11 -8
- package/esm/ops/OrganizationOps.mjs +56 -8
- package/esm/ops/PolicyOps.mjs +379 -93
- package/esm/ops/PolicyOps.test.mjs +180 -65
- package/esm/ops/PolicySetOps.mjs +311 -88
- package/esm/ops/PolicySetOps.test.mjs +108 -39
- package/esm/ops/RealmOps.mjs +85 -65
- package/esm/ops/ResourceTypeOps.mjs +268 -61
- package/esm/ops/ResourceTypeOps.test.mjs +113 -27
- package/esm/ops/Saml2Ops.mjs +346 -106
- package/esm/ops/Saml2Ops.test.mjs +117 -81
- package/esm/ops/ScriptOps.mjs +202 -56
- package/esm/ops/ScriptOps.test.mjs +64 -23
- package/esm/ops/ServiceOps.mjs +258 -27
- package/esm/ops/ThemeOps.mjs +300 -33
- package/esm/ops/ThemeOps.test.mjs +197 -47
- package/esm/ops/cloud/FeatureOps.mjs +45 -10
- package/esm/ops/cloud/LogOps.mjs +117 -4
- package/esm/ops/cloud/SecretsOps.mjs +123 -204
- package/esm/ops/cloud/ServiceAccountOps.mjs +85 -15
- package/esm/ops/cloud/ServiceAccountOps.test.mjs +16 -6
- package/esm/ops/cloud/StartupOps.mjs +49 -6
- package/esm/ops/cloud/VariablesOps.mjs +58 -120
- package/esm/ops/utils/Console.mjs +9 -8
- package/esm/ops/utils/DataProtection.mjs +2 -3
- package/esm/ops/utils/ExportImportUtils.mjs +28 -8
- package/esm/ops/utils/OpsUtils.mjs +4 -3
- package/esm/ops/utils/OpsUtils.test.mjs +21 -5
- package/esm/ops/utils/{ValidationUtils.mjs → ScriptValidationUtils.mjs} +1 -1
- package/esm/ops/utils/{ValidationUtils.test.mjs → ScriptValidationUtils.test.mjs} +2 -2
- package/esm/ops/utils/Version.mjs +8 -2
- package/esm/shared/State.mjs +459 -145
- package/esm/shared/State.test.mjs +8 -0
- package/esm/utils/AutoSetupPolly.mjs +4 -1
- package/package.json +1 -1
- package/types/api/AgentApi.d.ts +37 -8
- package/types/api/AgentApi.d.ts.map +1 -1
- package/types/api/ApiTypes.d.ts +12 -0
- package/types/api/ApiTypes.d.ts.map +1 -1
- package/types/api/AuthenticateApi.d.ts +13 -3
- package/types/api/AuthenticateApi.d.ts.map +1 -1
- package/types/api/BaseApi.d.ts +36 -7
- package/types/api/BaseApi.d.ts.map +1 -1
- package/types/api/CirclesOfTrustApi.d.ts +21 -7
- package/types/api/CirclesOfTrustApi.d.ts.map +1 -1
- package/types/api/IdmConfigApi.d.ts +28 -13
- package/types/api/IdmConfigApi.d.ts.map +1 -1
- package/types/api/IdmSystemApi.d.ts +4 -1
- package/types/api/IdmSystemApi.d.ts.map +1 -1
- package/types/api/ManagedObjectApi.d.ts +25 -10
- package/types/api/ManagedObjectApi.d.ts.map +1 -1
- package/types/api/NodeApi.d.ts +31 -9
- package/types/api/NodeApi.d.ts.map +1 -1
- package/types/api/OAuth2ClientApi.d.ts +18 -5
- package/types/api/OAuth2ClientApi.d.ts.map +1 -1
- package/types/api/OAuth2OIDCApi.d.ts +45 -11
- package/types/api/OAuth2OIDCApi.d.ts.map +1 -1
- package/types/api/OAuth2ProviderApi.d.ts +4 -1
- package/types/api/OAuth2ProviderApi.d.ts.map +1 -1
- package/types/api/PoliciesApi.d.ts +21 -5
- package/types/api/PoliciesApi.d.ts.map +1 -1
- package/types/api/PolicySetApi.d.ts +20 -5
- package/types/api/PolicySetApi.d.ts.map +1 -1
- package/types/api/RealmApi.d.ts +26 -10
- package/types/api/RealmApi.d.ts.map +1 -1
- package/types/api/ResourceTypesApi.d.ts +27 -8
- package/types/api/ResourceTypesApi.d.ts.map +1 -1
- package/types/api/Saml2Api.d.ts +39 -32
- package/types/api/Saml2Api.d.ts.map +1 -1
- package/types/api/ScriptApi.d.ts +21 -5
- package/types/api/ScriptApi.d.ts.map +1 -1
- package/types/api/ServerInfoApi.d.ts +9 -2
- package/types/api/ServerInfoApi.d.ts.map +1 -1
- package/types/api/ServiceApi.d.ts +41 -7
- package/types/api/ServiceApi.d.ts.map +1 -1
- package/types/api/SocialIdentityProvidersApi.d.ts +30 -8
- package/types/api/SocialIdentityProvidersApi.d.ts.map +1 -1
- package/types/api/TreeApi.d.ts +18 -4
- package/types/api/TreeApi.d.ts.map +1 -1
- package/types/api/cloud/EnvInfoApi.d.ts +4 -1
- package/types/api/cloud/EnvInfoApi.d.ts.map +1 -1
- package/types/api/cloud/FeatureApi.d.ts +4 -1
- package/types/api/cloud/FeatureApi.d.ts.map +1 -1
- package/types/api/cloud/LogApi.d.ts +24 -6
- package/types/api/cloud/LogApi.d.ts.map +1 -1
- package/types/api/cloud/SecretsApi.d.ts +50 -10
- package/types/api/cloud/SecretsApi.d.ts.map +1 -1
- package/types/api/cloud/StartupApi.d.ts +7 -2
- package/types/api/cloud/StartupApi.d.ts.map +1 -1
- package/types/api/cloud/VariablesApi.d.ts +23 -5
- package/types/api/cloud/VariablesApi.d.ts.map +1 -1
- package/types/api/utils/ApiUtils.d.ts +3 -2
- package/types/api/utils/ApiUtils.d.ts.map +1 -1
- package/types/index.d.ts +2 -2
- package/types/index.d.ts.map +1 -1
- package/types/lib/FrodoLib.d.ts +95 -0
- package/types/lib/FrodoLib.d.ts.map +1 -0
- package/types/ops/AdminOps.d.ts +71 -12
- package/types/ops/AdminOps.d.ts.map +1 -1
- package/types/ops/AgentOps.d.ts +345 -36
- package/types/ops/AgentOps.d.ts.map +1 -1
- package/types/ops/AuthenticateOps.d.ts +18 -5
- package/types/ops/AuthenticateOps.d.ts.map +1 -1
- package/types/ops/CirclesOfTrustOps.d.ts +76 -26
- package/types/ops/CirclesOfTrustOps.d.ts.map +1 -1
- package/types/ops/ConnectionProfileOps.d.ts +88 -9
- package/types/ops/ConnectionProfileOps.d.ts.map +1 -1
- package/types/ops/EmailTemplateOps.d.ts +36 -3
- package/types/ops/EmailTemplateOps.d.ts.map +1 -1
- package/types/ops/IdmOps.d.ts +28 -40
- package/types/ops/IdmOps.d.ts.map +1 -1
- package/types/ops/IdpOps.d.ts +88 -10
- package/types/ops/IdpOps.d.ts.map +1 -1
- package/types/ops/InfoOps.d.ts +12 -1
- package/types/ops/InfoOps.d.ts.map +1 -1
- package/types/ops/JourneyOps.d.ts +237 -34
- package/types/ops/JourneyOps.d.ts.map +1 -1
- package/types/ops/ManagedObjectOps.d.ts +37 -8
- package/types/ops/ManagedObjectOps.d.ts.map +1 -1
- package/types/ops/NodeOps.d.ts +61 -6
- package/types/ops/NodeOps.d.ts.map +1 -1
- package/types/ops/OAuth2ClientOps.d.ts +104 -10
- package/types/ops/OAuth2ClientOps.d.ts.map +1 -1
- package/types/ops/OAuth2ProviderOps.d.ts +8 -5
- package/types/ops/OAuth2ProviderOps.d.ts.map +1 -1
- package/types/ops/OpsTypes.d.ts +12 -1
- package/types/ops/OpsTypes.d.ts.map +1 -1
- package/types/ops/OrganizationOps.d.ts +24 -3
- package/types/ops/OrganizationOps.d.ts.map +1 -1
- package/types/ops/PolicyOps.d.ts +103 -28
- package/types/ops/PolicyOps.d.ts.map +1 -1
- package/types/ops/PolicySetOps.d.ts +76 -30
- package/types/ops/PolicySetOps.d.ts.map +1 -1
- package/types/ops/RealmOps.d.ts +34 -14
- package/types/ops/RealmOps.d.ts.map +1 -1
- package/types/ops/ResourceTypeOps.d.ts +116 -29
- package/types/ops/ResourceTypeOps.d.ts.map +1 -1
- package/types/ops/Saml2Ops.d.ts +124 -41
- package/types/ops/Saml2Ops.d.ts.map +1 -1
- package/types/ops/ScriptOps.d.ts +88 -23
- package/types/ops/ScriptOps.d.ts.map +1 -1
- package/types/ops/ServiceOps.d.ts +94 -8
- package/types/ops/ServiceOps.d.ts.map +1 -1
- package/types/ops/ThemeOps.d.ts +113 -9
- package/types/ops/ThemeOps.d.ts.map +1 -1
- package/types/ops/cloud/FeatureOps.d.ts +23 -2
- package/types/ops/cloud/FeatureOps.d.ts.map +1 -1
- package/types/ops/cloud/LogOps.d.ts +61 -3
- package/types/ops/cloud/LogOps.d.ts.map +1 -1
- package/types/ops/cloud/SecretsOps.d.ts +77 -63
- package/types/ops/cloud/SecretsOps.d.ts.map +1 -1
- package/types/ops/cloud/ServiceAccountOps.d.ts +48 -3
- package/types/ops/cloud/ServiceAccountOps.d.ts.map +1 -1
- package/types/ops/cloud/StartupOps.d.ts +25 -2
- package/types/ops/cloud/StartupOps.d.ts.map +1 -1
- package/types/ops/cloud/VariablesOps.d.ts +39 -39
- package/types/ops/cloud/VariablesOps.d.ts.map +1 -1
- package/types/ops/utils/Console.d.ts.map +1 -1
- package/types/ops/utils/DataProtection.d.ts +1 -1
- package/types/ops/utils/DataProtection.d.ts.map +1 -1
- package/types/ops/utils/ExportImportUtils.d.ts +29 -11
- package/types/ops/utils/ExportImportUtils.d.ts.map +1 -1
- package/types/ops/utils/OpsUtils.d.ts +4 -1
- package/types/ops/utils/OpsUtils.d.ts.map +1 -1
- package/types/ops/utils/ScriptValidationUtils.d.ts.map +1 -0
- package/types/ops/utils/Version.d.ts +5 -1
- package/types/ops/utils/Version.d.ts.map +1 -1
- package/types/shared/State.d.ts +80 -177
- package/types/shared/State.d.ts.map +1 -1
- package/types/utils/AutoSetupPolly.d.ts.map +1 -1
- package/cjs/ops/utils/ValidationUtils.js.map +0 -1
- package/cjs/ops/utils/ValidationUtils.test.js.map +0 -1
- package/types/ops/utils/ValidationUtils.d.ts.map +0 -1
- /package/types/ops/utils/{ValidationUtils.d.ts → ScriptValidationUtils.d.ts} +0 -0
|
@@ -4,24 +4,78 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
4
4
|
value: true
|
|
5
5
|
});
|
|
6
6
|
exports.createServiceAccount = createServiceAccount;
|
|
7
|
+
exports.default = void 0;
|
|
7
8
|
exports.getServiceAccount = getServiceAccount;
|
|
8
9
|
exports.isServiceAccountsFeatureAvailable = isServiceAccountsFeatureAvailable;
|
|
9
10
|
var _ManagedObjectApi = require("../../api/ManagedObjectApi");
|
|
10
11
|
var _Console = require("../utils/Console");
|
|
11
12
|
var _FeatureOps = require("./FeatureOps");
|
|
13
|
+
var _ApiUtils = require("../../api/utils/ApiUtils");
|
|
12
14
|
function asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { Promise.resolve(value).then(_next, _throw); } }
|
|
13
15
|
function _asyncToGenerator(fn) { return function () { var self = this, args = arguments; return new Promise(function (resolve, reject) { var gen = fn.apply(self, args); function _next(value) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, "next", value); } function _throw(err) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, "throw", err); } _next(undefined); }); }; }
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
16
|
+
class ServiceAccountOps {
|
|
17
|
+
constructor(state) {
|
|
18
|
+
this.state = state;
|
|
19
|
+
}
|
|
20
|
+
|
|
21
|
+
/**
|
|
22
|
+
* Check if service accounts are available
|
|
23
|
+
* @returns {Promise<boolean>} true if service accounts are available, false otherwise
|
|
24
|
+
*/
|
|
25
|
+
isServiceAccountsFeatureAvailable() {
|
|
26
|
+
var _this = this;
|
|
27
|
+
return _asyncToGenerator(function* () {
|
|
28
|
+
return isServiceAccountsFeatureAvailable({
|
|
29
|
+
state: _this.state
|
|
30
|
+
});
|
|
31
|
+
})();
|
|
32
|
+
}
|
|
19
33
|
|
|
34
|
+
/**
|
|
35
|
+
* Create service account
|
|
36
|
+
* @param {string} name Human-readable name of service account
|
|
37
|
+
* @param {string} description Description of service account
|
|
38
|
+
* @param {'Active' | 'Inactive'} accountStatus Service account status
|
|
39
|
+
* @param {string[]} scopes Scopes.
|
|
40
|
+
* @param {JwksInterface} jwks Java Web Key Set
|
|
41
|
+
* @returns {Promise<IdObjectSkeletonInterface>} A promise resolving to a service account object
|
|
42
|
+
*/
|
|
43
|
+
createServiceAccount(name, description, accountStatus, scopes, jwks) {
|
|
44
|
+
var _this2 = this;
|
|
45
|
+
return _asyncToGenerator(function* () {
|
|
46
|
+
return createServiceAccount({
|
|
47
|
+
name,
|
|
48
|
+
description,
|
|
49
|
+
accountStatus,
|
|
50
|
+
scopes,
|
|
51
|
+
jwks,
|
|
52
|
+
state: _this2.state
|
|
53
|
+
});
|
|
54
|
+
})();
|
|
55
|
+
}
|
|
56
|
+
|
|
57
|
+
/**
|
|
58
|
+
* Get service account
|
|
59
|
+
* @param {string} serviceAccountId service account id
|
|
60
|
+
* @returns {Promise<ServiceAccount>} a promise resolving to a service account object
|
|
61
|
+
*/
|
|
62
|
+
getServiceAccount(serviceAccountId) {
|
|
63
|
+
var _this3 = this;
|
|
64
|
+
return _asyncToGenerator(function* () {
|
|
65
|
+
return getServiceAccount({
|
|
66
|
+
serviceAccountId,
|
|
67
|
+
state: _this3.state
|
|
68
|
+
});
|
|
69
|
+
})();
|
|
70
|
+
}
|
|
71
|
+
}
|
|
72
|
+
exports.default = ServiceAccountOps;
|
|
73
|
+
var moType = 'svcacct';
|
|
20
74
|
/**
|
|
21
75
|
* Check if service accounts are available
|
|
22
76
|
* @returns {Promise<boolean>} true if service accounts are available, false otherwise
|
|
23
77
|
*/
|
|
24
|
-
function isServiceAccountsFeatureAvailable() {
|
|
78
|
+
function isServiceAccountsFeatureAvailable(_x) {
|
|
25
79
|
return _isServiceAccountsFeatureAvailable.apply(this, arguments);
|
|
26
80
|
}
|
|
27
81
|
/**
|
|
@@ -31,24 +85,43 @@ function isServiceAccountsFeatureAvailable() {
|
|
|
31
85
|
* @param {'Active' | 'Inactive'} accountStatus Service account status
|
|
32
86
|
* @param {string[]} scopes Scopes.
|
|
33
87
|
* @param {JwksInterface} jwks Java Web Key Set
|
|
88
|
+
* @param {State} state library state
|
|
34
89
|
* @returns {Promise<IdObjectSkeletonInterface>} A promise resolving to a service account object
|
|
35
90
|
*/
|
|
36
91
|
function _isServiceAccountsFeatureAvailable() {
|
|
37
|
-
_isServiceAccountsFeatureAvailable = _asyncToGenerator(function* () {
|
|
92
|
+
_isServiceAccountsFeatureAvailable = _asyncToGenerator(function* (_ref) {
|
|
93
|
+
var {
|
|
94
|
+
state
|
|
95
|
+
} = _ref;
|
|
38
96
|
(0, _Console.debugMessage)("ServiceAccountOps.isServiceAccountsFeatureAvailable: start");
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
97
|
+
var featureAvailable = yield (0, _FeatureOps.hasFeature)({
|
|
98
|
+
featureId: 'service-accounts',
|
|
99
|
+
state
|
|
100
|
+
});
|
|
101
|
+
(0, _Console.debugMessage)("ServiceAccountOps.isServiceAccountsFeatureAvailable: end, available=".concat(featureAvailable));
|
|
102
|
+
return featureAvailable;
|
|
44
103
|
});
|
|
45
104
|
return _isServiceAccountsFeatureAvailable.apply(this, arguments);
|
|
46
105
|
}
|
|
47
|
-
function createServiceAccount(
|
|
106
|
+
function createServiceAccount(_x2) {
|
|
48
107
|
return _createServiceAccount.apply(this, arguments);
|
|
49
108
|
}
|
|
109
|
+
/**
|
|
110
|
+
* Get service account
|
|
111
|
+
* @param {string} serviceAccountId service account id
|
|
112
|
+
* @param {State} state library state
|
|
113
|
+
* @returns {Promise} a promise resolving to a service account object
|
|
114
|
+
*/
|
|
50
115
|
function _createServiceAccount() {
|
|
51
|
-
_createServiceAccount = _asyncToGenerator(function* (
|
|
116
|
+
_createServiceAccount = _asyncToGenerator(function* (_ref2) {
|
|
117
|
+
var {
|
|
118
|
+
name,
|
|
119
|
+
description,
|
|
120
|
+
accountStatus,
|
|
121
|
+
scopes,
|
|
122
|
+
jwks,
|
|
123
|
+
state
|
|
124
|
+
} = _ref2;
|
|
52
125
|
(0, _Console.debugMessage)("ServiceAccountOps.createServiceAccount: start");
|
|
53
126
|
var payload = {
|
|
54
127
|
name,
|
|
@@ -59,18 +132,28 @@ function _createServiceAccount() {
|
|
|
59
132
|
};
|
|
60
133
|
(0, _Console.debugMessage)("ServiceAccountOps: createServiceAccount: payload:");
|
|
61
134
|
(0, _Console.debugMessage)(payload);
|
|
62
|
-
var result = yield (0, _ManagedObjectApi.createManagedObject)(moType, payload);
|
|
135
|
+
var result = yield (0, _ManagedObjectApi.createManagedObject)((0, _ApiUtils.getTenantURL)(state.getHost()), moType, payload, state);
|
|
63
136
|
(0, _Console.debugMessage)("ServiceAccountOps.createServiceAccount: end");
|
|
64
137
|
return result;
|
|
65
138
|
});
|
|
66
139
|
return _createServiceAccount.apply(this, arguments);
|
|
67
140
|
}
|
|
68
|
-
function getServiceAccount(
|
|
141
|
+
function getServiceAccount(_x3) {
|
|
69
142
|
return _getServiceAccount.apply(this, arguments);
|
|
70
143
|
}
|
|
71
144
|
function _getServiceAccount() {
|
|
72
|
-
_getServiceAccount = _asyncToGenerator(function* (
|
|
73
|
-
var
|
|
145
|
+
_getServiceAccount = _asyncToGenerator(function* (_ref3) {
|
|
146
|
+
var {
|
|
147
|
+
serviceAccountId,
|
|
148
|
+
state
|
|
149
|
+
} = _ref3;
|
|
150
|
+
var serviceAccount = yield (0, _ManagedObjectApi.getManagedObject)({
|
|
151
|
+
baseUrl: (0, _ApiUtils.getTenantURL)(state.getHost()),
|
|
152
|
+
type: moType,
|
|
153
|
+
id: serviceAccountId,
|
|
154
|
+
fields: ['*'],
|
|
155
|
+
state
|
|
156
|
+
});
|
|
74
157
|
return serviceAccount;
|
|
75
158
|
});
|
|
76
159
|
return _getServiceAccount.apply(this, arguments);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ServiceAccountOps.js","names":["_ManagedObjectApi","require","_Console","_FeatureOps","asyncGeneratorStep","gen","resolve","reject","_next","_throw","key","arg","info","value","error","done","Promise","then","_asyncToGenerator","fn","self","args","arguments","apply","err","undefined","
|
|
1
|
+
{"version":3,"file":"ServiceAccountOps.js","names":["_ManagedObjectApi","require","_Console","_FeatureOps","_ApiUtils","asyncGeneratorStep","gen","resolve","reject","_next","_throw","key","arg","info","value","error","done","Promise","then","_asyncToGenerator","fn","self","args","arguments","apply","err","undefined","ServiceAccountOps","constructor","state","isServiceAccountsFeatureAvailable","_this","createServiceAccount","name","description","accountStatus","scopes","jwks","_this2","getServiceAccount","serviceAccountId","_this3","exports","default","moType","_x","_isServiceAccountsFeatureAvailable","_ref","debugMessage","featureAvailable","hasFeature","featureId","concat","_x2","_createServiceAccount","_ref2","payload","JSON","stringify","result","createManagedObject","getTenantURL","getHost","_x3","_getServiceAccount","_ref3","serviceAccount","getManagedObject","baseUrl","type","id","fields"],"sources":["ops/cloud/ServiceAccountOps.ts"],"sourcesContent":["import {\n createManagedObject,\n getManagedObject,\n} from '../../api/ManagedObjectApi';\nimport { JwksInterface } from '../JoseOps';\nimport { IdObjectSkeletonInterface } from '../../api/ApiTypes';\nimport { debugMessage } from '../utils/Console';\nimport { hasFeature } from './FeatureOps';\nimport { getTenantURL } from '../../api/utils/ApiUtils';\nimport State from '../../shared/State';\n\nexport default class ServiceAccountOps {\n state: State;\n constructor(state: State) {\n this.state = state;\n }\n\n /**\n * Check if service accounts are available\n * @returns {Promise<boolean>} true if service accounts are available, false otherwise\n */\n async isServiceAccountsFeatureAvailable(): Promise<boolean> {\n return isServiceAccountsFeatureAvailable({ state: this.state });\n }\n\n /**\n * Create service account\n * @param {string} name Human-readable name of service account\n * @param {string} description Description of service account\n * @param {'Active' | 'Inactive'} accountStatus Service account status\n * @param {string[]} scopes Scopes.\n * @param {JwksInterface} jwks Java Web Key Set\n * @returns {Promise<IdObjectSkeletonInterface>} A promise resolving to a service account object\n */\n async createServiceAccount(\n name: string,\n description: string,\n accountStatus: 'Active' | 'Inactive',\n scopes: string[],\n jwks: JwksInterface\n ): Promise<IdObjectSkeletonInterface> {\n return createServiceAccount({\n name,\n description,\n accountStatus,\n scopes,\n jwks,\n state: this.state,\n });\n }\n\n /**\n * Get service account\n * @param {string} serviceAccountId service account id\n * @returns {Promise<ServiceAccount>} a promise resolving to a service account object\n */\n async getServiceAccount(serviceAccountId: string) {\n return getServiceAccount({ serviceAccountId, state: this.state });\n }\n}\n\nconst moType = 'svcacct';\n\nexport interface ServiceAccountPayloadInterface {\n name: string;\n description: string;\n accountStatus: 'Active' | 'Inactive';\n scopes: string[];\n jwks: string;\n}\n\nexport type ServiceAccount = IdObjectSkeletonInterface &\n ServiceAccountPayloadInterface;\n\n/**\n * Check if service accounts are available\n * @returns {Promise<boolean>} true if service accounts are available, false otherwise\n */\nexport async function isServiceAccountsFeatureAvailable({\n state,\n}: {\n state: State;\n}): Promise<boolean> {\n debugMessage(`ServiceAccountOps.isServiceAccountsFeatureAvailable: start`);\n const featureAvailable = await hasFeature({\n featureId: 'service-accounts',\n state,\n });\n debugMessage(\n `ServiceAccountOps.isServiceAccountsFeatureAvailable: end, available=${featureAvailable}`\n );\n return featureAvailable;\n}\n\n/**\n * Create service account\n * @param {string} name Human-readable name of service account\n * @param {string} description Description of service account\n * @param {'Active' | 'Inactive'} accountStatus Service account status\n * @param {string[]} scopes Scopes.\n * @param {JwksInterface} jwks Java Web Key Set\n * @param {State} state library state\n * @returns {Promise<IdObjectSkeletonInterface>} A promise resolving to a service account object\n */\nexport async function createServiceAccount({\n name,\n description,\n accountStatus,\n scopes,\n jwks,\n state,\n}: {\n name: string;\n description: string;\n accountStatus: 'Active' | 'Inactive';\n scopes: string[];\n jwks: JwksInterface;\n state: State;\n}): Promise<IdObjectSkeletonInterface> {\n debugMessage(`ServiceAccountOps.createServiceAccount: start`);\n const payload: ServiceAccountPayloadInterface = {\n name,\n description,\n accountStatus,\n scopes,\n jwks: JSON.stringify(jwks),\n };\n debugMessage(`ServiceAccountOps: createServiceAccount: payload:`);\n debugMessage(payload);\n const result = await createManagedObject(\n getTenantURL(state.getHost()),\n moType,\n payload,\n state\n );\n debugMessage(`ServiceAccountOps.createServiceAccount: end`);\n return result;\n}\n\n/**\n * Get service account\n * @param {string} serviceAccountId service account id\n * @param {State} state library state\n * @returns {Promise} a promise resolving to a service account object\n */\nexport async function getServiceAccount({\n serviceAccountId,\n state,\n}: {\n serviceAccountId: string;\n state: State;\n}) {\n const serviceAccount = await getManagedObject({\n baseUrl: getTenantURL(state.getHost()),\n type: moType,\n id: serviceAccountId,\n fields: ['*'],\n state,\n });\n return serviceAccount as ServiceAccount;\n}\n"],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ServiceAccountOps.test.js","names":["
|
|
1
|
+
{"version":3,"file":"ServiceAccountOps.test.js","names":["_index","require","ServiceAccountOps","_interopRequireWildcard","_JoseOps","_AutoSetupPolly","_getRequireWildcardCache","nodeInterop","WeakMap","cacheBabelInterop","cacheNodeInterop","obj","__esModule","default","cache","has","get","newObj","hasPropertyDescriptor","Object","defineProperty","getOwnPropertyDescriptor","key","prototype","hasOwnProperty","call","desc","set","asyncGeneratorStep","gen","resolve","reject","_next","_throw","arg","info","value","error","done","Promise","then","_asyncToGenerator","fn","self","args","arguments","apply","err","undefined","matchConfig","defaultMatchRequestsBy","body","autoSetupPolly","describe","only","test","expect","isServiceAccountsFeatureAvailable","toBeDefined","response","state","toBeTruthy","createServiceAccount","name","description","accountStatus","scopes","jwk","createJwkRsa","publicJwk","getJwkRsaPublic","jwks","createJwks","toMatchSnapshot"],"sources":["ops/cloud/ServiceAccountOps.test.ts"],"sourcesContent":["/**\n * To record and update snapshots, you must perform 3 steps in order:\n *\n * 1. Record API responses\n *\n * To record API responses, you must call the test:record script and\n * override all the connection state variables required to connect to the\n * env to record from:\n *\n * ATTENTION: For the recording to succeed, you MUST make sure to use a\n * user account, not a service account.\n *\n * FRODO_DEBUG=1 FRODO_HOST=frodo-dev npm run test:record ServiceAccountOps\n *\n * The above command assumes that you have a connection profile for\n * 'frodo-dev' on your development machine.\n *\n * 2. Update snapshots\n *\n * After recording API responses, you must manually update/create snapshots\n * by running:\n *\n * FRODO_DEBUG=1 npm run test:update ServiceAccountOps\n *\n * 3. Test your changes\n *\n * If 1 and 2 didn't produce any errors, you are ready to run the tests in\n * replay mode and make sure they all succeed as well:\n *\n * FRODO_DEBUG=1 npm run test:only ServiceAccountOps\n *\n * Note: FRODO_DEBUG=1 is optional and enables debug logging for some output\n * in case things don't function as expected\n */\nimport { state } from '../../index';\nimport * as ServiceAccountOps from './ServiceAccountOps';\nimport { createJwkRsa, createJwks, getJwkRsaPublic } from '../JoseOps';\nimport {\n autoSetupPolly,\n defaultMatchRequestsBy,\n} from '../../utils/AutoSetupPolly';\n\n// need to modify the default matching rules to allow the mocking to work for service account tests.\nconst matchConfig = defaultMatchRequestsBy();\nmatchConfig.body = false; // service account create requests are tricky because of the public key, which is different for each request\n\nautoSetupPolly(matchConfig);\n\ndescribe.only('ServiceAccountOps', () => {\n describe('isServiceAccountsFeatureAvailable()', () => {\n test('0: Method is implemented', async () => {\n expect(ServiceAccountOps.isServiceAccountsFeatureAvailable).toBeDefined();\n });\n\n test('1: Check tenant supporting service accounts', async () => {\n const response =\n await ServiceAccountOps.isServiceAccountsFeatureAvailable({\n state,\n });\n expect(response).toBeTruthy();\n });\n\n // test('2: Check tenant not supporting service accounts', async () => {\n // (context.polly as Polly).server.any().on('request', (req) => {\n // req.overrideRecordingName(\n // 'ServiceAccountOps/isServiceAccountsFeatureAvailable()/2: Check tenant not supporting service accounts'\n // );\n // console.log(`+++++polly: recordingName: ${req.recordingName}`);\n // });\n // const response = await ServiceAccount.isServiceAccountsFeatureAvailable();\n // expect(response).toBeFalsy();\n // });\n });\n\n describe('createServiceAccount()', () => {\n test('0: Method is implemented', async () => {\n expect(ServiceAccountOps.createServiceAccount).toBeDefined();\n });\n\n test('1: Create service account', async () => {\n const name = 'sa';\n const description = 'service account';\n const accountStatus = 'Active';\n const scopes = ['fr:am:*', 'fr:idm:*', 'fr:idc:esv:*'];\n const jwk = await createJwkRsa();\n const publicJwk = await getJwkRsaPublic(jwk);\n const jwks = createJwks(publicJwk);\n const response = await ServiceAccountOps.createServiceAccount({\n name,\n description,\n accountStatus,\n scopes,\n jwks,\n state,\n });\n expect(response).toMatchSnapshot();\n });\n });\n});\n"],"mappings":"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"}
|
|
@@ -5,20 +5,60 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
5
5
|
});
|
|
6
6
|
exports.applyUpdates = applyUpdates;
|
|
7
7
|
exports.checkForUpdates = checkForUpdates;
|
|
8
|
+
exports.default = void 0;
|
|
8
9
|
var _Console = require("../utils/Console");
|
|
9
10
|
var _SecretsApi = require("../../api/cloud/SecretsApi");
|
|
10
11
|
var _StartupApi = require("../../api/cloud/StartupApi");
|
|
11
12
|
var _VariablesApi = require("../../api/cloud/VariablesApi");
|
|
12
13
|
function asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { Promise.resolve(value).then(_next, _throw); } }
|
|
13
14
|
function _asyncToGenerator(fn) { return function () { var self = this, args = arguments; return new Promise(function (resolve, reject) { var gen = fn.apply(self, args); function _next(value) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, "next", value); } function _throw(err) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, "throw", err); } _next(undefined); }); }; }
|
|
15
|
+
class StartupOps {
|
|
16
|
+
constructor(state) {
|
|
17
|
+
this.state = state;
|
|
18
|
+
}
|
|
19
|
+
|
|
20
|
+
/**
|
|
21
|
+
* Check for updates that need applying
|
|
22
|
+
* @returns {Promise<Updates>} true if there are updates that need to be applied, false otherwise
|
|
23
|
+
*/
|
|
24
|
+
checkForUpdates() {
|
|
25
|
+
var _this = this;
|
|
26
|
+
return _asyncToGenerator(function* () {
|
|
27
|
+
return checkForUpdates({
|
|
28
|
+
state: _this.state
|
|
29
|
+
});
|
|
30
|
+
})();
|
|
31
|
+
}
|
|
32
|
+
|
|
33
|
+
/**
|
|
34
|
+
* Apply updates
|
|
35
|
+
* @param {boolean} wait wait for the operation to complete or not
|
|
36
|
+
* @param {number} timeout timeout in milliseconds
|
|
37
|
+
* @returns {Promise<boolean>} true if successful, false otherwise
|
|
38
|
+
*/
|
|
39
|
+
applyUpdates(wait) {
|
|
40
|
+
var _arguments = arguments,
|
|
41
|
+
_this2 = this;
|
|
42
|
+
return _asyncToGenerator(function* () {
|
|
43
|
+
var timeout = _arguments.length > 1 && _arguments[1] !== undefined ? _arguments[1] : 10 * 60 * 1000;
|
|
44
|
+
return applyUpdates({
|
|
45
|
+
wait,
|
|
46
|
+
timeout,
|
|
47
|
+
state: _this2.state
|
|
48
|
+
});
|
|
49
|
+
})();
|
|
50
|
+
}
|
|
51
|
+
}
|
|
52
|
+
|
|
14
53
|
/**
|
|
15
54
|
* Updates that need to be applied.
|
|
16
55
|
*/
|
|
56
|
+
exports.default = StartupOps;
|
|
17
57
|
/**
|
|
18
58
|
* Check for updates that need applying
|
|
19
59
|
* @returns {Promise<boolean>} true if there are updates that need to be applied, false otherwise
|
|
20
60
|
*/
|
|
21
|
-
function checkForUpdates() {
|
|
61
|
+
function checkForUpdates(_x) {
|
|
22
62
|
return _checkForUpdates.apply(this, arguments);
|
|
23
63
|
}
|
|
24
64
|
/**
|
|
@@ -28,16 +68,23 @@ function checkForUpdates() {
|
|
|
28
68
|
* @returns {Promise<boolean>} true if successful, false otherwise
|
|
29
69
|
*/
|
|
30
70
|
function _checkForUpdates() {
|
|
31
|
-
_checkForUpdates = _asyncToGenerator(function* () {
|
|
71
|
+
_checkForUpdates = _asyncToGenerator(function* (_ref) {
|
|
32
72
|
var _updates$secrets, _updates$variables;
|
|
73
|
+
var {
|
|
74
|
+
state
|
|
75
|
+
} = _ref;
|
|
33
76
|
var updates = {
|
|
34
77
|
secrets: [],
|
|
35
78
|
variables: []
|
|
36
79
|
};
|
|
37
80
|
(0, _Console.createProgressIndicator)(undefined, "Checking for updates to apply...", 'indeterminate');
|
|
38
81
|
try {
|
|
39
|
-
updates.secrets = (yield (0, _SecretsApi.getSecrets)(
|
|
40
|
-
|
|
82
|
+
updates.secrets = (yield (0, _SecretsApi.getSecrets)({
|
|
83
|
+
state
|
|
84
|
+
})).result.filter(secret => !secret.loaded);
|
|
85
|
+
updates.variables = (yield (0, _VariablesApi.getVariables)({
|
|
86
|
+
state
|
|
87
|
+
})).result.filter(variable => !variable.loaded);
|
|
41
88
|
} catch (error) {
|
|
42
89
|
(0, _Console.stopProgressIndicator)("Error: ".concat(error.response.data.code, " - ").concat(error.response.data.message), 'fail');
|
|
43
90
|
}
|
|
@@ -51,15 +98,21 @@ function _checkForUpdates() {
|
|
|
51
98
|
});
|
|
52
99
|
return _checkForUpdates.apply(this, arguments);
|
|
53
100
|
}
|
|
54
|
-
function applyUpdates(
|
|
101
|
+
function applyUpdates(_x2) {
|
|
55
102
|
return _applyUpdates.apply(this, arguments);
|
|
56
103
|
}
|
|
57
104
|
function _applyUpdates() {
|
|
58
|
-
_applyUpdates = _asyncToGenerator(function* (
|
|
59
|
-
var
|
|
105
|
+
_applyUpdates = _asyncToGenerator(function* (_ref2) {
|
|
106
|
+
var {
|
|
107
|
+
wait,
|
|
108
|
+
timeout = 10 * 60 * 1000,
|
|
109
|
+
state
|
|
110
|
+
} = _ref2;
|
|
60
111
|
(0, _Console.createProgressIndicator)(undefined, "Applying updates...", 'indeterminate');
|
|
61
112
|
try {
|
|
62
|
-
var status = yield (0, _StartupApi.initiateRestart)(
|
|
113
|
+
var status = yield (0, _StartupApi.initiateRestart)({
|
|
114
|
+
state
|
|
115
|
+
});
|
|
63
116
|
if (wait) {
|
|
64
117
|
var start = new Date().getTime();
|
|
65
118
|
var runtime = 0;
|
|
@@ -68,7 +121,9 @@ function _applyUpdates() {
|
|
|
68
121
|
while (status !== _StartupApi.RestartStatus.ready && start + timeout > new Date().getTime()) {
|
|
69
122
|
yield new Promise(resolve => setTimeout(resolve, 5000));
|
|
70
123
|
try {
|
|
71
|
-
status = yield (0, _StartupApi.getStatus)(
|
|
124
|
+
status = yield (0, _StartupApi.getStatus)({
|
|
125
|
+
state
|
|
126
|
+
});
|
|
72
127
|
|
|
73
128
|
// reset errors after successful status call
|
|
74
129
|
if (errors) errors = 0;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"StartupOps.js","names":["_Console","require","_SecretsApi","_StartupApi","_VariablesApi","asyncGeneratorStep","gen","resolve","reject","_next","_throw","key","arg","info","value","error","done","Promise","then","_asyncToGenerator","fn","self","args","arguments","apply","err","undefined","checkForUpdates","_checkForUpdates","_updates$secrets","_updates$variables","updates","secrets","variables","createProgressIndicator","getSecrets","result","filter","secret","loaded","getVariables","variable","stopProgressIndicator","concat","response","data","code","message","updateCount","length","applyUpdates","_x","_applyUpdates","wait","timeout","status","initiateRestart","start","Date","getTime","runtime","errors","maxErrors","RestartStatus","ready","setTimeout","getStatus","updateProgressIndicator","Math","round","_error$response","_error$response$data","_error$response2","_error$response2$data"],"sources":["ops/cloud/StartupOps.ts"],"sourcesContent":["import {\n createProgressIndicator,\n updateProgressIndicator,\n stopProgressIndicator,\n} from '../utils/Console';\nimport { getSecrets } from '../../api/cloud/SecretsApi';\nimport {\n getStatus,\n initiateRestart,\n RestartStatus,\n} from '../../api/cloud/StartupApi';\nimport { getVariables } from '../../api/cloud/VariablesApi';\n\n/**\n * Updates that need to be applied.\n */\nexport interface Updates {\n /**\n * Array of secrets that need applying\n */\n secrets?: unknown[];\n /**\n * Array of variables that need applying\n */\n variables?: unknown[];\n}\n\n/**\n * Check for updates that need applying\n * @returns {Promise<boolean>} true if there are updates that need to be applied, false otherwise\n */\nexport async function checkForUpdates(): Promise<Updates> {\n const updates: Updates = { secrets: [], variables: [] };\n createProgressIndicator(\n undefined,\n `Checking for updates to apply...`,\n 'indeterminate'\n );\n try {\n updates.secrets = (await getSecrets()).result.filter(\n (secret: { loaded: unknown }) => !secret.loaded\n );\n updates.variables = (await getVariables()).result.filter(\n (variable: { loaded: unknown }) => !variable.loaded\n );\n } catch (error) {\n stopProgressIndicator(\n `Error: ${error.response.data.code} - ${error.response.data.message}`,\n 'fail'\n );\n }\n const updateCount = updates.secrets?.length + updates.variables?.length || 0;\n if (updateCount > 0) {\n stopProgressIndicator(\n `${updateCount} update(s) need to be applied`,\n 'success'\n );\n } else {\n stopProgressIndicator(`No updates need to be applied`, 'success');\n }\n return updates;\n}\n\n/**\n * Apply updates\n * @param {boolean} wait wait for the operation to complete or not\n * @param {number} timeout timeout in milliseconds\n * @returns {Promise<boolean>} true if successful, false otherwise\n */\nexport async function applyUpdates(wait: boolean, timeout = 10 * 60 * 1000) {\n createProgressIndicator(undefined, `Applying updates...`, 'indeterminate');\n try {\n let status = await initiateRestart();\n if (wait) {\n const start = new Date().getTime();\n let runtime = 0;\n let errors = 0;\n const maxErrors = 3;\n while (\n status !== RestartStatus.ready &&\n start + timeout > new Date().getTime()\n ) {\n await new Promise((resolve) => setTimeout(resolve, 5000));\n try {\n status = await getStatus();\n\n // reset errors after successful status call\n if (errors) errors = 0;\n\n runtime = new Date().getTime() - start;\n updateProgressIndicator(`${status} (${Math.round(runtime / 1000)}s)`);\n } catch (error) {\n errors++;\n if (errors > maxErrors) {\n throw error;\n }\n runtime = new Date().getTime() - start;\n updateProgressIndicator(\n `${error.message} - retry ${errors}/${maxErrors} (${Math.round(\n runtime / 1000\n )}s)`\n );\n }\n }\n if (runtime < timeout) {\n stopProgressIndicator(\n `Updates applied in ${Math.round(\n runtime / 1000\n )}s with final status: ${status}`,\n 'success'\n );\n return true;\n } else {\n stopProgressIndicator(\n `Updates timed out after ${Math.round(\n runtime / 1000\n )}s with final status: ${status}`,\n 'warn'\n );\n return false;\n }\n } else {\n stopProgressIndicator(\n `Updates are being applied. Changes may take up to 10 minutes to propagate, during which time you will not be able to make further updates.`,\n 'success'\n );\n return true;\n }\n } catch (error) {\n stopProgressIndicator(\n `Error: ${error.response?.data?.code || error} - ${\n error.response?.data?.message\n }`,\n 'fail'\n );\n return false;\n }\n}\n"],"mappings":";;;;;;;AAAA,IAAAA,QAAA,GAAAC,OAAA;AAKA,IAAAC,WAAA,GAAAD,OAAA;AACA,IAAAE,WAAA,GAAAF,OAAA;AAKA,IAAAG,aAAA,GAAAH,OAAA;AAA4D,SAAAI,mBAAAC,GAAA,EAAAC,OAAA,EAAAC,MAAA,EAAAC,KAAA,EAAAC,MAAA,EAAAC,GAAA,EAAAC,GAAA,cAAAC,IAAA,GAAAP,GAAA,CAAAK,GAAA,EAAAC,GAAA,OAAAE,KAAA,GAAAD,IAAA,CAAAC,KAAA,WAAAC,KAAA,IAAAP,MAAA,CAAAO,KAAA,iBAAAF,IAAA,CAAAG,IAAA,IAAAT,OAAA,CAAAO,KAAA,YAAAG,OAAA,CAAAV,OAAA,CAAAO,KAAA,EAAAI,IAAA,CAAAT,KAAA,EAAAC,MAAA;AAAA,SAAAS,kBAAAC,EAAA,6BAAAC,IAAA,SAAAC,IAAA,GAAAC,SAAA,aAAAN,OAAA,WAAAV,OAAA,EAAAC,MAAA,QAAAF,GAAA,GAAAc,EAAA,CAAAI,KAAA,CAAAH,IAAA,EAAAC,IAAA,YAAAb,MAAAK,KAAA,IAAAT,kBAAA,CAAAC,GAAA,EAAAC,OAAA,EAAAC,MAAA,EAAAC,KAAA,EAAAC,MAAA,UAAAI,KAAA,cAAAJ,OAAAe,GAAA,IAAApB,kBAAA,CAAAC,GAAA,EAAAC,OAAA,EAAAC,MAAA,EAAAC,KAAA,EAAAC,MAAA,WAAAe,GAAA,KAAAhB,KAAA,CAAAiB,SAAA;AAE5D;AACA;AACA;AAYA;AACA;AACA;AACA;AAHA,SAIsBC,eAAeA,CAAA;EAAA,OAAAC,gBAAA,CAAAJ,KAAA,OAAAD,SAAA;AAAA;AAgCrC;AACA;AACA;AACA;AACA;AACA;AALA,SAAAK,iBAAA;EAAAA,gBAAA,GAAAT,iBAAA,CAhCO,aAAmD;IAAA,IAAAU,gBAAA,EAAAC,kBAAA;IACxD,IAAMC,OAAgB,GAAG;MAAEC,OAAO,EAAE,EAAE;MAAEC,SAAS,EAAE;IAAG,CAAC;IACvD,IAAAC,gCAAuB,EACrBR,SAAS,sCAET,eACF,CAAC;IACD,IAAI;MACFK,OAAO,CAACC,OAAO,GAAG,OAAO,IAAAG,sBAAU,EAAC,CAAC,EAAEC,MAAM,CAACC,MAAM,CACjDC,MAA2B,IAAK,CAACA,MAAM,CAACC,MAC3C,CAAC;MACDR,OAAO,CAACE,SAAS,GAAG,OAAO,IAAAO,0BAAY,EAAC,CAAC,EAAEJ,MAAM,CAACC,MAAM,CACrDI,QAA6B,IAAK,CAACA,QAAQ,CAACF,MAC/C,CAAC;IACH,CAAC,CAAC,OAAOxB,KAAK,EAAE;MACd,IAAA2B,8BAAqB,YAAAC,MAAA,CACT5B,KAAK,CAAC6B,QAAQ,CAACC,IAAI,CAACC,IAAI,SAAAH,MAAA,CAAM5B,KAAK,CAAC6B,QAAQ,CAACC,IAAI,CAACE,OAAO,GACnE,MACF,CAAC;IACH;IACA,IAAMC,WAAW,GAAG,EAAAnB,gBAAA,GAAAE,OAAO,CAACC,OAAO,cAAAH,gBAAA,uBAAfA,gBAAA,CAAiBoB,MAAM,MAAAnB,kBAAA,GAAGC,OAAO,CAACE,SAAS,cAAAH,kBAAA,uBAAjBA,kBAAA,CAAmBmB,MAAM,KAAI,CAAC;IAC5E,IAAID,WAAW,GAAG,CAAC,EAAE;MACnB,IAAAN,8BAAqB,KAAAC,MAAA,CAChBK,WAAW,oCACd,SACF,CAAC;IACH,CAAC,MAAM;MACL,IAAAN,8BAAqB,mCAAkC,SAAS,CAAC;IACnE;IACA,OAAOX,OAAO;EAChB,CAAC;EAAA,OAAAH,gBAAA,CAAAJ,KAAA,OAAAD,SAAA;AAAA;AAAA,SAQqB2B,YAAYA,CAAAC,EAAA;EAAA,OAAAC,aAAA,CAAA5B,KAAA,OAAAD,SAAA;AAAA;AAAA,SAAA6B,cAAA;EAAAA,aAAA,GAAAjC,iBAAA,CAA3B,WAA4BkC,IAAa,EAA4B;IAAA,IAA1BC,OAAO,GAAA/B,SAAA,CAAA0B,MAAA,QAAA1B,SAAA,QAAAG,SAAA,GAAAH,SAAA,MAAG,EAAE,GAAG,EAAE,GAAG,IAAI;IACxE,IAAAW,gCAAuB,EAACR,SAAS,yBAAyB,eAAe,CAAC;IAC1E,IAAI;MACF,IAAI6B,MAAM,SAAS,IAAAC,2BAAe,EAAC,CAAC;MACpC,IAAIH,IAAI,EAAE;QACR,IAAMI,KAAK,GAAG,IAAIC,IAAI,CAAC,CAAC,CAACC,OAAO,CAAC,CAAC;QAClC,IAAIC,OAAO,GAAG,CAAC;QACf,IAAIC,MAAM,GAAG,CAAC;QACd,IAAMC,SAAS,GAAG,CAAC;QACnB,OACEP,MAAM,KAAKQ,yBAAa,CAACC,KAAK,IAC9BP,KAAK,GAAGH,OAAO,GAAG,IAAII,IAAI,CAAC,CAAC,CAACC,OAAO,CAAC,CAAC,EACtC;UACA,MAAM,IAAI1C,OAAO,CAAEV,OAAO,IAAK0D,UAAU,CAAC1D,OAAO,EAAE,IAAI,CAAC,CAAC;UACzD,IAAI;YACFgD,MAAM,SAAS,IAAAW,qBAAS,EAAC,CAAC;;YAE1B;YACA,IAAIL,MAAM,EAAEA,MAAM,GAAG,CAAC;YAEtBD,OAAO,GAAG,IAAIF,IAAI,CAAC,CAAC,CAACC,OAAO,CAAC,CAAC,GAAGF,KAAK;YACtC,IAAAU,gCAAuB,KAAAxB,MAAA,CAAIY,MAAM,QAAAZ,MAAA,CAAKyB,IAAI,CAACC,KAAK,CAACT,OAAO,GAAG,IAAI,CAAC,OAAI,CAAC;UACvE,CAAC,CAAC,OAAO7C,KAAK,EAAE;YACd8C,MAAM,EAAE;YACR,IAAIA,MAAM,GAAGC,SAAS,EAAE;cACtB,MAAM/C,KAAK;YACb;YACA6C,OAAO,GAAG,IAAIF,IAAI,CAAC,CAAC,CAACC,OAAO,CAAC,CAAC,GAAGF,KAAK;YACtC,IAAAU,gCAAuB,KAAAxB,MAAA,CAClB5B,KAAK,CAACgC,OAAO,eAAAJ,MAAA,CAAYkB,MAAM,OAAAlB,MAAA,CAAImB,SAAS,QAAAnB,MAAA,CAAKyB,IAAI,CAACC,KAAK,CAC5DT,OAAO,GAAG,IACZ,CAAC,OACH,CAAC;UACH;QACF;QACA,IAAIA,OAAO,GAAGN,OAAO,EAAE;UACrB,IAAAZ,8BAAqB,wBAAAC,MAAA,CACGyB,IAAI,CAACC,KAAK,CAC9BT,OAAO,GAAG,IACZ,CAAC,2BAAAjB,MAAA,CAAwBY,MAAM,GAC/B,SACF,CAAC;UACD,OAAO,IAAI;QACb,CAAC,MAAM;UACL,IAAAb,8BAAqB,6BAAAC,MAAA,CACQyB,IAAI,CAACC,KAAK,CACnCT,OAAO,GAAG,IACZ,CAAC,2BAAAjB,MAAA,CAAwBY,MAAM,GAC/B,MACF,CAAC;UACD,OAAO,KAAK;QACd;MACF,CAAC,MAAM;QACL,IAAAb,8BAAqB,gJAEnB,SACF,CAAC;QACD,OAAO,IAAI;MACb;IACF,CAAC,CAAC,OAAO3B,KAAK,EAAE;MAAA,IAAAuD,eAAA,EAAAC,oBAAA,EAAAC,gBAAA,EAAAC,qBAAA;MACd,IAAA/B,8BAAqB,YAAAC,MAAA,CACT,EAAA2B,eAAA,GAAAvD,KAAK,CAAC6B,QAAQ,cAAA0B,eAAA,wBAAAC,oBAAA,GAAdD,eAAA,CAAgBzB,IAAI,cAAA0B,oBAAA,uBAApBA,oBAAA,CAAsBzB,IAAI,KAAI/B,KAAK,SAAA4B,MAAA,EAAA6B,gBAAA,GAC3CzD,KAAK,CAAC6B,QAAQ,cAAA4B,gBAAA,wBAAAC,qBAAA,GAAdD,gBAAA,CAAgB3B,IAAI,cAAA4B,qBAAA,uBAApBA,qBAAA,CAAsB1B,OAAO,GAE/B,MACF,CAAC;MACD,OAAO,KAAK;IACd;EACF,CAAC;EAAA,OAAAK,aAAA,CAAA5B,KAAA,OAAAD,SAAA;AAAA"}
|
|
1
|
+
{"version":3,"file":"StartupOps.js","names":["_Console","require","_SecretsApi","_StartupApi","_VariablesApi","asyncGeneratorStep","gen","resolve","reject","_next","_throw","key","arg","info","value","error","done","Promise","then","_asyncToGenerator","fn","self","args","arguments","apply","err","undefined","StartupOps","constructor","state","checkForUpdates","_this","applyUpdates","wait","_arguments","_this2","timeout","length","exports","default","_x","_checkForUpdates","_ref","_updates$secrets","_updates$variables","updates","secrets","variables","createProgressIndicator","getSecrets","result","filter","secret","loaded","getVariables","variable","stopProgressIndicator","concat","response","data","code","message","updateCount","_x2","_applyUpdates","_ref2","status","initiateRestart","start","Date","getTime","runtime","errors","maxErrors","RestartStatus","ready","setTimeout","getStatus","updateProgressIndicator","Math","round","_error$response","_error$response$data","_error$response2","_error$response2$data"],"sources":["ops/cloud/StartupOps.ts"],"sourcesContent":["import {\n createProgressIndicator,\n updateProgressIndicator,\n stopProgressIndicator,\n} from '../utils/Console';\nimport { getSecrets } from '../../api/cloud/SecretsApi';\nimport {\n getStatus,\n initiateRestart,\n RestartStatus,\n} from '../../api/cloud/StartupApi';\nimport { getVariables } from '../../api/cloud/VariablesApi';\nimport State from '../../shared/State';\n\nexport default class StartupOps {\n state: State;\n constructor(state: State) {\n this.state = state;\n }\n\n /**\n * Check for updates that need applying\n * @returns {Promise<Updates>} true if there are updates that need to be applied, false otherwise\n */\n async checkForUpdates(): Promise<Updates> {\n return checkForUpdates({ state: this.state });\n }\n\n /**\n * Apply updates\n * @param {boolean} wait wait for the operation to complete or not\n * @param {number} timeout timeout in milliseconds\n * @returns {Promise<boolean>} true if successful, false otherwise\n */\n async applyUpdates(wait: boolean, timeout: number = 10 * 60 * 1000) {\n return applyUpdates({\n wait,\n timeout,\n state: this.state,\n });\n }\n}\n\n/**\n * Updates that need to be applied.\n */\nexport interface Updates {\n /**\n * Array of secrets that need applying\n */\n secrets?: unknown[];\n /**\n * Array of variables that need applying\n */\n variables?: unknown[];\n}\n\n/**\n * Check for updates that need applying\n * @returns {Promise<boolean>} true if there are updates that need to be applied, false otherwise\n */\nexport async function checkForUpdates({\n state,\n}: {\n state: State;\n}): Promise<Updates> {\n const updates: Updates = { secrets: [], variables: [] };\n createProgressIndicator(\n undefined,\n `Checking for updates to apply...`,\n 'indeterminate'\n );\n try {\n updates.secrets = (await getSecrets({ state })).result.filter(\n (secret: { loaded: unknown }) => !secret.loaded\n );\n updates.variables = (await getVariables({ state })).result.filter(\n (variable: { loaded: unknown }) => !variable.loaded\n );\n } catch (error) {\n stopProgressIndicator(\n `Error: ${error.response.data.code} - ${error.response.data.message}`,\n 'fail'\n );\n }\n const updateCount = updates.secrets?.length + updates.variables?.length || 0;\n if (updateCount > 0) {\n stopProgressIndicator(\n `${updateCount} update(s) need to be applied`,\n 'success'\n );\n } else {\n stopProgressIndicator(`No updates need to be applied`, 'success');\n }\n return updates;\n}\n\n/**\n * Apply updates\n * @param {boolean} wait wait for the operation to complete or not\n * @param {number} timeout timeout in milliseconds\n * @returns {Promise<boolean>} true if successful, false otherwise\n */\nexport async function applyUpdates({\n wait,\n timeout = 10 * 60 * 1000,\n state,\n}: {\n wait: boolean;\n timeout?: number;\n state: State;\n}) {\n createProgressIndicator(undefined, `Applying updates...`, 'indeterminate');\n try {\n let status = await initiateRestart({ state });\n if (wait) {\n const start = new Date().getTime();\n let runtime = 0;\n let errors = 0;\n const maxErrors = 3;\n while (\n status !== RestartStatus.ready &&\n start + timeout > new Date().getTime()\n ) {\n await new Promise((resolve) => setTimeout(resolve, 5000));\n try {\n status = await getStatus({ state });\n\n // reset errors after successful status call\n if (errors) errors = 0;\n\n runtime = new Date().getTime() - start;\n updateProgressIndicator(`${status} (${Math.round(runtime / 1000)}s)`);\n } catch (error) {\n errors++;\n if (errors > maxErrors) {\n throw error;\n }\n runtime = new Date().getTime() - start;\n updateProgressIndicator(\n `${error.message} - retry ${errors}/${maxErrors} (${Math.round(\n runtime / 1000\n )}s)`\n );\n }\n }\n if (runtime < timeout) {\n stopProgressIndicator(\n `Updates applied in ${Math.round(\n runtime / 1000\n )}s with final status: ${status}`,\n 'success'\n );\n return true;\n } else {\n stopProgressIndicator(\n `Updates timed out after ${Math.round(\n runtime / 1000\n )}s with final status: ${status}`,\n 'warn'\n );\n return false;\n }\n } else {\n stopProgressIndicator(\n `Updates are being applied. Changes may take up to 10 minutes to propagate, during which time you will not be able to make further updates.`,\n 'success'\n );\n return true;\n }\n } catch (error) {\n stopProgressIndicator(\n `Error: ${error.response?.data?.code || error} - ${\n error.response?.data?.message\n }`,\n 'fail'\n );\n return false;\n }\n}\n"],"mappings":"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"}
|