@@ -6,6 +6,8 @@ package datadogV2
66
77import (
88 _context "context"
9+ _fmt "fmt"
10+ _log "log"
911 _nethttp "net/http"
1012 _neturl "net/url"
1113
@@ -639,6 +641,92 @@ func (a *RolesApi) ListRolePermissions(ctx _context.Context, roleId string) (Per
639641 return localVarReturnValue , localVarHTTPResponse , nil
640642}
641643
644+ // ListRoleTemplates List role templates.
645+ // List all role templates
646+ func (a * RolesApi ) ListRoleTemplates (ctx _context.Context ) (RoleTemplateArray , * _nethttp.Response , error ) {
647+ var (
648+ localVarHTTPMethod = _nethttp .MethodGet
649+ localVarPostBody interface {}
650+ localVarReturnValue RoleTemplateArray
651+ )
652+
653+ operationId := "v2.ListRoleTemplates"
654+ isOperationEnabled := a .Client .Cfg .IsUnstableOperationEnabled (operationId )
655+ if ! isOperationEnabled {
656+ return localVarReturnValue , nil , datadog.GenericOpenAPIError {ErrorMessage : _fmt .Sprintf ("Unstable operation '%s' is disabled" , operationId )}
657+ }
658+ if isOperationEnabled && a .Client .Cfg .Debug {
659+ _log .Printf ("WARNING: Using unstable operation '%s'" , operationId )
660+ }
661+
662+ localBasePath , err := a .Client .Cfg .ServerURLWithContext (ctx , "v2.RolesApi.ListRoleTemplates" )
663+ if err != nil {
664+ return localVarReturnValue , nil , datadog.GenericOpenAPIError {ErrorMessage : err .Error ()}
665+ }
666+
667+ localVarPath := localBasePath + "/api/v2/roles/templates"
668+
669+ localVarHeaderParams := make (map [string ]string )
670+ localVarQueryParams := _neturl.Values {}
671+ localVarFormParams := _neturl.Values {}
672+ localVarHeaderParams ["Accept" ] = "application/json"
673+
674+ if a .Client .Cfg .DelegatedTokenConfig != nil {
675+ err = datadog .UseDelegatedTokenAuth (ctx , & localVarHeaderParams , a .Client .Cfg .DelegatedTokenConfig )
676+ if err != nil {
677+ return localVarReturnValue , nil , err
678+ }
679+ } else {
680+ datadog .SetAuthKeys (
681+ ctx ,
682+ & localVarHeaderParams ,
683+ [2 ]string {"apiKeyAuth" , "DD-API-KEY" },
684+ [2 ]string {"appKeyAuth" , "DD-APPLICATION-KEY" },
685+ )
686+ }
687+ req , err := a .Client .PrepareRequest (ctx , localVarPath , localVarHTTPMethod , localVarPostBody , localVarHeaderParams , localVarQueryParams , localVarFormParams , nil )
688+ if err != nil {
689+ return localVarReturnValue , nil , err
690+ }
691+
692+ localVarHTTPResponse , err := a .Client .CallAPI (req )
693+ if err != nil || localVarHTTPResponse == nil {
694+ return localVarReturnValue , localVarHTTPResponse , err
695+ }
696+
697+ localVarBody , err := datadog .ReadBody (localVarHTTPResponse )
698+ if err != nil {
699+ return localVarReturnValue , localVarHTTPResponse , err
700+ }
701+
702+ if localVarHTTPResponse .StatusCode >= 300 {
703+ newErr := datadog.GenericOpenAPIError {
704+ ErrorBody : localVarBody ,
705+ ErrorMessage : localVarHTTPResponse .Status ,
706+ }
707+ if localVarHTTPResponse .StatusCode == 429 {
708+ var v APIErrorResponse
709+ err = a .Client .Decode (& v , localVarBody , localVarHTTPResponse .Header .Get ("Content-Type" ))
710+ if err != nil {
711+ return localVarReturnValue , localVarHTTPResponse , newErr
712+ }
713+ newErr .ErrorModel = v
714+ }
715+ return localVarReturnValue , localVarHTTPResponse , newErr
716+ }
717+
718+ err = a .Client .Decode (& localVarReturnValue , localVarBody , localVarHTTPResponse .Header .Get ("Content-Type" ))
719+ if err != nil {
720+ newErr := datadog.GenericOpenAPIError {
721+ ErrorBody : localVarBody ,
722+ ErrorMessage : err .Error (),
723+ }
724+ return localVarReturnValue , localVarHTTPResponse , newErr
725+ }
726+
727+ return localVarReturnValue , localVarHTTPResponse , nil
728+ }
729+
642730// ListRoleUsersOptionalParameters holds optional parameters for ListRoleUsers.
643731type ListRoleUsersOptionalParameters struct {
644732 PageSize * int64
0 commit comments