Skip to content

Commit

Permalink
feat!: converts library to TypeScript adding v1p1beta1 surface (#250)
Browse files Browse the repository at this point in the history
BREAKING CHANGE: removes projectPath helper, instead use "projects/${project}".
  • Loading branch information
bcoe authored Jan 30, 2020
1 parent 1cb401e commit 30a105e
Show file tree
Hide file tree
Showing 81 changed files with 14,139 additions and 14,986 deletions.
2 changes: 1 addition & 1 deletion packages/google-cloud-asset/.jsdoc.js
Original file line number Diff line number Diff line change
Expand Up @@ -31,7 +31,7 @@ module.exports = {
source: {
excludePattern: '(^|\\/|\\\\)[._]',
include: [
'src'
'build/src'
],
includePattern: '\\.js$'
},
Expand Down
2 changes: 1 addition & 1 deletion packages/google-cloud-asset/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -62,7 +62,7 @@ npm install @google-cloud/asset

async function quickstart() {
const projectId = await client.getProjectId();
const projectResource = client.projectPath(projectId);
const projectResource = `projects/${projectId}`;
// TODO(developer): Choose asset names, such as //storage.googleapis.com/[YOUR_BUCKET_NAME].
// const assetNames = ['ASSET_NAME1', 'ASSET_NAME2', ...];

Expand Down
39 changes: 25 additions & 14 deletions packages/google-cloud-asset/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -8,12 +8,10 @@
"node": ">=8.10.0"
},
"repository": "googleapis/nodejs-asset",
"main": "src/index.js",
"main": "build/src/index.js",
"files": [
"protos",
"src",
"AUTHORS",
"COPYING"
"build/src",
"build/protos"
],
"keywords": [
"google apis client",
Expand All @@ -29,34 +27,47 @@
"Cloud Asset API"
],
"scripts": {
"docs": "jsdoc -c .jsdoc.js",
"lint": "eslint '**/*.js'",
"samples-test": "c8 npm run samples-test-suite",
"samples-test-suite": "cd samples/ && npm link ../ && npm test && cd ../",
"system-test": "mocha system-test/*.js smoke-test/*.js --timeout 600000",
"test": "c8 mocha",
"fix": "eslint --fix '**/*.js'",
"clean": "gts clean",
"compile": "tsc -p . && cp -r protos build/",
"compile-protos": "compileProtos src",
"docs": "jsdoc -c .jsdoc.js",
"docs-test": "linkinator docs",
"predocs-test": "npm run docs"
"fix": "gts fix",
"lint": "gts check",
"predocs-test": "npm run docs",
"prepare": "npm run compile",
"system-test": "c8 mocha build/system-test",
"test": "c8 mocha build/test"
},
"dependencies": {
"google-gax": "^1.7.5",
"google-gax": "^1.14.1",
"protobufjs": "^6.8.0"
},
"devDependencies": {
"@types/mocha": "^5.2.5",
"@types/node": "^12.0.0",
"c8": "^7.0.1",
"codecov": "^3.0.4",
"eslint": "^6.0.0",
"eslint-config-prettier": "^6.0.0",
"eslint-plugin-node": "^11.0.0",
"eslint-plugin-prettier": "^3.0.0",
"gts": "^1.0.0",
"intelli-espower-loader": "^1.0.1",
"jsdoc": "^3.6.2",
"jsdoc-fresh": "^1.0.1",
"jsdoc-region-tag": "^1.0.2",
"linkinator": "^1.5.0",
"mocha": "^7.0.0",
"c8": "^7.0.0",
"null-loader": "^3.0.0",
"pack-n-play": "^1.0.0-2",
"power-assert": "^1.6.0",
"prettier": "^1.13.7"
"prettier": "^1.13.7",
"ts-loader": "^6.2.1",
"typescript": "~3.6.4",
"webpack": "^4.41.2",
"webpack-cli": "^3.3.10"
}
}
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
// Copyright 2018 Google LLC.
// Copyright 2019 Google LLC.
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
Expand All @@ -18,6 +18,9 @@ syntax = "proto3";
package google.cloud.asset.v1beta1;

import "google/api/annotations.proto";
import "google/api/client.proto";
import "google/api/field_behavior.proto";
import "google/api/resource.proto";
import "google/cloud/asset/v1beta1/assets.proto";
import "google/longrunning/operations.proto";
import "google/protobuf/timestamp.proto";
Expand All @@ -31,6 +34,10 @@ option php_namespace = "Google\\Cloud\\Asset\\V1beta1";

// Asset service definition.
service AssetService {
option (google.api.default_host) = "cloudasset.googleapis.com";
option (google.api.oauth_scopes) =
"https://www.googleapis.com/auth/cloud-platform";

// Exports assets with time and resource types to a given Cloud Storage
// location. The output format is newline-delimited JSON.
// This API implements the
Expand All @@ -49,13 +56,19 @@ service AssetService {
body: "*"
}
};
option (google.longrunning.operation_info) = {
response_type: "google.cloud.asset.v1beta1.ExportAssetsResponse"
metadata_type: "google.cloud.asset.v1beta1.ExportAssetsRequest"
};
}

