{
  "version": "0.0.1",
  "name": "plant",
  "resources": {
    "plant:tree/v1:Nursery": {
      "inputProperties": {
        "varieties": {
          "type": "array",
          "items": {
            "$ref": "#/types/plant:tree/v1:RubberTreeVariety"
          },
          "description": "The varieties available"
        },
        "sizes": {
          "type": "object",
          "additionalProperties": {
            "$ref": "#/types/plant:tree/v1:TreeSize"
          },
          "description": "The sizes of trees available"
        }
      },
      "requiredInputs": ["varieties"]
    },
    "plant:tree/v1:RubberTree": {
      "inputProperties": {
        "container": {
          "$ref": "#/types/plant::Container"
        },
        "type": {
          "$ref": "#/types/plant:tree/v1:RubberTreeVariety",
          "default": "Burgundy"
        },
        "farm": {
          "oneOf": [
            { "$ref": "#/types/plant:tree/v1:Farm" },
            { "type": "string" }
          ],
          "default": "(unknown)"
        },
        "size": {
          "$ref": "#/types/plant:tree/v1:TreeSize",
          "default": "medium"
        },
        "diameter": {
          "$ref": "#/types/plant:tree/v1:Diameter",
          "default": 6
        }
      },
      "stateInputs": {
        "properties": {
          "farm": {
            "oneOf": [
              { "$ref": "#/types/plant:tree/v1:Farm" },
              { "type": "string" }
            ],
            "default": "(unknown)"
          }
        }
      },
      "properties": {
        "container": {
          "$ref": "#/types/plant::Container"
        },
        "type": {
          "$ref": "#/types/plant:tree/v1:RubberTreeVariety"
        },
        "farm": {
          "oneOf": [
            { "$ref": "#/types/plant:tree/v1:Farm" },
            { "type": "string" }
          ]
        },
        "size": {
          "$ref": "#/types/plant:tree/v1:TreeSize",
          "default": "medium"
        },
        "diameter": {
          "$ref": "#/types/plant:tree/v1:Diameter",
          "default": 6
        }
      },
      "required": ["type", "diameter"],
      "requiredInputs": ["type", "diameter"]
    }
  },
  "types": {
    "plant::CloudAuditOptionsLogName": {
      "description": "The log_name to populate in the Cloud Audit Record. This is added to regress pulumi/pulumi issue #7913",
      "type": "string",
      "enum": [
        {
          "name": "UnspecifiedLogName",
          "description": "Default. Should not be used.",
          "value": "UNSPECIFIED_LOG_NAME"
        },
        {
          "name": "AdminActivity",
          "description": "Corresponds to \"cloudaudit.googleapis.com/activity\"",
          "value": "ADMIN_ACTIVITY"
        },
        {
          "name": "DataAccess",
          "description": "Corresponds to \"cloudaudit.googleapis.com/data_access\"",
          "value": "DATA_ACCESS"
        },
        {
          "name": "Synthetic",
          "description": "What if triple quotes \"\"\" are used in the description",
          "value": "SYNTHETIC"
        }
      ]
    },
    "plant::Container": {
      "type": "object",
      "properties": {
        "size": {
          "$ref": "#/types/plant::ContainerSize"
        },
        "material": {
          "type": "string"
        },
        "color": {
          "oneOf": [
            { "$ref": "#/types/plant::ContainerColor" },
            { "type": "string" }
          ]
        },
        "brightness": {
          "$ref": "#/types/plant::ContainerBrightness",
          "default": 1.0
        }
      },
      "required": ["size"]
    },
    "plant::ContainerSize": {
      "type": "integer",
      "description": "plant container sizes",
      "enum": [
        {
          "value": 4,
          "name": "FourInch"
        },
        {
          "value": 6,
          "name": "SixInch"
        },
        {
          "value": 8,
          "name": "EightInch",
          "deprecationMessage": "Eight inch pots are no longer supported."
        }
      ]
    },
    "plant::ContainerColor": {
      "type": "string",
      "description": "plant container colors",
      "enum": [
        {
          "value": "red"
        },
        {
          "value": "blue"
        },
        {
          "value": "yellow"
        }
      ]
    },
    "plant::ContainerBrightness": {
      "type": "number",
      "enum": [
        {
          "name": "ZeroPointOne",
          "value": 0.1
        },
        {
          "name": "One",
          "value": 1.0
        }
      ]
    },
    "plant:tree/v1:RubberTreeVariety": {
      "type": "string",
      "description": "types of rubber trees",
      "enum": [
        {
          "value": "Burgundy",
          "description": "A burgundy rubber tree."
        },
        {
          "value": "Ruby",
          "description": "A ruby rubber tree."
        },
        {
          "value": "Tineke",
          "description": "A tineke rubber tree."
        }
      ]
    },
    "plant:tree/v1:Farm": {
      "type": "string",
      "enum": [
        {
          "value": "Pulumi Planters Inc."
        },
        {
          "value": "Plants'R'Us"
        }
      ]
    },
    "plant:tree/v1:TreeSize": {
      "type": "string",
      "enum": [
        {
          "value": "small"
        },
        {
          "value": "medium"
        },
        {
          "value": "large"
        }
      ]
    },
    "plant:tree/v1:Diameter": {
      "type": "number",
      "enum": [
        {
          "name": "sixinch",
          "value": 6
        },
        {
          "name": "twelveinch",
          "value": 12
        }
      ]
    }
  },
  "language": {
    "csharp": {
      "namespaces": {
        "plant": "Plant",
        "tree/v1": "Tree.V1"
      }
    },
    "go": {
      "importBasePath": "dashed-import-schema/plant-provider",
      "generateExtraInputTypes": true
    },
    "nodejs": {
      "dependencies": {
        "@pulumi/pulumi": "^3.12"
      },
      "devDependencies": {
        "typescript": "^3.7.0"
      }
    },
    "python": {
      "moduleNameOverrides": {
        "tree/v1": "tree/v1"
      }
    }
  }
}