🚨 Active Supply Chain Attack:node-ipc Package Compromised.Learn More
Socket
Book a DemoSign in
Socket

@google/events

Package Overview
Dependencies
Maintainers
2
Versions
22
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

@google/events - npm Package Compare versions

Comparing version
3.2.0
to
3.2.1
+934
cloud/audit/v1/LogEntryData.d.ts
/**
* Copyright 2020 Google LLC
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* https://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
/**
* The data within all Cloud Audit Logs log entry events.
*/
export interface LogEntryData {
/**
* A unique identifier for the log entry.
*/
insertId?: string;
/**
* A set of user-defined (key, value) data that provides additional
* information about the log entry.
*/
labels?: {
[key: string]: string;
};
/**
* The resource name of the log to which this log entry belongs.
*/
logName?: string;
/**
* Information about an operation associated with the log entry, if applicable.
*/
operation?: Operation;
/**
* The log entry payload, which is always an AuditLog for Cloud Audit Log events.
*/
protoPayload?: ProtoPayload;
/**
* The time the log entry was received by Logging.
*/
receiveTimestamp?: Date;
/**
* The monitored resource that produced this log entry.
*
* Example: a log entry that reports a database error would be associated with
* the monitored resource designating the particular database that reported
* the error.
*/
resource?: Resource;
/**
* The severity of the log entry.
*/
severity?: number | string;
/**
* The span ID within the trace associated with the log entry, if any.
*
* For Trace spans, this is the same format that the Trace API v2 uses: a
* 16-character hexadecimal encoding of an 8-byte array, such as
* `000000000000004a`.
*/
spanId?: string;
/**
* The time the event described by the log entry occurred.
*/
timestamp?: Date;
/**
* Resource name of the trace associated with the log entry, if any. If it
* contains a relative resource name, the name is assumed to be relative to
* `//tracing.googleapis.com`. Example:
* `projects/my-projectid/traces/06796866738c859f2f19b7cfb3214824`
*/
trace?: string;
}
/**
* Information about an operation associated with the log entry, if applicable.
*/
export interface Operation {
/**
* True if this is the first log entry in the operation.
*/
first?: boolean;
/**
* An arbitrary operation identifier. Log entries with the same
* identifier are assumed to be part of the same operation.
*/
id?: string;
/**
* True if this is the last log entry in the operation.
*/
last?: boolean;
/**
* An arbitrary producer identifier. The combination of `id` and
* `producer` must be globally unique. Examples for `producer`:
* `"MyDivision.MyBigCompany.com"`, `"github.com/MyProject/MyApplication"`.
*/
producer?: string;
}
/**
* The log entry payload, which is always an AuditLog for Cloud Audit Log events.
*/
export interface ProtoPayload {
/**
* Authentication information.
*/
authenticationInfo?: AuthenticationInfo;
/**
* Authorization information. If there are multiple
* resources or permissions involved, then there is
* one AuthorizationInfo element for each {resource, permission} tuple.
*/
authorizationInfo?: AuthorizationInfo[];
/**
* Other service-specific data about the request, response, and other
* information associated with the current audited event.
*/
metadata?: Metadata;
/**
* The name of the service method or operation.
* For API calls, this should be the name of the API method.
* For example,
*
* "google.datastore.v1.Datastore.RunQuery"
* "google.logging.v1.LoggingService.DeleteLog"
*/
methodName?: string;
/**
* The number of items returned from a List or Query API method,
* if applicable.
*/
numResponseItems?: string;
/**
* The operation request. This may not include all request parameters,
* such as those that are too large, privacy-sensitive, or duplicated
* elsewhere in the log record.
* It should never include user-generated data, such as file contents.
* When the JSON object represented here has a proto equivalent, the proto
* name will be indicated in the `@type` property.
*/
request?: Request;
/**
* Metadata about the operation.
*/
requestMetadata?: RequestMetadata;
/**
* The resource location information.
*/
resourceLocation?: ResourceLocation;
/**
* The resource or collection that is the target of the operation.
* The name is a scheme-less URI, not including the API service name.
* For example:
*
* "shelves/SHELF_ID/books"
* "shelves/SHELF_ID/books/BOOK_ID"
*/
resourceName?: string;
/**
* The resource's original state before mutation. Present only for
* operations which have successfully modified the targeted resource(s).
* In general, this field should contain all changed fields, except those
* that are already been included in `request`, `response`, `metadata` or
* `service_data` fields.
* When the JSON object represented here has a proto equivalent,
* the proto name will be indicated in the `@type` property.
*/
resourceOriginalState?: ResourceOriginalState;
/**
* The operation response. This may not include all response elements,
* such as those that are too large, privacy-sensitive, or duplicated
* elsewhere in the log record.
* It should never include user-generated data, such as file contents.
* When the JSON object represented here has a proto equivalent, the proto
* name will be indicated in the `@type` property.
*/
response?: Response;
/**
* Deprecated, use `metadata` field instead.
* Other service-specific data about the request, response, and other
* activities.
* When the JSON object represented here has a proto equivalent, the proto
* name will be indicated in the `@type` property.
*/
serviceData?: ServiceData;
/**
* The name of the API service performing the operation. For example,
* `"datastore.googleapis.com"`.
*/
serviceName?: string;
/**
* The status of the overall operation.
*/
status?: Status;
}
/**
* Authentication information.
*/
export interface AuthenticationInfo {
/**
* The authority selector specified by the requestor, if any.
* It is not guaranteed that the principal was allowed to use this authority.
*/
authoritySelector?: string;
/**
* The email address of the authenticated user (or service account on behalf
* of third party principal) making the request. For privacy reasons, the
* principal email address is redacted for all read-only operations that fail
* with a "permission denied" error.
*/
principalEmail?: string;
/**
* String representation of identity of requesting party.
* Populated for both first and third party identities.
*/
principalSubject?: string;
/**
* Identity delegation history of an authenticated service account that makes
* the request. It contains information on the real authorities that try to
* access GCP resources by delegating on a service account. When multiple
* authorities present, they are guaranteed to be sorted based on the original
* ordering of the identity delegation events.
*/
serviceAccountDelegationInfo?: ServiceAccountDelegationInfo[];
/**
* The name of the service account key used to create or exchange
* credentials for authenticating the service account making the request.
* This is a scheme-less URI full resource name. For example:
*
* "//iam.googleapis.com/projects/{PROJECT_ID}/serviceAccounts/{ACCOUNT}/keys/{key}"
*/
serviceAccountKeyName?: string;
/**
* The third party identification (if any) of the authenticated user making
* the request.
* When the JSON object represented here has a proto equivalent, the proto
* name will be indicated in the `@type` property.
*/
thirdPartyPrincipal?: AuthenticationInfoThirdPartyPrincipal;
}
/**
* Identity delegation history of an authenticated service account.
*/
export interface ServiceAccountDelegationInfo {
/**
* First party (Google) identity as the real authority.
*/
firstPartyPrincipal?: FirstPartyPrincipal;
/**
* Third party identity as the real authority.
*/
thirdPartyPrincipal?: ServiceAccountDelegationInfoThirdPartyPrincipal;
}
/**
* First party (Google) identity as the real authority.
*/
export interface FirstPartyPrincipal {
/**
* The email address of a Google account.
*/
principalEmail?: string;
/**
* Metadata about the service that uses the service account.
*/
serviceMetadata?: ServiceMetadata;
}
/**
* Metadata about the service that uses the service account.
*/
export interface ServiceMetadata {
/**
* Unordered map of dynamically typed values.
*/
fields?: {
[key: string]: {
[key: string]: any;
} | null;
};
}
/**
* Third party identity as the real authority.
*/
export interface ServiceAccountDelegationInfoThirdPartyPrincipal {
/**
* Metadata about third party identity.
*/
thirdPartyClaims?: ThirdPartyClaims;
}
/**
* Metadata about third party identity.
*/
export interface ThirdPartyClaims {
/**
* Unordered map of dynamically typed values.
*/
fields?: {
[key: string]: {
[key: string]: any;
} | null;
};
}
/**
* The third party identification (if any) of the authenticated user making
* the request.
* When the JSON object represented here has a proto equivalent, the proto
* name will be indicated in the `@type` property.
*/
export interface AuthenticationInfoThirdPartyPrincipal {
/**
* Unordered map of dynamically typed values.
*/
fields?: {
[key: string]: {
[key: string]: any;
} | null;
};
}
/**
* Authorization information for the operation.
*/
export interface AuthorizationInfo {
/**
* Whether or not authorization for `resource` and `permission`
* was granted.
*/
granted?: boolean;
/**
* The required IAM permission.
*/
permission?: string;
/**
* The resource being accessed, as a REST-style string. For example:
*
* bigquery.googleapis.com/projects/PROJECTID/datasets/DATASETID
*/
resource?: string;
/**
* Resource attributes used in IAM condition evaluation. This field contains
* resource attributes like resource type and resource name.
*
* To get the whole view of the attributes used in IAM
* condition evaluation, the user must also look into
* `AuditLogData.request_metadata.request_attributes`.
*/
resourceAttributes?: ResourceAttributes;
}
/**
* Resource attributes used in IAM condition evaluation. This field contains
* resource attributes like resource type and resource name.
*
* To get the whole view of the attributes used in IAM
* condition evaluation, the user must also look into
* `AuditLogData.request_metadata.request_attributes`.
*/
export interface ResourceAttributes {
/**
* The labels or tags on the resource, such as AWS resource tags and
* Kubernetes resource labels.
*/
labels?: {
[key: string]: string;
};
/**
* The stable identifier (name) of a resource on the `service`. A resource
* can be logically identified as "//{resource.service}/{resource.name}".
* The differences between a resource name and a URI are:
*
* * Resource name is a logical identifier, independent of network
* protocol and API version. For example,
* `//pubsub.googleapis.com/projects/123/topics/news-feed`.
* * URI often includes protocol and version information, so it can
* be used directly by applications. For example,
* `https://pubsub.googleapis.com/v1/projects/123/topics/news-feed`.
*
* See https://cloud.google.com/apis/design/resource_names for details.
*/
name?: string;
/**
* The name of the service that this resource belongs to, such as
* `pubsub.googleapis.com`. The service may be different from the DNS
* hostname that actually serves the request.
*/
service?: string;
/**
* The type of the resource. The syntax is platform-specific because
* different platforms define their resources differently.
*
* For Google APIs, the type format must be "{service}/{kind}".
*/
type?: string;
}
/**
* Other service-specific data about the request, response, and other
* information associated with the current audited event.
*/
export interface Metadata {
/**
* Unordered map of dynamically typed values.
*/
fields?: {
[key: string]: {
[key: string]: any;
} | null;
};
}
/**
* The operation request. This may not include all request parameters,
* such as those that are too large, privacy-sensitive, or duplicated
* elsewhere in the log record.
* It should never include user-generated data, such as file contents.
* When the JSON object represented here has a proto equivalent, the proto
* name will be indicated in the `@type` property.
*/
export interface Request {
/**
* Unordered map of dynamically typed values.
*/
fields?: {
[key: string]: {
[key: string]: any;
} | null;
};
}
/**
* Metadata about the operation.
*/
export interface RequestMetadata {
/**
* The IP address of the caller.
* For caller from internet, this will be public IPv4 or IPv6 address.
* For caller from a Compute Engine VM with external IP address, this
* will be the VM's external IP address. For caller from a Compute
* Engine VM without external IP address, if the VM is in the same
* organization (or project) as the accessed resource, `caller_ip` will
* be the VM's internal IPv4 address, otherwise the `caller_ip` will be
* redacted to "gce-internal-ip".
* See https://cloud.google.com/compute/docs/vpc/ for more information.
*/
callerIp?: string;
/**
* The network of the caller.
* Set only if the network host project is part of the same GCP organization
* (or project) as the accessed resource.
* See https://cloud.google.com/compute/docs/vpc/ for more information.
* This is a scheme-less URI full resource name. For example:
*
* "//compute.googleapis.com/projects/PROJECT_ID/global/networks/NETWORK_ID"
*/
callerNetwork?: string;
/**
* The user agent of the caller.
* This information is not authenticated and should be treated accordingly.
* For example:
*
* + `google-api-python-client/1.4.0`:
* The request was made by the Google API client for Python.
* + `Cloud SDK Command Line Tool apitools-client/1.0 gcloud/0.9.62`:
* The request was made by the Google Cloud SDK CLI (gcloud).
* + `AppEngine-Google; (+http://code.google.com/appengine; appid:
* s~my-project`:
* The request was made from the `my-project` App Engine app.
*/
callerSuppliedUserAgent?: string;
/**
* The destination of a network activity, such as accepting a TCP connection.
* In a multi hop network activity, the destination represents the receiver of
* the last hop. Only two fields are used in this message, Peer.port and
* Peer.ip. These fields are optionally populated by those services utilizing
* the IAM condition feature.
*/
destinationAttributes?: DestinationAttributes;
/**
* Request attributes used in IAM condition evaluation. This field contains
* request attributes like request time and access levels associated with
* the request.
*
*
* To get the whole view of the attributes used in IAM
* condition evaluation, the user must also look into
* `AuditLog.authentication_info.resource_attributes`.
*/
requestAttributes?: RequestAttributes;
}
/**
* The destination of a network activity, such as accepting a TCP connection.
* In a multi hop network activity, the destination represents the receiver of
* the last hop. Only two fields are used in this message, Peer.port and
* Peer.ip. These fields are optionally populated by those services utilizing
* the IAM condition feature.
*/
export interface DestinationAttributes {
/**
* The IP address of the peer.
*/
ip?: string;
/**
* The labels associated with the peer.
*/
labels?: {
[key: string]: string;
};
/**
* The network port of the peer.
*/
port?: string;
/**
* The identity of this peer. Similar to `Request.auth.principal`, but
* relative to the peer instead of the request. For example, the
* idenity associated with a load balancer that forwared the request.
*/
principal?: string;
/**
* The CLDR country/region code associated with the above IP address.
* If the IP address is private, the `region_code` should reflect the
* physical location where this peer is running.
*/
regionCode?: string;
}
/**
* Request attributes used in IAM condition evaluation. This field contains
* request attributes like request time and access levels associated with
* the request.
*
*
* To get the whole view of the attributes used in IAM
* condition evaluation, the user must also look into
* `AuditLog.authentication_info.resource_attributes`.
*/
export interface RequestAttributes {
/**
* The request authentication. May be absent for unauthenticated requests.
* Derived from the HTTP request `Authorization` header or equivalent.
*/
auth?: Auth;
/**
* The HTTP request headers. If multiple headers share the same key, they
* must be merged according to the HTTP spec. All header keys must be
* lowercased, because HTTP header keys are case-insensitive.
*/
headers?: {
[key: string]: string;
};
/**
* The HTTP request `Host` header value.
*/
host?: string;
/**
* The unique ID for a request, which can be propagated to downstream
* systems. The ID should have low probability of collision
* within a single day for a specific service.
*/
id?: string;
/**
* The HTTP request method, such as `GET`, `POST`.
*/
method?: string;
/**
* The HTTP URL path.
*/
path?: string;
/**
* The network protocol used with the request, such as "http/1.1",
* "spdy/3", "h2", "h2c", "webrtc", "tcp", "udp", "quic". See
*
* https://www.iana.org/assignments/tls-extensiontype-values/tls-extensiontype-values.xhtml#alpn-protocol-ids
* for details.
*/
protocol?: string;
/**
* The HTTP URL query in the format of `name1=value1&name2=value2`, as it
* appears in the first line of the HTTP request. No decoding is performed.
*/
query?: string;
/**
* A special parameter for request reason. It is used by security systems
* to associate auditing information with a request.
*/
reason?: string;
/**
* The HTTP URL scheme, such as `http` and `https`.
*/
scheme?: string;
/**
* The HTTP request size in bytes. If unknown, it must be -1.
*/
size?: string;
/**
* The timestamp when the `destination` service receives the first byte of
* the request.
*/
time?: Date;
}
/**
* The request authentication. May be absent for unauthenticated requests.
* Derived from the HTTP request `Authorization` header or equivalent.
*/
export interface Auth {
/**
* A list of access level resource names that allow resources to be
* accessed by authenticated requester. It is part of Secure GCP processing
* for the incoming request. An access level string has the format:
* "//{api_service_name}/accessPolicies/{policy_id}/accessLevels/{short_name}"
*
* Example:
* "//accesscontextmanager.googleapis.com/accessPolicies/MY_POLICY_ID/accessLevels/MY_LEVEL"
*/
accessLevels?: string[];
/**
* The intended audience(s) for this authentication information. Reflects
* the audience (`aud`) claim within a JWT. The audience
* value(s) depends on the `issuer`, but typically include one or more of
* the following pieces of information:
*
* * The services intended to receive the credential such as
* ["pubsub.googleapis.com", "storage.googleapis.com"]
* * A set of service-based scopes. For example,
* ["https://www.googleapis.com/auth/cloud-platform"]
* * The client id of an app, such as the Firebase project id for JWTs
* from Firebase Auth.
*
* Consult the documentation for the credential issuer to determine the
* information provided.
*/
audiences?: string[];
/**
* Structured claims presented with the credential. JWTs include
* `{key: value}` pairs for standard and private claims. The following
* is a subset of the standard required and optional claims that would
* typically be presented for a Google-based JWT:
*
* {'iss': 'accounts.google.com',
* 'sub': '113289723416554971153',
* 'aud': ['123456789012', 'pubsub.googleapis.com'],
* 'azp': '123456789012.apps.googleusercontent.com',
* 'email': 'jsmith@example.com',
* 'iat': 1353601026,
* 'exp': 1353604926}
*
* SAML assertions are similarly specified, but with an identity provider
* dependent structure.
*/
claims?: Claims;
/**
* The authorized presenter of the credential. Reflects the optional
* Authorized Presenter (`azp`) claim within a JWT or the
* OAuth client id. For example, a Google Cloud Platform client id looks
* as follows: "123456789012.apps.googleusercontent.com".
*/
presenter?: string;
/**
* The authenticated principal. Reflects the issuer (`iss`) and subject
* (`sub`) claims within a JWT. The issuer and subject should be `/`
* delimited, with `/` percent-encoded within the subject fragment. For
* Google accounts, the principal format is:
* "https://accounts.google.com/{id}"
*/
principal?: string;
}
/**
* Structured claims presented with the credential. JWTs include
* `{key: value}` pairs for standard and private claims. The following
* is a subset of the standard required and optional claims that would
* typically be presented for a Google-based JWT:
*
* {'iss': 'accounts.google.com',
* 'sub': '113289723416554971153',
* 'aud': ['123456789012', 'pubsub.googleapis.com'],
* 'azp': '123456789012.apps.googleusercontent.com',
* 'email': 'jsmith@example.com',
* 'iat': 1353601026,
* 'exp': 1353604926}
*
* SAML assertions are similarly specified, but with an identity provider
* dependent structure.
*/
export interface Claims {
/**
* Unordered map of dynamically typed values.
*/
fields?: {
[key: string]: {
[key: string]: any;
} | null;
};
}
/**
* The resource location information.
*/
export interface ResourceLocation {
/**
* The locations of a resource after the execution of the operation.
* Requests to create or delete a location based resource must populate
* the 'current_locations' field and not the 'original_locations' field.
* For example:
*
* "europe-west1-a"
* "us-east1"
* "nam3"
*/
currentLocations?: string[];
/**
* The locations of a resource prior to the execution of the operation.
* Requests that mutate the resource's location must populate both the
* 'original_locations' as well as the 'current_locations' fields.
* For example:
*
* "europe-west1-a"
* "us-east1"
* "nam3"
*/
originalLocations?: string[];
}
/**
* The resource's original state before mutation. Present only for
* operations which have successfully modified the targeted resource(s).
* In general, this field should contain all changed fields, except those
* that are already been included in `request`, `response`, `metadata` or
* `service_data` fields.
* When the JSON object represented here has a proto equivalent,
* the proto name will be indicated in the `@type` property.
*/
export interface ResourceOriginalState {
/**
* Unordered map of dynamically typed values.
*/
fields?: {
[key: string]: {
[key: string]: any;
} | null;
};
}
/**
* The operation response. This may not include all response elements,
* such as those that are too large, privacy-sensitive, or duplicated
* elsewhere in the log record.
* It should never include user-generated data, such as file contents.
* When the JSON object represented here has a proto equivalent, the proto
* name will be indicated in the `@type` property.
*/
export interface Response {
/**
* Unordered map of dynamically typed values.
*/
fields?: {
[key: string]: {
[key: string]: any;
} | null;
};
}
/**
* Deprecated, use `metadata` field instead.
* Other service-specific data about the request, response, and other
* activities.
* When the JSON object represented here has a proto equivalent, the proto
* name will be indicated in the `@type` property.
*/
export interface ServiceData {
/**
* Unordered map of dynamically typed values.
*/
fields?: {
[key: string]: {
[key: string]: any;
} | null;
};
}
/**
* The status of the overall operation.
*/
export interface Status {
/**
* The status code, which should be an enum value of [google.rpc.Code][google.rpc.Code].
*/
code?: number;
/**
* A list of messages that carry the error details. There is a common set of
* message types for APIs to use.
*/
details?: Detail[];
/**
* A developer-facing error message, which should be in English. Any
* user-facing error message should be localized and sent in the
* [google.rpc.Status.details][google.rpc.Status.details] field, or localized by the client.
*/
message?: string;
}
/**
* `Any` contains an arbitrary serialized protocol buffer message along with a
* URL that describes the type of the serialized message.
*
* Protobuf library provides support to pack/unpack Any values in the form
* of utility functions or additional generated methods of the Any type.
*
* Example 1: Pack and unpack a message in C++.
*
* Foo foo = ...;
* Any any;
* any.PackFrom(foo);
* ...
* if (any.UnpackTo(&foo)) {
* ...
* }
*
* Example 2: Pack and unpack a message in Java.
*
* Foo foo = ...;
* Any any = Any.pack(foo);
* ...
* if (any.is(Foo.class)) {
* foo = any.unpack(Foo.class);
* }
*
* Example 3: Pack and unpack a message in Python.
*
* foo = Foo(...)
* any = Any()
* any.Pack(foo)
* ...
* if any.Is(Foo.DESCRIPTOR):
* any.Unpack(foo)
* ...
*
* Example 4: Pack and unpack a message in Go
*
* foo := &pb.Foo{...}
* any, err := ptypes.MarshalAny(foo)
* ...
* foo := &pb.Foo{}
* if err := ptypes.UnmarshalAny(any, foo); err != nil {
* ...
* }
*
* The pack methods provided by protobuf library will by default use
* 'type.googleapis.com/full.type.name' as the type URL and the unpack
* methods only use the fully qualified type name after the last '/'
* in the type URL, for example "foo.bar.com/x/y.z" will yield type
* name "y.z".
*
*
* JSON
* ====
* The JSON representation of an `Any` value uses the regular
* representation of the deserialized, embedded message, with an
* additional field `@type` which contains the type URL. Example:
*
* package google.profile;
* message Person {
* string first_name = 1;
* string last_name = 2;
* }
*
* {
* "@type": "type.googleapis.com/google.profile.Person",
* "firstName": <string>,
* "lastName": <string>
* }
*
* If the embedded message type is well-known and has a custom JSON
* representation, that representation will be embedded adding a field
* `value` which holds the custom JSON in addition to the `@type`
* field. Example (for message [google.protobuf.Duration][]):
*
* {
* "@type": "type.googleapis.com/google.protobuf.Duration",
* "value": "1.212s"
* }
*/
export interface Detail {
/**
* A URL/resource name that uniquely identifies the type of the serialized
* protocol buffer message. This string must contain at least
* one "/" character. The last segment of the URL's path must represent
* the fully qualified name of the type (as in
* `path/google.protobuf.Duration`). The name should be in a canonical form
* (e.g., leading "." is not accepted).
*
* In practice, teams usually precompile into the binary all types that they
* expect it to use in the context of Any. However, for URLs which use the
* scheme `http`, `https`, or no scheme, one can optionally set up a type
* server that maps type URLs to message definitions as follows:
*
* * If no scheme is provided, `https` is assumed.
* * An HTTP GET on the URL must yield a [google.protobuf.Type][]
* value in binary format, or produce an error.
* * Applications are allowed to cache lookup results based on the
* URL, or have them precompiled into a binary to avoid any
* lookup. Therefore, binary compatibility needs to be preserved
* on changes to types. (Use versioned type names to manage
* breaking changes.)
*
* Note: this functionality is not currently available in the official
* protobuf release, and it is not used for type URLs beginning with
* type.googleapis.com.
*
* Schemes other than `http`, `https` (or the empty scheme) might be
* used with implementation specific semantics.
*/
typeUrl?: string;
/**
* Must be a valid serialized protocol buffer of the above specified type.
*/
value?: string;
}
/**
* The monitored resource that produced this log entry.
*
* Example: a log entry that reports a database error would be associated with
* the monitored resource designating the particular database that reported
* the error.
*/
export interface Resource {
/**
* Values for all of the labels listed in the associated monitored
* resource descriptor. For example, Compute Engine VM instances use the
* labels `"project_id"`, `"instance_id"`, and `"zone"`.
*/
labels?: {
[key: string]: string;
};
/**
* Required. The monitored resource type. For example, the type of a
* Compute Engine VM instance is `gce_instance`.
*/
type?: string;
}
/**
* Cast a raw JSON object to a typed event (useful for IDE autocompletion).
* @param {object} json The JSON object
* @return {LogEntryData} The object with type annotations
*/
export declare const toLogEntryData: (json: object) => LogEntryData;
"use strict";
/**
* Copyright 2020 Google LLC
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* https://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
Object.defineProperty(exports, "__esModule", { value: true });
exports.toLogEntryData = void 0;
/**
* Cast a raw JSON object to a typed event (useful for IDE autocompletion).
* @param {object} json The JSON object
* @return {LogEntryData} The object with type annotations
*/
exports.toLogEntryData = (json) => {
return json;
};
/**
* Copyright 2020 Google LLC
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* https://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
/**
* Build event data for Google Cloud Platform API operations.
*/
export interface BuildEventData {
/**
* Artifacts produced by the build that should be uploaded upon
* successful completion of all build steps.
*/
artifacts?: Artifacts;
/**
* The ID of the `BuildTrigger` that triggered this build, if it
* was triggered automatically.
*/
buildTriggerId?: string;
/**
* Time at which the request to create the build was received.
*/
createTime?: Date;
/**
* Time at which execution of the build was finished.
*
* The difference between finish_time and start_time is the duration of the
* build's execution.
*/
finishTime?: Date;
/**
* Unique identifier of the build.
*/
id?: string;
/**
* A list of images to be pushed upon the successful completion of all build
* steps.
*
* The images are pushed using the builder service account's credentials.
*
* The digests of the pushed images will be stored in the `Build` resource's
* results field.
*
* If any of the images fail to be pushed, the build status is marked
* `FAILURE`.
*/
images?: string[];
/**
* Google Cloud Storage bucket where logs should be written (see
* [Bucket Name
* Requirements](https://cloud.google.com/storage/docs/bucket-naming#requirements)).
* Logs file names will be of the format `${logs_bucket}/log-${build_id}.txt`.
*/
logsBucket?: string;
/**
* URL to logs for this build in Google Cloud Console.
*/
logUrl?: string;
/**
* Special options for this build.
*/
options?: Options;
/**
* ID of the project.
*/
projectId?: string;
/**
* TTL in queue for this build. If provided and the build is enqueued longer
* than this value, the build will expire and the build status will be
* `EXPIRED`.
*
* The TTL starts ticking from create_time.
*/
queueTtl?: QueueTTL;
/**
* Results of the build.
*/
results?: Results;
/**
* Secrets to decrypt using Cloud Key Management Service.
*/
secrets?: Secret[];
/**
* The location of the source files to build.
*/
source?: Source;
/**
* A permanent fixed identifier for source.
*/
sourceProvenance?: SourceProvenance;
/**
* Time at which execution of the build was started.
*/
startTime?: Date;
/**
* Status of the build.
*/
status?: StatusEnum | number;
/**
* Customer-readable message about the current status.
*/
statusDetail?: string;
/**
* The operations to be performed on the workspace.
*/
steps?: Step[];
/**
* Substitutions data for `Build` resource.
*/
substitutions?: {
[key: string]: string;
};
/**
* Tags for annotation of a `Build`. These are not docker tags.
*/
tags?: string[];
/**
* Amount of time that this build should be allowed to run, to second
* granularity. If this amount of time elapses, work on the build will cease
* and the build status will be `TIMEOUT`.
*/
timeout?: BuildEventDataTimeout;
/**
* Stores timing information for phases of the build. Valid keys
* are:
*
* * BUILD: time to execute all build steps
* * PUSH: time to push all specified images.
* * FETCHSOURCE: time to fetch source.
*
* If the build does not specify source or images,
* these keys will not be included.
*/
timing?: {
[key: string]: TimeSpan;
};
}
/**
* Artifacts produced by the build that should be uploaded upon
* successful completion of all build steps.
*/
export interface Artifacts {
/**
* A list of images to be pushed upon the successful completion of all build
* steps.
*
* The images will be pushed using the builder service account's credentials.
*
* The digests of the pushed images will be stored in the Build resource's
* results field.
*
* If any of the images fail to be pushed, the build is marked FAILURE.
*/
images?: string[];
/**
* A list of objects to be uploaded to Cloud Storage upon successful
* completion of all build steps.
*
* Files in the workspace matching specified paths globs will be uploaded to
* the specified Cloud Storage location using the builder service account's
* credentials.
*
* The location and generation of the uploaded objects will be stored in the
* Build resource's results field.
*
* If any objects fail to be pushed, the build is marked FAILURE.
*/
objects?: Objects;
}
/**
* A list of objects to be uploaded to Cloud Storage upon successful
* completion of all build steps.
*
* Files in the workspace matching specified paths globs will be uploaded to
* the specified Cloud Storage location using the builder service account's
* credentials.
*
* The location and generation of the uploaded objects will be stored in the
* Build resource's results field.
*
* If any objects fail to be pushed, the build is marked FAILURE.
*/
export interface Objects {
/**
* Cloud Storage bucket and optional object path, in the form
* "gs://bucket/path/to/somewhere/". (see [Bucket Name
* Requirements](https://cloud.google.com/storage/docs/bucket-naming#requirements)).
*
* Files in the workspace matching any path pattern will be uploaded to
* Cloud Storage with this location as a prefix.
*/
location?: string;
/**
* Path globs used to match files in the build's workspace.
*/
paths?: string[];
/**
* Stores timing information for pushing all artifact objects.
*/
timing?: ObjectsTiming;
}
/**
* Stores timing information for pushing all artifact objects.
*
* Start and end times for a build execution phase.
*/
export interface ObjectsTiming {
/**
* End of time span.
*/
endTime?: Date;
/**
* Start of time span.
*/
startTime?: Date;
}
/**
* Special options for this build.
*/
export interface Options {
/**
* Requested disk size for the VM that runs the build. Note that this is *NOT*
* "disk free"; some of the space will be used by the operating system and
* build utilities. Also note that this is the minimum disk size that will be
* allocated for the build -- the build may run with a larger disk than
* requested. At present, the maximum disk size is 1000GB; builds that request
* more than the maximum are rejected with an error.
*/
diskSizeGb?: string;
/**
* A list of global environment variable definitions that will exist for all
* build steps in this build. If a variable is defined in both globally and in
* a build step, the variable will use the build step value.
*
* The elements are of the form "KEY=VALUE" for the environment variable "KEY"
* being given the value "VALUE".
*/
env?: string[];
/**
* Option to specify the logging mode, which determines where the logs are
* stored.
*/
logging?: LoggingEnum | number;
/**
* Option to define build log streaming behavior to Google Cloud
* Storage.
*/
logStreamingOption?: LogStreamingOptionEnum | number;
/**
* Compute Engine machine type on which to run the build.
*/
machineType?: MachineTypeEnum | number;
/**
* Requested verifiability options.
*/
requestedVerifyOption?: RequestedVerifyOptionEnum | number;
/**
* A list of global environment variables, which are encrypted using a Cloud
* Key Management Service crypto key. These values must be specified in the
* build's `Secret`. These variables will be available to all build steps
* in this build.
*/
secretEnv?: string[];
/**
* Requested hash for SourceProvenance.
*/
sourceProvenanceHash?: Array<number | string>;
/**
* Option to specify behavior when there is an error in the substitution
* checks.
*/
substitutionOption?: SubstitutionOptionEnum | number;
/**
* Global list of volumes to mount for ALL build steps
*
* Each volume is created as an empty volume prior to starting the build
* process. Upon completion of the build, volumes and their contents are
* discarded. Global volume names and paths cannot conflict with the volumes
* defined a build step.
*
* Using a global volume in a build with only one step is not valid as
* it is indicative of a build request with an incorrect configuration.
*/
volumes?: Volume[];
/**
* Option to specify a `WorkerPool` for the build.
* Format: projects/{project}/locations/{location}/workerPools/{workerPool}
*/
workerPool?: string;
}
export declare enum LogStreamingOptionEnum {
StreamDefault = "STREAM_DEFAULT",
StreamOff = "STREAM_OFF",
StreamOn = "STREAM_ON"
}
export declare enum LoggingEnum {
GcsOnly = "GCS_ONLY",
Legacy = "LEGACY",
LoggingUnspecified = "LOGGING_UNSPECIFIED"
}
export declare enum MachineTypeEnum {
N1Highcpu32 = "N1_HIGHCPU_32",
N1Highcpu8 = "N1_HIGHCPU_8",
Unspecified = "UNSPECIFIED"
}
export declare enum RequestedVerifyOptionEnum {
NotVerified = "NOT_VERIFIED",
Verified = "VERIFIED"
}
export declare enum SubstitutionOptionEnum {
AllowLoose = "ALLOW_LOOSE",
MustMatch = "MUST_MATCH"
}
/**
* Volume describes a Docker container volume which is mounted into build steps
* in order to persist files across build step execution.
*/
export interface Volume {
/**
* Name of the volume to mount.
*
* Volume names must be unique per build step and must be valid names for
* Docker volumes. Each named volume must be used by at least two build steps.
*/
name?: string;
/**
* Path at which to mount the volume.
*
* Paths must be absolute and cannot conflict with other volume paths on the
* same build step or with certain reserved volume paths.
*/
path?: string;
}
/**
* TTL in queue for this build. If provided and the build is enqueued longer
* than this value, the build will expire and the build status will be
* `EXPIRED`.
*
* The TTL starts ticking from create_time.
*/
export interface QueueTTL {
/**
* Signed fractions of a second at nanosecond resolution of the span
* of time. Durations less than one second are represented with a 0
* `seconds` field and a positive or negative `nanos` field. For durations
* of one second or more, a non-zero value for the `nanos` field must be
* of the same sign as the `seconds` field. Must be from -999,999,999
* to +999,999,999 inclusive.
*/
nanos?: number;
/**
* Signed seconds of the span of time. Must be from -315,576,000,000
* to +315,576,000,000 inclusive. Note: these bounds are computed from:
* 60 sec/min * 60 min/hr * 24 hr/day * 365.25 days/year * 10000 years
*/
seconds?: string;
}
/**
* Results of the build.
*/
export interface Results {
/**
* Path to the artifact manifest. Only populated when artifacts are uploaded.
*/
artifactManifest?: string;
/**
* Time to push all non-container artifacts.
*/
artifactTiming?: ArtifactTiming;
/**
* List of build step digests, in the order corresponding to build step
* indices.
*/
buildStepImages?: string[];
/**
* List of build step outputs, produced by builder images, in the order
* corresponding to build step indices.
*
* [Cloud Builders](https://cloud.google.com/cloud-build/docs/cloud-builders)
* can produce this output by writing to `$BUILDER_OUTPUT/output`.
* Only the first 4KB of data is stored.
*/
buildStepOutputs?: string[];
/**
* Container images that were built as a part of the build.
*/
images?: Image[];
/**
* Number of artifacts uploaded. Only populated when artifacts are uploaded.
*/
numArtifacts?: string;
}
/**
* Time to push all non-container artifacts.
*
* Stores timing information for pushing all artifact objects.
*
* Start and end times for a build execution phase.
*/
export interface ArtifactTiming {
/**
* End of time span.
*/
endTime?: Date;
/**
* Start of time span.
*/
startTime?: Date;
}
/**
* An image built by the pipeline.
*/
export interface Image {
/**
* Docker Registry 2.0 digest.
*/
digest?: string;
/**
* Name used to push the container image to Google Container Registry, as
* presented to `docker push`.
*/
name?: string;
/**
* Stores timing information for pushing the specified image.
*/
pushTiming?: PushTiming;
}
/**
* Stores timing information for pushing the specified image.
*
* Stores timing information for pushing all artifact objects.
*
* Start and end times for a build execution phase.
*/
export interface PushTiming {
/**
* End of time span.
*/
endTime?: Date;
/**
* Start of time span.
*/
startTime?: Date;
}
/**
* Pairs a set of secret environment variables containing encrypted
* values with the Cloud KMS key to use to decrypt the value.
*/
export interface Secret {
/**
* Cloud KMS key name to use to decrypt these envs.
*/
kmsKeyName?: string;
/**
* Map of environment variable name to its encrypted value.
*
* Secret environment variables must be unique across all of a build's
* secrets, and must be used by at least one build step. Values can be at most
* 64 KB in size. There can be at most 100 secret values across all of a
* build's secrets.
*/
secretEnv?: {
[key: string]: string;
};
}
/**
* The location of the source files to build.
*/
export interface Source {
/**
* If provided, get the source from this location in a Cloud Source
* Repository.
*/
repoSource?: RepoSourceObject;
/**
* If provided, get the source from this location in Google Cloud Storage.
*/
storageSource?: StorageSourceObject;
}
/**
* If provided, get the source from this location in a Cloud Source
* Repository.
*
* Location of the source in a Google Cloud Source Repository.
*/
export interface RepoSourceObject {
/**
* Regex matching branches to build.
*
* The syntax of the regular expressions accepted is the syntax accepted by
* RE2 and described at https://github.com/google/re2/wiki/Syntax
*/
branchName?: string;
/**
* Explicit commit SHA to build.
*/
commitSha?: string;
/**
* Directory, relative to the source root, in which to run the build.
*
* This must be a relative path. If a step's `dir` is specified and is an
* absolute path, this value is ignored for that step's execution.
*/
dir?: string;
/**
* Only trigger a build if the revision regex does NOT match the revision
* regex.
*/
invertRegex?: boolean;
/**
* ID of the project that owns the Cloud Source Repository.
*/
projectId?: string;
/**
* Name of the Cloud Source Repository.
*/
repoName?: string;
/**
* Substitutions to use in a triggered build.
* Should only be used with RunBuildTrigger
*/
substitutions?: {
[key: string]: string;
};
/**
* Regex matching tags to build.
*
* The syntax of the regular expressions accepted is the syntax accepted by
* RE2 and described at https://github.com/google/re2/wiki/Syntax
*/
tagName?: string;
}
/**
* If provided, get the source from this location in Google Cloud Storage.
*
* Location of the source in an archive file in Google Cloud Storage.
*/
export interface StorageSourceObject {
/**
* Google Cloud Storage bucket containing the source (see
* [Bucket Name
* Requirements](https://cloud.google.com/storage/docs/bucket-naming#requirements)).
*/
bucket?: string;
/**
* Google Cloud Storage generation for the object. If the generation is
* omitted, the latest generation will be used.
*/
generation?: string;
/**
* Google Cloud Storage object containing the source.
*/
object?: string;
}
/**
* A permanent fixed identifier for source.
*/
export interface SourceProvenance {
/**
* Hash(es) of the build source, which can be used to verify that
* the original source integrity was maintained in the build. Note that
* `FileHashes` will only be populated if `BuildOptions` has requested a
* `SourceProvenanceHash`.
*
* The keys to this map are file paths used as build source and the values
* contain the hash values for those files.
*
* If the build source came in a single package such as a gzipped tarfile
* (`.tar.gz`), the `FileHash` will be for the single path to that file.
*/
fileHashes?: {
[key: string]: FileHashValue;
};
/**
* A copy of the build's `source.repo_source`, if exists, with any
* revisions resolved.
*/
resolvedRepoSource?: ResolvedRepoSourceObject;
/**
* A copy of the build's `source.storage_source`, if exists, with any
* generations resolved.
*/
resolvedStorageSource?: ResolvedStorageSourceObject;
}
export interface FileHashValue {
/**
* Collection of file hashes.
*/
fileHash?: FileHashElement[];
}
/**
* Container message for hash values.
*/
export interface FileHashElement {
/**
* The type of hash that was performed.
*/
type?: TypeEnum | number;
/**
* The hash value.
*/
value?: string;
}
export declare enum TypeEnum {
Md5 = "MD5",
None = "NONE",
Sha256 = "SHA256"
}
/**
* A copy of the build's `source.repo_source`, if exists, with any
* revisions resolved.
*
* If provided, get the source from this location in a Cloud Source
* Repository.
*
* Location of the source in a Google Cloud Source Repository.
*/
export interface ResolvedRepoSourceObject {
/**
* Regex matching branches to build.
*
* The syntax of the regular expressions accepted is the syntax accepted by
* RE2 and described at https://github.com/google/re2/wiki/Syntax
*/
branchName?: string;
/**
* Explicit commit SHA to build.
*/
commitSha?: string;
/**
* Directory, relative to the source root, in which to run the build.
*
* This must be a relative path. If a step's `dir` is specified and is an
* absolute path, this value is ignored for that step's execution.
*/
dir?: string;
/**
* Only trigger a build if the revision regex does NOT match the revision
* regex.
*/
invertRegex?: boolean;
/**
* ID of the project that owns the Cloud Source Repository.
*/
projectId?: string;
/**
* Name of the Cloud Source Repository.
*/
repoName?: string;
/**
* Substitutions to use in a triggered build.
* Should only be used with RunBuildTrigger
*/
substitutions?: {
[key: string]: string;
};
/**
* Regex matching tags to build.
*
* The syntax of the regular expressions accepted is the syntax accepted by
* RE2 and described at https://github.com/google/re2/wiki/Syntax
*/
tagName?: string;
}
/**
* A copy of the build's `source.storage_source`, if exists, with any
* generations resolved.
*
* If provided, get the source from this location in Google Cloud Storage.
*
* Location of the source in an archive file in Google Cloud Storage.
*/
export interface ResolvedStorageSourceObject {
/**
* Google Cloud Storage bucket containing the source (see
* [Bucket Name
* Requirements](https://cloud.google.com/storage/docs/bucket-naming#requirements)).
*/
bucket?: string;
/**
* Google Cloud Storage generation for the object. If the generation is
* omitted, the latest generation will be used.
*/
generation?: string;
/**
* Google Cloud Storage object containing the source.
*/
object?: string;
}
export declare enum StatusEnum {
Cancelled = "CANCELLED",
Expired = "EXPIRED",
Failure = "FAILURE",
InternalError = "INTERNAL_ERROR",
Queued = "QUEUED",
StatusUnknown = "STATUS_UNKNOWN",
Success = "SUCCESS",
Timeout = "TIMEOUT",
Working = "WORKING"
}
/**
* A step in the build pipeline.
*/
export interface Step {
/**
* A list of arguments that will be presented to the step when it is started.
*
* If the image used to run the step's container has an entrypoint, the `args`
* are used as arguments to that entrypoint. If the image does not define
* an entrypoint, the first element in args is used as the entrypoint,
* and the remainder will be used as arguments.
*/
args?: string[];
/**
* Working directory to use when running this step's container.
*
* If this value is a relative path, it is relative to the build's working
* directory. If this value is absolute, it may be outside the build's working
* directory, in which case the contents of the path may not be persisted
* across build step executions, unless a `volume` for that path is specified.
*
* If the build specifies a `RepoSource` with `dir` and a step with a `dir`,
* which specifies an absolute path, the `RepoSource` `dir` is ignored for
* the step's execution.
*/
dir?: string;
/**
* Entrypoint to be used instead of the build step image's default entrypoint.
* If unset, the image's default entrypoint is used.
*/
entrypoint?: string;
/**
* A list of environment variable definitions to be used when running a step.
*
* The elements are of the form "KEY=VALUE" for the environment variable "KEY"
* being given the value "VALUE".
*/
env?: string[];
/**
* Unique identifier for this build step, used in `wait_for` to
* reference this build step as a dependency.
*/
id?: string;
/**
* The name of the container image that will run this particular
* build step.
*
* If the image is available in the host's Docker daemon's cache, it
* will be run directly. If not, the host will attempt to pull the image
* first, using the builder service account's credentials if necessary.
*
* The Docker daemon's cache will already have the latest versions of all of
* the officially supported build steps
*
* ([https://github.com/GoogleCloudPlatform/cloud-builders](https://github.com/GoogleCloudPlatform/cloud-builders)).
* The Docker daemon will also have cached many of the layers for some popular
* images, like "ubuntu", "debian", but they will be refreshed at the time you
* attempt to use them.
*
* If you built an image in a previous build step, it will be stored in the
* host's Docker daemon's cache and is available to use as the name for a
* later build step.
*/
name?: string;
/**
* Stores timing information for pulling this build step's
* builder image only.
*/
pullTiming?: PullTiming;
/**
* A list of environment variables which are encrypted using a Cloud Key
* Management Service crypto key. These values must be specified in the
* build's `Secret`.
*/
secretEnv?: string[];
/**
* Status of the build step. At this time, build step status is
* only updated on build completion; step status is not updated in real-time
* as the build progresses.
*/
status?: number | string;
/**
* Time limit for executing this build step. If not defined, the step has no
* time limit and will be allowed to continue to run until either it completes
* or the build itself times out.
*/
timeout?: StepTimeout;
/**
* Stores timing information for executing this build step.
*/
timing?: StepTiming;
/**
* List of volumes to mount into the build step.
*
* Each volume is created as an empty volume prior to execution of the
* build step. Upon completion of the build, volumes and their contents are
* discarded.
*
* Using a named volume in only one step is not valid as it is indicative
* of a build request with an incorrect configuration.
*/
volumes?: Volume[];
/**
* The ID(s) of the step(s) that this build step depends on.
* This build step will not start until all the build steps in `wait_for`
* have completed successfully. If `wait_for` is empty, this build step will
* start when all previous build steps in the `Build.Steps` list have
* completed successfully.
*/
waitFor?: string[];
}
/**
* Stores timing information for pulling this build step's
* builder image only.
*
* Stores timing information for pushing all artifact objects.
*
* Start and end times for a build execution phase.
*/
export interface PullTiming {
/**
* End of time span.
*/
endTime?: Date;
/**
* Start of time span.
*/
startTime?: Date;
}
/**
* Time limit for executing this build step. If not defined, the step has no
* time limit and will be allowed to continue to run until either it completes
* or the build itself times out.
*/
export interface StepTimeout {
/**
* Signed fractions of a second at nanosecond resolution of the span
* of time. Durations less than one second are represented with a 0
* `seconds` field and a positive or negative `nanos` field. For durations
* of one second or more, a non-zero value for the `nanos` field must be
* of the same sign as the `seconds` field. Must be from -999,999,999
* to +999,999,999 inclusive.
*/
nanos?: number;
/**
* Signed seconds of the span of time. Must be from -315,576,000,000
* to +315,576,000,000 inclusive. Note: these bounds are computed from:
* 60 sec/min * 60 min/hr * 24 hr/day * 365.25 days/year * 10000 years
*/
seconds?: string;
}
/**
* Stores timing information for executing this build step.
*
* Stores timing information for pushing all artifact objects.
*
* Start and end times for a build execution phase.
*/
export interface StepTiming {
/**
* End of time span.
*/
endTime?: Date;
/**
* Start of time span.
*/
startTime?: Date;
}
/**
* Amount of time that this build should be allowed to run, to second
* granularity. If this amount of time elapses, work on the build will cease
* and the build status will be `TIMEOUT`.
*/
export interface BuildEventDataTimeout {
/**
* Signed fractions of a second at nanosecond resolution of the span
* of time. Durations less than one second are represented with a 0
* `seconds` field and a positive or negative `nanos` field. For durations
* of one second or more, a non-zero value for the `nanos` field must be
* of the same sign as the `seconds` field. Must be from -999,999,999
* to +999,999,999 inclusive.
*/
nanos?: number;
/**
* Signed seconds of the span of time. Must be from -315,576,000,000
* to +315,576,000,000 inclusive. Note: these bounds are computed from:
* 60 sec/min * 60 min/hr * 24 hr/day * 365.25 days/year * 10000 years
*/
seconds?: string;
}
/**
* Stores timing information for pushing all artifact objects.
*
* Start and end times for a build execution phase.
*/
export interface TimeSpan {
/**
* End of time span.
*/
endTime?: Date;
/**
* Start of time span.
*/
startTime?: Date;
}
/**
* Cast a raw JSON object to a typed event (useful for IDE autocompletion).
* @param {object} json The JSON object
* @return {BuildEventData} The object with type annotations
*/
export declare const toBuildEventData: (json: object) => BuildEventData;
"use strict";
/**
* Copyright 2020 Google LLC
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* https://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
Object.defineProperty(exports, "__esModule", { value: true });
exports.toBuildEventData = exports.StatusEnum = exports.TypeEnum = exports.SubstitutionOptionEnum = exports.RequestedVerifyOptionEnum = exports.MachineTypeEnum = exports.LoggingEnum = exports.LogStreamingOptionEnum = void 0;
var LogStreamingOptionEnum;
(function (LogStreamingOptionEnum) {
LogStreamingOptionEnum["StreamDefault"] = "STREAM_DEFAULT";
LogStreamingOptionEnum["StreamOff"] = "STREAM_OFF";
LogStreamingOptionEnum["StreamOn"] = "STREAM_ON";
})(LogStreamingOptionEnum = exports.LogStreamingOptionEnum || (exports.LogStreamingOptionEnum = {}));
var LoggingEnum;
(function (LoggingEnum) {
LoggingEnum["GcsOnly"] = "GCS_ONLY";
LoggingEnum["Legacy"] = "LEGACY";
LoggingEnum["LoggingUnspecified"] = "LOGGING_UNSPECIFIED";
})(LoggingEnum = exports.LoggingEnum || (exports.LoggingEnum = {}));
var MachineTypeEnum;
(function (MachineTypeEnum) {
MachineTypeEnum["N1Highcpu32"] = "N1_HIGHCPU_32";
MachineTypeEnum["N1Highcpu8"] = "N1_HIGHCPU_8";
MachineTypeEnum["Unspecified"] = "UNSPECIFIED";
})(MachineTypeEnum = exports.MachineTypeEnum || (exports.MachineTypeEnum = {}));
var RequestedVerifyOptionEnum;
(function (RequestedVerifyOptionEnum) {
RequestedVerifyOptionEnum["NotVerified"] = "NOT_VERIFIED";
RequestedVerifyOptionEnum["Verified"] = "VERIFIED";
})(RequestedVerifyOptionEnum = exports.RequestedVerifyOptionEnum || (exports.RequestedVerifyOptionEnum = {}));
var SubstitutionOptionEnum;
(function (SubstitutionOptionEnum) {
SubstitutionOptionEnum["AllowLoose"] = "ALLOW_LOOSE";
SubstitutionOptionEnum["MustMatch"] = "MUST_MATCH";
})(SubstitutionOptionEnum = exports.SubstitutionOptionEnum || (exports.SubstitutionOptionEnum = {}));
var TypeEnum;
(function (TypeEnum) {
TypeEnum["Md5"] = "MD5";
TypeEnum["None"] = "NONE";
TypeEnum["Sha256"] = "SHA256";
})(TypeEnum = exports.TypeEnum || (exports.TypeEnum = {}));
var StatusEnum;
(function (StatusEnum) {
StatusEnum["Cancelled"] = "CANCELLED";
StatusEnum["Expired"] = "EXPIRED";
StatusEnum["Failure"] = "FAILURE";
StatusEnum["InternalError"] = "INTERNAL_ERROR";
StatusEnum["Queued"] = "QUEUED";
StatusEnum["StatusUnknown"] = "STATUS_UNKNOWN";
StatusEnum["Success"] = "SUCCESS";
StatusEnum["Timeout"] = "TIMEOUT";
StatusEnum["Working"] = "WORKING";
})(StatusEnum = exports.StatusEnum || (exports.StatusEnum = {}));
/**
* Cast a raw JSON object to a typed event (useful for IDE autocompletion).
* @param {object} json The JSON object
* @return {BuildEventData} The object with type annotations
*/
exports.toBuildEventData = (json) => {
return json;
};
/**
* Copyright 2020 Google LLC
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* https://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
/**
* The data within all Firestore document events.
*/
export interface DocumentEventData {
/**
* A Document object containing a pre-operation document snapshot.
* This is only populated for update and delete events.
*/
oldValue?: OldValue;
/**
* A DocumentMask object that lists changed fields.
* This is only populated for update events.
*/
updateMask?: UpdateMask;
/**
* A Document object containing a post-operation document snapshot.
* This is not populated for delete events. (TODO: check this!)
*/
value?: Value;
}
/**
* A Document object containing a pre-operation document snapshot.
* This is only populated for update and delete events.
*
* A Firestore document.
*/
export interface OldValue {
/**
* The time at which the document was created.
*
* This value increases monotonically when a document is deleted then
* recreated. It can also be compared to values from other documents and
* the `read_time` of a query.
*/
createTime?: Date;
/**
* The document's fields.
*
* The map keys represent field names.
*
* A simple field name contains only characters `a` to `z`, `A` to `Z`,
* `0` to `9`, or `_`, and must not start with `0` to `9`. For example,
* `foo_bar_17`.
*
* Field names matching the regular expression `__.*__` are reserved. Reserved
* field names are forbidden except in certain documented contexts. The map
* keys, represented as UTF-8, must not exceed 1,500 bytes and cannot be
* empty.
*
* Field paths may be used in other contexts to refer to structured fields
* defined here. For `map_value`, the field path is represented by the simple
* or quoted field names of the containing fields, delimited by `.`. For
* example, the structured field
* `"foo" : { map_value: { "x&y" : { string_value: "hello" }}}` would be
* represented by the field path `foo.x&y`.
*
* Within a field path, a quoted field name starts and ends with `` ` `` and
* may contain any character. Some characters, including `` ` ``, must be
* escaped using a `\`. For example, `` `x&y` `` represents `x&y` and
* `` `bak\`tik` `` represents `` bak`tik ``.
*/
fields?: {
[key: string]: OldValueField;
};
/**
* The resource name of the document, for example
* `projects/{project_id}/databases/{database_id}/documents/{document_path}`.
*/
name?: string;
/**
* The time at which the document was last changed.
*
* This value is initially set to the `create_time` then increases
* monotonically with each change to the document. It can also be
* compared to values from other documents and the `read_time` of a query.
*/
updateTime?: Date;
}
/**
* A message that can hold any of the supported value types.
*/
export interface OldValueField {
/**
* An array value.
*
* Cannot directly contain another array value, though can contain an
* map which contains another array.
*/
arrayValue?: ArrayValue;
/**
* A boolean value.
*/
booleanValue?: boolean;
/**
* A bytes value.
*
* Must not exceed 1 MiB - 89 bytes.
* Only the first 1,500 bytes are considered by queries.
*/
bytesValue?: string;
/**
* A double value.
*/
doubleValue?: number;
/**
* A geo point value representing a point on the surface of Earth.
*/
geoPointValue?: GeoPointValue;
/**
* An integer value.
*/
integerValue?: string;
/**
* A map value.
*/
mapValue?: MapValue;
/**
* A null value.
*/
nullValue?: number | string;
/**
* A reference to a document. For example:
* `projects/{project_id}/databases/{database_id}/documents/{document_path}`.
*/
referenceValue?: string;
/**
* A string value.
*
* The string, represented as UTF-8, must not exceed 1 MiB - 89 bytes.
* Only the first 1,500 bytes of the UTF-8 representation are considered by
* queries.
*/
stringValue?: string;
/**
* A timestamp value.
*
* Precise only to microseconds. When stored, any additional precision is
* rounded down.
*/
timestampValue?: Date;
}
/**
* A message that can hold any of the supported value types.
*/
export interface MapValueField {
/**
* An array value.
*
* Cannot directly contain another array value, though can contain an
* map which contains another array.
*/
arrayValue?: ArrayValue;
/**
* A boolean value.
*/
booleanValue?: boolean;
/**
* A bytes value.
*
* Must not exceed 1 MiB - 89 bytes.
* Only the first 1,500 bytes are considered by queries.
*/
bytesValue?: string;
/**
* A double value.
*/
doubleValue?: number;
/**
* A geo point value representing a point on the surface of Earth.
*/
geoPointValue?: GeoPointValue;
/**
* An integer value.
*/
integerValue?: string;
/**
* A map value.
*/
mapValue?: MapValue;
/**
* A null value.
*/
nullValue?: number | string;
/**
* A reference to a document. For example:
* `projects/{project_id}/databases/{database_id}/documents/{document_path}`.
*/
referenceValue?: string;
/**
* A string value.
*
* The string, represented as UTF-8, must not exceed 1 MiB - 89 bytes.
* Only the first 1,500 bytes of the UTF-8 representation are considered by
* queries.
*/
stringValue?: string;
/**
* A timestamp value.
*
* Precise only to microseconds. When stored, any additional precision is
* rounded down.
*/
timestampValue?: Date;
}
/**
* A map value.
*/
export interface MapValue {
/**
* The map's fields.
*
* The map keys represent field names. Field names matching the regular
* expression `__.*__` are reserved. Reserved field names are forbidden except
* in certain documented contexts. The map keys, represented as UTF-8, must
* not exceed 1,500 bytes and cannot be empty.
*/
fields?: {
[key: string]: MapValueField;
};
}
/**
* A message that can hold any of the supported value types.
*/
export interface ValueElement {
/**
* An array value.
*
* Cannot directly contain another array value, though can contain an
* map which contains another array.
*/
arrayValue?: ArrayValue;
/**
* A boolean value.
*/
booleanValue?: boolean;
/**
* A bytes value.
*
* Must not exceed 1 MiB - 89 bytes.
* Only the first 1,500 bytes are considered by queries.
*/
bytesValue?: string;
/**
* A double value.
*/
doubleValue?: number;
/**
* A geo point value representing a point on the surface of Earth.
*/
geoPointValue?: GeoPointValue;
/**
* An integer value.
*/
integerValue?: string;
/**
* A map value.
*/
mapValue?: MapValue;
/**
* A null value.
*/
nullValue?: number | string;
/**
* A reference to a document. For example:
* `projects/{project_id}/databases/{database_id}/documents/{document_path}`.
*/
referenceValue?: string;
/**
* A string value.
*
* The string, represented as UTF-8, must not exceed 1 MiB - 89 bytes.
* Only the first 1,500 bytes of the UTF-8 representation are considered by
* queries.
*/
stringValue?: string;
/**
* A timestamp value.
*
* Precise only to microseconds. When stored, any additional precision is
* rounded down.
*/
timestampValue?: Date;
}
/**
* An array value.
*
* Cannot directly contain another array value, though can contain an
* map which contains another array.
*/
export interface ArrayValue {
/**
* Values in the array.
*/
values?: ValueElement[];
}
/**
* A geo point value representing a point on the surface of Earth.
*/
export interface GeoPointValue {
/**
* The latitude in degrees. It must be in the range [-90.0, +90.0].
*/
latitude?: number;
/**
* The longitude in degrees. It must be in the range [-180.0, +180.0].
*/
longitude?: number;
}
/**
* A DocumentMask object that lists changed fields.
* This is only populated for update events.
*/
export interface UpdateMask {
/**
* The list of field paths in the mask.
* See [Document.fields][google.cloud.firestore.v1.events.Document.fields]
* for a field path syntax reference.
*/
fieldPaths?: string[];
}
/**
* A Document object containing a post-operation document snapshot.
* This is not populated for delete events. (TODO: check this!)
*
* A Document object containing a pre-operation document snapshot.
* This is only populated for update and delete events.
*
* A Firestore document.
*/
export interface Value {
/**
* The time at which the document was created.
*
* This value increases monotonically when a document is deleted then
* recreated. It can also be compared to values from other documents and
* the `read_time` of a query.
*/
createTime?: Date;
/**
* The document's fields.
*
* The map keys represent field names.
*
* A simple field name contains only characters `a` to `z`, `A` to `Z`,
* `0` to `9`, or `_`, and must not start with `0` to `9`. For example,
* `foo_bar_17`.
*
* Field names matching the regular expression `__.*__` are reserved. Reserved
* field names are forbidden except in certain documented contexts. The map
* keys, represented as UTF-8, must not exceed 1,500 bytes and cannot be
* empty.
*
* Field paths may be used in other contexts to refer to structured fields
* defined here. For `map_value`, the field path is represented by the simple
* or quoted field names of the containing fields, delimited by `.`. For
* example, the structured field
* `"foo" : { map_value: { "x&y" : { string_value: "hello" }}}` would be
* represented by the field path `foo.x&y`.
*
* Within a field path, a quoted field name starts and ends with `` ` `` and
* may contain any character. Some characters, including `` ` ``, must be
* escaped using a `\`. For example, `` `x&y` `` represents `x&y` and
* `` `bak\`tik` `` represents `` bak`tik ``.
*/
fields?: {
[key: string]: OldValueField;
};
/**
* The resource name of the document, for example
* `projects/{project_id}/databases/{database_id}/documents/{document_path}`.
*/
name?: string;
/**
* The time at which the document was last changed.
*
* This value is initially set to the `create_time` then increases
* monotonically with each change to the document. It can also be
* compared to values from other documents and the `read_time` of a query.
*/
updateTime?: Date;
}
/**
* Cast a raw JSON object to a typed event (useful for IDE autocompletion).
* @param {object} json The JSON object
* @return {DocumentEventData} The object with type annotations
*/
export declare const toDocumentEventData: (json: object) => DocumentEventData;
"use strict";
/**
* Copyright 2020 Google LLC
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* https://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
Object.defineProperty(exports, "__esModule", { value: true });
exports.toDocumentEventData = void 0;
/**
* Cast a raw JSON object to a typed event (useful for IDE autocompletion).
* @param {object} json The JSON object
* @return {DocumentEventData} The object with type annotations
*/
exports.toDocumentEventData = (json) => {
return json;
};
/**
* Copyright 2020 Google LLC
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* https://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
/**
* The event data when a message is published to a topic.
*/
export interface MessagePublishedData {
/**
* The message that was published.
*/
message?: Message;
/**
* The resource name of the subscription for which this event was
* generated. The format of the value is
* `projects/{project-id}/subscriptions/{subscription-id}`.
*/
subscription?: string;
}
/**
* The message that was published.
*/
export interface Message {
/**
* Attributes for this message.
*/
attributes?: {
[key: string]: string;
};
/**
* The binary data in the message.
*/
data?: string;
/**
* ID of this message, assigned by the server when the message is published.
* Guaranteed to be unique within the topic.
*/
messageId?: string;
}
/**
* Cast a raw JSON object to a typed event (useful for IDE autocompletion).
* @param {object} json The JSON object
* @return {MessagePublishedData} The object with type annotations
*/
export declare const toMessagePublishedData: (json: object) => MessagePublishedData;
"use strict";
/**
* Copyright 2020 Google LLC
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* https://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
Object.defineProperty(exports, "__esModule", { value: true });
exports.toMessagePublishedData = void 0;
/**
* Cast a raw JSON object to a typed event (useful for IDE autocompletion).
* @param {object} json The JSON object
* @return {MessagePublishedData} The object with type annotations
*/
exports.toMessagePublishedData = (json) => {
return json;
};
/**
* Copyright 2020 Google LLC
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* https://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
/**
* Scheduler job data.
*/
export interface SchedulerJobData {
/**
* The custom data the user specified when creating the scheduler source.
*/
customData?: string;
}
/**
* Cast a raw JSON object to a typed event (useful for IDE autocompletion).
* @param {object} json The JSON object
* @return {SchedulerJobData} The object with type annotations
*/
export declare const toSchedulerJobData: (json: object) => SchedulerJobData;
"use strict";
/**
* Copyright 2020 Google LLC
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* https://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
Object.defineProperty(exports, "__esModule", { value: true });
exports.toSchedulerJobData = void 0;
/**
* Cast a raw JSON object to a typed event (useful for IDE autocompletion).
* @param {object} json The JSON object
* @return {SchedulerJobData} The object with type annotations
*/
exports.toSchedulerJobData = (json) => {
return json;
};
/**
* Copyright 2020 Google LLC
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* https://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
/**
* An object within Google Cloud Storage.
*/
export interface StorageObjectData {
/**
* The name of the bucket containing this object.
*/
bucket?: string;
/**
* Cache-Control directive for the object data, matching
* [https://tools.ietf.org/html/rfc7234#section-5.2"][RFC 7234 §5.2].
*/
cacheControl?: string;
/**
* Number of underlying components that make up this object. Components are
* accumulated by compose operations.
* Attempting to set this field will result in an error.
*/
componentCount?: number;
/**
* Content-Disposition of the object data, matching
* [https://tools.ietf.org/html/rfc6266][RFC 6266].
*/
contentDisposition?: string;
/**
* Content-Encoding of the object data, matching
* [https://tools.ietf.org/html/rfc7231#section-3.1.2.2][RFC 7231 §3.1.2.2]
*/
contentEncoding?: string;
/**
* Content-Language of the object data, matching
* [https://tools.ietf.org/html/rfc7231#section-3.1.3.2][RFC 7231 §3.1.3.2].
*/
contentLanguage?: string;
/**
* Content-Type of the object data, matching
* [https://tools.ietf.org/html/rfc7231#section-3.1.1.5][RFC 7231 §3.1.1.5].
* If an object is stored without a Content-Type, it is served as
* `application/octet-stream`.
*/
contentType?: string;
/**
* CRC32c checksum. For more information about using the CRC32c
* checksum, see
* [https://cloud.google.com/storage/docs/hashes-etags#_JSONAPI][Hashes and
* ETags: Best Practices].
*/
crc32C?: string;
/**
* Metadata of customer-supplied encryption key, if the object is encrypted by
* such a key.
*/
customerEncryption?: CustomerEncryption;
/**
* HTTP 1.1 Entity tag for the object. See
* [https://tools.ietf.org/html/rfc7232#section-2.3][RFC 7232 §2.3].
*/
etag?: string;
/**
* Whether an object is under event-based hold.
*/
eventBasedHold?: boolean;
/**
* The content generation of this object. Used for object versioning.
* Attempting to set this field will result in an error.
*/
generation?: string;
/**
* The ID of the object, including the bucket name, object name, and
* generation number.
*/
id?: string;
/**
* The kind of item this is. For objects, this is always "storage#object".
*/
kind?: string;
/**
* Cloud KMS Key used to encrypt this object, if the object is encrypted by
* such a key.
*/
kmsKeyName?: string;
/**
* MD5 hash of the data; encoded using base64 as per
* [https://tools.ietf.org/html/rfc4648#section-4][RFC 4648 §4]. For more
* information about using the MD5 hash, see
* [https://cloud.google.com/storage/docs/hashes-etags#_JSONAPI][Hashes and
* ETags: Best Practices].
*/
md5Hash?: string;
/**
* Media download link.
*/
mediaLink?: string;
/**
* User-provided metadata, in key/value pairs.
*/
metadata?: {
[key: string]: string;
};
/**
* The version of the metadata for this object at this generation. Used for
* preconditions and for detecting changes in metadata. A metageneration
* number is only meaningful in the context of a particular generation of a
* particular object.
*/
metageneration?: string;
/**
* The name of the object.
*/
name?: string;
/**
* A server-determined value that specifies the earliest time that the
* object's retention period expires.
*/
retentionExpirationTime?: Date;
/**
* The link to this object.
*/
selfLink?: string;
/**
* Content-Length of the object data in bytes, matching
* [https://tools.ietf.org/html/rfc7230#section-3.3.2][RFC 7230 §3.3.2].
*/
size?: string;
/**
* Storage class of the object.
*/
storageClass?: string;
/**
* Whether an object is under temporary hold.
*/
temporaryHold?: boolean;
/**
* The creation time of the object.
* Attempting to set this field will result in an error.
*/
timeCreated?: Date;
/**
* The deletion time of the object. Will be returned if and only if this
* version of the object has been deleted.
*/
timeDeleted?: Date;
/**
* The time at which the object's storage class was last changed.
*/
timeStorageClassUpdated?: Date;
/**
* The modification time of the object metadata.
*/
updated?: Date;
}
/**
* Metadata of customer-supplied encryption key, if the object is encrypted by
* such a key.
*/
export interface CustomerEncryption {
/**
* The encryption algorithm.
*/
encryptionAlgorithm?: string;
/**
* SHA256 hash value of the encryption key.
*/
keySha256?: string;
}
/**
* Cast a raw JSON object to a typed event (useful for IDE autocompletion).
* @param {object} json The JSON object
* @return {StorageObjectData} The object with type annotations
*/
export declare const toStorageObjectData: (json: object) => StorageObjectData;
"use strict";
/**
* Copyright 2020 Google LLC
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* https://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
Object.defineProperty(exports, "__esModule", { value: true });
exports.toStorageObjectData = void 0;
/**
* Cast a raw JSON object to a typed event (useful for IDE autocompletion).
* @param {object} json The JSON object
* @return {StorageObjectData} The object with type annotations
*/
exports.toStorageObjectData = (json) => {
return json;
};
+2
-0

