Definitions for @turbot/gcp-firebase

AndroidApp

{
"description": "Details of a Firebase App for Android.",
"properties": {
"apiKeyId": {
"description": "The globally unique, Google-assigned identifier (UID) for the Firebase API key associated with the `AndroidApp`. Be aware that this value is the UID of the API key, _not_ the [`keyString`](https://cloud.google.com/api-keys/docs/reference/rest/v2/projects.locations.keys#Key.FIELDS.key_string) of the API key. The `keyString` is the value that can be found in the App's [configuration artifact](../../rest/v1beta1/projects.androidApps/getConfig). If `api_key_id` is not set in requests to [`androidApps.Create`](../../rest/v1beta1/projects.androidApps/create), then Firebase automatically associates an `api_key_id` with the `AndroidApp`. This auto-associated key may be an existing valid key or, if no valid key exists, a new one will be provisioned. In patch requests, `api_key_id` cannot be set to an empty value, and the new UID must have no restrictions or only have restrictions that are valid for the associated `AndroidApp`. We recommend using the [Google Cloud Console](https://console.cloud.google.com/apis/credentials) to manage API keys.",
"type": "string"
},
"appId": {
"description": "Output only. Immutable. The globally unique, Firebase-assigned identifier for the `AndroidApp`. This identifier should be treated as an opaque token, as the data format is not specified.",
"readOnly": true,
"type": "string"
},
"displayName": {
"description": "The user-assigned display name for the `AndroidApp`.",
"type": "string"
},
"etag": {
"description": "This checksum is computed by the server based on the value of other fields, and it may be sent with update requests to ensure the client has an up-to-date value before proceeding. Learn more about `etag` in Google's [AIP-154 standard](https://google.aip.dev/154#declarative-friendly-resources). This etag is strongly validated.",
"type": "string"
},
"expireTime": {
"description": "Output only. Timestamp of when the App will be considered expired and cannot be undeleted. This value is only provided if the App is in the `DELETED` state.",
"readOnly": true,
"type": "string"
},
"name": {
"description": "The resource name of the AndroidApp, in the format: projects/ PROJECT_IDENTIFIER/androidApps/APP_ID * PROJECT_IDENTIFIER: the parent Project's [`ProjectNumber`](../projects#FirebaseProject.FIELDS.project_number) ***(recommended)*** or its [`ProjectId`](../projects#FirebaseProject.FIELDS.project_id). Learn more about using project identifiers in Google's [AIP 2510 standard](https://google.aip.dev/cloud/2510). Note that the value for PROJECT_IDENTIFIER in any response body will be the `ProjectId`. * APP_ID: the globally unique, Firebase-assigned identifier for the App (see [`appId`](../projects.androidApps#AndroidApp.FIELDS.app_id)).",
"type": "string"
},
"packageName": {
"description": "Immutable. The canonical package name of the Android app as would appear in the Google Play Developer Console.",
"type": "string"
},
"projectId": {
"description": "Output only. Immutable. A user-assigned unique identifier of the parent FirebaseProject for the `AndroidApp`.",
"readOnly": true,
"type": "string"
},
"sha1Hashes": {
"description": "The SHA1 certificate hashes for the AndroidApp.",
"items": {
"type": "string"
},
"type": "array"
},
"sha256Hashes": {
"description": "The SHA256 certificate hashes for the AndroidApp.",
"items": {
"type": "string"
},
"type": "array"
},
"state": {
"description": "Output only. The lifecycle state of the App.",
"enum": [
"STATE_UNSPECIFIED",
"ACTIVE",
"DELETED"
],
"readOnly": true,
"type": "string"
}
},
"type": "object",
".turbot": {
"uri": "tmod:@turbot/gcp-firebase#/definitions/AndroidApp",
"modUri": "tmod:@turbot/gcp-firebase"
}
}

firebase

