제한 정책 업데이트
https://api.datadoghq.com/api/v2/restriction_policy/{resource_id}https://api.us3.datadoghq.com/api/v2/restriction_policy/{resource_id}https://api.us5.datadoghq.com/api/v2/restriction_policy/{resource_id}https://api.datadoghq.eu/api/v2/restriction_policy/{resource_id}https://api.ap1.datadoghq.com/api/v2/restriction_policy/{resource_id}https://api.ap2.datadoghq.com/api/v2/restriction_policy/{resource_id}https://api.uk1.datadoghq.com/api/v2/restriction_policy/{resource_id}https://api.ddog-gov.com/api/v2/restriction_policy/{resource_id}https://api.us2.ddog-gov.com/api/v2/restriction_policy/{resource_id}개요
리소스와 연결된 제한 정책을 업데이트합니다.
지원되는 리소스
제한 정책은 다음 리소스에 적용할 수 있습니다.
- 대시보드:
dashboard - 통합 서비스:
integration-service - 통합 Webhooks:
integration-webhook - 노트북:
notebook - Powerpacks:
powerpack - 참조 테이블:
reference-table - 보안 규칙:
security-rule - Service Level Objectives:
slo - Synthetic 전역 변수:
synthetics-global-variable - Synthetic 테스트:
synthetics-test - Synthetic 프라이빗 위치:
synthetics-private-location - 모니터링:
monitor - 워크플로:
workflow - App Builder 앱:
app-builder-app - 연결:
connection - 연결 그룹:
connection-group - RUM 애플리케이션:
rum-application - Cross Org Connections:
cross-org-connection - 스프레드시트:
spreadsheet - On-Call 일정:
on-call-schedule - On-Call 에스컬레이션 정책:
on-call-escalation-policy - On-Call 팀 라우팅 규칙:
on-call-team-routing-rules - 로그 파이프라인:
logs-pipeline - Case Management 프로젝트:
case-management-project - 모니터 알림 규칙:
monitor-notification-rule - 상태 페이지:
status-page - Feature Flags:
feature-flag - 네트워크 경로 구성:
network-path-config
리소스에 대해 지원되는 관계
| 리소스 유형 | 지원되는 관계 |
|---|---|
| 대시보드 | viewer, editor |
| 통합 서비스 | viewer, editor |
| 통합 웹훅 | viewer, editor |
| Notebooks | viewer, editor |
| Powerpacks | viewer, editor |
| 보안 규칙 | viewer, editor |
| Service Level Objectives | viewer, editor |
| Synthetic Global Variables | viewer, editor |
| Synthetic 테스트 | viewer, editor |
| Synthetic 프라이빗 위치 | viewer, editor |
| 모니터 | viewer, editor |
| Reference Tables | viewer, editor |
| 워크플로 | viewer, runner, editor |
| App Builder 앱 | viewer, editor |
| 연결 | viewer, resolver, editor |
| 연결 그룹 | viewer, editor |
| RUM 애플리케이션 | viewer, editor |
| Cross Org Connections | viewer, editor |
| 스프레드시트 | viewer, editor |
| On-Call 일정 | viewer, overrider, editor |
| On-Call 에스컬레이션 정책 | viewer, editor |
| On-Call 팀 라우팅 규칙 | viewer, editor |
| 로그 파이프라인 | viewer, processors_editor, editor |
| Case Management 프로젝트 | viewer, contributor, manager |
| 모니터링 알림 규칙 | viewer, editor |
| 상태 페이지 | viewer, responder, manager |
| Feature Flag | viewer, contributor, editor |
| Network Path 구성 | viewer, editor |
인수
경로 파라미터
resource_id [required]Identifier, formatted as type:id. Supported types: dashboard, integration-service, integration-webhook, notebook, powerpack, reference-table, security-rule, slo, synthetics-global-variable, synthetics-test, synthetics-private-location, monitor, workflow, app-builder-app, connection, connection-group, rum-application, cross-org-connection, spreadsheet, on-call-schedule, on-call-escalation-policy, on-call-team-routing-rules, logs-pipeline, case-management-project, monitor-notification-rule, status-page, feature-flag, network-path-config.
쿼리 문자열
allow_self_lockoutAllows admins (users with the user_access_manage permission) to remove their own access from the resource if set to true. By default, this is set to false, preventing admins from locking themselves out.
요청
Body Data (required)
제한 정책 페이로드
data [required]제한 정책에 대한 업데이트 요청입니다.
attributes [required]Restriction policy attributes.
bindings [required]An array of bindings.
principals [required]An array of principals. A principal is a subject or group of subjects.
Each principal is formatted as type:id. Supported types: role, team, user, and org.
The org ID can be obtained through the api/v2/current_user API.
The user principal type accepts service account IDs.
relation [required]The role/level of access.
id [required]The identifier, always equivalent to the value specified in the resource_id path parameter.
type [required]Restriction policy type.
restriction_policyrestriction_policy{
"data": {
"id": "dashboard:test-update",
"type": "restriction_policy",
"attributes": {
"bindings": [
{
"relation": "editor",
"principals": [
"org:00000000-0000-beef-0000-000000000000"
]
}
]
}
}
}응답
OK
Response containing information about a single restriction policy.
data [required]Restriction policy object.
attributes [required]Restriction policy attributes.
bindings [required]An array of bindings.
principals [required]An array of principals. A principal is a subject or group of subjects.
Each principal is formatted as type:id. Supported types: role, team, user, and org.
The org ID can be obtained through the api/v2/current_user API.
The user principal type accepts service account IDs.
relation [required]The role/level of access.
id [required]The identifier, always equivalent to the value specified in the resource_id path parameter.
type [required]Restriction policy type.
restriction_policyrestriction_policy{
"data": {
"attributes": {
"bindings": [
{
"principals": [
"role:00000000-0000-1111-0000-000000000000"
],
"relation": "editor"
}
]
},
"id": "dashboard:abc-def-ghi",
"type": "restriction_policy"
}
}Bad Request
API error response.
errors [required]A list of errors.
{
"errors": [
"Bad Request"
]
}Not Authorized
API error response.
errors [required]A list of errors.
{
"errors": [
"Bad Request"
]
}Too many requests
API error response.
errors [required]A list of errors.
{
"errors": [
"Bad Request"
]
}코드 예시
# Path parameters
export resource_id="dashboard:abc-def-ghi"
# Set your Datadog site and credentials
export DD_SITE="datadoghq.com"
# Use a Personal Access Token or Service Access Token
export DD_BEARER_TOKEN="<PERSONAL_ACCESS_TOKEN OR SERVICE_ACCESS_TOKEN>"
curl -X POST "https://api.${DD_SITE}/api/v2/restriction_policy/${resource_id}" \
-H "Accept: application/json" \
-H "Content-Type: application/json" \
-H "Authorization: Bearer ${DD_BEARER_TOKEN}" \
-d @- << EOF
{
"data": {
"id": "dashboard:test-update",
"type": "restriction_policy",
"attributes": {
"bindings": [
{
"relation": "editor",
"principals": [
"org:00000000-0000-beef-0000-000000000000"
]
}
]
}
}
}
EOF# Path parameters
export resource_id="dashboard:abc-def-ghi"
# Set your Datadog site and credentials
export DD_SITE="us3.datadoghq.com"
# Use a Personal Access Token or Service Access Token
export DD_BEARER_TOKEN="<PERSONAL_ACCESS_TOKEN OR SERVICE_ACCESS_TOKEN>"
curl -X POST "https://api.${DD_SITE}/api/v2/restriction_policy/${resource_id}" \
-H "Accept: application/json" \
-H "Content-Type: application/json" \
-H "Authorization: Bearer ${DD_BEARER_TOKEN}" \
-d @- << EOF
{
"data": {
"id": "dashboard:test-update",
"type": "restriction_policy",
"attributes": {
"bindings": [
{
"relation": "editor",
"principals": [
"org:00000000-0000-beef-0000-000000000000"
]
}
]
}
}
}
EOF# Path parameters
export resource_id="dashboard:abc-def-ghi"
# Set your Datadog site and credentials
export DD_SITE="us5.datadoghq.com"
# Use a Personal Access Token or Service Access Token
export DD_BEARER_TOKEN="<PERSONAL_ACCESS_TOKEN OR SERVICE_ACCESS_TOKEN>"
curl -X POST "https://api.${DD_SITE}/api/v2/restriction_policy/${resource_id}" \
-H "Accept: application/json" \
-H "Content-Type: application/json" \
-H "Authorization: Bearer ${DD_BEARER_TOKEN}" \
-d @- << EOF
{
"data": {
"id": "dashboard:test-update",
"type": "restriction_policy",
"attributes": {
"bindings": [
{
"relation": "editor",
"principals": [
"org:00000000-0000-beef-0000-000000000000"
]
}
]
}
}
}
EOF# Path parameters
export resource_id="dashboard:abc-def-ghi"
# Set your Datadog site and credentials
export DD_SITE="datadoghq.eu"
# Use a Personal Access Token or Service Access Token
export DD_BEARER_TOKEN="<PERSONAL_ACCESS_TOKEN OR SERVICE_ACCESS_TOKEN>"
curl -X POST "https://api.${DD_SITE}/api/v2/restriction_policy/${resource_id}" \
-H "Accept: application/json" \
-H "Content-Type: application/json" \
-H "Authorization: Bearer ${DD_BEARER_TOKEN}" \
-d @- << EOF
{
"data": {
"id": "dashboard:test-update",
"type": "restriction_policy",
"attributes": {
"bindings": [
{
"relation": "editor",
"principals": [
"org:00000000-0000-beef-0000-000000000000"
]
}
]
}
}
}
EOF# Path parameters
export resource_id="dashboard:abc-def-ghi"
# Set your Datadog site and credentials
export DD_SITE="ap1.datadoghq.com"
# Use a Personal Access Token or Service Access Token
export DD_BEARER_TOKEN="<PERSONAL_ACCESS_TOKEN OR SERVICE_ACCESS_TOKEN>"
curl -X POST "https://api.${DD_SITE}/api/v2/restriction_policy/${resource_id}" \
-H "Accept: application/json" \
-H "Content-Type: application/json" \
-H "Authorization: Bearer ${DD_BEARER_TOKEN}" \
-d @- << EOF
{
"data": {
"id": "dashboard:test-update",
"type": "restriction_policy",
"attributes": {
"bindings": [
{
"relation": "editor",
"principals": [
"org:00000000-0000-beef-0000-000000000000"
]
}
]
}
}
}
EOF# Path parameters
export resource_id="dashboard:abc-def-ghi"
# Set your Datadog site and credentials
export DD_SITE="ap2.datadoghq.com"
# Use a Personal Access Token or Service Access Token
export DD_BEARER_TOKEN="<PERSONAL_ACCESS_TOKEN OR SERVICE_ACCESS_TOKEN>"
curl -X POST "https://api.${DD_SITE}/api/v2/restriction_policy/${resource_id}" \
-H "Accept: application/json" \
-H "Content-Type: application/json" \
-H "Authorization: Bearer ${DD_BEARER_TOKEN}" \
-d @- << EOF
{
"data": {
"id": "dashboard:test-update",
"type": "restriction_policy",
"attributes": {
"bindings": [
{
"relation": "editor",
"principals": [
"org:00000000-0000-beef-0000-000000000000"
]
}
]
}
}
}
EOF# Path parameters
export resource_id="dashboard:abc-def-ghi"
# Set your Datadog site and credentials
export DD_SITE="uk1.datadoghq.com"
# Use a Personal Access Token or Service Access Token
export DD_BEARER_TOKEN="<PERSONAL_ACCESS_TOKEN OR SERVICE_ACCESS_TOKEN>"
curl -X POST "https://api.${DD_SITE}/api/v2/restriction_policy/${resource_id}" \
-H "Accept: application/json" \
-H "Content-Type: application/json" \
-H "Authorization: Bearer ${DD_BEARER_TOKEN}" \
-d @- << EOF
{
"data": {
"id": "dashboard:test-update",
"type": "restriction_policy",
"attributes": {
"bindings": [
{
"relation": "editor",
"principals": [
"org:00000000-0000-beef-0000-000000000000"
]
}
]
}
}
}
EOF# Path parameters
export resource_id="dashboard:abc-def-ghi"
# Set your Datadog site and credentials
export DD_SITE="ddog-gov.com"
# Use a Personal Access Token or Service Access Token
export DD_BEARER_TOKEN="<PERSONAL_ACCESS_TOKEN OR SERVICE_ACCESS_TOKEN>"
curl -X POST "https://api.${DD_SITE}/api/v2/restriction_policy/${resource_id}" \
-H "Accept: application/json" \
-H "Content-Type: application/json" \
-H "Authorization: Bearer ${DD_BEARER_TOKEN}" \
-d @- << EOF
{
"data": {
"id": "dashboard:test-update",
"type": "restriction_policy",
"attributes": {
"bindings": [
{
"relation": "editor",
"principals": [
"org:00000000-0000-beef-0000-000000000000"
]
}
]
}
}
}
EOF# Path parameters
export resource_id="dashboard:abc-def-ghi"
# Set your Datadog site and credentials
export DD_SITE="us2.ddog-gov.com"
# Use a Personal Access Token or Service Access Token
export DD_BEARER_TOKEN="<PERSONAL_ACCESS_TOKEN OR SERVICE_ACCESS_TOKEN>"
curl -X POST "https://api.${DD_SITE}/api/v2/restriction_policy/${resource_id}" \
-H "Accept: application/json" \
-H "Content-Type: application/json" \
-H "Authorization: Bearer ${DD_BEARER_TOKEN}" \
-d @- << EOF
{
"data": {
"id": "dashboard:test-update",
"type": "restriction_policy",
"attributes": {
"bindings": [
{
"relation": "editor",
"principals": [
"org:00000000-0000-beef-0000-000000000000"
]
}
]
}
}
}
EOF// Update a restriction policy returns "OK" response
package main
import (
"context"
"encoding/json"
"fmt"
"os"
"github.com/DataDog/datadog-api-client-go/v2/api/datadog"
"github.com/DataDog/datadog-api-client-go/v2/api/datadogV2"
)
func main() {
// there is a valid "user" in the system
body := datadogV2.RestrictionPolicyUpdateRequest{
Data: datadogV2.RestrictionPolicy{
Id: "dashboard:test-update",
Type: datadogV2.RESTRICTIONPOLICYTYPE_RESTRICTION_POLICY,
Attributes: datadogV2.RestrictionPolicyAttributes{
Bindings: []datadogV2.RestrictionPolicyBinding{
{
Relation: "editor",
Principals: []string{
"org:00000000-0000-beef-0000-000000000000",
},
},
},
},
},
}
ctx := datadog.NewDefaultContext(context.Background())
ctx = context.WithValue(ctx, datadog.ContextAccessToken, os.Getenv("DD_BEARER_TOKEN"))
configuration := datadog.NewConfiguration()
apiClient := datadog.NewAPIClient(configuration)
api := datadogV2.NewRestrictionPoliciesApi(apiClient)
resp, r, err := api.UpdateRestrictionPolicy(ctx, "dashboard:test-update", body, *datadogV2.NewUpdateRestrictionPolicyOptionalParameters())
if err != nil {
fmt.Fprintf(os.Stderr, "Error when calling `RestrictionPoliciesApi.UpdateRestrictionPolicy`: %v\n", err)
fmt.Fprintf(os.Stderr, "Full HTTP response: %v\n", r)
}
responseContent, _ := json.MarshalIndent(resp, "", " ")
fmt.Fprintf(os.Stdout, "Response from `RestrictionPoliciesApi.UpdateRestrictionPolicy`:\n%s\n", responseContent)
}
Instructions
First install the library and its dependencies and then save the example to main.go and run following commands:
DD_SITE="datadoghq.com" DD_BEARER_TOKEN="<PERSONAL_ACCESS_TOKEN OR SERVICE_ACCESS_TOKEN>" go run "main.go"DD_SITE="us3.datadoghq.com" DD_BEARER_TOKEN="<PERSONAL_ACCESS_TOKEN OR SERVICE_ACCESS_TOKEN>" go run "main.go"DD_SITE="us5.datadoghq.com" DD_BEARER_TOKEN="<PERSONAL_ACCESS_TOKEN OR SERVICE_ACCESS_TOKEN>" go run "main.go"DD_SITE="datadoghq.eu" DD_BEARER_TOKEN="<PERSONAL_ACCESS_TOKEN OR SERVICE_ACCESS_TOKEN>" go run "main.go"DD_SITE="ap1.datadoghq.com" DD_BEARER_TOKEN="<PERSONAL_ACCESS_TOKEN OR SERVICE_ACCESS_TOKEN>" go run "main.go"DD_SITE="ap2.datadoghq.com" DD_BEARER_TOKEN="<PERSONAL_ACCESS_TOKEN OR SERVICE_ACCESS_TOKEN>" go run "main.go"DD_SITE="uk1.datadoghq.com" DD_BEARER_TOKEN="<PERSONAL_ACCESS_TOKEN OR SERVICE_ACCESS_TOKEN>" go run "main.go"DD_SITE="ddog-gov.com" DD_BEARER_TOKEN="<PERSONAL_ACCESS_TOKEN OR SERVICE_ACCESS_TOKEN>" go run "main.go"DD_SITE="us2.ddog-gov.com" DD_BEARER_TOKEN="<PERSONAL_ACCESS_TOKEN OR SERVICE_ACCESS_TOKEN>" go run "main.go"// Update a restriction policy returns "OK" response
import com.datadog.api.client.ApiClient;
import com.datadog.api.client.ApiException;
import com.datadog.api.client.v2.api.RestrictionPoliciesApi;
import com.datadog.api.client.v2.model.RestrictionPolicy;
import com.datadog.api.client.v2.model.RestrictionPolicyAttributes;
import com.datadog.api.client.v2.model.RestrictionPolicyBinding;
import com.datadog.api.client.v2.model.RestrictionPolicyResponse;
import com.datadog.api.client.v2.model.RestrictionPolicyType;
import com.datadog.api.client.v2.model.RestrictionPolicyUpdateRequest;
import java.util.Collections;
public class Example {
public static void main(String[] args) {
ApiClient defaultClient = ApiClient.getDefaultApiClient();
defaultClient.setAccessToken(System.getenv("DD_BEARER_TOKEN"));
RestrictionPoliciesApi apiInstance = new RestrictionPoliciesApi(defaultClient);
// there is a valid "user" in the system
String USER_DATA_RELATIONSHIPS_ORG_DATA_ID =
System.getenv("USER_DATA_RELATIONSHIPS_ORG_DATA_ID");
RestrictionPolicyUpdateRequest body =
new RestrictionPolicyUpdateRequest()
.data(
new RestrictionPolicy()
.id("dashboard:test-update")
.type(RestrictionPolicyType.RESTRICTION_POLICY)
.attributes(
new RestrictionPolicyAttributes()
.bindings(
Collections.singletonList(
new RestrictionPolicyBinding()
.relation("editor")
.principals(
Collections.singletonList(
"org:00000000-0000-beef-0000-000000000000"))))));
try {
RestrictionPolicyResponse result =
apiInstance.updateRestrictionPolicy("dashboard:test-update", body);
System.out.println(result);
} catch (ApiException e) {
System.err.println("Exception when calling RestrictionPoliciesApi#updateRestrictionPolicy");
System.err.println("Status code: " + e.getCode());
System.err.println("Reason: " + e.getResponseBody());
System.err.println("Response headers: " + e.getResponseHeaders());
e.printStackTrace();
}
}
}
Instructions
First install the library and its dependencies and then save the example to Example.java and run following commands:
DD_SITE="datadoghq.com" DD_BEARER_TOKEN="<PERSONAL_ACCESS_TOKEN OR SERVICE_ACCESS_TOKEN>" java "Example.java"DD_SITE="us3.datadoghq.com" DD_BEARER_TOKEN="<PERSONAL_ACCESS_TOKEN OR SERVICE_ACCESS_TOKEN>" java "Example.java"DD_SITE="us5.datadoghq.com" DD_BEARER_TOKEN="<PERSONAL_ACCESS_TOKEN OR SERVICE_ACCESS_TOKEN>" java "Example.java"DD_SITE="datadoghq.eu" DD_BEARER_TOKEN="<PERSONAL_ACCESS_TOKEN OR SERVICE_ACCESS_TOKEN>" java "Example.java"DD_SITE="ap1.datadoghq.com" DD_BEARER_TOKEN="<PERSONAL_ACCESS_TOKEN OR SERVICE_ACCESS_TOKEN>" java "Example.java"DD_SITE="ap2.datadoghq.com" DD_BEARER_TOKEN="<PERSONAL_ACCESS_TOKEN OR SERVICE_ACCESS_TOKEN>" java "Example.java"DD_SITE="uk1.datadoghq.com" DD_BEARER_TOKEN="<PERSONAL_ACCESS_TOKEN OR SERVICE_ACCESS_TOKEN>" java "Example.java"DD_SITE="ddog-gov.com" DD_BEARER_TOKEN="<PERSONAL_ACCESS_TOKEN OR SERVICE_ACCESS_TOKEN>" java "Example.java"DD_SITE="us2.ddog-gov.com" DD_BEARER_TOKEN="<PERSONAL_ACCESS_TOKEN OR SERVICE_ACCESS_TOKEN>" java "Example.java""""
Update a restriction policy returns "OK" response
"""
from os import environ
from datadog_api_client import ApiClient, Configuration
from datadog_api_client.v2.api.restriction_policies_api import RestrictionPoliciesApi
from datadog_api_client.v2.model.restriction_policy import RestrictionPolicy
from datadog_api_client.v2.model.restriction_policy_attributes import RestrictionPolicyAttributes
from datadog_api_client.v2.model.restriction_policy_binding import RestrictionPolicyBinding
from datadog_api_client.v2.model.restriction_policy_type import RestrictionPolicyType
from datadog_api_client.v2.model.restriction_policy_update_request import RestrictionPolicyUpdateRequest
# there is a valid "user" in the system
USER_DATA_RELATIONSHIPS_ORG_DATA_ID = environ["USER_DATA_RELATIONSHIPS_ORG_DATA_ID"]
body = RestrictionPolicyUpdateRequest(
data=RestrictionPolicy(
id="dashboard:test-update",
type=RestrictionPolicyType.RESTRICTION_POLICY,
attributes=RestrictionPolicyAttributes(
bindings=[
RestrictionPolicyBinding(
relation="editor",
principals=[
"org:00000000-0000-beef-0000-000000000000",
],
),
],
),
),
)
configuration = Configuration()
configuration.access_token = environ["DD_BEARER_TOKEN"]
with ApiClient(configuration) as api_client:
api_instance = RestrictionPoliciesApi(api_client)
response = api_instance.update_restriction_policy(resource_id="dashboard:test-update", body=body)
print(response)
Instructions
First install the library and its dependencies and then save the example to example.py and run following commands:
DD_SITE="datadoghq.com" DD_BEARER_TOKEN="<PERSONAL_ACCESS_TOKEN OR SERVICE_ACCESS_TOKEN>" python3 "example.py"DD_SITE="us3.datadoghq.com" DD_BEARER_TOKEN="<PERSONAL_ACCESS_TOKEN OR SERVICE_ACCESS_TOKEN>" python3 "example.py"DD_SITE="us5.datadoghq.com" DD_BEARER_TOKEN="<PERSONAL_ACCESS_TOKEN OR SERVICE_ACCESS_TOKEN>" python3 "example.py"DD_SITE="datadoghq.eu" DD_BEARER_TOKEN="<PERSONAL_ACCESS_TOKEN OR SERVICE_ACCESS_TOKEN>" python3 "example.py"DD_SITE="ap1.datadoghq.com" DD_BEARER_TOKEN="<PERSONAL_ACCESS_TOKEN OR SERVICE_ACCESS_TOKEN>" python3 "example.py"DD_SITE="ap2.datadoghq.com" DD_BEARER_TOKEN="<PERSONAL_ACCESS_TOKEN OR SERVICE_ACCESS_TOKEN>" python3 "example.py"DD_SITE="uk1.datadoghq.com" DD_BEARER_TOKEN="<PERSONAL_ACCESS_TOKEN OR SERVICE_ACCESS_TOKEN>" python3 "example.py"DD_SITE="ddog-gov.com" DD_BEARER_TOKEN="<PERSONAL_ACCESS_TOKEN OR SERVICE_ACCESS_TOKEN>" python3 "example.py"DD_SITE="us2.ddog-gov.com" DD_BEARER_TOKEN="<PERSONAL_ACCESS_TOKEN OR SERVICE_ACCESS_TOKEN>" python3 "example.py"# Update a restriction policy returns "OK" response
require "datadog_api_client"
DatadogAPIClient.configure do |config|
config.access_token = ENV["DD_BEARER_TOKEN"]
end
api_instance = DatadogAPIClient::V2::RestrictionPoliciesAPI.new
# there is a valid "user" in the system
USER_DATA_RELATIONSHIPS_ORG_DATA_ID = ENV["USER_DATA_RELATIONSHIPS_ORG_DATA_ID"]
body = DatadogAPIClient::V2::RestrictionPolicyUpdateRequest.new({
data: DatadogAPIClient::V2::RestrictionPolicy.new({
id: "dashboard:test-update",
type: DatadogAPIClient::V2::RestrictionPolicyType::RESTRICTION_POLICY,
attributes: DatadogAPIClient::V2::RestrictionPolicyAttributes.new({
bindings: [
DatadogAPIClient::V2::RestrictionPolicyBinding.new({
relation: "editor",
principals: [
"org:00000000-0000-beef-0000-000000000000",
],
}),
],
}),
}),
})
p api_instance.update_restriction_policy("dashboard:test-update", body)
Instructions
First install the library and its dependencies and then save the example to example.rb and run following commands:
DD_SITE="datadoghq.com" DD_BEARER_TOKEN="<PERSONAL_ACCESS_TOKEN OR SERVICE_ACCESS_TOKEN>" rb "example.rb"DD_SITE="us3.datadoghq.com" DD_BEARER_TOKEN="<PERSONAL_ACCESS_TOKEN OR SERVICE_ACCESS_TOKEN>" rb "example.rb"DD_SITE="us5.datadoghq.com" DD_BEARER_TOKEN="<PERSONAL_ACCESS_TOKEN OR SERVICE_ACCESS_TOKEN>" rb "example.rb"DD_SITE="datadoghq.eu" DD_BEARER_TOKEN="<PERSONAL_ACCESS_TOKEN OR SERVICE_ACCESS_TOKEN>" rb "example.rb"DD_SITE="ap1.datadoghq.com" DD_BEARER_TOKEN="<PERSONAL_ACCESS_TOKEN OR SERVICE_ACCESS_TOKEN>" rb "example.rb"DD_SITE="ap2.datadoghq.com" DD_BEARER_TOKEN="<PERSONAL_ACCESS_TOKEN OR SERVICE_ACCESS_TOKEN>" rb "example.rb"DD_SITE="uk1.datadoghq.com" DD_BEARER_TOKEN="<PERSONAL_ACCESS_TOKEN OR SERVICE_ACCESS_TOKEN>" rb "example.rb"DD_SITE="ddog-gov.com" DD_BEARER_TOKEN="<PERSONAL_ACCESS_TOKEN OR SERVICE_ACCESS_TOKEN>" rb "example.rb"DD_SITE="us2.ddog-gov.com" DD_BEARER_TOKEN="<PERSONAL_ACCESS_TOKEN OR SERVICE_ACCESS_TOKEN>" rb "example.rb"// Update a restriction policy returns "OK" response
use datadog_api_client::datadog;
use datadog_api_client::datadogV2::api_restriction_policies::RestrictionPoliciesAPI;
use datadog_api_client::datadogV2::api_restriction_policies::UpdateRestrictionPolicyOptionalParams;
use datadog_api_client::datadogV2::model::RestrictionPolicy;
use datadog_api_client::datadogV2::model::RestrictionPolicyAttributes;
use datadog_api_client::datadogV2::model::RestrictionPolicyBinding;
use datadog_api_client::datadogV2::model::RestrictionPolicyType;
use datadog_api_client::datadogV2::model::RestrictionPolicyUpdateRequest;
#[tokio::main]
async fn main() {
// there is a valid "user" in the system
let body = RestrictionPolicyUpdateRequest::new(RestrictionPolicy::new(
RestrictionPolicyAttributes::new(vec![RestrictionPolicyBinding::new(
vec!["org:00000000-0000-beef-0000-000000000000".to_string()],
"editor".to_string(),
)]),
"dashboard:test-update".to_string(),
RestrictionPolicyType::RESTRICTION_POLICY,
));
let configuration = datadog::Configuration::new();
let api = RestrictionPoliciesAPI::with_config(configuration);
let resp = api
.update_restriction_policy(
"dashboard:test-update".to_string(),
body,
UpdateRestrictionPolicyOptionalParams::default(),
)
.await;
if let Ok(value) = resp {
println!("{:#?}", value);
} else {
println!("{:#?}", resp.unwrap_err());
}
}
Instructions
First install the library and its dependencies and then save the example to src/main.rs and run following commands:
DD_SITE="datadoghq.com" DD_API_KEY="<DD_API_KEY>" DD_APP_KEY="<DD_APP_KEY>" cargo runDD_SITE="us3.datadoghq.com" DD_API_KEY="<DD_API_KEY>" DD_APP_KEY="<DD_APP_KEY>" cargo runDD_SITE="us5.datadoghq.com" DD_API_KEY="<DD_API_KEY>" DD_APP_KEY="<DD_APP_KEY>" cargo runDD_SITE="datadoghq.eu" DD_API_KEY="<DD_API_KEY>" DD_APP_KEY="<DD_APP_KEY>" cargo runDD_SITE="ap1.datadoghq.com" DD_API_KEY="<DD_API_KEY>" DD_APP_KEY="<DD_APP_KEY>" cargo runDD_SITE="ap2.datadoghq.com" DD_API_KEY="<DD_API_KEY>" DD_APP_KEY="<DD_APP_KEY>" cargo runDD_SITE="uk1.datadoghq.com" DD_API_KEY="<DD_API_KEY>" DD_APP_KEY="<DD_APP_KEY>" cargo runDD_SITE="ddog-gov.com" DD_API_KEY="<DD_API_KEY>" DD_APP_KEY="<DD_APP_KEY>" cargo runDD_SITE="us2.ddog-gov.com" DD_API_KEY="<DD_API_KEY>" DD_APP_KEY="<DD_APP_KEY>" cargo run/**
* Update a restriction policy returns "OK" response
*/
import { client, v2 } from "@datadog/datadog-api-client";
const configuration = client.createConfiguration({
authMethods: {
AuthZ: {
accessToken: process.env.DD_BEARER_TOKEN as string,
},
},
});
const apiInstance = new v2.RestrictionPoliciesApi(configuration);
// there is a valid "user" in the system
const params: v2.RestrictionPoliciesApiUpdateRestrictionPolicyRequest = {
body: {
data: {
id: "dashboard:test-update",
type: "restriction_policy",
attributes: {
bindings: [
{
relation: "editor",
principals: ["org:00000000-0000-beef-0000-000000000000"],
},
],
},
},
},
resourceId: "dashboard:test-update",
};
apiInstance
.updateRestrictionPolicy(params)
.then((data: v2.RestrictionPolicyResponse) => {
console.log(
"API called successfully. Returned data: " + JSON.stringify(data)
);
})
.catch((error: any) => console.error(error));
Instructions
First install the library and its dependencies and then save the example to example.ts and run following commands:
DD_SITE="datadoghq.com" DD_BEARER_TOKEN="<PERSONAL_ACCESS_TOKEN OR SERVICE_ACCESS_TOKEN>" tsc "example.ts"DD_SITE="us3.datadoghq.com" DD_BEARER_TOKEN="<PERSONAL_ACCESS_TOKEN OR SERVICE_ACCESS_TOKEN>" tsc "example.ts"DD_SITE="us5.datadoghq.com" DD_BEARER_TOKEN="<PERSONAL_ACCESS_TOKEN OR SERVICE_ACCESS_TOKEN>" tsc "example.ts"DD_SITE="datadoghq.eu" DD_BEARER_TOKEN="<PERSONAL_ACCESS_TOKEN OR SERVICE_ACCESS_TOKEN>" tsc "example.ts"DD_SITE="ap1.datadoghq.com" DD_BEARER_TOKEN="<PERSONAL_ACCESS_TOKEN OR SERVICE_ACCESS_TOKEN>" tsc "example.ts"DD_SITE="ap2.datadoghq.com" DD_BEARER_TOKEN="<PERSONAL_ACCESS_TOKEN OR SERVICE_ACCESS_TOKEN>" tsc "example.ts"DD_SITE="uk1.datadoghq.com" DD_BEARER_TOKEN="<PERSONAL_ACCESS_TOKEN OR SERVICE_ACCESS_TOKEN>" tsc "example.ts"DD_SITE="ddog-gov.com" DD_BEARER_TOKEN="<PERSONAL_ACCESS_TOKEN OR SERVICE_ACCESS_TOKEN>" tsc "example.ts"DD_SITE="us2.ddog-gov.com" DD_BEARER_TOKEN="<PERSONAL_ACCESS_TOKEN OR SERVICE_ACCESS_TOKEN>" tsc "example.ts"