firebase-tools 9.19.0 → 9.20.0

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.
Files changed (39) hide show
  1. package/CHANGELOG.md +1 -3
  2. package/lib/api.js +1 -0
  3. package/lib/commands/crashlytics-symbols-upload.js +146 -0
  4. package/lib/commands/ext-configure.js +2 -0
  5. package/lib/commands/ext-install.js +23 -2
  6. package/lib/commands/ext-uninstall.js +6 -0
  7. package/lib/commands/ext-update.js +9 -2
  8. package/lib/commands/functions-config-export.js +115 -0
  9. package/lib/commands/functions-delete.js +44 -35
  10. package/lib/commands/functions-list.js +1 -1
  11. package/lib/commands/index.js +8 -0
  12. package/lib/deploy/functions/backend.js +13 -4
  13. package/lib/deploy/functions/prepare.js +3 -0
  14. package/lib/deploy/functions/runtimes/node/parseTriggers.js +13 -1
  15. package/lib/deploy/functions/triggerRegionHelper.js +32 -0
  16. package/lib/downloadUtils.js +37 -0
  17. package/lib/emulator/auth/apiSpec.js +513 -1
  18. package/lib/emulator/auth/handlers.js +4 -3
  19. package/lib/emulator/auth/operations.js +144 -14
  20. package/lib/emulator/auth/server.js +10 -13
  21. package/lib/emulator/auth/state.js +132 -13
  22. package/lib/emulator/download.js +2 -31
  23. package/lib/emulator/functionsEmulatorRuntime.js +29 -7
  24. package/lib/extensions/askUserForConsent.js +14 -1
  25. package/lib/extensions/askUserForParam.js +72 -3
  26. package/lib/extensions/extensionsApi.js +1 -0
  27. package/lib/extensions/extensionsHelper.js +1 -0
  28. package/lib/extensions/paramHelper.js +3 -2
  29. package/lib/extensions/secretsUtils.js +58 -0
  30. package/lib/functional.js +8 -1
  31. package/lib/functions/env.js +10 -4
  32. package/lib/functions/runtimeConfigExport.js +137 -0
  33. package/lib/gcp/cloudfunctions.js +4 -2
  34. package/lib/gcp/cloudfunctionsv2.js +6 -0
  35. package/lib/gcp/secretManager.js +111 -0
  36. package/lib/gcp/storage.js +16 -0
  37. package/lib/previews.js +1 -1
  38. package/lib/requireInteractive.js +12 -0
  39. package/package.json +1 -1
@@ -0,0 +1,32 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.setTriggerRegion = void 0;
4
+ const backend = require("./backend");
5
+ const storage = require("../../gcp/storage");
6
+ const error_1 = require("../../error");
7
+ async function setTriggerRegion(want, have) {
8
+ var _a;
9
+ for (const wantFn of want) {
10
+ if (wantFn.platform === "gcfv1" || !backend.isEventTrigger(wantFn.trigger)) {
11
+ continue;
12
+ }
13
+ const match = (_a = have.find(backend.sameFunctionName(wantFn))) === null || _a === void 0 ? void 0 : _a.trigger;
14
+ if (match === null || match === void 0 ? void 0 : match.region) {
15
+ wantFn.trigger.region = match.region;
16
+ }
17
+ else {
18
+ await setTriggerRegionFromTriggerType(wantFn.trigger);
19
+ }
20
+ }
21
+ }
22
+ exports.setTriggerRegion = setTriggerRegion;
23
+ async function setTriggerRegionFromTriggerType(trigger) {
24
+ if (trigger.eventFilters.bucket) {
25
+ try {
26
+ trigger.region = (await storage.getBucket(trigger.eventFilters.bucket)).location.toLowerCase();
27
+ }
28
+ catch (err) {
29
+ throw new error_1.FirebaseError("Can't find the storage bucket region", { original: err });
30
+ }
31
+ }
32
+ }
@@ -0,0 +1,37 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.downloadToTmp = void 0;
4
+ const url_1 = require("url");
5
+ const fs = require("fs-extra");
6
+ const ProgressBar = require("progress");
7
+ const tmp = require("tmp");
8
+ const apiv2_1 = require("./apiv2");
9
+ const error_1 = require("./error");
10
+ async function downloadToTmp(remoteUrl) {
11
+ const u = new url_1.URL(remoteUrl);
12
+ const c = new apiv2_1.Client({ urlPrefix: u.origin, auth: false });
13
+ const tmpfile = tmp.fileSync();
14
+ const writeStream = fs.createWriteStream(tmpfile.name);
15
+ const res = await c.request({
16
+ method: "GET",
17
+ path: u.pathname,
18
+ queryParams: u.searchParams,
19
+ responseType: "stream",
20
+ resolveOnHTTPError: true,
21
+ });
22
+ if (res.status !== 200) {
23
+ throw new error_1.FirebaseError(`download failed, status ${res.status}`, { exit: 1 });
24
+ }
25
+ const total = parseInt(res.response.headers.get("content-length") || "0", 10);
26
+ const totalMb = Math.ceil(total / 1000000);
27
+ const bar = new ProgressBar(`Progress: :bar (:percent of ${totalMb}MB)`, { total, head: ">" });
28
+ res.body.on("data", (chunk) => {
29
+ bar.tick(chunk.length);
30
+ });
31
+ await new Promise((resolve) => {
32
+ writeStream.on("finish", resolve);
33
+ res.body.pipe(writeStream);
34
+ });
35
+ return tmpfile.name;
36
+ }
37
+ exports.downloadToTmp = downloadToTmp;
@@ -2055,6 +2055,74 @@ exports.default = {
2055
2055
  { $ref: "#/components/parameters/upload_protocol" },
2056
2056
  ],