{
"type": "object",
"properties": {
"name": {
"$ref": "#/definitions/firebaseName"
},
"state": {
"$ref": "gcp#/definitions/state"
},
"turbot": {
"type": "object",
"properties": {
"akas": {
"type": "array",
"items": {
"$ref": "#/definitions/firebaseAka"
}
},
"title": {
"type": "string"
},
"custom": {
"type": "object",
"properties": {
"gcp": {
"$ref": "gcp#/definitions/gcpMetadata"
}
}
}
}
}
},
"tests": [
{
"description": "Valid - base test",
"input": {
"name": "projects/123456789012/services/firebase.googleapis.com",
"turbot": {
"akas": [
"gcp://serviceusage.googleapis.com/projects/123456789012/services/firebase.googleapis.com"
],
"title": "Firebase",
"custom": {
"gcp": {
"projectId": "cse-legolas-2"
}
}
}
}
}
],
".turbot": {
"uri": "tmod:@turbot/gcp-firebase#/definitions/firebase",
"modUri": "tmod:@turbot/gcp-firebase"
}
}

firebaseAka

{
"type": "string",
"pattern": "^gcp://serviceusage.googleapis.com/projects/[0-9]{12}/services/firebase.googleapis.com",
"tests": [
{
"description": "Base",
"input": "gcp://serviceusage.googleapis.com/projects/123456789012/services/firebase.googleapis.com"
},
{
"description": "Invalid - aka",
"input": "gcp://serviceusage.googleapis.com/projectss/cse-legolas-2/services/firebase.googleapis.com",
"expected": false
}
],
".turbot": {
"uri": "tmod:@turbot/gcp-firebase#/definitions/firebaseAka",
"modUri": "tmod:@turbot/gcp-firebase"
}
}

firebaseName

{
"type": "string",
"pattern": "^projects/[0-9]{1,12}/services/firebase.googleapis.com$",
"tests": [
{
"description": "Base",
"input": "projects/123456789012/services/firebase.googleapis.com"
},
{
"description": "Invalid - firebase name",
"input": "gcp://serviceusage.googleapis.com/projects/cse-legolas-2/services/firebasezz.googleapis.com",
"expected": false
}
],
".turbot": {
"uri": "tmod:@turbot/gcp-firebase#/definitions/firebaseName",
"modUri": "tmod:@turbot/gcp-firebase"
}
}

firebaseProject

{
"type": "object",
"properties": {
"projectId": {
"type": "string"
},
"name": {
"type": "string"
},
"projectNumber": {
"type": "string"
},
"displayName": {
"type": "string"
},
"resources": {
"type": "object",
"properties": {
"hostingSite": {
"type": "string"
},
"realtimeDatabaseInstance": {
"type": "string"
},
"storageBucket": {
"type": "string"
},
"locationId": {
"type": "string"
}
}
},
"state": {
"type": "string"
},
"turbot": {
"type": "object",
"properties": {
"akas": {
"type": "array",
"items": {
"$ref": "#/definitions/firebaseProjectAka"
}
},
"metadata": {
"type": "object",
"properties": {
"createTimestamp": {
"$ref": "turbot#/definitions/isoTimestamp"
},
"gcp": {
"$ref": "gcp#/definitions/gcpMetadata"
}
}
}
}
}
},
"additionalProperties": true,
".turbot": {
"uri": "tmod:@turbot/gcp-firebase#/definitions/firebaseProject",
"modUri": "tmod:@turbot/gcp-firebase"
}
}

firebaseProjectAka

{
"type": "string",
"pattern": "^gcp://firebase.googleapis.com/projects/[a-z0-9-]{5,29}[a-z0-9]{1}",
"tests": [
{
"description": "Valid - Base case",
"input": "gcp://firebase.googleapis.com/projects/cse-legolas-2"
},
{
"description": "Invalid - Malformed resource collection",
"input": "gcp://firebase.googleapis.com/projects/cse-legolas-2",
"expected": false
},
{
"description": "Invalid - Malformed region name",
"input": "gcp://firebase.googleapis.com/projects/cse-legolas-2",
"expected": false
}
],
".turbot": {
"uri": "tmod:@turbot/gcp-firebase#/definitions/firebaseProjectAka",
"modUri": "tmod:@turbot/gcp-firebase"
}
}