@@ -20,2 +20,3 @@ # https://github.com/GoogleCloudPlatform/release-please-action

- id: label
if: ${{ steps.release-pr.outputs.pr }}
uses: actions/github-script@v3

@@ -59,2 +60,3 @@ with:

npm install
npm run build
npm publish

@@ -61,0 +63,0 @@ - uses: actions/github-script@v3

# Changelog
### [3.2.1](https://www.github.com/googleapis/google-cloudevents-nodejs/compare/v3.2.0...v3.2.1) (2020-12-03)
### Bug Fixes
* fix the build release workflow ([#81](https://www.github.com/googleapis/google-cloudevents-nodejs/issues/81)) ([03ac5be](https://www.github.com/googleapis/google-cloudevents-nodejs/commit/03ac5bea1a508fb8dfa0651ab4c29556fcbb6eee))
## [3.2.0](https://www.github.com/googleapis/google-cloudevents-nodejs/compare/v3.1.0...v3.2.0) (2020-12-02)

@@ -4,0 +11,0 @@

+5
-8

@@ -8,3 +8,3 @@ /**

*
* http://www.apache.org/licenses/LICENSE-2.0
* https://www.apache.org/licenses/LICENSE-2.0
*

@@ -19,6 +19,3 @@ * Unless required by applicable law or agreed to in writing, software

/**
* Generic log entry, used as a wrapper for Cloud Audit Logs in events.
* This is copied from
* https://github.com/googleapis/googleapis/blob/master/google/logging/v2/log_entry.proto
* and adapted appropriately.
* The data within all Cloud Audit Logs log entry events.
*/

@@ -141,3 +138,3 @@ export interface LogEntryData {

*/
numResponseItems?: number | string;
numResponseItems?: string;
/**

@@ -504,3 +501,3 @@ * The operation request. This may not include all request parameters,

*/
port?: number | string;
port?: string;
/**

@@ -585,3 +582,3 @@ * The identity of this peer. Similar to `Request.auth.principal`, but

*/
size?: number | string;
size?: string;
/**

@@ -588,0 +585,0 @@ * The timestamp when the `destination` service receives the first byte of

@@ -8,3 +8,3 @@ /**

*
* http://www.apache.org/licenses/LICENSE-2.0
* https://www.apache.org/licenses/LICENSE-2.0
*

@@ -19,7 +19,3 @@ * Unless required by applicable law or agreed to in writing, software

/**
* Build event data
* Common build format for Google Cloud Platform API operations.
* Copied from
*
* https://github.com/googleapis/googleapis/blob/master/google/devtools/cloudbuild/v1/cloudbuild.proto.
* Build event data for Google Cloud Platform API operations.
*/

@@ -149,3 +145,3 @@ export interface BuildEventData {

*/
timing?: { [key: string]: GoogleEventsCloudCloudbuildV1TimeSpan };
timing?: { [key: string]: TimeSpan };
}

@@ -247,3 +243,3 @@

*/
diskSizeGb?: number | string;
diskSizeGb?: string;
/**

@@ -303,3 +299,3 @@ * A list of global environment variable definitions that will exist for all

*/
volumes?: GoogleEventsCloudCloudbuildV1Volume[];
volumes?: Volume[];
/**

@@ -344,3 +340,3 @@ * Option to specify a `WorkerPool` for the build.

*/
export interface GoogleEventsCloudCloudbuildV1Volume {
export interface Volume {
/**

@@ -384,3 +380,3 @@ * Name of the volume to mount.

*/
seconds?: number | string;
seconds?: string;
}

@@ -421,3 +417,3 @@

*/
numArtifacts?: number | string;
numArtifacts?: string;
}

@@ -508,7 +504,7 @@

*/
repoSource?: RepoSource;
repoSource?: RepoSourceObject;
/**
* If provided, get the source from this location in Google Cloud Storage.
*/
storageSource?: StorageSource;
storageSource?: StorageSourceObject;
}

@@ -522,3 +518,3 @@

*/
export interface RepoSource {
export interface RepoSourceObject {
/**

@@ -574,3 +570,3 @@ * Regex matching branches to build.

*/
export interface StorageSource {
export interface StorageSourceObject {
/**

@@ -586,3 +582,3 @@ * Google Cloud Storage bucket containing the source (see

*/
generation?: number | string;
generation?: string;
/**

@@ -724,3 +720,3 @@ * Google Cloud Storage object containing the source.

*/
generation?: number | string;
generation?: string;
/**

@@ -845,3 +841,3 @@ * Google Cloud Storage object containing the source.

*/
volumes?: GoogleEventsCloudCloudbuildV1Volume[];
volumes?: Volume[];
/**

@@ -896,3 +892,3 @@ * The ID(s) of the step(s) that this build step depends on.

*/
seconds?: number | string;
seconds?: string;
}

@@ -938,3 +934,3 @@

*/
seconds?: number | string;
seconds?: string;
}

@@ -947,3 +943,3 @@

*/
export interface GoogleEventsCloudCloudbuildV1TimeSpan {
export interface TimeSpan {
/**

@@ -950,0 +946,0 @@ * End of time span.

@@ -8,3 +8,3 @@ /**

*
* http://www.apache.org/licenses/LICENSE-2.0
* https://www.apache.org/licenses/LICENSE-2.0
*

@@ -129,3 +129,3 @@ * Unless required by applicable law or agreed to in writing, software

*/
integerValue?: number | string;
integerValue?: string;
/**

@@ -194,3 +194,3 @@ * A map value.

*/
integerValue?: number | string;
integerValue?: string;
/**

@@ -274,3 +274,3 @@ * A map value.

*/
integerValue?: number | string;
integerValue?: string;
/**

@@ -277,0 +277,0 @@ * A map value.

@@ -8,3 +8,3 @@ /**

*
* http://www.apache.org/licenses/LICENSE-2.0
* https://www.apache.org/licenses/LICENSE-2.0
*

@@ -19,3 +19,3 @@ * Unless required by applicable law or agreed to in writing, software

/**
* The data received in an event when a message is published to a topic.
* The event data when a message is published to a topic.
*/

@@ -22,0 +22,0 @@ export interface MessagePublishedData {

@@ -8,3 +8,3 @@ /**

*
* http://www.apache.org/licenses/LICENSE-2.0
* https://www.apache.org/licenses/LICENSE-2.0
*

@@ -11,0 +11,0 @@ * Unless required by applicable law or agreed to in writing, software

@@ -8,3 +8,3 @@ /**

*
* http://www.apache.org/licenses/LICENSE-2.0
* https://www.apache.org/licenses/LICENSE-2.0
*

@@ -84,3 +84,3 @@ * Unless required by applicable law or agreed to in writing, software

*/
generation?: number | string;
generation?: string;
/**

@@ -122,3 +122,3 @@ * The ID of the object, including the bucket name, object name, and

*/
metageneration?: number | string;
metageneration?: string;
/**

@@ -141,3 +141,3 @@ * The name of the object.

*/
size?: number | string;
size?: string;
/**

@@ -144,0 +144,0 @@ * Storage class of the object.

@@ -8,3 +8,3 @@ /**

*
* http://www.apache.org/licenses/LICENSE-2.0
* https://www.apache.org/licenses/LICENSE-2.0
*

@@ -48,11 +48,11 @@ * Unless required by applicable law or agreed to in writing, software

*/
params?: { [key: string]: GoogleEventsFirebaseAnalyticsV1AnalyticsValue };
params?: { [key: string]: AnalyticsValue };
/**
* UTC client time when the previous event happened.
*/
previousTimestampMicros?: number | string;
previousTimestampMicros?: string;
/**
* UTC client time when the event happened.
*/
timestampMicros?: number | string;
timestampMicros?: string;
/**

@@ -68,6 +68,6 @@ * Value param in USD.

*/
export interface GoogleEventsFirebaseAnalyticsV1AnalyticsValue {
export interface AnalyticsValue {
doubleValue?: number;
floatValue?: number;
intValue?: number | string;
intValue?: string;
stringValue?: string;

@@ -95,3 +95,3 @@ }

*/
firstOpenTimestampMicros?: number | string;
firstOpenTimestampMicros?: string;
/**

@@ -162,3 +162,3 @@ * User's geographic information.

*/
serverTimestampOffsetMicros?: number | string;
serverTimestampOffsetMicros?: string;
}

@@ -296,3 +296,3 @@

*/
setTimestampUsec?: number | string;
setTimestampUsec?: string;
/**

@@ -313,3 +313,3 @@ * Last set value of user property.

floatValue?: number;
intValue?: number | string;
intValue?: string;
stringValue?: string;

@@ -316,0 +316,0 @@ }

@@ -8,3 +8,3 @@ /**

*
* http://www.apache.org/licenses/LICENSE-2.0
* https://www.apache.org/licenses/LICENSE-2.0
*

@@ -19,3 +19,3 @@ * Unless required by applicable law or agreed to in writing, software

/**
* The data within all Firebase Auth events
* The data within all Firebase Auth events.
*/

@@ -22,0 +22,0 @@ export interface AuthEventData {

@@ -8,3 +8,3 @@ /**

*
* http://www.apache.org/licenses/LICENSE-2.0
* https://www.apache.org/licenses/LICENSE-2.0
*

@@ -11,0 +11,0 @@ * Unless required by applicable law or agreed to in writing, software

@@ -8,3 +8,3 @@ /**

*
* http://www.apache.org/licenses/LICENSE-2.0
* https://www.apache.org/licenses/LICENSE-2.0
*

@@ -30,3 +30,3 @@ * Unless required by applicable law or agreed to in writing, software

*/
rollbackSource?: number | string;
rollbackSource?: string;
/**

@@ -51,3 +51,3 @@ * Where the update action originated.

*/
versionNumber?: number | string;
versionNumber?: string;
}

@@ -54,0 +54,0 @@

{
"name": "@google/events",
"version": "3.2.0",
"version": "3.2.1",
"description": "Client library for CloudEvents issued by Google.",

@@ -5,0 +5,0 @@ "main": "index.js",