Skip to content

Commit 13d03c1

Browse files
authored
fix(google-cloud-secretmanager): improve librarian.js script an re-add missing functions (#8424)
1 parent 0ce6340 commit 13d03c1

3 files changed

Lines changed: 116 additions & 7 deletions

File tree

packages/google-cloud-secretmanager/librarian.js

Lines changed: 15 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -25,14 +25,21 @@ function replaceInFile(filePath, pattern, replacement) {
2525
try {
2626
const data = fs.readFileSync(filePath, 'utf8');
2727
const result = data.replace(pattern, replacement);
28+
if (result === data) {
29+
throw new Error(`Pattern ${pattern} was not found or did not result in any changes.`);
30+
}
2831
fs.writeFileSync(filePath, result, 'utf8');
2932
console.log(`Successfully updated: ${filePath}`);
3033
} catch (err) {
3134
console.error(`Error processing file ${filePath}:`, err);
35+
process.exitCode = 1;
3236
}
3337
}
3438

35-
const filePath = 'packages/google-cloud-secretmanager/src/v1/secret_manager_service_client.ts';
39+
const filePaths = [
40+
path.resolve(__dirname, 'src/v1/secret_manager_service_client.ts'),
41+
path.resolve(__dirname, 'src/v1beta2/secret_manager_service_client.ts')
42+
];
3643

3744
const replacement1 = `return Promise.resolve();
3845
}
@@ -106,7 +113,7 @@ const replacement1 = `return Promise.resolve();
106113
* A fully-qualified path representing SecretVersion resource.
107114
* @returns {string} A string representing the secret.
108115
*/
109-
matchSecretFromSecretVersionName(secretVersionName: string) {
116+
matchSecretFromSecretVersionName(secretVersionName: string) {
110117
return this.pathTemplates.secretVersionPathTemplate.match(secretVersionName)
111118
.secret;
112119
}
@@ -135,5 +142,9 @@ const replacement2 = `topicPathTemplate: new this._gaxModule.PathTemplate(
135142
),
136143
};`;
137144

138-
replaceInFile(path.resolve(filePath), /return\sPromise\.resolve\(\);\s+}\s+}/g, replacement1);
139-
replaceInFile(path.resolve(filePath), /topicPathTemplate:\s+new\s+this\._gaxModule\.PathTemplate\(\s+'projects\/{project}\/topics\/{topic}'\s+\),\s+};/g, replacement2);
145+
filePaths.forEach(filePath => {
146+
if (fs.existsSync(filePath)) {
147+
replaceInFile(filePath, /return\sPromise\.resolve\(\);\s+}\s+}/g, replacement1);
148+
replaceInFile(filePath, /topicPathTemplate:\s+new\s+this\._gaxModule\.PathTemplate\(\s+'projects\/{project}\/topics\/{topic}',?\s*\),?\s*};/g, replacement2);
149+
}
150+
});

packages/google-cloud-secretmanager/src/v1/secret_manager_service_client.ts

Lines changed: 8 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -232,7 +232,13 @@ export class SecretManagerServiceClient {
232232
'projects/{project}/secrets/{secret}',
233233
),
234234
topicPathTemplate: new this._gaxModule.PathTemplate(
235-
'projects/{project}/topics/{topic}',
235+
'projects/{project}/topics/{topic}'
236+
),
237+
secretPathTemplate: new this._gaxModule.PathTemplate(
238+
'projects/{project}/secrets/{secret}'
239+
),
240+
secretVersionPathTemplate: new this._gaxModule.PathTemplate(
241+
'projects/{project}/secrets/{secret}/versions/{secret_version}'
236242
),
237243
};
238244