IosApp

{
"description": "Details of a Firebase App for iOS.",
"properties": {
"apiKeyId": {
"description": "The globally unique, Google-assigned identifier (UID) for the Firebase API key associated with the `IosApp`. Be aware that this value is the UID of the API key, _not_ the [`keyString`](https://cloud.google.com/api-keys/docs/reference/rest/v2/projects.locations.keys#Key.FIELDS.key_string) of the API key. The `keyString` is the value that can be found in the App's [configuration artifact](../../rest/v1beta1/projects.iosApps/getConfig). If `api_key_id` is not set in requests to [`iosApps.Create`](../../rest/v1beta1/projects.iosApps/create), then Firebase automatically associates an `api_key_id` with the `IosApp`. This auto-associated key may be an existing valid key or, if no valid key exists, a new one will be provisioned. In patch requests, `api_key_id` cannot be set to an empty value, and the new UID must have no restrictions or only have restrictions that are valid for the associated `IosApp`. We recommend using the [Google Cloud Console](https://console.cloud.google.com/apis/credentials) to manage API keys.",
"type": "string"
},
"appId": {
"description": "Output only. Immutable. The globally unique, Firebase-assigned identifier for the `IosApp`. This identifier should be treated as an opaque token, as the data format is not specified.",
"readOnly": true,
"type": "string"
},
"appStoreId": {
"description": "The automatically generated Apple ID assigned to the iOS app by Apple in the iOS App Store.",
"type": "string"
},
"bundleId": {
"description": "Immutable. The canonical bundle ID of the iOS app as it would appear in the iOS AppStore.",
"type": "string"
},
"displayName": {
"description": "The user-assigned display name for the `IosApp`.",
"type": "string"
},
"etag": {
"description": "This checksum is computed by the server based on the value of other fields, and it may be sent with update requests to ensure the client has an up-to-date value before proceeding. Learn more about `etag` in Google's [AIP-154 standard](https://google.aip.dev/154#declarative-friendly-resources). This etag is strongly validated.",
"type": "string"
},
"expireTime": {
"description": "Output only. Timestamp of when the App will be considered expired and cannot be undeleted. This value is only provided if the App is in the `DELETED` state.",
"readOnly": true,
"type": "string"
},
"name": {
"description": "The resource name of the IosApp, in the format: projects/PROJECT_IDENTIFIER /iosApps/APP_ID * PROJECT_IDENTIFIER: the parent Project's [`ProjectNumber`](../projects#FirebaseProject.FIELDS.project_number) ***(recommended)*** or its [`ProjectId`](../projects#FirebaseProject.FIELDS.project_id). Learn more about using project identifiers in Google's [AIP 2510 standard](https://google.aip.dev/cloud/2510). Note that the value for PROJECT_IDENTIFIER in any response body will be the `ProjectId`. * APP_ID: the globally unique, Firebase-assigned identifier for the App (see [`appId`](../projects.iosApps#IosApp.FIELDS.app_id)).",
"type": "string"
},
"projectId": {
"description": "Output only. Immutable. A user-assigned unique identifier of the parent FirebaseProject for the `IosApp`.",
"readOnly": true,
"type": "string"
},
"state": {
"description": "Output only. The lifecycle state of the App.",
"enum": [
"STATE_UNSPECIFIED",
"ACTIVE",
"DELETED"
],
"readOnly": true,
"type": "string"
},
"teamId": {
"description": "The Apple Developer Team ID associated with the App in the App Store.",
"type": "string"
}
},
"type": "object",
".turbot": {
"uri": "tmod:@turbot/gcp-firebase#/definitions/IosApp",
"modUri": "tmod:@turbot/gcp-firebase"
}
}

