Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
65 changes: 65 additions & 0 deletions .generator/schemas/v2/openapi.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -38435,6 +38435,49 @@ components:
permissions:
$ref: '#/components/schemas/RelationshipToPermissions'
type: object
RoleTemplateArray:
description: The definition of `RoleTemplateArray` object.
properties:
data:
description: The `RoleTemplateArray` `data`.
items:
$ref: '#/components/schemas/RoleTemplateData'
type: array
required:
- data
type: object
RoleTemplateData:
description: The definition of `RoleTemplateData` object.
properties:
attributes:
$ref: '#/components/schemas/RoleTemplateDataAttributes'
id:
description: The `RoleTemplateData` `id`.
type: string
type:
$ref: '#/components/schemas/RoleTemplateDataType'
required:
- type
type: object
RoleTemplateDataAttributes:
description: The definition of `RoleTemplateDataAttributes` object.
properties:
description:
description: The `attributes` `description`.
type: string
name:
description: The `attributes` `name`.
type: string
type: object
RoleTemplateDataType:
default: roles
description: Roles resource type.
enum:
- roles
example: roles
type: string
x-enum-varnames:
- ROLES
RoleUpdateAttributes:
description: Attributes of the role.
properties:
Expand Down Expand Up @@ -67658,6 +67701,28 @@ paths:
operator: OR
permissions:
- user_access_manage
/api/v2/roles/templates:
get:
description: List all role templates
operationId: ListRoleTemplates
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/RoleTemplateArray'
description: OK
'429':
$ref: '#/components/responses/TooManyRequestsResponse'
security:
- apiKeyAuth: []
appKeyAuth: []
- AuthZ:
- user_access_read
summary: List role templates
tags:
- Roles
x-unstable: '**Note**: This endpoint may be subject to changes.'
/api/v2/roles/{role_id}:
delete:
description: Disables a role.
Expand Down
25 changes: 25 additions & 0 deletions examples/v2/roles/ListRoleTemplates.java
Original file line number Diff line number Diff line change
@@ -0,0 +1,25 @@
// List role templates returns "OK" response

import com.datadog.api.client.ApiClient;
import com.datadog.api.client.ApiException;
import com.datadog.api.client.v2.api.RolesApi;
import com.datadog.api.client.v2.model.RoleTemplateArray;

public class Example {
public static void main(String[] args) {
ApiClient defaultClient = ApiClient.getDefaultApiClient();
defaultClient.setUnstableOperationEnabled("v2.listRoleTemplates", true);
RolesApi apiInstance = new RolesApi(defaultClient);

try {
RoleTemplateArray result = apiInstance.listRoleTemplates();
System.out.println(result);
} catch (ApiException e) {
System.err.println("Exception when calling RolesApi#listRoleTemplates");
System.err.println("Status code: " + e.getCode());
System.err.println("Reason: " + e.getResponseBody());
System.err.println("Response headers: " + e.getResponseHeaders());
e.printStackTrace();
}
}
}
1 change: 1 addition & 0 deletions src/main/java/com/datadog/api/client/ApiClient.java
Original file line number Diff line number Diff line change
Expand Up @@ -761,6 +761,7 @@ public class ApiClient {
put("v2.updateMonitorUserTemplate", false);
put("v2.validateExistingMonitorUserTemplate", false);
put("v2.validateMonitorUserTemplate", false);
put("v2.listRoleTemplates", false);
put("v2.createPipeline", false);
put("v2.deletePipeline", false);
put("v2.getPipeline", false);
Expand Down
126 changes: 126 additions & 0 deletions src/main/java/com/datadog/api/client/v2/api/RolesApi.java
Original file line number Diff line number Diff line change
Expand Up @@ -11,6 +11,7 @@
import com.datadog.api.client.v2.model.RoleCreateRequest;
import com.datadog.api.client.v2.model.RoleCreateResponse;
import com.datadog.api.client.v2.model.RoleResponse;
import com.datadog.api.client.v2.model.RoleTemplateArray;
import com.datadog.api.client.v2.model.RoleUpdateRequest;
import com.datadog.api.client.v2.model.RoleUpdateResponse;
import com.datadog.api.client.v2.model.RolesResponse;
Expand Down Expand Up @@ -1389,6 +1390,131 @@ public CompletableFuture<ApiResponse<RolesResponse>> listRolesWithHttpInfoAsync(
new GenericType<RolesResponse>() {});
}