@@ -3304,7 +3310,7 @@ export class SecretManagerServiceClient {
33043310
* A fully-qualified path representing SecretVersion resource.
33053311
* @returns {string} A string representing the secret.
33063312
*/
3307-
matchSecretFromSecretVersionName(secretVersionName: string) {
3313+
matchSecretFromSecretVersionName(secretVersionName: string) {
33083314
return this.pathTemplates.secretVersionPathTemplate.match(secretVersionName)
33093315
.secret;
33103316
}

packages/google-cloud-secretmanager/src/v1beta2/secret_manager_service_client.ts

Lines changed: 93 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -232,7 +232,13 @@ export class SecretManagerServiceClient {
232232
'projects/{project}/secrets/{secret}',
233233
),
234234
topicPathTemplate: new this._gaxModule.PathTemplate(
235-
'projects/{project}/topics/{topic}',
235+
'projects/{project}/topics/{topic}'
236+
),
237+
secretPathTemplate: new this._gaxModule.PathTemplate(
238+
'projects/{project}/secrets/{secret}'
239+
),
240+
secretVersionPathTemplate: new this._gaxModule.PathTemplate(
241+
'projects/{project}/secrets/{secret}/versions/{secret_version}'
236242
),
237243
};
238244

@@ -3289,4 +3295,90 @@ export class SecretManagerServiceClient {
32893295
}
32903296
return Promise.resolve();
32913297
}
3298+
3299+
/**
3300+
* Return a fully-qualified project resource name string.
3301+
*
3302+
* @param {string} project
3303+
* @returns {string} Resource name string.
3304+
*/
3305+
secretPath(project: string, secret: string) {
3306+
return this.pathTemplates.secretPathTemplate.render({
3307+
project: project,
3308+
secret: secret,
3309+
});
3310+
}
3311+
3312+
/**
3313+
* Parse the project from Secret resource.
3314+
*
3315+
* @param {string} secretName
3316+
* A fully-qualified path representing Secret resource.
3317+
* @returns {string} A string representing the project.
3318+
*/
3319+
matchProjectFromSecretName(secretName: string) {
3320+
return this.pathTemplates.secretPathTemplate.match(secretName).project;
3321+
}
3322+
3323+
/**
3324+
* Parse the secret from Secret resource.
3325+
*
3326+
* @param {string} secretName
3327+
* A fully-qualified path representing Secret resource.
3328+
* @returns {string} A string representing the secret.
3329+
*/
3330+
matchSecretFromSecretName(secretName: string) {
3331+
return this.pathTemplates.secretPathTemplate.match(secretName).secret;
3332+
}
3333+
3334+
/**
3335+
* Return a fully-qualified secretVersion resource name string.
3336+
*
3337+
* @param {string} project
3338+
* @param {string} secret
3339+
* @param {string} secret_version
3340+
* @returns {string} Resource name string.
3341+
*/
3342+
secretVersionPath(project: string, secret: string, secretVersion: string) {
3343+
return this.pathTemplates.secretVersionPathTemplate.render({
3344+
project: project,
3345+
secret: secret,
3346+
secret_version: secretVersion,
3347+
});
3348+
}
3349+
3350+
/**
3351+
* Parse the project from SecretVersion resource.
3352+
*
3353+
* @param {string} secretVersionName
3354+
* A fully-qualified path representing SecretVersion resource.
3355+
* @returns {string} A string representing the project.
3356+
*/
3357+
matchProjectFromSecretVersionName(secretVersionName: string) {
3358+
return this.pathTemplates.secretVersionPathTemplate.match(secretVersionName)
3359+
.project;
3360+
}
3361+
/**
3362+
* Parse the secret from SecretVersion resource.
3363+
*
3364+
* @param {string} secretVersionName
3365+
* A fully-qualified path representing SecretVersion resource.
3366+
* @returns {string} A string representing the secret.
3367+
*/
3368+
matchSecretFromSecretVersionName(secretVersionName: string) {
3369+
return this.pathTemplates.secretVersionPathTemplate.match(secretVersionName)
3370+
.secret;
3371+
}
3372+
3373+
/**
3374+
* Parse the secret_version from SecretVersion resource.
3375+
*
3376+
* @param {string} secretVersionName
3377+
* A fully-qualified path representing SecretVersion resource.
3378+
* @returns {string} A string representing the secret_version.
3379+
*/
3380+
matchSecretVersionFromSecretVersionName(secretVersionName: string) {
3381+
return this.pathTemplates.secretVersionPathTemplate.match(secretVersionName)
3382+
.secret_version;
3383+
}
32923384
}

0 commit comments

Comments
 (0)