WebApp

{
"description": "Details of a Firebase App for the web.",
"properties": {
"apiKeyId": {
"description": "The globally unique, Google-assigned identifier (UID) for the Firebase API key associated with the `WebApp`. Be aware that this value is the UID of the API key, _not_ the [`keyString`](https://cloud.google.com/api-keys/docs/reference/rest/v2/projects.locations.keys#Key.FIELDS.key_string) of the API key. The `keyString` is the value that can be found in the App's [configuration artifact](../../rest/v1beta1/projects.webApps/getConfig). If `api_key_id` is not set in requests to [`webApps.Create`](../../rest/v1beta1/projects.webApps/create), then Firebase automatically associates an `api_key_id` with the `WebApp`. This auto-associated key may be an existing valid key or, if no valid key exists, a new one will be provisioned. In patch requests, `api_key_id` cannot be set to an empty value, and the new UID must have no restrictions or only have restrictions that are valid for the associated `WebApp`. We recommend using the [Google Cloud Console](https://console.cloud.google.com/apis/credentials) to manage API keys.",
"type": "string"
},
"appId": {
"description": "Output only. Immutable. The globally unique, Firebase-assigned identifier for the `WebApp`. This identifier should be treated as an opaque token, as the data format is not specified.",
"readOnly": true,
"type": "string"
},
"appUrls": {
"description": "The URLs where the `WebApp` is hosted.",
"items": {
"type": "string"
},
"type": "array"
},
"displayName": {
"description": "The user-assigned display name for the `WebApp`.",
"type": "string"
},
"etag": {
"description": "This checksum is computed by the server based on the value of other fields, and it may be sent with update requests to ensure the client has an up-to-date value before proceeding. Learn more about `etag` in Google's [AIP-154 standard](https://google.aip.dev/154#declarative-friendly-resources). This etag is strongly validated.",
"type": "string"
},
"expireTime": {
"description": "Output only. Timestamp of when the App will be considered expired and cannot be undeleted. This value is only provided if the App is in the `DELETED` state.",
"readOnly": true,
"type": "string"
},
"name": {
"description": "The resource name of the WebApp, in the format: projects/PROJECT_IDENTIFIER /webApps/APP_ID * PROJECT_IDENTIFIER: the parent Project's [`ProjectNumber`](../projects#FirebaseProject.FIELDS.project_number) ***(recommended)*** or its [`ProjectId`](../projects#FirebaseProject.FIELDS.project_id). Learn more about using project identifiers in Google's [AIP 2510 standard](https://google.aip.dev/cloud/2510). Note that the value for PROJECT_IDENTIFIER in any response body will be the `ProjectId`. * APP_ID: the globally unique, Firebase-assigned identifier for the App (see [`appId`](../projects.webApps#WebApp.FIELDS.app_id)).",
"type": "string"
},
"projectId": {
"description": "Output only. Immutable. A user-assigned unique identifier of the parent FirebaseProject for the `WebApp`.",
"readOnly": true,
"type": "string"
},
"state": {
"description": "Output only. The lifecycle state of the App.",
"enum": [
"STATE_UNSPECIFIED",
"ACTIVE",
"DELETED"
],
"readOnly": true,
"type": "string"
},
"webId": {
"deprecated": true,
"description": "Output only. Immutable. A unique, Firebase-assigned identifier for the `WebApp`. This identifier is only used to populate the `namespace` value for the `WebApp`. For most use cases, use `appId` to identify or reference the App. The `webId` value is only unique within a `FirebaseProject` and its associated Apps.",
"readOnly": true,
"type": "string"
}
},
"type": "object",
".turbot": {
"uri": "tmod:@turbot/gcp-firebase#/definitions/WebApp",
"modUri": "tmod:@turbot/gcp-firebase"
}
}