{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "https://artifacts.apis.io/amazon-cloudwatch/json-schema/amazon-cloudwatch-put-resource-policy-request-schema.json",
  "title": "PutResourcePolicyRequest",
  "x-generated": "2026-11-11",
  "x-method": "derived",
  "x-generator": "derive-json-schema.py",
  "x-source": "openapi/amazon-cloudwatch-resource-policy-api-openapi.yml#/components/schemas/PutResourcePolicyRequest",
  "type": "object",
  "properties": {
    "policyName": {
      "type": "string",
      "description": "Name of the new policy. This parameter is required."
    },
    "policyDocument": {
      "type": "string",
      "description": "Details of the new policy, including the identity of the principal that is enabled to put logs to this account. This is formatted as a JSON string. This parameter is required. The following example creates a resource policy enabling the Route 53 service to put DNS query logs in to the specified log group. Replace \"logArn\" with the ARN of your CloudWatch Logs resource, such as a log group or log stream. CloudWatch Logs also supports aws:SourceArn and aws:SourceAccount condition context keys. In the example resource policy, you would replace the value of SourceArn with the resource making the ca"
    },
    "resourceArn": {
      "type": "string",
      "description": "The ARN of the CloudWatch Logs resource to which the resource policy needs to be added or attached. Currently only supports LogGroup ARN."
    },
    "expectedRevisionId": {
      "type": "string",
      "description": "The expected revision ID of the resource policy. Required when resourceArn is provided to prevent concurrent modifications. Use null when creating a resource policy for the first time."
    }
  }
}