// Batch gets the update history of assets that overlap a time window.
// For RESOURCE content, this API outputs history with asset in both
// non-delete or deleted status.
// For IAM_POLICY content, this API outputs history when the asset and its
// attached IAM POLICY both exist. This can create gaps in the output history.
// If a specified asset does not exist, this API returns an INVALID_ARGUMENT
// error.
rpc BatchGetAssetsHistory(BatchGetAssetsHistoryRequest)
returns (BatchGetAssetsHistoryResponse) {
option (google.api.http) = {
Expand All @@ -73,7 +86,12 @@ message ExportAssetsRequest {
// organization number (such as "organizations/123"), a project ID (such as
// "projects/my-project-id"), a project number (such as "projects/12345"), or
// a folder number (such as "folders/123").
string parent = 1;
string parent = 1 [
(google.api.field_behavior) = REQUIRED,
(google.api.resource_reference) = {
child_type: "cloudasset.googleapis.com/Asset"
}
];

// Timestamp to take an asset snapshot. This can only be set to a timestamp
// between 2018-10-02 UTC (inclusive) and the current time. If not specified,
Expand All @@ -95,7 +113,7 @@ message ExportAssetsRequest {

// Required. Output configuration indicating where the results will be output
// to. All results will be in newline delimited JSON format.
OutputConfig output_config = 5;
OutputConfig output_config = 5 [(google.api.field_behavior) = REQUIRED];
}

// The export asset response. This message is returned by the
Expand All @@ -117,7 +135,12 @@ message BatchGetAssetsHistoryRequest {
// Required. The relative name of the root asset. It can only be an
// organization number (such as "organizations/123"), a project ID (such as
// "projects/my-project-id")", or a project number (such as "projects/12345").
string parent = 1;
string parent = 1 [
(google.api.field_behavior) = REQUIRED,
(google.api.resource_reference) = {
child_type: "cloudasset.googleapis.com/Asset"
}
];

// A list of the full names of the assets. For example:
// `//compute.googleapis.com/projects/my_project_123/zones/zone1/instances/instance1`.
Expand All @@ -129,16 +152,16 @@ message BatchGetAssetsHistoryRequest {
// size of the asset name list is 100 in one request.
repeated string asset_names = 2;

// Required. The content type.
ContentType content_type = 3;
// Optional. The content type.
ContentType content_type = 3 [(google.api.field_behavior) = OPTIONAL];

// Optional. The time window for the asset history. Both start_time and
// end_time are optional and if set, it must be after 2018-10-02 UTC. If
// end_time is not set, it is default to current timestamp. If start_time is
// not set, the snapshot of the assets at end_time will be returned. The
// returned results contain all temporal assets whose time window overlap with
// read_time_window.
TimeWindow read_time_window = 4;
TimeWindow read_time_window = 4 [(google.api.field_behavior) = OPTIONAL];
}

// Batch get assets history response.
Expand Down Expand Up @@ -166,6 +189,16 @@ message GcsDestination {
// Metadata](https://cloud.google.com/storage/docs/viewing-editing-metadata)
// for more information.
string uri = 1;

// The uri prefix of all generated Cloud Storage objects. For example:
// "gs://bucket_name/object_name_prefix". Each object uri is in format:
// "gs://bucket_name/object_name_prefix/<asset type>/<shard number> and only
// contains assets for that type. <shard number> starts from 0. For example:
// "gs://bucket_name/object_name_prefix/google.compute.disk/0" is the first
// shard of output objects containing all google.compute.disk assets.
// An INVALID_ARGUMENT error will be returned if file with the same name
// "gs://bucket_name/object_name_prefix" already exists.
string uri_prefix = 2;
}
}

Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
// Copyright 2018 Google LLC.
// Copyright 2019 Google LLC.
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
Expand All @@ -18,11 +18,13 @@ syntax = "proto3";
package google.cloud.asset.v1beta1;

import "google/api/annotations.proto";
import "google/api/resource.proto";
import "google/iam/v1/policy.proto";
import "google/protobuf/any.proto";
import "google/protobuf/struct.proto";
import "google/protobuf/timestamp.proto";

option cc_enable_arenas = true;
option csharp_namespace = "Google.Cloud.Asset.V1Beta1";
option go_package = "google.golang.org/genproto/googleapis/cloud/asset/v1beta1;asset";
option java_multiple_files = true;
Expand Down Expand Up @@ -56,6 +58,11 @@ message TimeWindow {
// Cloud asset. This includes all Google Cloud Platform resources,
// Cloud IAM policies, and other non-GCP assets.
message Asset {
option (google.api.resource) = {
type: "cloudasset.googleapis.com/Asset"
pattern: "*"
};

// The full name of the asset. For example:
// `//compute.googleapis.com/projects/my_project_123/zones/zone1/instances/instance1`.
// See [Resource
Expand Down
Loading

0 comments on commit 30a105e

Please sign in to comment.