@@ -82,6 +82,10 @@ describe('IamPolicyManagementV1', () => {
8282 let exampleRoleTemplateVersion ;
8383 let exampleRoleAssignmentId ;
8484 let exampleRoleAssignmentETag ;
85+ let exampleRolePolicyTemplateId ;
86+ const exampleCustomRoleName = 'TestNodeRole' ;
87+ const exampleCustomRoleDisplayName = 'SDK TestNodeRole' ;
88+ const exampleCustomRoleDescription = 'SDK TestNodeRole' ;
8589
8690 // begin-common
8791
@@ -1895,9 +1899,18 @@ describe('IamPolicyManagementV1', () => {
18951899 originalLog ( 'createRoleTemplate() result:' ) ;
18961900 // begin-create_role_template
18971901
1902+ const templateRoleModel = {
1903+ name : exampleCustomRoleName ,
1904+ display_name : exampleCustomRoleDisplayName ,
1905+ service_name : 'am-test-service' ,
1906+ description : exampleCustomRoleDescription ,
1907+ actions : [ 'am-test-service.test.create' ] ,
1908+ } ;
1909+
18981910 const params = {
18991911 name : exampleRoleTemplateName ,
19001912 accountId : exampleAccountId ,
1913+ role : templateRoleModel ,
19011914 } ;
19021915
19031916 let res ;
@@ -1957,9 +1970,7 @@ describe('IamPolicyManagementV1', () => {
19571970
19581971 // TemplateRole
19591972 const templateRoleModel = {
1960- name : 'GOSDKTestRoleReplace' ,
19611973 display_name : 'GOSDKTestRoleReplaceDisplay' ,
1962- service_name : 'am-test-service' ,
19631974 actions : [ 'am-test-service.test.delete' ] ,
19641975 } ;
19651976
@@ -2030,9 +2041,7 @@ describe('IamPolicyManagementV1', () => {
20302041
20312042 // TemplateRole
20322043 const templateRoleModel = {
2033- name : 'GOSDKTestRoleVersionTemplate' ,
20342044 display_name : 'GOSDKTestRoleVersionTemplateDisplay' ,
2035- service_name : 'am-test-service' ,
20362045 actions : [ 'am-test-service.test.create' ] ,
20372046 } ;
20382047
@@ -2139,6 +2148,79 @@ describe('IamPolicyManagementV1', () => {
21392148
21402149 // end-commit_role_template
21412150 } ) ;
2151+ test ( 'createRolePolicyTemplate request example' , async ( ) => {
2152+ expect ( exampleAccountId ) . not . toBeNull ( ) ;
2153+ consoleLogMock . mockImplementation ( ( output ) => {
2154+ originalLog ( output ) ;
2155+ } ) ;
2156+ consoleWarnMock . mockImplementation ( ( output ) => {
2157+ // if an error occurs, display the message and then fail the test
2158+ originalWarn ( output ) ;
2159+ expect ( true ) . toBeFalsy ( ) ;
2160+ } ) ;
2161+
2162+ originalLog ( 'createRolePolicyTemplate() result:' ) ;
2163+ // begin-create_policy_template
2164+
2165+ // Request models needed by this operation.
2166+
2167+ // V2PolicyResourceAttribute
2168+ const v2PolicyResourceAttributeModel = {
2169+ key : 'serviceName' ,
2170+ operator : 'stringEquals' ,
2171+ value : 'am-test-service' ,
2172+ } ;
2173+
2174+ // V2PolicyResource
2175+ const v2PolicyResourceModel = {
2176+ attributes : [ v2PolicyResourceAttributeModel ] ,
2177+ } ;
2178+
2179+ // Roles
2180+ const rolesModel = {
2181+ role_id : 'crn:v1:bluemix:public:iam::::role:Viewer' ,
2182+ } ;
2183+
2184+ // Role template references
2185+ const roleTemplateReferencesModel = {
2186+ id : exampleRoleTemplateId ,
2187+ version : exampleRoleTemplateVersion ,
2188+ } ;
2189+
2190+ // Grant
2191+ const grantModel = {
2192+ roles : [ rolesModel ] ,
2193+ role_template_references : [ roleTemplateReferencesModel ] ,
2194+ } ;
2195+
2196+ // Control
2197+ const controlModel = {
2198+ grant : grantModel ,
2199+ } ;
2200+
2201+ // TemplatePolicy
2202+ const templatePolicyModel = {
2203+ type : 'access' ,
2204+ resource : v2PolicyResourceModel ,
2205+ control : controlModel ,
2206+ } ;
2207+
2208+ const params = {
2209+ name : 'SDKNodeExampleTemplate' ,
2210+ accountId : exampleAccountId ,
2211+ policy : templatePolicyModel ,
2212+ } ;
2213+
2214+ try {
2215+ const res = await iamPolicyManagementService . createPolicyTemplate ( params ) ;
2216+ exampleRolePolicyTemplateId = res . result . id ;
2217+ console . log ( JSON . stringify ( res . result , null , 2 ) ) ;
2218+ } catch ( err ) {
2219+ console . warn ( err ) ;
2220+ }
2221+
2222+ // end-create_policy_template
2223+ } ) ;
21422224 test ( 'createRoleTemplateAssignment request example' , async ( ) => {
21432225 consoleLogMock . mockImplementation ( ( output ) => {
21442226 originalLog ( output ) ;
@@ -2296,6 +2378,31 @@ describe('IamPolicyManagementV1', () => {
22962378
22972379 // end-delete_role_assignment
22982380 } ) ;
2381+ test ( 'deleteRolePolicyTemplate request example' , async ( ) => {
2382+ expect ( exampleRolePolicyTemplateId ) . not . toBeNull ( ) ;
2383+ consoleLogMock . mockImplementation ( ( output ) => {
2384+ originalLog ( output ) ;
2385+ } ) ;
2386+ consoleWarnMock . mockImplementation ( ( output ) => {
2387+ // if an error occurs, display the message and then fail the test
2388+ originalWarn ( output ) ;
2389+ expect ( true ) . toBeFalsy ( ) ;
2390+ } ) ;
2391+
2392+ // begin-delete_role_policy_template
2393+
2394+ const params = {
2395+ policyTemplateId : exampleRolePolicyTemplateId ,
2396+ } ;
2397+
2398+ try {
2399+ await iamPolicyManagementService . deletePolicyTemplate ( params ) ;
2400+ } catch ( err ) {
2401+ console . warn ( err ) ;
2402+ }
2403+
2404+ // end-delete_policy_template
2405+ } ) ;
22992406 test ( 'deleteRoleTemplateVersion request example' , async ( ) => {
23002407 consoleLogMock . mockImplementation ( ( output ) => {
23012408 originalLog ( output ) ;
0 commit comments