Skip to content

Commit 1e8c67f

Browse files
yoshi-automationJustinBeckwith
authored andcommitted
feat: add path template parsing for billing, organizations, and folders (#529)
1 parent 4a1883f commit 1e8c67f

File tree

4 files changed

+616
-5
lines changed

4 files changed

+616
-5
lines changed

src/v2/config_service_v2_client.js

Lines changed: 332 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -101,9 +101,34 @@ class ConfigServiceV2Client {
101101
// identifiers to uniquely identify resources within the API.
102102
// Create useful helper objects for these.
103103
this._pathTemplates = {
104+
billingPathTemplate: new gax.PathTemplate(
105+
'billingAccounts/{billing_account}'
106+
),
107+
billingExclusionPathTemplate: new gax.PathTemplate(
108+
'billingAccounts/{billing_account}/exclusions/{exclusion}'
109+
),
110+
billingSinkPathTemplate: new gax.PathTemplate(
111+
'billingAccounts/{billing_account}/sinks/{sink}'
112+
),
104113
exclusionPathTemplate: new gax.PathTemplate(
105114
'projects/{project}/exclusions/{exclusion}'
106115
),
116+
folderPathTemplate: new gax.PathTemplate('folders/{folder}'),
117+
folderExclusionPathTemplate: new gax.PathTemplate(
118+
'folders/{folder}/exclusions/{exclusion}'
119+
),
120+
folderSinkPathTemplate: new gax.PathTemplate(
121+
'folders/{folder}/sinks/{sink}'
122+
),
123+
organizationPathTemplate: new gax.PathTemplate(
124+
'organizations/{organization}'
125+
),
126+
organizationExclusionPathTemplate: new gax.PathTemplate(
127+
'organizations/{organization}/exclusions/{exclusion}'
128+
),
129+
organizationSinkPathTemplate: new gax.PathTemplate(
130+
'organizations/{organization}/sinks/{sink}'
131+
),
107132
projectPathTemplate: new gax.PathTemplate('projects/{project}'),
108133
sinkPathTemplate: new gax.PathTemplate('projects/{project}/sinks/{sink}'),
109134
};
@@ -1129,6 +1154,46 @@ class ConfigServiceV2Client {
11291154
// -- Path templates --
11301155
// --------------------
11311156

1157+
/**
1158+
* Return a fully-qualified billing resource name string.
1159+
*
1160+
* @param {String} billingAccount
1161+
* @returns {String}
1162+
*/
1163+
billingPath(billingAccount) {
1164+
return this._pathTemplates.billingPathTemplate.render({
1165+
billing_account: billingAccount,
1166+
});
1167+
}
1168+
1169+
/**
1170+
* Return a fully-qualified billing_exclusion resource name string.
1171+
*
1172+
* @param {String} billingAccount
1173+
* @param {String} exclusion
1174+
* @returns {String}
1175+
*/
1176+
billingExclusionPath(billingAccount, exclusion) {
1177+
return this._pathTemplates.billingExclusionPathTemplate.render({
1178+
billing_account: billingAccount,
1179+
exclusion: exclusion,
1180+
});
1181+
}
1182+
1183+
/**
1184+
* Return a fully-qualified billing_sink resource name string.
1185+
*
1186+
* @param {String} billingAccount
1187+
* @param {String} sink
1188+
* @returns {String}
1189+
*/
1190+
billingSinkPath(billingAccount, sink) {
1191+
return this._pathTemplates.billingSinkPathTemplate.render({
1192+
billing_account: billingAccount,
1193+
sink: sink,
1194+
});
1195+
}
1196+
11321197
/**
11331198
* Return a fully-qualified exclusion resource name string.
11341199
*
@@ -1143,6 +1208,86 @@ class ConfigServiceV2Client {
11431208
});
11441209
}
11451210

1211+
/**
1212+
* Return a fully-qualified folder resource name string.
1213+
*
1214+
* @param {String} folder
1215+
* @returns {String}
1216+
*/
1217+
folderPath(folder) {
1218+
return this._pathTemplates.folderPathTemplate.render({
1219+
folder: folder,
1220+
});
1221+
}
1222+
1223+
/**
1224+
* Return a fully-qualified folder_exclusion resource name string.
1225+
*
1226+
* @param {String} folder
1227+
* @param {String} exclusion
1228+
* @returns {String}
1229+
*/
1230+
folderExclusionPath(folder, exclusion) {
1231+
return this._pathTemplates.folderExclusionPathTemplate.render({
1232+
folder: folder,
1233+
exclusion: exclusion,
1234+
});
1235+
}
1236+
1237+
/**
1238+
* Return a fully-qualified folder_sink resource name string.
1239+
*
1240+
* @param {String} folder
1241+
* @param {String} sink
1242+
* @returns {String}
1243+
*/
1244+
folderSinkPath(folder, sink) {
1245+
return this._pathTemplates.folderSinkPathTemplate.render({
1246+
folder: folder,
1247+
sink: sink,
1248+
});
1249+
}
1250+
1251+
/**
1252+
* Return a fully-qualified organization resource name string.
1253+
*
1254+
* @param {String} organization
1255+
* @returns {String}
1256+
*/
1257+
organizationPath(organization) {
1258+
return this._pathTemplates.organizationPathTemplate.render({
1259+
organization: organization,
1260+
});
1261+
}
1262+
1263+
/**
1264+
* Return a fully-qualified organization_exclusion resource name string.
1265+
*
1266+
* @param {String} organization
1267+
* @param {String} exclusion
1268+
* @returns {String}
1269+
*/
1270+
organizationExclusionPath(organization, exclusion) {
1271+
return this._pathTemplates.organizationExclusionPathTemplate.render({
1272+
organization: organization,
1273+
exclusion: exclusion,
1274+
});
1275+
}
1276+
1277+
/**
1278+
* Return a fully-qualified organization_sink resource name string.
1279+
*
1280+
* @param {String} organization
1281+
* @param {String} sink
1282+
* @returns {String}
1283+
*/
1284+
organizationSinkPath(organization, sink) {
1285+
return this._pathTemplates.organizationSinkPathTemplate.render({
1286+
organization: organization,
1287+
sink: sink,
1288+
});
1289+
}
1290+
11461291
/**
11471292
* Return a fully-qualified project resource name string.
11481293
*
@@ -1169,6 +1314,68 @@ class ConfigServiceV2Client {
11691314
});
11701315
}
11711316

1317+
/**
1318+
* Parse the billingName from a billing resource.
1319+
*
1320+
* @param {String} billingName
1321+
* A fully-qualified path representing a billing resources.
1322+
* @returns {String} - A string representing the billing_account.
1323+
*/
1324+
matchBillingAccountFromBillingName(billingName) {
1325+
return this._pathTemplates.billingPathTemplate.match(billingName)
1326+
.billing_account;
1327+
}
1328+
1329+
/**
1330+
* Parse the billingExclusionName from a billing_exclusion resource.
1331+
*
1332+
* @param {String} billingExclusionName
1333+
* A fully-qualified path representing a billing_exclusion resources.
1334+
* @returns {String} - A string representing the billing_account.
1335+
*/
1336+
matchBillingAccountFromBillingExclusionName(billingExclusionName) {
1337+
return this._pathTemplates.billingExclusionPathTemplate.match(
1338+
billingExclusionName
1339+
).billing_account;
1340+
}
1341+
1342+
/**
1343+
* Parse the billingExclusionName from a billing_exclusion resource.
1344+
*
1345+
* @param {String} billingExclusionName
1346+
* A fully-qualified path representing a billing_exclusion resources.
1347+
* @returns {String} - A string representing the exclusion.
1348+
*/
1349+
matchExclusionFromBillingExclusionName(billingExclusionName) {
1350+
return this._pathTemplates.billingExclusionPathTemplate.match(
1351+
billingExclusionName
1352+
).exclusion;
1353+
}
1354+
1355+
/**
1356+
* Parse the billingSinkName from a billing_sink resource.
1357+
*
1358+
* @param {String} billingSinkName
1359+
* A fully-qualified path representing a billing_sink resources.
1360+
* @returns {String} - A string representing the billing_account.
1361+
*/
1362+
matchBillingAccountFromBillingSinkName(billingSinkName) {
1363+
return this._pathTemplates.billingSinkPathTemplate.match(billingSinkName)
1364+
.billing_account;
1365+
}
1366+
1367+
/**
1368+
* Parse the billingSinkName from a billing_sink resource.
1369+
*
1370+
* @param {String} billingSinkName
1371+
* A fully-qualified path representing a billing_sink resources.
1372+
* @returns {String} - A string representing the sink.
1373+
*/
1374+
matchSinkFromBillingSinkName(billingSinkName) {
1375+
return this._pathTemplates.billingSinkPathTemplate.match(billingSinkName)
1376+
.sink;
1377+
}
1378+
11721379
/**
11731380
* Parse the exclusionName from a exclusion resource.
11741381
*
@@ -1193,6 +1400,131 @@ class ConfigServiceV2Client {
11931400
.exclusion;
11941401
}
11951402

1403+
/**
1404+
* Parse the folderName from a folder resource.
1405+
*
1406+
* @param {String} folderName
1407+
* A fully-qualified path representing a folder resources.
1408+
* @returns {String} - A string representing the folder.
1409+
*/
1410+
matchFolderFromFolderName(folderName) {
1411+
return this._pathTemplates.folderPathTemplate.match(folderName).folder;
1412+
}
1413+
1414+
/**
1415+
* Parse the folderExclusionName from a folder_exclusion resource.
1416+
*
1417+
* @param {String} folderExclusionName
1418+
* A fully-qualified path representing a folder_exclusion resources.
1419+
* @returns {String} - A string representing the folder.
1420+
*/
1421+
matchFolderFromFolderExclusionName(folderExclusionName) {
1422+
return this._pathTemplates.folderExclusionPathTemplate.match(
1423+
folderExclusionName
1424+
).folder;
1425+
}
1426+
1427+
/**
1428+
* Parse the folderExclusionName from a folder_exclusion resource.
1429+
*
1430+
* @param {String} folderExclusionName
1431+
* A fully-qualified path representing a folder_exclusion resources.
1432+
* @returns {String} - A string representing the exclusion.
1433+
*/
1434+
matchExclusionFromFolderExclusionName(folderExclusionName) {
1435+
return this._pathTemplates.folderExclusionPathTemplate.match(
1436+
folderExclusionName
1437+
).exclusion;
1438+
}
1439+
1440+
/**
1441+
* Parse the folderSinkName from a folder_sink resource.
1442+
*
1443+
* @param {String} folderSinkName
1444+
* A fully-qualified path representing a folder_sink resources.
1445+
* @returns {String} - A string representing the folder.
1446+
*/
1447+
matchFolderFromFolderSinkName(folderSinkName) {
1448+
return this._pathTemplates.folderSinkPathTemplate.match(folderSinkName)
1449+
.folder;
1450+
}
1451+
1452+
/**
1453+
* Parse the folderSinkName from a folder_sink resource.
1454+
*
1455+
* @param {String} folderSinkName
1456+
* A fully-qualified path representing a folder_sink resources.
1457+
* @returns {String} - A string representing the sink.
1458+
*/
1459+
matchSinkFromFolderSinkName(folderSinkName) {
1460+
return this._pathTemplates.folderSinkPathTemplate.match(folderSinkName)
1461+
.sink;
1462+
}
1463+
1464+
/**
1465+
* Parse the organizationName from a organization resource.
1466+
*
1467+
* @param {String} organizationName
1468+
* A fully-qualified path representing a organization resources.
1469+
* @returns {String} - A string representing the organization.
1470+
*/
1471+
matchOrganizationFromOrganizationName(organizationName) {
1472+
return this._pathTemplates.organizationPathTemplate.match(organizationName)
1473+
.organization;
1474+
}
1475+
1476+
/**
1477+
* Parse the organizationExclusionName from a organization_exclusion resource.
1478+
*
1479+
* @param {String} organizationExclusionName
1480+
* A fully-qualified path representing a organization_exclusion resources.
1481+
* @returns {String} - A string representing the organization.
1482+
*/
1483+
matchOrganizationFromOrganizationExclusionName(organizationExclusionName) {
1484+
return this._pathTemplates.organizationExclusionPathTemplate.match(
1485+
organizationExclusionName
1486+
).organization;
1487+
}
1488+
1489+
/**
1490+
* Parse the organizationExclusionName from a organization_exclusion resource.
1491+
*
1492+
* @param {String} organizationExclusionName
1493+
* A fully-qualified path representing a organization_exclusion resources.
1494+
* @returns {String} - A string representing the exclusion.
1495+
*/
1496+
matchExclusionFromOrganizationExclusionName(organizationExclusionName) {
1497+
return this._pathTemplates.organizationExclusionPathTemplate.match(
1498+
organizationExclusionName
1499+
).exclusion;
1500+
}
1501+
1502+
/**
1503+
* Parse the organizationSinkName from a organization_sink resource.
1504+
*
1505+
* @param {String} organizationSinkName
1506+
* A fully-qualified path representing a organization_sink resources.
1507+
* @returns {String} - A string representing the organization.
1508+
*/
1509+
matchOrganizationFromOrganizationSinkName(organizationSinkName) {
1510+
return this._pathTemplates.organizationSinkPathTemplate.match(
1511+
organizationSinkName
1512+
).organization;
1513+
}
1514+
1515+
/**
1516+
* Parse the organizationSinkName from a organization_sink resource.
1517+
*
1518+
* @param {String} organizationSinkName
1519+
* A fully-qualified path representing a organization_sink resources.
1520+
* @returns {String} - A string representing the sink.
1521+
*/
1522+
matchSinkFromOrganizationSinkName(organizationSinkName) {
1523+
return this._pathTemplates.organizationSinkPathTemplate.match(
1524+
organizationSinkName
1525+
).sink;
1526+
}
1527+
11961528
/**
11971529
* Parse the projectName from a project resource.
11981530
*

0 commit comments

Comments
 (0)