/**
* List role templates.
*
* <p>See {@link #listRoleTemplatesWithHttpInfo}.
*
* @return RoleTemplateArray
* @throws ApiException if fails to make API call
*/
public RoleTemplateArray listRoleTemplates() throws ApiException {
return listRoleTemplatesWithHttpInfo().getData();
}

/**
* List role templates.
*
* <p>See {@link #listRoleTemplatesWithHttpInfoAsync}.
*
* @return CompletableFuture&lt;RoleTemplateArray&gt;
*/
public CompletableFuture<RoleTemplateArray> listRoleTemplatesAsync() {
return listRoleTemplatesWithHttpInfoAsync()
.thenApply(
response -> {
return response.getData();
});
}

/**
* List all role templates
*
* @return ApiResponse&lt;RoleTemplateArray&gt;
* @throws ApiException if fails to make API call
* @http.response.details
* <table border="1">
* <caption>Response details</caption>
* <tr><td> Status Code </td><td> Description </td><td> Response Headers </td></tr>
* <tr><td> 200 </td><td> OK </td><td> - </td></tr>
* <tr><td> 429 </td><td> Too many requests </td><td> - </td></tr>
* </table>
*/
public ApiResponse<RoleTemplateArray> listRoleTemplatesWithHttpInfo() throws ApiException {
// Check if unstable operation is enabled
String operationId = "listRoleTemplates";
if (apiClient.isUnstableOperationEnabled("v2." + operationId)) {
apiClient.getLogger().warning(String.format("Using unstable operation '%s'", operationId));
} else {
throw new ApiException(0, String.format("Unstable operation '%s' is disabled", operationId));
}
Object localVarPostBody = null;
// create path and map variables
String localVarPath = "/api/v2/roles/templates";

Map<String, String> localVarHeaderParams = new HashMap<String, String>();

Invocation.Builder builder =
apiClient.createBuilder(
"v2.RolesApi.listRoleTemplates",
localVarPath,
new ArrayList<Pair>(),
localVarHeaderParams,
new HashMap<String, String>(),
new String[] {"application/json"},
new String[] {"apiKeyAuth", "appKeyAuth", "AuthZ"});
return apiClient.invokeAPI(
"GET",
builder,
localVarHeaderParams,
new String[] {},
localVarPostBody,
new HashMap<String, Object>(),
false,
new GenericType<RoleTemplateArray>() {});
}

/**
* List role templates.
*
* <p>See {@link #listRoleTemplatesWithHttpInfo}.
*
* @return CompletableFuture&lt;ApiResponse&lt;RoleTemplateArray&gt;&gt;
*/
public CompletableFuture<ApiResponse<RoleTemplateArray>> listRoleTemplatesWithHttpInfoAsync() {
// Check if unstable operation is enabled
String operationId = "listRoleTemplates";
if (apiClient.isUnstableOperationEnabled("v2." + operationId)) {
apiClient.getLogger().warning(String.format("Using unstable operation '%s'", operationId));
} else {
CompletableFuture<ApiResponse<RoleTemplateArray>> result = new CompletableFuture<>();
result.completeExceptionally(
new ApiException(0, String.format("Unstable operation '%s' is disabled", operationId)));
return result;
}
Object localVarPostBody = null;
// create path and map variables
String localVarPath = "/api/v2/roles/templates";

Map<String, String> localVarHeaderParams = new HashMap<String, String>();

Invocation.Builder builder;
try {
builder =
apiClient.createBuilder(
"v2.RolesApi.listRoleTemplates",
localVarPath,
new ArrayList<Pair>(),
localVarHeaderParams,
new HashMap<String, String>(),
new String[] {"application/json"},
new String[] {"apiKeyAuth", "appKeyAuth", "AuthZ"});
} catch (ApiException ex) {
CompletableFuture<ApiResponse<RoleTemplateArray>> result = new CompletableFuture<>();
result.completeExceptionally(ex);
return result;
}
return apiClient.invokeAPIAsync(
"GET",
builder,
localVarHeaderParams,
new String[] {},
localVarPostBody,
new HashMap<String, Object>(),
false,
new GenericType<RoleTemplateArray>() {});
}

/** Manage optional parameters to listRoleUsers. */
public static class ListRoleUsersOptionalParameters {
private Long pageSize;
Expand Down
Loading