Policy image

akamai_imaging_policy_image

Create, update, or delete an image policy within your policy set. Use terraform destroy to remove it.

See Transform images for a complete list of available transformations for an image policy. To define variables in your policy, see Use variables.

resource "akamai_imaging_policy_image" "my-image-policy" {
  activate_on_production = false
  contract_id            = "12345"
  policy_id              = "my-image-policy-1"
  policyset_id           = akamai_imaging_policy_set.my-policy-set.id
  json = jsonencode(
    {
      "rolloutInfo" : {
        "startTime" : 1740163087,
        "endTime" : 1740163088,
        "rolloutDuration" : 1,
        "serveStaleEndTime" : 1740163087
      },
      "breakpoints" : {
        "widths" : [
          300,
          451,
          2039,
          5000
        ]
      },
      "output" : {
        "quality" : 94,
        "adaptiveQuality" : 70
      },
      "transformations" : [
        {
          "transformation" : "Contrast",
          "brightness" : 0.5,
          "contrast" : 0.2
        },
        {
          "gravity" : {
            "var" : "centerGravity"
          }
          "image" : {
            "url" : "www.example.com/image.png"
          },
          "transformation" : "Composite",
          "xPosition" : 0,
          "yPosition" : 0
        },
        {
          "default" : {
            "aspect" : "fit",
            "height" : {
              "var" : "ResizeDim"
            },
            "transformation" : "Resize",
            "type" : "normal",
            "width" : {
              "var" : "ResizeDim"
            }
          },
          "dimension" : "height",
          "lessThan" : {
            "allowExpansion" : true,
            "gravity" : "Center",
            "height" : {
              "var" : "ResizeDim"
            },
            "transformation" : "Crop",
            "width" : {
              "var" : "ResizeDim"
            },
            "xPosition" : 0,
            "yPosition" : 0
          },
          "transformation" : "IfDimension",
          "value" : {
            "var" : "MinDim"
          }
        }
      ],
      "postBreakpointTransformations" : [
        {
          "color" : "#ffffff",
          "transformation" : "BackgroundColor"
        },
        {
          "transformation" : "Blur",
          "sigma" : 5
        }
      ],
      "variables" : [
        {
          "defaultValue" : "280",
          "name" : "ResizeDim",
          "type" : "number"
        },
        {
          "defaultValue" : "10",
          "name" : "MinDim",
          "type" : "number"
        },
        {
          "defaultValue" : "Center",
          "name" : "centerGravity",
          "type" : "gravity"
        }
      ]
    }
  )
}
// Use a path to a JSON-formatted policy
resource "akamai_imaging_policy_image" "my-image-policy" {
  activate_on_production = false
  contract_id            = "12345"
  policy_id              = "my-image-policy-1"
  policyset_id           = akamai_imaging_policy_set.my-policy-set.id
  json                   = file("${path.module}/image_policy.json")
}

// Reference an image policy data source
resource "akamai_imaging_policy_image" "my-image-policy" {
  activate_on_production = false
  contract_id            = "12345"
  policy_id              = "my-image-policy-1"
  policyset_id           = akamai_imaging_policy_set.my-policy-set.id
  json                   = data.akamai_imaging_policy_image.my-image-policy-definition.json
}

Arguments

Send all the required arguments to create an image policy.

ArgumentRequiredDescription
contract_idYour contract's ID.
policy_idYour image policy's ID. If you change this value, Terraform forces a replacement. It destroys your current policy and creates a new one.
policyset_idYour image policy set's ID.
jsonYour JSON-encoded image policy.
activate_on_productionWhen set to true, the policy is saved on the production network. You can set it back to false only when there are any changes to the existing policy qualifying it for a new version. Setting it to false allows you to make changes on staging without affecting the version already saved to production. Defaults to false if not set.

Attributes

There is no default standard output. Upon creation, the last line of the process log contains a success message with the resources's id in the policyset_id:policy_id format.

Adding an output block returns the image policy details you provided on create and the computed id and version attributes.