{
  "terraformType": "cloud_queue",
  "service": "queue",
  "resourceType": "Queue",
  "create": "CreateQueue",
  "read": "GetQueueAttributes",
  "update": "SetQueueAttributes",
  "delete": "DeleteQueue",
  "list": "ListQueues",
  "importId": "{queue_name}",
  "identifierAttrs": [
    "queue_name"
  ],
  "createOnly": [
    "queue_name"
  ],
  "computed": [
    "id",
    "queue_url"
  ],
  "sensitive": [],
  "readSpec": {
    "calls": [
      {
        "operation": {
          "kind": "cloudJson",
          "service": "queue",
          "operation": "GetQueueUrl",
          "target": "CloudQueue.GetQueueUrl"
        },
        "requestBindings": [
          {
            "requestPath": "queueName",
            "source": {
              "kind": "physicalId",
              "member": "queue_name"
            }
          }
        ]
      },
      {
        "operation": {
          "kind": "cloudJson",
          "service": "queue",
          "operation": "GetQueueAttributes",
          "target": "CloudQueue.GetQueueAttributes"
        },
        "requestBindings": [
          {
            "requestPath": "queueUrl",
            "source": {
              "kind": "response",
              "call": 0,
              "path": "queueUrl"
            }
          }
        ]
      }
    ],
    "resultSelector": null,
    "observedFields": [
      {
        "source": {
          "kind": "physicalId",
          "member": "queue_name"
        },
        "modelField": "queueName",
        "transform": "identity"
      },
      {
        "source": {
          "kind": "response",
          "call": 0,
          "path": "queueUrl"
        },
        "modelField": "queueUrl",
        "transform": "identity"
      },
      {
        "source": {
          "kind": "response",
          "call": 1,
          "path": "attributes.MessageRetentionPeriod"
        },
        "modelField": "retentionSeconds",
        "transform": "stringToInteger"
      }
    ],
    "readiness": null,
    "stableComputed": "preserveWhenAbsent",
    "stableComputedFields": [
      "id",
      "queueUrl"
    ]
  },
  "provider": {
    "resourceKind": "queue",
    "physicalId": [
      "queue_name"
    ],
    "exposeRevision": true,
    "attributes": [
      {
        "name": "id",
        "terraformType": "string",
        "required": false,
        "optional": false,
        "computed": true,
        "sensitive": false,
        "writeOnly": false,
        "requiresReplace": false,
        "createOnly": false
      },
      {
        "name": "queue_name",
        "terraformType": "string",
        "required": true,
        "optional": false,
        "computed": false,
        "sensitive": false,
        "writeOnly": false,
        "requiresReplace": true,
        "createOnly": true
      },
      {
        "name": "retention_seconds",
        "terraformType": "number",
        "required": false,
        "optional": true,
        "computed": false,
        "sensitive": false,
        "writeOnly": false,
        "requiresReplace": false,
        "createOnly": false
      },
      {
        "name": "queue_url",
        "terraformType": "string",
        "required": false,
        "optional": false,
        "computed": true,
        "sensitive": false,
        "writeOnly": false,
        "requiresReplace": false,
        "createOnly": false
      }
    ]
  },
  "updateStrategy": {
    "kind": "inPlace",
    "operation": "SetQueueAttributes"
  }
}