2057
2057
  },
2058
+ "/v2/projects/{targetProjectId}/config": {
2059
+ get: {
2060
+ description: "Retrieve an Identity Toolkit project configuration.",
2061
+ operationId: "identitytoolkit.projects.getConfig",
2062
+ responses: {
2063
+ 200: {
2064
+ description: "Successful response",
2065
+ content: {
2066
+ "*/*": {
2067
+ schema: { $ref: "#/components/schemas/GoogleCloudIdentitytoolkitAdminV2Config" },
2068
+ },
2069
+ },
2070
+ },
2071
+ },
2072
+ parameters: [
2073
+ { name: "targetProjectId", in: "path", required: true, schema: { type: "string" } },
2074
+ ],
2075
+ security: [{ Oauth2: ["https://www.googleapis.com/auth/cloud-platform"] }, { apiKey: [] }],
2076
+ tags: ["projects"],
2077
+ },
2078
+ patch: {
2079
+ description: "Update an Identity Toolkit project configuration.",
2080
+ operationId: "identitytoolkit.projects.updateConfig",
2081
+ responses: {
2082
+ 200: {
2083
+ description: "Successful response",
2084
+ content: {
2085
+ "*/*": {
2086
+ schema: { $ref: "#/components/schemas/GoogleCloudIdentitytoolkitAdminV2Config" },
2087
+ },
2088
+ },
2089
+ },
2090
+ },
2091
+ parameters: [
2092
+ { name: "targetProjectId", in: "path", required: true, schema: { type: "string" } },
2093
+ {
2094
+ name: "updateMask",
2095
+ in: "query",
2096
+ description: "The update mask applies to the resource. Fields set in the config but not included in this update mask will be ignored. For the `FieldMask` definition, see https://developers.google.com/protocol-buffers/docs/reference/google.protobuf#fieldmask",
2097
+ schema: { type: "string" },
2098
+ },
2099
+ ],
2100
+ requestBody: {
2101
+ content: {
2102
+ "application/json": {
2103
+ schema: { $ref: "#/components/schemas/GoogleCloudIdentitytoolkitAdminV2Config" },
2104
+ },
2105
+ },
2106
+ },
2107
+ security: [
2108
+ { Oauth2: ["https://www.googleapis.com/auth/cloud-platform"] },
2109
+ { Oauth2: ["https://www.googleapis.com/auth/firebase"] },
2110
+ { apiKey: [] },
2111
+ ],
2112
+ tags: ["projects"],
2113
+ },
2114
+ parameters: [
2115
+ { $ref: "#/components/parameters/access_token" },
2116
+ { $ref: "#/components/parameters/alt" },
2117
+ { $ref: "#/components/parameters/callback" },
2118
+ { $ref: "#/components/parameters/fields" },
2119
+ { $ref: "#/components/parameters/oauth_token" },
2120
+ { $ref: "#/components/parameters/prettyPrint" },
2121
+ { $ref: "#/components/parameters/quotaUser" },
2122
+ { $ref: "#/components/parameters/uploadType" },
2123
+ { $ref: "#/components/parameters/upload_protocol" },
2124
+ ],
2125
+ },
2058
2126
  "/v2/projects/{targetProjectId}/defaultSupportedIdpConfigs": {
2059
2127
  post: {
2060
2128
  description: "Create a default supported Idp configuration for an Identity Toolkit project.",
@@ -3591,6 +3659,41 @@ exports.default = {
3591
3659
  tags: ["emulator"],
3592
3660
  },
3593
3661
  },
3662
+ "/emulator/v1/projects/{targetProjectId}/tenants/{tenantId}/oobCodes": {
3663
+ parameters: [
3664
+ {
3665
+ name: "targetProjectId",
3666
+ in: "path",
3667
+ description: "The ID of the Google Cloud project that the confirmation codes belongs to.",
3668
+ required: true,
3669
+ schema: { type: "string" },
3670
+ },
3671
+ {
3672
+ name: "tenantId",
3673
+ in: "path",
3674
+ description: "The ID of the Identity Platform tenant the accounts belongs to. If not specified, accounts on the Identity Platform project are returned.",
3675
+ required: true,
3676
+ schema: { type: "string" },
3677
+ },
3678
+ ],
3679
+ servers: [{ url: "" }],
3680
+ get: {
3681
+ description: "List all pending confirmation codes for the project.",
3682
+ operationId: "emulator.projects.oobCodes.list",
3683
+ responses: {
3684
+ 200: {
3685
+ description: "Successful response",
3686
+ content: {
3687
+ "application/json": {
3688
+ schema: { $ref: "#/components/schemas/EmulatorV1ProjectsOobCodes" },
3689
+ },
3690
+ },
3691
+ },
3692
+ },
3693
+ security: [],
3694
+ tags: ["emulator"],
3695
+ },
3696
+ },
3594
3697
  "/emulator/v1/projects/{targetProjectId}/verificationCodes": {
3595
3698
  parameters: [
3596
3699
  {
@@ -3619,6 +3722,41 @@ exports.default = {
3619
3722
  tags: ["emulator"],
3620
3723
  },
3621
3724
  },
3725
+ "/emulator/v1/projects/{targetProjectId}/tenants/{tenantId}/verificationCodes": {
3726
+ parameters: [
3727
+ {
3728
+ name: "targetProjectId",
3729
+ in: "path",
3730
+ description: "The ID of the Google Cloud project that the verification codes belongs to.",
3731
+ required: true,
3732
+ schema: { type: "string" },
3733
+ },
3734
+ {
3735
+ name: "tenantId",
3736
+ in: "path",
3737
+ description: "The ID of the Identity Platform tenant the accounts belongs to. If not specified, accounts on the Identity Platform project are returned.",
3738
+ required: true,
3739
+ schema: { type: "string" },
3740
+ },
3741
+ ],
3742
+ servers: [{ url: "" }],
3743
+ get: {
3744
+ description: "List all pending phone verification codes for the project.",
3745
+ operationId: "emulator.projects.verificationCodes.list",
3746
+ responses: {
3747
+ 200: {
3748
+ description: "Successful response",
3749
+ content: {
3750
+ "application/json": {
3751
+ schema: { $ref: "#/components/schemas/EmulatorV1ProjectsOobCodes" },
3752
+ },
3753
+ },
3754
+ },
3755
+ },
3756
+ security: [],
3757
+ tags: ["emulator"],
3758
+ },
3759
+ },
3622
3760
  },
3623
3761
  components: {
3624
3762
  schemas: {
@@ -5530,6 +5668,16 @@ exports.default = {
5530
5668
  },
5531
5669
  type: "object",
5532
5670
  },
5671
+ GoogleCloudIdentitytoolkitAdminV2Anonymous: {
5672
+ description: "Configuration options related to authenticating an anonymous user.",
5673
+ properties: {
5674
+ enabled: {
5675
+ description: "Whether anonymous user auth is enabled for the project or not.",
5676
+ type: "boolean",
5677
+ },
5678
+ },
5679
+ type: "object",
5680
+ },
5533
5681
  GoogleCloudIdentitytoolkitAdminV2AppleSignInConfig: {
5534
5682
  description: "Additional config for SignInWithApple.",
5535
5683
  properties: {
@@ -5544,6 +5692,41 @@ exports.default = {
5544
5692
  },
5545
5693
  type: "object",
5546
5694
  },
5695
+ GoogleCloudIdentitytoolkitAdminV2BlockingFunctionsConfig: {
5696
+ description: "Configuration related to Blocking Functions.",
5697
+ properties: {
5698
+ forwardInboundCredentials: {
5699
+ $ref: "#/components/schemas/GoogleCloudIdentitytoolkitAdminV2ForwardInboundCredentials",
5700
+ },
5701
+ triggers: {
5702
+ additionalProperties: {
5703
+ $ref: "#/components/schemas/GoogleCloudIdentitytoolkitAdminV2Trigger",
5704
+ },
5705
+ description: 'Map of Trigger to event type. Key should be one of the supported event types: "beforeCreate", "beforeSignIn"',
5706
+ type: "object",
5707
+ },
5708
+ },
5709
+ type: "object",
5710
+ },
5711
+ GoogleCloudIdentitytoolkitAdminV2ClientConfig: {
5712
+ description: "Options related to how clients making requests on behalf of a project should be configured.",
5713
+ properties: {
5714
+ apiKey: {
5715
+ description: "Output only. API key that can be used when making requests for this project.",
5716
+ readOnly: true,
5717
+ type: "string",
5718
+ },
5719
+ firebaseSubdomain: {
5720
+ description: "Output only. Firebase subdomain.",
5721
+ readOnly: true,
5722
+ type: "string",
5723
+ },
5724
+ permissions: {
5725
+ $ref: "#/components/schemas/GoogleCloudIdentitytoolkitAdminV2Permissions",
5726
+ },
5727
+ },
5728
+ type: "object",
5729
+ },
5547
5730
  GoogleCloudIdentitytoolkitAdminV2CodeFlowConfig: {
5548
5731
  description: "Additional config for Apple for code flow.",
5549
5732
  properties: {
@@ -5556,6 +5739,46 @@ exports.default = {
5556
5739
  },
5557
5740
  type: "object",
5558
5741
  },
5742
+ GoogleCloudIdentitytoolkitAdminV2Config: {
5743
+ description: "Represents an Identity Toolkit project.",
5744
+ properties: {
5745
+ authorizedDomains: {
5746
+ description: "List of domains authorized for OAuth redirects",
5747
+ items: { type: "string" },
5748
+ type: "array",
5749
+ },
5750
+ blockingFunctions: {
5751
+ $ref: "#/components/schemas/GoogleCloudIdentitytoolkitAdminV2BlockingFunctionsConfig",
5752
+ },
5753
+ client: { $ref: "#/components/schemas/GoogleCloudIdentitytoolkitAdminV2ClientConfig" },
5754
+ mfa: {
5755
+ $ref: "#/components/schemas/GoogleCloudIdentitytoolkitAdminV2MultiFactorAuthConfig",
5756
+ },
5757
+ monitoring: {
5758
+ $ref: "#/components/schemas/GoogleCloudIdentitytoolkitAdminV2MonitoringConfig",
5759
+ },
5760
+ multiTenant: {
5761
+ $ref: "#/components/schemas/GoogleCloudIdentitytoolkitAdminV2MultiTenantConfig",
5762
+ },
5763
+ name: {
5764
+ description: 'Output only. The name of the Config resource. Example: "projects/my-awesome-project/config"',
5765
+ readOnly: true,
5766
+ type: "string",
5767
+ },
5768
+ notification: {
5769
+ $ref: "#/components/schemas/GoogleCloudIdentitytoolkitAdminV2NotificationConfig",
5770
+ },
5771
+ quota: { $ref: "#/components/schemas/GoogleCloudIdentitytoolkitAdminV2QuotaConfig" },
5772
+ signIn: { $ref: "#/components/schemas/GoogleCloudIdentitytoolkitAdminV2SignInConfig" },
5773
+ subtype: {
5774
+ description: "Output only. The subtype of this config.",
5775
+ enum: ["SUBTYPE_UNSPECIFIED", "IDENTITY_PLATFORM", "FIREBASE_AUTH"],
5776
+ readOnly: true,
5777
+ type: "string",
5778
+ },
5779
+ },
5780
+ type: "object",
5781
+ },
5559
5782
  GoogleCloudIdentitytoolkitAdminV2DefaultSupportedIdp: {
5560
5783
  description: "Standard Identity Toolkit-trusted IDPs.",
5561
5784
  properties: {
@@ -5583,6 +5806,94 @@ exports.default = {
5583
5806
  },
5584
5807
  type: "object",
5585
5808
  },
5809
+ GoogleCloudIdentitytoolkitAdminV2DnsInfo: {
5810
+ description: "Information of custom domain DNS verification. By default, default_domain will be used. A custom domain can be configured using VerifyCustomDomain.",
5811
+ properties: {
5812
+ customDomain: {
5813
+ description: "Output only. The applied verified custom domain.",
5814
+ readOnly: true,
5815
+ type: "string",
5816
+ },
5817
+ customDomainState: {
5818
+ description: "Output only. The current verification state of the custom domain. The custom domain will only be used once the domain verification is successful.",
5819
+ enum: [
5820
+ "VERIFICATION_STATE_UNSPECIFIED",
5821
+ "NOT_STARTED",
5822
+ "IN_PROGRESS",
5823
+ "FAILED",
5824
+ "SUCCEEDED",
5825
+ ],
5826
+ readOnly: true,
5827
+ type: "string",
5828
+ },
5829
+ domainVerificationRequestTime: {
5830
+ description: "Output only. The timestamp of initial request for the current domain verification.",
5831
+ format: "google-datetime",
5832
+ readOnly: true,
5833
+ type: "string",
5834
+ },
5835
+ pendingCustomDomain: {
5836
+ description: "Output only. The custom domain that's to be verified.",
5837
+ readOnly: true,
5838
+ type: "string",
5839
+ },
5840
+ useCustomDomain: { description: "Whether to use custom domain.", type: "boolean" },
5841
+ },
5842
+ type: "object",
5843
+ },
5844
+ GoogleCloudIdentitytoolkitAdminV2Email: {
5845
+ description: "Configuration options related to authenticating a user by their email address.",
5846
+ properties: {
5847
+ enabled: {
5848
+ description: "Whether email auth is enabled for the project or not.",
5849
+ type: "boolean",
5850
+ },
5851
+ passwordRequired: {
5852
+ description: "Whether a password is required for email auth or not. If true, both an email and password must be provided to sign in. If false, a user may sign in via either email/password or email link.",
5853
+ type: "boolean",
5854
+ },
5855
+ },
5856
+ type: "object",
5857
+ },
5858
+ GoogleCloudIdentitytoolkitAdminV2EmailTemplate: {
5859
+ description: "Email template. The subject and body fields can contain the following placeholders which will be replaced with the appropriate values: %LINK% - The link to use to redeem the send OOB code. %EMAIL% - The email where the email is being sent. %NEW_EMAIL% - The new email being set for the account (when applicable). %APP_NAME% - The GCP project's display name. %DISPLAY_NAME% - The user's display name.",
5860
+ properties: {
5861
+ body: { description: "Email body", type: "string" },
5862
+ bodyFormat: {
5863
+ description: "Email body format",
5864
+ enum: ["BODY_FORMAT_UNSPECIFIED", "PLAIN_TEXT", "HTML"],
5865
+ type: "string",
5866
+ },
5867
+ customized: {
5868
+ description: "Output only. Whether the body or subject of the email is customized.",
5869
+ readOnly: true,
5870
+ type: "boolean",
5871
+ },
5872
+ replyTo: { description: "Reply-to address", type: "string" },
5873
+ senderDisplayName: { description: "Sender display name", type: "string" },
5874
+ senderLocalPart: { description: "Local part of From address", type: "string" },
5875
+ subject: { description: "Subject of the email", type: "string" },
5876
+ },
5877
+ type: "object",
5878
+ },
5879
+ GoogleCloudIdentitytoolkitAdminV2ForwardInboundCredentials: {
5880
+ description: "Indicates which credentials to pass to the registered Blocking Functions.",
5881
+ properties: {
5882
+ accessToken: {
5883
+ description: "Whether to pass the user's OAuth identity provider's access token.",
5884
+ type: "boolean",
5885
+ },
5886
+ idToken: {
5887
+ description: "Whether to pass the user's OIDC identity provider's ID token.",
5888
+ type: "boolean",
5889
+ },
5890
+ refreshToken: {
5891
+ description: "Whether to pass the user's OAuth identity provider's refresh token.",
5892
+ type: "boolean",
5893
+ },
5894
+ },
5895
+ type: "object",
5896
+ },
5586
5897
  GoogleCloudIdentitytoolkitAdminV2HashConfig: {
5587
5898
  description: "History information of the hash algorithm and key. Different accounts' passwords may be generated by different version.",
5588
5899
  properties: {
@@ -5765,6 +6076,15 @@ exports.default = {
5765
6076
  },
5766
6077
  type: "object",
5767
6078
  },
6079
+ GoogleCloudIdentitytoolkitAdminV2MonitoringConfig: {
6080
+ description: "Configuration related to monitoring project activity.",
6081
+ properties: {
6082
+ requestLogging: {
6083
+ $ref: "#/components/schemas/GoogleCloudIdentitytoolkitAdminV2RequestLogging",
6084
+ },
6085
+ },
6086
+ type: "object",
6087
+ },
5768
6088
  GoogleCloudIdentitytoolkitAdminV2MultiFactorAuthConfig: {
5769
6089
  description: "Options related to MultiFactor Authentication for the project.",
5770
6090
  properties: {
@@ -5781,6 +6101,32 @@ exports.default = {
5781
6101
  },
5782
6102
  type: "object",
5783
6103
  },
6104
+ GoogleCloudIdentitytoolkitAdminV2MultiTenantConfig: {
6105
+ description: "Configuration related to multi-tenant functionality.",
6106
+ properties: {
6107
+ allowTenants: {
6108
+ description: "Whether this project can have tenants or not.",
6109
+ type: "boolean",
6110
+ },
6111
+ defaultTenantLocation: {
6112
+ description: 'The default cloud parent org or folder that the tenant project should be created under. The parent resource name should be in the format of "/", such as "folders/123" or "organizations/456". If the value is not set, the tenant will be created under the same organization or folder as the agent project.',
6113
+ type: "string",
6114
+ },
6115
+ },
6116
+ type: "object",
6117
+ },
6118
+ GoogleCloudIdentitytoolkitAdminV2NotificationConfig: {
6119
+ description: "Configuration related to sending notifications to users.",
6120
+ properties: {
6121
+ defaultLocale: {
6122
+ description: "Default locale used for email and SMS in IETF BCP 47 format.",
6123
+ type: "string",
6124
+ },
6125
+ sendEmail: { $ref: "#/components/schemas/GoogleCloudIdentitytoolkitAdminV2SendEmail" },
6126
+ sendSms: { $ref: "#/components/schemas/GoogleCloudIdentitytoolkitAdminV2SendSms" },
6127
+ },
6128
+ type: "object",
6129
+ },
5784
6130
  GoogleCloudIdentitytoolkitAdminV2OAuthIdpConfig: {
5785
6131
  description: "Configuration options for authenticating with an OAuth IDP.",
5786
6132
  properties: {
@@ -5826,6 +6172,139 @@ exports.default = {
5826
6172
  },
5827
6173
  type: "object",
5828
6174
  },
6175
+ GoogleCloudIdentitytoolkitAdminV2Permissions: {
6176
+ description: "Configuration related to restricting a user's ability to affect their account.",
6177
+ properties: {
6178
+ disabledUserDeletion: {
6179
+ description: "When true, end users cannot delete their account on the associated project through any of our API methods",
6180
+ type: "boolean",
6181
+ },
6182
+ disabledUserSignup: {
6183
+ description: "When true, end users cannot sign up for a new account on the associated project through any of our API methods",
6184
+ type: "boolean",
6185
+ },
6186
+ },
6187
+ type: "object",
6188
+ },
6189
+ GoogleCloudIdentitytoolkitAdminV2PhoneNumber: {
6190
+ description: "Configuration options related to authenticated a user by their phone number.",
6191
+ properties: {
6192
+ enabled: {
6193
+ description: "Whether phone number auth is enabled for the project or not.",
6194
+ type: "boolean",
6195
+ },
6196
+ testPhoneNumbers: {
6197
+ additionalProperties: { type: "string" },
6198
+ description: "A map of that can be used for phone auth testing.",
6199
+ type: "object",
6200
+ },
6201
+ },
6202
+ type: "object",
6203
+ },
6204
+ GoogleCloudIdentitytoolkitAdminV2QuotaConfig: {
6205
+ description: "Configuration related to quotas.",
6206
+ properties: {
6207
+ signUpQuotaConfig: {
6208
+ $ref: "#/components/schemas/GoogleCloudIdentitytoolkitAdminV2TemporaryQuota",
6209
+ },
6210
+ },
6211
+ type: "object",
6212
+ },
6213
+ GoogleCloudIdentitytoolkitAdminV2RequestLogging: {
6214
+ description: "Configuration for logging requests made to this project to Stackdriver Logging",
6215
+ properties: {
6216
+ enabled: {
6217
+ description: "Whether logging is enabled for this project or not.",
6218
+ type: "boolean",
6219
+ },
6220
+ },
6221
+ type: "object",
6222
+ },
6223
+ GoogleCloudIdentitytoolkitAdminV2SendEmail: {
6224
+ description: "Options for email sending.",
6225
+ properties: {
6226
+ callbackUri: { description: "action url in email template.", type: "string" },
6227
+ changeEmailTemplate: {
6228
+ $ref: "#/components/schemas/GoogleCloudIdentitytoolkitAdminV2EmailTemplate",
6229
+ },
6230
+ dnsInfo: { $ref: "#/components/schemas/GoogleCloudIdentitytoolkitAdminV2DnsInfo" },
6231
+ legacyResetPasswordTemplate: {
6232
+ $ref: "#/components/schemas/GoogleCloudIdentitytoolkitAdminV2EmailTemplate",
6233
+ },
6234
+ method: {
6235
+ description: "The method used for sending an email.",
6236
+ enum: ["METHOD_UNSPECIFIED", "DEFAULT", "CUSTOM_SMTP"],
6237
+ type: "string",
6238
+ },
6239
+ resetPasswordTemplate: {
6240
+ $ref: "#/components/schemas/GoogleCloudIdentitytoolkitAdminV2EmailTemplate",
6241
+ },
6242
+ revertSecondFactorAdditionTemplate: {
6243
+ $ref: "#/components/schemas/GoogleCloudIdentitytoolkitAdminV2EmailTemplate",
6244
+ },
6245
+ smtp: { $ref: "#/components/schemas/GoogleCloudIdentitytoolkitAdminV2Smtp" },
6246
+ verifyEmailTemplate: {
6247
+ $ref: "#/components/schemas/GoogleCloudIdentitytoolkitAdminV2EmailTemplate",
6248
+ },
6249
+ },
6250
+ type: "object",
6251
+ },
6252
+ GoogleCloudIdentitytoolkitAdminV2SendSms: {
6253
+ description: "Options for SMS sending.",
6254
+ properties: {
6255
+ smsTemplate: {
6256
+ $ref: "#/components/schemas/GoogleCloudIdentitytoolkitAdminV2SmsTemplate",
6257
+ },
6258
+ useDeviceLocale: {
6259
+ description: "Whether to use the accept_language header for SMS.",
6260
+ type: "boolean",
6261
+ },
6262
+ },
6263
+ type: "object",
6264
+ },
6265
+ GoogleCloudIdentitytoolkitAdminV2SignInConfig: {
6266
+ description: "Configuration related to local sign in methods.",
6267
+ properties: {
6268
+ allowDuplicateEmails: {
6269
+ description: "Whether to allow more than one account to have the same email.",
6270
+ type: "boolean",
6271
+ },
6272
+ anonymous: { $ref: "#/components/schemas/GoogleCloudIdentitytoolkitAdminV2Anonymous" },
6273
+ email: { $ref: "#/components/schemas/GoogleCloudIdentitytoolkitAdminV2Email" },
6274
+ hashConfig: { $ref: "#/components/schemas/GoogleCloudIdentitytoolkitAdminV2HashConfig" },
6275
+ phoneNumber: {
6276
+ $ref: "#/components/schemas/GoogleCloudIdentitytoolkitAdminV2PhoneNumber",
6277
+ },
6278
+ },
6279
+ type: "object",
6280
+ },
6281
+ GoogleCloudIdentitytoolkitAdminV2SmsTemplate: {
6282
+ description: "The template to use when sending an SMS.",
6283
+ properties: {
6284
+ content: {
6285
+ description: "Output only. The SMS's content. Can contain the following placeholders which will be replaced with the appropriate values: %APP_NAME% - For Android or iOS apps, the app's display name. For web apps, the domain hosting the application. %LOGIN_CODE% - The OOB code being sent in the SMS.",
6286
+ readOnly: true,
6287
+ type: "string",
6288
+ },
6289
+ },
6290
+ type: "object",
6291
+ },
6292
+ GoogleCloudIdentitytoolkitAdminV2Smtp: {
6293
+ description: "Configuration for SMTP relay",
6294
+ properties: {
6295
+ host: { description: "SMTP relay host", type: "string" },
6296
+ password: { description: "SMTP relay password", type: "string" },
6297
+ port: { description: "SMTP relay port", format: "int32", type: "integer" },
6298
+ securityMode: {
6299
+ description: "SMTP security mode.",
6300
+ enum: ["SECURITY_MODE_UNSPECIFIED", "SSL", "START_TLS"],
6301
+ type: "string",
6302
+ },
6303
+ senderEmail: { description: "Sender email for the SMTP relay", type: "string" },
6304
+ username: { description: "SMTP relay username", type: "string" },
6305
+ },
6306
+ type: "object",
6307
+ },
5829
6308
  GoogleCloudIdentitytoolkitAdminV2SpCertificate: {
5830
6309
  description: "The SP's certificate data for IDP to verify the SAMLRequest generated by the SP.",
5831
6310
  properties: {
@@ -5855,6 +6334,27 @@ exports.default = {
5855
6334
  },
5856
6335
  type: "object",
5857
6336
  },
6337
+ GoogleCloudIdentitytoolkitAdminV2TemporaryQuota: {
6338
+ description: "Temporary quota increase / decrease",
6339
+ properties: {
6340
+ quota: {
6341
+ description: "Corresponds to the 'refill_token_count' field in QuotaServer config",
6342
+ format: "int64",
6343
+ type: "string",
6344
+ },
6345
+ quotaDuration: {
6346
+ description: "How long this quota will be active for",
6347
+ format: "google-duration",
6348
+ type: "string",
6349
+ },
6350
+ startTime: {
6351
+ description: "When this quota will take affect",
6352
+ format: "google-datetime",
6353
+ type: "string",
6354
+ },
6355
+ },
6356
+ type: "object",
6357
+ },
5858
6358
  GoogleCloudIdentitytoolkitAdminV2Tenant: {
5859
6359
  description: "A Tenant contains configuration for the tenant in a multi-tenant project.",
5860
6360
  properties: {
@@ -5895,6 +6395,18 @@ exports.default = {
5895
6395
  },
5896
6396
  type: "object",
5897
6397
  },
6398
+ GoogleCloudIdentitytoolkitAdminV2Trigger: {
6399
+ description: "Synchronous Cloud Function with HTTP Trigger",
6400
+ properties: {
6401
+ functionUri: { description: "HTTP URI trigger for the Cloud Function.", type: "string" },
6402
+ updateTime: {
6403
+ description: "When the trigger was changed.",
6404
+ format: "google-datetime",
6405
+ type: "string",
6406
+ },
6407
+ },
6408
+ type: "object",
6409
+ },
5898
6410
  GoogleCloudIdentitytoolkitV2AutoRetrievalInfo: {
5899
6411
  description: "The information required to auto-retrieve an SMS.",
5900
6412
  properties: {
@@ -6193,7 +6705,7 @@ exports.default = {
6193
6705
  type: "array",
6194
6706
  },
6195
6707
  bindings: {
6196
- description: "Associates a list of `members` to a `role`. Optionally, may specify a `condition` that determines how and when the `bindings` are applied. Each of the `bindings` must contain at least one member.",
6708
+ description: "Associates a list of `members` to a `role`. Optionally, may specify a `condition` that determines how and when the `bindings` are applied. Each of the `bindings` must contain at least one member. The `bindings` in a `Policy` can refer to up to 1,500 members; up to 250 of these members can be Google groups. Each occurrence of a member counts towards these limits. For example, if the `bindings` grant 50 different roles to `user:alice@example.com`, and not to any other member, then you can add another 1,450 members to the `bindings` in the `Policy`.",
6197
6709
  items: { $ref: "#/components/schemas/GoogleIamV1Binding" },
6198
6710
  type: "array",
6199
6711
  },