{
  "name": "cloudfoundry",
  "version": "0.54.0",
  "description": "A Pulumi provider dynamically bridged from cloudfoundry.",
  "attribution": "This Pulumi package is based on the [`cloudfoundry` Terraform Provider](https://github.com/cloudfoundry-community/terraform-provider-cloudfoundry).",
  "repository": "https://github.com/cloudfoundry-community/terraform-provider-cloudfoundry",
  "publisher": "cloudfoundry-community",
  "meta": {
    "moduleFormat": "(.*)(?:/[^/]*)"
  },
  "language": {
    "csharp": {
      "compatibility": "tfbridge20",
      "liftSingleValueMethodReturns": true,
      "respectSchemaVersion": true
    },
    "go": {
      "importBasePath": "github.com/pulumi/pulumi-terraform-provider/sdks/go/cloudfoundry/cloudfoundry",
      "rootPackageName": "cloudfoundry",
      "liftSingleValueMethodReturns": true,
      "generateExtraInputTypes": true,
      "respectSchemaVersion": true
    },
    "java": {
      "basePackage": "",
      "buildFiles": "",
      "gradleNexusPublishPluginVersion": "",
      "gradleTest": ""
    },
    "nodejs": {
      "packageDescription": "A Pulumi provider dynamically bridged from cloudfoundry.",
      "readme": "> This provider is a derived work of the [Terraform Provider](https://github.com/cloudfoundry-community/terraform-provider-cloudfoundry)\n> distributed under [MPL 2.0](https://www.mozilla.org/en-US/MPL/2.0/). If you encounter a bug or missing feature,\n> please consult the source [`terraform-provider-cloudfoundry` repo](https://github.com/cloudfoundry-community/terraform-provider-cloudfoundry/issues).",
      "compatibility": "tfbridge20",
      "disableUnionOutputTypes": true,
      "liftSingleValueMethodReturns": true,
      "respectSchemaVersion": true
    },
    "python": {
      "readme": "> This provider is a derived work of the [Terraform Provider](https://github.com/cloudfoundry-community/terraform-provider-cloudfoundry)\n> distributed under [MPL 2.0](https://www.mozilla.org/en-US/MPL/2.0/). If you encounter a bug or missing feature,\n> please consult the source [`terraform-provider-cloudfoundry` repo](https://github.com/cloudfoundry-community/terraform-provider-cloudfoundry/issues).",
      "compatibility": "tfbridge20",
      "respectSchemaVersion": true,
      "pyproject": {
        "enabled": true
      }
    }
  },
  "config": {
    "variables": {
      "apiUrl": {
        "type": "string"
      },
      "appLogsMax": {
        "type": "number",
        "description": "Number of logs message which can be see when app creation is errored (-1 means all messages stored)\n"
      },
      "cfClientId": {
        "type": "string"
      },
      "cfClientSecret": {
        "type": "string"
      },
      "defaultQuotaName": {
        "type": "string",
        "description": "Name of the default quota\n"
      },
      "deleteRecursiveAllowed": {
        "type": "boolean",
        "description": "Set to false to disallow recurive deletion\n"
      },
      "forceBrokerNotFailWhenCatalogNotAccessible": {
        "type": "boolean",
        "description": "Set to true to not trigger fail on catalog on service broker\n"
      },
      "origin": {
        "type": "string"
      },
      "password": {
        "type": "string"
      },
      "purgeWhenDelete": {
        "type": "boolean",
        "description": "Set to true to purge when deleting a resource (e.g.: service instance, service broker)\n"
      },
      "skipSslValidation": {
        "type": "boolean"
      },
      "ssoPasscode": {
        "type": "string"
      },
      "storeTokensPath": {
        "type": "string",
        "description": "Path to a file to store tokens used for login. (this is useful for sso, this avoid requiring each time sso passcode)\n"
      },
      "uaaClientId": {
        "type": "string"
      },
      "uaaClientSecret": {
        "type": "string"
      },
      "user": {
        "type": "string"
      }
    }
  },
  "types": {
    "cloudfoundry:index/AppRoute:AppRoute": {
      "properties": {
        "port": {
          "type": "number",
          "description": "The port of the application to map the tcp route to.\n\n> **NOTE:** in the future, the `route` block will support the `port` attribute illustrated above to allow mapping of tcp routes, and listening on custom or multiple ports.\n> **NOTE:** Route mappings can be controlled from either the `cloudfoundry_app.routes` or the `cloudfoundry_routes.target` attributes. Using both syntaxes will cause conflicts and result in unpredictable behavior.\n> **NOTE:** A given route can not currently be mapped to more than one application using the `cloudfoundry_app.routes` syntax. As an alternative, use the `cloudfoundry_route.target` syntax instead in this specific use-case.\n> **NOTE:** Resource only manages route mapping previously set by resource.\n"
        },
        "route": {
          "type": "string",
          "description": "The route id. Route can be defined using the `cloudfoundry.Route` resource\n"
        }
      },
      "type": "object",
      "required": [
        "route"
      ],
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "port",
            "route"
          ]
        }
      }
    },
    "cloudfoundry:index/AppServiceBinding:AppServiceBinding": {
      "properties": {
        "params": {
          "type": "object",
          "additionalProperties": {
            "type": "string"
          },
          "description": "A list of key/value parameters used by the service broker to create the binding. Defaults to empty map.\n\n> **NOTE:** Modifying this argument will cause the application to be restaged.\n> **NOTE:** Resource only manages service binding previously set by resource.\n",
          "secret": true
        },
        "paramsJson": {
          "type": "string",
          "secret": true
        },
        "serviceInstance": {
          "type": "string",
          "description": "The service instance GUID.\n"
        }
      },
      "type": "object",
      "required": [
        "serviceInstance"
      ]
    },
    "cloudfoundry:index/AsgRule:AsgRule": {
      "properties": {
        "code": {
          "type": "number",
          "description": "Allowed ICMP [code](https://www.iana.org/assignments/icmp-parameters/icmp-parameters.xhtml#icmp-parameters-codes). . A value of -1 allows all codes. Default is -1.\n"
        },
        "description": {
          "type": "string",
          "description": "Description of the rule. Defaults to empty.\n"
        },
        "destination": {
          "type": "string",
          "description": "The IP address or CIDR block that can receive traffic.\n"
        },
        "log": {
          "type": "boolean",
          "description": "Set to `true` to enable logging. For more information on how to configure system logs to be sent to a syslog drain, review the [ASG logging](http://docs.cloudfoundry.org/concepts/asg.html#logging) documentation. Defaults to false.\n"
        },
        "ports": {
          "type": "string",
          "description": "A single port, comma-separated ports or range of ports that can receive traffic.\n"
        },
        "protocol": {
          "type": "string",
          "description": "One of `icmp`, `tcp`, `udp`, or `all`.\n"
        },
        "type": {
          "type": "number",
          "description": "Allowed ICMP [type](https://www.iana.org/assignments/icmp-parameters/icmp-parameters.xhtml#icmp-parameters-types). A value of -1 allows all types. Default is -1.\n"
        }
      },
      "type": "object",
      "required": [
        "destination",
        "protocol"
      ]
    },
    "cloudfoundry:index/FeatureFlagsFeatureFlags:FeatureFlagsFeatureFlags": {
      "properties": {
        "appBitsUpload": {
          "type": "string"
        },
        "appScaling": {
          "type": "string"
        },
        "diegoDocker": {
          "type": "string"
        },
        "envVarVisibility": {
          "type": "string"
        },
        "hideMarketplaceFromUnauthenticatedUsers": {
          "type": "string"
        },
        "privateDomainCreation": {
          "type": "string"
        },
        "resourceMatching": {
          "type": "string"
        },
        "routeCreation": {
          "type": "string"
        },
        "serviceInstanceCreation": {
          "type": "string"
        },
        "serviceInstanceSharing": {
          "type": "string"
        },
        "setRolesByUsername": {
          "type": "string"
        },
        "spaceDeveloperEnvVarVisibility": {
          "type": "string"
        },
        "spaceScopedPrivateBrokerCreation": {
          "type": "string"
        },
        "taskCreation": {
          "type": "string"
        },
        "unsetRolesByUsername": {
          "type": "string"
        },
        "userOrgCreation": {
          "type": "string"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "appBitsUpload",
            "appScaling",
            "diegoDocker",
            "envVarVisibility",
            "hideMarketplaceFromUnauthenticatedUsers",
            "privateDomainCreation",
            "resourceMatching",
            "routeCreation",
            "serviceInstanceCreation",
            "serviceInstanceSharing",
            "setRolesByUsername",
            "spaceDeveloperEnvVarVisibility",
            "spaceScopedPrivateBrokerCreation",
            "taskCreation",
            "unsetRolesByUsername",
            "userOrgCreation"
          ]
        }
      }
    },
    "cloudfoundry:index/NetworkPolicyPolicy:NetworkPolicyPolicy": {
      "properties": {
        "destinationApp": {
          "type": "string",
          "description": "The ID of the [application](https://www.terraform.io/docs/providers/cf/r/app.html) to connect to.\n"
        },
        "port": {
          "type": "string",
          "description": "Port (8080) or range of ports (8080-8085) for connection to destination app\n"
        },
        "protocol": {
          "type": "string",
          "description": "One of 'udp' or 'tcp' identifying the allowed protocol for the access. Default is 'tcp'.\n"
        },
        "sourceApp": {
          "type": "string",
          "description": "The ID of the [application](https://www.terraform.io/docs/providers/cf/r/app.html) to connect from.\n"
        }
      },
      "type": "object",
      "required": [
        "destinationApp",
        "port",
        "sourceApp"
      ]
    },
    "cloudfoundry:index/RouteTarget:RouteTarget": {
      "properties": {
        "app": {
          "type": "string",
          "description": "The ID of the [application](https://www.terraform.io/docs/providers/cloudfoundry/r/app.html) to map this route to.\n"
        },
        "port": {
          "type": "number",
          "description": "A port that the application will be listening on. If this argument is not provided then the route will be associated with the application's default port.\n\n> **NOTE:** Route mappings can be controlled from either the `cloudfoundry_routes.target` or the `cloudfoundry_app.routes` attributes.\n> **NOTE:** Resource only handles `target` previously created by resource (i.e. it does not destroy nor modifies target set by other resources like cloudfoundry_application).\n"
        }
      },
      "type": "object",
      "required": [
        "app"
      ],
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "app",
            "port"
          ]
        }
      }
    },
    "cloudfoundry:index/ServiceInstanceTimeouts:ServiceInstanceTimeouts": {
      "properties": {
        "create": {
          "type": "string"
        },
        "delete": {
          "type": "string"
        },
        "update": {
          "type": "string"
        }
      },
      "type": "object"
    },
    "cloudfoundry:index/ServiceKeyTimeouts:ServiceKeyTimeouts": {
      "properties": {
        "create": {
          "type": "string"
        },
        "delete": {
          "type": "string"
        }
      },
      "type": "object"
    }
  },
  "provider": {
    "description": "The provider type for the cloudfoundry package. By default, resources use package-wide configuration\nsettings, however an explicit `Provider` instance may be created and passed during resource\nconstruction to achieve fine-grained programmatic control over provider settings. See the\n[documentation](https://www.pulumi.com/docs/reference/programming-model/#providers) for more information.\n",
    "properties": {
      "apiUrl": {
        "type": "string"
      },
      "cfClientId": {
        "type": "string"
      },
      "cfClientSecret": {
        "type": "string"
      },
      "defaultQuotaName": {
        "type": "string",
        "description": "Name of the default quota\n"
      },
      "origin": {
        "type": "string"
      },
      "password": {
        "type": "string"
      },
      "ssoPasscode": {
        "type": "string"
      },
      "storeTokensPath": {
        "type": "string",
        "description": "Path to a file to store tokens used for login. (this is useful for sso, this avoid requiring each time sso passcode)\n"
      },
      "uaaClientId": {
        "type": "string"
      },
      "uaaClientSecret": {
        "type": "string"
      },
      "user": {
        "type": "string"
      }
    },
    "type": "object",
    "inputProperties": {
      "apiUrl": {
        "type": "string"
      },
      "appLogsMax": {
        "type": "number",
        "description": "Number of logs message which can be see when app creation is errored (-1 means all messages stored)\n"
      },
      "cfClientId": {
        "type": "string"
      },
      "cfClientSecret": {
        "type": "string"
      },
      "defaultQuotaName": {
        "type": "string",
        "description": "Name of the default quota\n"
      },
      "deleteRecursiveAllowed": {
        "type": "boolean",
        "description": "Set to false to disallow recurive deletion\n"
      },
      "forceBrokerNotFailWhenCatalogNotAccessible": {
        "type": "boolean",
        "description": "Set to true to not trigger fail on catalog on service broker\n"
      },
      "origin": {
        "type": "string"
      },
      "password": {
        "type": "string"
      },
      "purgeWhenDelete": {
        "type": "boolean",
        "description": "Set to true to purge when deleting a resource (e.g.: service instance, service broker)\n"
      },
      "skipSslValidation": {
        "type": "boolean"
      },
      "ssoPasscode": {
        "type": "string"
      },
      "storeTokensPath": {
        "type": "string",
        "description": "Path to a file to store tokens used for login. (this is useful for sso, this avoid requiring each time sso passcode)\n"
      },
      "uaaClientId": {
        "type": "string"
      },
      "uaaClientSecret": {
        "type": "string"
      },
      "user": {
        "type": "string"
      }
    }
  },
  "resources": {
    "cloudfoundry:index/app:App": {
      "description": "Provides a Cloud Foundry [application](https://docs.cloudfoundry.org/devguide/deploy-apps/deploy-app.html) resource.\n\n## Example Usage\n\nThe following example creates an application.\n\n<!--Start PulumiCodeChooser -->\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as cloudfoundry from \"@pulumi/cloudfoundry\";\n\nconst spring_music = new cloudfoundry.App(\"spring-music\", {path: \"/Work/cloudfoundry/apps/spring-music/build/libs/spring-music.war\"});\n```\n```python\nimport pulumi\nimport pulumi_cloudfoundry as cloudfoundry\n\nspring_music = cloudfoundry.App(\"spring-music\", path=\"/Work/cloudfoundry/apps/spring-music/build/libs/spring-music.war\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Cloudfoundry = Pulumi.Cloudfoundry;\n\nreturn await Deployment.RunAsync(() => \n{\n    var spring_music = new Cloudfoundry.App(\"spring-music\", new()\n    {\n        Path = \"/Work/cloudfoundry/apps/spring-music/build/libs/spring-music.war\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/cloudfoundry/cloudfoundry\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := cloudfoundry.NewApp(ctx, \"spring-music\", &cloudfoundry.AppArgs{\n\t\t\tPath: pulumi.String(\"/Work/cloudfoundry/apps/spring-music/build/libs/spring-music.war\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.cloudfoundry.App;\nimport com.pulumi.cloudfoundry.AppArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var spring_music = new App(\"spring-music\", AppArgs.builder()\n            .path(\"/Work/cloudfoundry/apps/spring-music/build/libs/spring-music.war\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  spring-music:\n    type: cloudfoundry:App\n    properties:\n      path: /Work/cloudfoundry/apps/spring-music/build/libs/spring-music.war\n```\n<!--End PulumiCodeChooser -->\n\n## Update resource using blue-green app id\n\nThis is an example of usage of `id_bg` attribute to update your resource on a changing app id by blue-green:\n\n<!--Start PulumiCodeChooser -->\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as cloudfoundry from \"@pulumi/cloudfoundry\";\n\nconst test_app_bg = new cloudfoundry.App(\"test-app-bg\", {\n    space: \"apaceid\",\n    buildpack: \"abuildpack\",\n    path: \"myapp.zip\",\n    strategy: \"blue-green-v2\",\n    routes: [{\n        route: \"arouteid\",\n    }],\n});\nconst test_app_bg2 = new cloudfoundry.App(\"test-app-bg2\", {\n    space: \"apaceid\",\n    buildpack: \"abuildpack\",\n    path: \"myapp.zip\",\n    strategy: \"blue-green-v2\",\n    routes: [{\n        route: \"arouteid\",\n    }],\n});\nconst my_policy = new cloudfoundry.NetworkPolicy(\"my-policy\", {policies: [{\n    destinationApp: test_app_bg2.idBg,\n    port: \"8080\",\n    protocol: \"tcp\",\n    sourceApp: test_app_bg.idBg,\n}]});\n```\n```python\nimport pulumi\nimport pulumi_cloudfoundry as cloudfoundry\n\ntest_app_bg = cloudfoundry.App(\"test-app-bg\",\n    space=\"apaceid\",\n    buildpack=\"abuildpack\",\n    path=\"myapp.zip\",\n    strategy=\"blue-green-v2\",\n    routes=[{\n        \"route\": \"arouteid\",\n    }])\ntest_app_bg2 = cloudfoundry.App(\"test-app-bg2\",\n    space=\"apaceid\",\n    buildpack=\"abuildpack\",\n    path=\"myapp.zip\",\n    strategy=\"blue-green-v2\",\n    routes=[{\n        \"route\": \"arouteid\",\n    }])\nmy_policy = cloudfoundry.NetworkPolicy(\"my-policy\", policies=[{\n    \"destination_app\": test_app_bg2.id_bg,\n    \"port\": \"8080\",\n    \"protocol\": \"tcp\",\n    \"source_app\": test_app_bg.id_bg,\n}])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Cloudfoundry = Pulumi.Cloudfoundry;\n\nreturn await Deployment.RunAsync(() => \n{\n    var test_app_bg = new Cloudfoundry.App(\"test-app-bg\", new()\n    {\n        Space = \"apaceid\",\n        Buildpack = \"abuildpack\",\n        Path = \"myapp.zip\",\n        Strategy = \"blue-green-v2\",\n        Routes = new[]\n        {\n            new Cloudfoundry.Inputs.AppRouteArgs\n            {\n                Route = \"arouteid\",\n            },\n        },\n    });\n\n    var test_app_bg2 = new Cloudfoundry.App(\"test-app-bg2\", new()\n    {\n        Space = \"apaceid\",\n        Buildpack = \"abuildpack\",\n        Path = \"myapp.zip\",\n        Strategy = \"blue-green-v2\",\n        Routes = new[]\n        {\n            new Cloudfoundry.Inputs.AppRouteArgs\n            {\n                Route = \"arouteid\",\n            },\n        },\n    });\n\n    var my_policy = new Cloudfoundry.NetworkPolicy(\"my-policy\", new()\n    {\n        Policies = new[]\n        {\n            new Cloudfoundry.Inputs.NetworkPolicyPolicyArgs\n            {\n                DestinationApp = test_app_bg2.IdBg,\n                Port = \"8080\",\n                Protocol = \"tcp\",\n                SourceApp = test_app_bg.IdBg,\n            },\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/cloudfoundry/cloudfoundry\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\ttest_app_bg, err := cloudfoundry.NewApp(ctx, \"test-app-bg\", &cloudfoundry.AppArgs{\n\t\t\tSpace:     pulumi.String(\"apaceid\"),\n\t\t\tBuildpack: pulumi.String(\"abuildpack\"),\n\t\t\tPath:      pulumi.String(\"myapp.zip\"),\n\t\t\tStrategy:  pulumi.String(\"blue-green-v2\"),\n\t\t\tRoutes: cloudfoundry.AppRouteArray{\n\t\t\t\t&cloudfoundry.AppRouteArgs{\n\t\t\t\t\tRoute: pulumi.String(\"arouteid\"),\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\ttest_app_bg2, err := cloudfoundry.NewApp(ctx, \"test-app-bg2\", &cloudfoundry.AppArgs{\n\t\t\tSpace:     pulumi.String(\"apaceid\"),\n\t\t\tBuildpack: pulumi.String(\"abuildpack\"),\n\t\t\tPath:      pulumi.String(\"myapp.zip\"),\n\t\t\tStrategy:  pulumi.String(\"blue-green-v2\"),\n\t\t\tRoutes: cloudfoundry.AppRouteArray{\n\t\t\t\t&cloudfoundry.AppRouteArgs{\n\t\t\t\t\tRoute: pulumi.String(\"arouteid\"),\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = cloudfoundry.NewNetworkPolicy(ctx, \"my-policy\", &cloudfoundry.NetworkPolicyArgs{\n\t\t\tPolicies: cloudfoundry.NetworkPolicyPolicyArray{\n\t\t\t\t&cloudfoundry.NetworkPolicyPolicyArgs{\n\t\t\t\t\tDestinationApp: test_app_bg2.IdBg,\n\t\t\t\t\tPort:           pulumi.String(\"8080\"),\n\t\t\t\t\tProtocol:       pulumi.String(\"tcp\"),\n\t\t\t\t\tSourceApp:      test_app_bg.IdBg,\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.cloudfoundry.App;\nimport com.pulumi.cloudfoundry.AppArgs;\nimport com.pulumi.cloudfoundry.inputs.AppRouteArgs;\nimport com.pulumi.cloudfoundry.NetworkPolicy;\nimport com.pulumi.cloudfoundry.NetworkPolicyArgs;\nimport com.pulumi.cloudfoundry.inputs.NetworkPolicyPolicyArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var test_app_bg = new App(\"test-app-bg\", AppArgs.builder()\n            .space(\"apaceid\")\n            .buildpack(\"abuildpack\")\n            .path(\"myapp.zip\")\n            .strategy(\"blue-green-v2\")\n            .routes(AppRouteArgs.builder()\n                .route(\"arouteid\")\n                .build())\n            .build());\n\n        var test_app_bg2 = new App(\"test-app-bg2\", AppArgs.builder()\n            .space(\"apaceid\")\n            .buildpack(\"abuildpack\")\n            .path(\"myapp.zip\")\n            .strategy(\"blue-green-v2\")\n            .routes(AppRouteArgs.builder()\n                .route(\"arouteid\")\n                .build())\n            .build());\n\n        var my_policy = new NetworkPolicy(\"my-policy\", NetworkPolicyArgs.builder()\n            .policies(NetworkPolicyPolicyArgs.builder()\n                .destinationApp(test_app_bg2.idBg())\n                .port(\"8080\")\n                .protocol(\"tcp\")\n                .sourceApp(test_app_bg.idBg())\n                .build())\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  test-app-bg:\n    type: cloudfoundry:App\n    properties:\n      space: apaceid\n      buildpack: abuildpack\n      path: myapp.zip\n      strategy: blue-green-v2\n      routes:\n        - route: arouteid\n  test-app-bg2:\n    type: cloudfoundry:App\n    properties:\n      space: apaceid\n      buildpack: abuildpack\n      path: myapp.zip\n      strategy: blue-green-v2\n      routes:\n        - route: arouteid\n  my-policy:\n    type: cloudfoundry:NetworkPolicy\n    properties:\n      policies:\n        - destinationApp: ${[\"test-app-bg2\"].idBg}\n          port: '8080'\n          protocol: tcp\n          sourceApp: ${[\"test-app-bg\"].idBg}\n```\n<!--End PulumiCodeChooser -->\n\n## Import\n\nThe current App can be imported using the `app` GUID, e.g.\n\nbash\n\n```sh\n$ pulumi import cloudfoundry:index/app:App spring-music a-guid\n```\n\n",
      "properties": {
        "annotations": {
          "type": "object",
          "additionalProperties": {
            "type": "string"
          },
          "description": "Add annotations as described [here](https://docs.cloudfoundry.org/adminguide/metadata.html#-view-metadata-for-an-object).\nWorks only on cloud foundry with api >= v3.63.\n"
        },
        "appId": {
          "type": "string",
          "description": "The GUID of the application\n"
        },
        "buildpack": {
          "type": "string",
          "description": "The buildpack used to stage the application. There are multiple options to choose from:\n* a Git URL (e.g. [https://github.com/cloudfoundry/java-buildpack.git](https://github.com/cloudfoundry/java-buildpack.git)) or a Git URL with a branch or tag (e.g. [https://github.com/cloudfoundry/java-buildpack.git#v3.3.0](https://github.com/cloudfoundry/java-buildpack.git#v3.3.0) for v3.3.0 tag)\n* an installed admin buildpack name (e.g. my-buildpack)\n* an empty blank string to use built-in buildpacks (i.e. autodetection)\n"
        },
        "buildpacks": {
          "type": "array",
          "items": {
            "type": "string"
          },
          "description": "Multiple `buildpacks` used to stage the application. When both `buildpack` and `buildpacks` are set, `buildpacks` wins. There are multiple options to choose from:\n* a Git URL (e.g. [https://github.com/cloudfoundry/java-buildpack.git](https://github.com/cloudfoundry/java-buildpack.git)) or a Git URL with a branch or tag (e.g. [https://github.com/cloudfoundry/java-buildpack.git#v3.3.0](https://github.com/cloudfoundry/java-buildpack.git#v3.3.0) for v3.3.0 tag)\n* an installed admin buildpack name (e.g. my-buildpack)\n"
        },
        "command": {
          "type": "string",
          "description": "A custom start command for the application. This overrides the start command provided by the buildpack.\n"
        },
        "diskQuota": {
          "type": "number",
          "description": "The disk space to be allocated for each application instance in megabytes. If not provided, default disk quota is retrieved from Cloud Foundry and assigned.\n"
        },
        "dockerCredentials": {
          "type": "object",
          "additionalProperties": {
            "type": "string"
          },
          "secret": true
        },
        "dockerImage": {
          "type": "string"
        },
        "enableSsh": {
          "type": "boolean",
          "description": "Whether to enable or disable SSH access to the container. Default is `true` unless disabled globally.\n"
        },
        "environment": {
          "type": "object",
          "additionalProperties": {
            "type": "string"
          },
          "secret": true
        },
        "healthCheckHttpEndpoint": {
          "type": "string"
        },
        "healthCheckInvocationTimeout": {
          "type": "number"
        },
        "healthCheckTimeout": {
          "type": "number"
        },
        "healthCheckType": {
          "type": "string"
        },
        "idBg": {
          "type": "string",
          "description": "The GUID of the application updated by resource when strategy is blue-green.\n"
        },
        "instances": {
          "type": "number",
          "description": "The number of app instances that you want to start. Defaults to 1.\n"
        },
        "labels": {
          "type": "object",
          "additionalProperties": {
            "type": "string"
          },
          "description": "Add labels as described [here](https://docs.cloudfoundry.org/adminguide/metadata.html#-view-metadata-for-an-object).\nWorks only on cloud foundry with api >= v3.63.\n"
        },
        "memory": {
          "type": "number",
          "description": "The memory limit for each application instance in megabytes. If not provided, value is computed and retreived from Cloud Foundry.\n"
        },
        "name": {
          "type": "string",
          "description": "The name of the application.\n"
        },
        "path": {
          "type": "string",
          "description": "Path to an app zip in the form of unix path or http url\n"
        },
        "ports": {
          "type": "array",
          "items": {
            "type": "number"
          }
        },
        "routes": {
          "type": "array",
          "items": {
            "$ref": "#/types/cloudfoundry:index%2FAppRoute:AppRoute"
          }
        },
        "serviceBindings": {
          "type": "array",
          "items": {
            "$ref": "#/types/cloudfoundry:index%2FAppServiceBinding:AppServiceBinding"
          }
        },
        "sourceCodeHash": {
          "type": "string"
        },
        "space": {
          "type": "string",
          "description": "The GUID of the associated Cloud Foundry space.\n"
        },
        "stack": {
          "type": "string",
          "description": "The name of the stack the application will be deployed to. Use the `cloudfoundry.getStack` data resource to lookup the available stack names to override Cloud Foundry default.\n"
        },
        "stopped": {
          "type": "boolean",
          "description": "Defines the desired application state. Set to `true` to have the application remain in a stopped state. Default is `false`, i.e. application will be started.\n"
        },
        "strategy": {
          "type": "string",
          "description": "Deployment strategy, default to none but accept blue-green strategy\n"
        },
        "timeout": {
          "type": "number",
          "description": "Max wait time for app instance startup, in seconds. Defaults to 60 seconds.\n"
        }
      },
      "type": "object",
      "required": [
        "appId",
        "buildpack",
        "diskQuota",
        "enableSsh",
        "environment",
        "healthCheckHttpEndpoint",
        "healthCheckInvocationTimeout",
        "healthCheckTimeout",
        "idBg",
        "memory",
        "name",
        "ports",
        "space",
        "stack"
      ],
      "inputProperties": {
        "annotations": {
          "type": "object",
          "additionalProperties": {
            "type": "string"
          },
          "description": "Add annotations as described [here](https://docs.cloudfoundry.org/adminguide/metadata.html#-view-metadata-for-an-object).\nWorks only on cloud foundry with api >= v3.63.\n"
        },
        "appId": {
          "type": "string",
          "description": "The GUID of the application\n"
        },
        "buildpack": {
          "type": "string",
          "description": "The buildpack used to stage the application. There are multiple options to choose from:\n* a Git URL (e.g. [https://github.com/cloudfoundry/java-buildpack.git](https://github.com/cloudfoundry/java-buildpack.git)) or a Git URL with a branch or tag (e.g. [https://github.com/cloudfoundry/java-buildpack.git#v3.3.0](https://github.com/cloudfoundry/java-buildpack.git#v3.3.0) for v3.3.0 tag)\n* an installed admin buildpack name (e.g. my-buildpack)\n* an empty blank string to use built-in buildpacks (i.e. autodetection)\n"
        },
        "buildpacks": {
          "type": "array",
          "items": {
            "type": "string"
          },
          "description": "Multiple `buildpacks` used to stage the application. When both `buildpack` and `buildpacks` are set, `buildpacks` wins. There are multiple options to choose from:\n* a Git URL (e.g. [https://github.com/cloudfoundry/java-buildpack.git](https://github.com/cloudfoundry/java-buildpack.git)) or a Git URL with a branch or tag (e.g. [https://github.com/cloudfoundry/java-buildpack.git#v3.3.0](https://github.com/cloudfoundry/java-buildpack.git#v3.3.0) for v3.3.0 tag)\n* an installed admin buildpack name (e.g. my-buildpack)\n"
        },
        "command": {
          "type": "string",
          "description": "A custom start command for the application. This overrides the start command provided by the buildpack.\n"
        },
        "diskQuota": {
          "type": "number",
          "description": "The disk space to be allocated for each application instance in megabytes. If not provided, default disk quota is retrieved from Cloud Foundry and assigned.\n"
        },
        "dockerCredentials": {
          "type": "object",
          "additionalProperties": {
            "type": "string"
          },
          "secret": true
        },
        "dockerImage": {
          "type": "string"
        },
        "enableSsh": {
          "type": "boolean",
          "description": "Whether to enable or disable SSH access to the container. Default is `true` unless disabled globally.\n"
        },
        "environment": {
          "type": "object",
          "additionalProperties": {
            "type": "string"
          },
          "secret": true
        },
        "healthCheckHttpEndpoint": {
          "type": "string"
        },
        "healthCheckInvocationTimeout": {
          "type": "number"
        },
        "healthCheckTimeout": {
          "type": "number"
        },
        "healthCheckType": {
          "type": "string"
        },
        "instances": {
          "type": "number",
          "description": "The number of app instances that you want to start. Defaults to 1.\n"
        },
        "labels": {
          "type": "object",
          "additionalProperties": {
            "type": "string"
          },
          "description": "Add labels as described [here](https://docs.cloudfoundry.org/adminguide/metadata.html#-view-metadata-for-an-object).\nWorks only on cloud foundry with api >= v3.63.\n"
        },
        "memory": {
          "type": "number",
          "description": "The memory limit for each application instance in megabytes. If not provided, value is computed and retreived from Cloud Foundry.\n"
        },
        "name": {
          "type": "string",
          "description": "The name of the application.\n"
        },
        "path": {
          "type": "string",
          "description": "Path to an app zip in the form of unix path or http url\n"
        },
        "ports": {
          "type": "array",
          "items": {
            "type": "number"
          }
        },
        "routes": {
          "type": "array",
          "items": {
            "$ref": "#/types/cloudfoundry:index%2FAppRoute:AppRoute"
          }
        },
        "serviceBindings": {
          "type": "array",
          "items": {
            "$ref": "#/types/cloudfoundry:index%2FAppServiceBinding:AppServiceBinding"
          }
        },
        "sourceCodeHash": {
          "type": "string"
        },
        "space": {
          "type": "string",
          "description": "The GUID of the associated Cloud Foundry space.\n"
        },
        "stack": {
          "type": "string",
          "description": "The name of the stack the application will be deployed to. Use the `cloudfoundry.getStack` data resource to lookup the available stack names to override Cloud Foundry default.\n"
        },
        "stopped": {
          "type": "boolean",
          "description": "Defines the desired application state. Set to `true` to have the application remain in a stopped state. Default is `false`, i.e. application will be started.\n"
        },
        "strategy": {
          "type": "string",
          "description": "Deployment strategy, default to none but accept blue-green strategy\n"
        },
        "timeout": {
          "type": "number",
          "description": "Max wait time for app instance startup, in seconds. Defaults to 60 seconds.\n"
        }
      },
      "requiredInputs": [
        "space"
      ],
      "stateInputs": {
        "description": "Input properties used for looking up and filtering App resources.\n",
        "properties": {
          "annotations": {
            "type": "object",
            "additionalProperties": {
              "type": "string"
            },
            "description": "Add annotations as described [here](https://docs.cloudfoundry.org/adminguide/metadata.html#-view-metadata-for-an-object).\nWorks only on cloud foundry with api >= v3.63.\n"
          },
          "appId": {
            "type": "string",
            "description": "The GUID of the application\n"
          },
          "buildpack": {
            "type": "string",
            "description": "The buildpack used to stage the application. There are multiple options to choose from:\n* a Git URL (e.g. [https://github.com/cloudfoundry/java-buildpack.git](https://github.com/cloudfoundry/java-buildpack.git)) or a Git URL with a branch or tag (e.g. [https://github.com/cloudfoundry/java-buildpack.git#v3.3.0](https://github.com/cloudfoundry/java-buildpack.git#v3.3.0) for v3.3.0 tag)\n* an installed admin buildpack name (e.g. my-buildpack)\n* an empty blank string to use built-in buildpacks (i.e. autodetection)\n"
          },
          "buildpacks": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "description": "Multiple `buildpacks` used to stage the application. When both `buildpack` and `buildpacks` are set, `buildpacks` wins. There are multiple options to choose from:\n* a Git URL (e.g. [https://github.com/cloudfoundry/java-buildpack.git](https://github.com/cloudfoundry/java-buildpack.git)) or a Git URL with a branch or tag (e.g. [https://github.com/cloudfoundry/java-buildpack.git#v3.3.0](https://github.com/cloudfoundry/java-buildpack.git#v3.3.0) for v3.3.0 tag)\n* an installed admin buildpack name (e.g. my-buildpack)\n"
          },
          "command": {
            "type": "string",
            "description": "A custom start command for the application. This overrides the start command provided by the buildpack.\n"
          },
          "diskQuota": {
            "type": "number",
            "description": "The disk space to be allocated for each application instance in megabytes. If not provided, default disk quota is retrieved from Cloud Foundry and assigned.\n"
          },
          "dockerCredentials": {
            "type": "object",
            "additionalProperties": {
              "type": "string"
            },
            "secret": true
          },
          "dockerImage": {
            "type": "string"
          },
          "enableSsh": {
            "type": "boolean",
            "description": "Whether to enable or disable SSH access to the container. Default is `true` unless disabled globally.\n"
          },
          "environment": {
            "type": "object",
            "additionalProperties": {
              "type": "string"
            },
            "secret": true
          },
          "healthCheckHttpEndpoint": {
            "type": "string"
          },
          "healthCheckInvocationTimeout": {
            "type": "number"
          },
          "healthCheckTimeout": {
            "type": "number"
          },
          "healthCheckType": {
            "type": "string"
          },
          "idBg": {
            "type": "string",
            "description": "The GUID of the application updated by resource when strategy is blue-green.\n"
          },
          "instances": {
            "type": "number",
            "description": "The number of app instances that you want to start. Defaults to 1.\n"
          },
          "labels": {
            "type": "object",
            "additionalProperties": {
              "type": "string"
            },
            "description": "Add labels as described [here](https://docs.cloudfoundry.org/adminguide/metadata.html#-view-metadata-for-an-object).\nWorks only on cloud foundry with api >= v3.63.\n"
          },
          "memory": {
            "type": "number",
            "description": "The memory limit for each application instance in megabytes. If not provided, value is computed and retreived from Cloud Foundry.\n"
          },
          "name": {
            "type": "string",
            "description": "The name of the application.\n"
          },
          "path": {
            "type": "string",
            "description": "Path to an app zip in the form of unix path or http url\n"
          },
          "ports": {
            "type": "array",
            "items": {
              "type": "number"
            }
          },
          "routes": {
            "type": "array",
            "items": {
              "$ref": "#/types/cloudfoundry:index%2FAppRoute:AppRoute"
            }
          },
          "serviceBindings": {
            "type": "array",
            "items": {
              "$ref": "#/types/cloudfoundry:index%2FAppServiceBinding:AppServiceBinding"
            }
          },
          "sourceCodeHash": {
            "type": "string"
          },
          "space": {
            "type": "string",
            "description": "The GUID of the associated Cloud Foundry space.\n"
          },
          "stack": {
            "type": "string",
            "description": "The name of the stack the application will be deployed to. Use the `cloudfoundry.getStack` data resource to lookup the available stack names to override Cloud Foundry default.\n"
          },
          "stopped": {
            "type": "boolean",
            "description": "Defines the desired application state. Set to `true` to have the application remain in a stopped state. Default is `false`, i.e. application will be started.\n"
          },
          "strategy": {
            "type": "string",
            "description": "Deployment strategy, default to none but accept blue-green strategy\n"
          },
          "timeout": {
            "type": "number",
            "description": "Max wait time for app instance startup, in seconds. Defaults to 60 seconds.\n"
          }
        },
        "type": "object"
      }
    },
    "cloudfoundry:index/asg:Asg": {
      "description": "Provides an [application security group](https://docs.cloudfoundry.org/adminguide/app-sec-groups.html)\nresource for Cloud Foundry. This resource defines egress rules that can be applied to containers that\nstage and run applications.\n\n> **NOTE:** This resource requires the provider to be authenticated with an account granted admin permissions.\n> **NOTE:** Resource will not override all security group set but rather only manage ASGs defined in the resource.\n\n## Example Usage\n\nBasic usage\n\n<!--Start PulumiCodeChooser -->\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as cloudfoundry from \"@pulumi/cloudfoundry\";\n\nconst messaging = new cloudfoundry.Asg(\"messaging\", {rules: [\n    {\n        destination: \"192.168.1.100\",\n        log: true,\n        ports: \"1883,8883\",\n        protocol: \"tcp\",\n    },\n    {\n        destination: \"192.168.1.101\",\n        log: true,\n        ports: \"5671-5672\",\n        protocol: \"tcp\",\n    },\n]});\n```\n```python\nimport pulumi\nimport pulumi_cloudfoundry as cloudfoundry\n\nmessaging = cloudfoundry.Asg(\"messaging\", rules=[\n    {\n        \"destination\": \"192.168.1.100\",\n        \"log\": True,\n        \"ports\": \"1883,8883\",\n        \"protocol\": \"tcp\",\n    },\n    {\n        \"destination\": \"192.168.1.101\",\n        \"log\": True,\n        \"ports\": \"5671-5672\",\n        \"protocol\": \"tcp\",\n    },\n])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Cloudfoundry = Pulumi.Cloudfoundry;\n\nreturn await Deployment.RunAsync(() => \n{\n    var messaging = new Cloudfoundry.Asg(\"messaging\", new()\n    {\n        Rules = new[]\n        {\n            new Cloudfoundry.Inputs.AsgRuleArgs\n            {\n                Destination = \"192.168.1.100\",\n                Log = true,\n                Ports = \"1883,8883\",\n                Protocol = \"tcp\",\n            },\n            new Cloudfoundry.Inputs.AsgRuleArgs\n            {\n                Destination = \"192.168.1.101\",\n                Log = true,\n                Ports = \"5671-5672\",\n                Protocol = \"tcp\",\n            },\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/cloudfoundry/cloudfoundry\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := cloudfoundry.NewAsg(ctx, \"messaging\", &cloudfoundry.AsgArgs{\n\t\t\tRules: cloudfoundry.AsgRuleArray{\n\t\t\t\t&cloudfoundry.AsgRuleArgs{\n\t\t\t\t\tDestination: pulumi.String(\"192.168.1.100\"),\n\t\t\t\t\tLog:         pulumi.Bool(true),\n\t\t\t\t\tPorts:       pulumi.String(\"1883,8883\"),\n\t\t\t\t\tProtocol:    pulumi.String(\"tcp\"),\n\t\t\t\t},\n\t\t\t\t&cloudfoundry.AsgRuleArgs{\n\t\t\t\t\tDestination: pulumi.String(\"192.168.1.101\"),\n\t\t\t\t\tLog:         pulumi.Bool(true),\n\t\t\t\t\tPorts:       pulumi.String(\"5671-5672\"),\n\t\t\t\t\tProtocol:    pulumi.String(\"tcp\"),\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.cloudfoundry.Asg;\nimport com.pulumi.cloudfoundry.AsgArgs;\nimport com.pulumi.cloudfoundry.inputs.AsgRuleArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var messaging = new Asg(\"messaging\", AsgArgs.builder()\n            .rules(            \n                AsgRuleArgs.builder()\n                    .destination(\"192.168.1.100\")\n                    .log(true)\n                    .ports(\"1883,8883\")\n                    .protocol(\"tcp\")\n                    .build(),\n                AsgRuleArgs.builder()\n                    .destination(\"192.168.1.101\")\n                    .log(true)\n                    .ports(\"5671-5672\")\n                    .protocol(\"tcp\")\n                    .build())\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  messaging:\n    type: cloudfoundry:Asg\n    properties:\n      rules:\n        - destination: 192.168.1.100\n          log: true\n          ports: 1883,8883\n          protocol: tcp\n        - destination: 192.168.1.101\n          log: true\n          ports: 5671-5672\n          protocol: tcp\n```\n<!--End PulumiCodeChooser -->\n\n## Import\n\nThe current Asg can be imported using the `asg` guid, e.g.\n\nbash\n\n```sh\n$ pulumi import cloudfoundry:index/asg:Asg messaging a-guid\n```\n\n",
      "properties": {
        "asgId": {
          "type": "string",
          "description": "The GUID of the application security group\n"
        },
        "name": {
          "type": "string",
          "description": "The name of the application security group.\n"
        },
        "rules": {
          "type": "array",
          "items": {
            "$ref": "#/types/cloudfoundry:index%2FAsgRule:AsgRule"
          },
          "description": "A list of egress rules with the following arguments.\n"
        }
      },
      "type": "object",
      "required": [
        "asgId",
        "name",
        "rules"
      ],
      "inputProperties": {
        "asgId": {
          "type": "string",
          "description": "The GUID of the application security group\n"
        },
        "name": {
          "type": "string",
          "description": "The name of the application security group.\n"
        },
        "rules": {
          "type": "array",
          "items": {
            "$ref": "#/types/cloudfoundry:index%2FAsgRule:AsgRule"
          },
          "description": "A list of egress rules with the following arguments.\n"
        }
      },
      "requiredInputs": [
        "rules"
      ],
      "stateInputs": {
        "description": "Input properties used for looking up and filtering Asg resources.\n",
        "properties": {
          "asgId": {
            "type": "string",
            "description": "The GUID of the application security group\n"
          },
          "name": {
            "type": "string",
            "description": "The name of the application security group.\n"
          },
          "rules": {
            "type": "array",
            "items": {
              "$ref": "#/types/cloudfoundry:index%2FAsgRule:AsgRule"
            },
            "description": "A list of egress rules with the following arguments.\n"
          }
        },
        "type": "object"
      }
    },
    "cloudfoundry:index/buildpack:Buildpack": {
      "description": "Provides a Cloud Foundry resource for managing Cloud Foundry admin [buildpacks](https://docs.cloudfoundry.org/adminguide/buildpacks.html).\n\n> **NOTE:** This resource requires the provider to be authenticated with an account granted admin permissions.\n\n## Example Usage\n\nThe following example creates a Cloud Foundry buildpack .\n\n<!--Start PulumiCodeChooser -->\n```yaml\nresources:\n  tomee:\n    type: cloudfoundry:Buildpack\n    properties:\n      enable: true\n      path: https://github.com/cloudfoundry-community/tomee-buildpack/releases/download/v3.17/tomee-buildpack-v3.17.zip\n      position: '12'\n```\n<!--End PulumiCodeChooser -->\n\n## Import\n\nThe current buildpack can be imported using the `buildpack` guid, e.g.\n\nbash\n\n```sh\n$ pulumi import cloudfoundry:index/buildpack:Buildpack tomee a-guid\n```\n\n",
      "properties": {
        "annotations": {
          "type": "object",
          "additionalProperties": {
            "type": "string"
          },
          "description": "Add annotations as described [here](https://docs.cloudfoundry.org/adminguide/metadata.html#-view-metadata-for-an-object).\nWorks only on cloud foundry with api >= v3.63.\n"
        },
        "buildpackId": {
          "type": "string",
          "description": "The GUID of the buildpack\n"
        },
        "enabled": {
          "type": "boolean",
          "description": "Specifies whether to allow apps to be pushed with the buildpack, and defaults to true.\n"
        },
        "filename": {
          "type": "string"
        },
        "labels": {
          "type": "object",
          "additionalProperties": {
            "type": "string"
          },
          "description": "Add labels as described [here](https://docs.cloudfoundry.org/adminguide/metadata.html#-view-metadata-for-an-object).\nWorks only on cloud foundry with api >= v3.63.\n"
        },
        "locked": {
          "type": "boolean",
          "description": "Specifies whether buildpack is locked to prevent further updates, and defaults to false.\n"
        },
        "name": {
          "type": "string",
          "description": "The name of the Buildpack.\n"
        },
        "path": {
          "type": "string",
          "description": "Path to a buildpack zip in the form of unix path or http url\n"
        },
        "position": {
          "type": "number",
          "description": "Specifies where to place the buildpack in the detection priority list. For more information, see the [Buildpack Detection](https://docs.cloudfoundry.org/buildpacks/detection.html) topic. When not provided, cloudfoundry assigns a default buildpack position.\n"
        },
        "sourceCodeHash": {
          "type": "string"
        }
      },
      "type": "object",
      "required": [
        "buildpackId",
        "filename",
        "name",
        "path",
        "position"
      ],
      "inputProperties": {
        "annotations": {
          "type": "object",
          "additionalProperties": {
            "type": "string"
          },
          "description": "Add annotations as described [here](https://docs.cloudfoundry.org/adminguide/metadata.html#-view-metadata-for-an-object).\nWorks only on cloud foundry with api >= v3.63.\n"
        },
        "buildpackId": {
          "type": "string",
          "description": "The GUID of the buildpack\n"
        },
        "enabled": {
          "type": "boolean",
          "description": "Specifies whether to allow apps to be pushed with the buildpack, and defaults to true.\n"
        },
        "filename": {
          "type": "string"
        },
        "labels": {
          "type": "object",
          "additionalProperties": {
            "type": "string"
          },
          "description": "Add labels as described [here](https://docs.cloudfoundry.org/adminguide/metadata.html#-view-metadata-for-an-object).\nWorks only on cloud foundry with api >= v3.63.\n"
        },
        "locked": {
          "type": "boolean",
          "description": "Specifies whether buildpack is locked to prevent further updates, and defaults to false.\n"
        },
        "name": {
          "type": "string",
          "description": "The name of the Buildpack.\n"
        },
        "path": {
          "type": "string",
          "description": "Path to a buildpack zip in the form of unix path or http url\n"
        },
        "position": {
          "type": "number",
          "description": "Specifies where to place the buildpack in the detection priority list. For more information, see the [Buildpack Detection](https://docs.cloudfoundry.org/buildpacks/detection.html) topic. When not provided, cloudfoundry assigns a default buildpack position.\n"
        },
        "sourceCodeHash": {
          "type": "string"
        }
      },
      "requiredInputs": [
        "path"
      ],
      "stateInputs": {
        "description": "Input properties used for looking up and filtering Buildpack resources.\n",
        "properties": {
          "annotations": {
            "type": "object",
            "additionalProperties": {
              "type": "string"
            },
            "description": "Add annotations as described [here](https://docs.cloudfoundry.org/adminguide/metadata.html#-view-metadata-for-an-object).\nWorks only on cloud foundry with api >= v3.63.\n"
          },
          "buildpackId": {
            "type": "string",
            "description": "The GUID of the buildpack\n"
          },
          "enabled": {
            "type": "boolean",
            "description": "Specifies whether to allow apps to be pushed with the buildpack, and defaults to true.\n"
          },
          "filename": {
            "type": "string"
          },
          "labels": {
            "type": "object",
            "additionalProperties": {
              "type": "string"
            },
            "description": "Add labels as described [here](https://docs.cloudfoundry.org/adminguide/metadata.html#-view-metadata-for-an-object).\nWorks only on cloud foundry with api >= v3.63.\n"
          },
          "locked": {
            "type": "boolean",
            "description": "Specifies whether buildpack is locked to prevent further updates, and defaults to false.\n"
          },
          "name": {
            "type": "string",
            "description": "The name of the Buildpack.\n"
          },
          "path": {
            "type": "string",
            "description": "Path to a buildpack zip in the form of unix path or http url\n"
          },
          "position": {
            "type": "number",
            "description": "Specifies where to place the buildpack in the detection priority list. For more information, see the [Buildpack Detection](https://docs.cloudfoundry.org/buildpacks/detection.html) topic. When not provided, cloudfoundry assigns a default buildpack position.\n"
          },
          "sourceCodeHash": {
            "type": "string"
          }
        },
        "type": "object"
      }
    },
    "cloudfoundry:index/defaultAsg:DefaultAsg": {
      "description": "\n\n## Import\n\nThe current Default Asg can be imported using the `name` (either `running` or `staging` constant) e.g.\n\nbash\n\n```sh\n$ pulumi import cloudfoundry:index/defaultAsg:DefaultAsg running <running/staging>\n```\n\n",
      "properties": {
        "asgs": {
          "type": "array",
          "items": {
            "type": "string"
          },
          "description": "A list of references to application security groups IDs.\n"
        },
        "defaultAsgId": {
          "type": "string"
        },
        "name": {
          "type": "string",
          "description": "This should be one of `running` or `staging`\n"
        }
      },
      "type": "object",
      "required": [
        "asgs",
        "defaultAsgId",
        "name"
      ],
      "inputProperties": {
        "asgs": {
          "type": "array",
          "items": {
            "type": "string"
          },
          "description": "A list of references to application security groups IDs.\n"
        },
        "defaultAsgId": {
          "type": "string"
        },
        "name": {
          "type": "string",
          "description": "This should be one of `running` or `staging`\n"
        }
      },
      "requiredInputs": [
        "asgs"
      ],
      "stateInputs": {
        "description": "Input properties used for looking up and filtering DefaultAsg resources.\n",
        "properties": {
          "asgs": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "description": "A list of references to application security groups IDs.\n"
          },
          "defaultAsgId": {
            "type": "string"
          },
          "name": {
            "type": "string",
            "description": "This should be one of `running` or `staging`\n"
          }
        },
        "type": "object"
      }
    },
    "cloudfoundry:index/domain:Domain": {
      "description": "Provides a resource for managing shared or private\n[domains](https://docs.cloudfoundry.org/devguide/deploy-apps/routes-domains.html#domains) in Cloud Foundry.\n\n## Example Usage\n\nThe following is an example of a shared domain for a sub-domain of the default application domain\nretrieved via a [domain data source](https://www.terraform.io/docs/providers/cloudfoundry/d/domain.html).\n\n<!--Start PulumiCodeChooser -->\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as cloudfoundry from \"@pulumi/cloudfoundry\";\n\nconst shared = new cloudfoundry.Domain(\"shared\", {\n    subDomain: \"dev\",\n    domain: data.cloudfoundry_domain.apps.domain,\n    internal: false,\n});\n```\n```python\nimport pulumi\nimport pulumi_cloudfoundry as cloudfoundry\n\nshared = cloudfoundry.Domain(\"shared\",\n    sub_domain=\"dev\",\n    domain=data[\"cloudfoundry_domain\"][\"apps\"][\"domain\"],\n    internal=False)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Cloudfoundry = Pulumi.Cloudfoundry;\n\nreturn await Deployment.RunAsync(() => \n{\n    var shared = new Cloudfoundry.Domain(\"shared\", new()\n    {\n        SubDomain = \"dev\",\n        Domain = data.Cloudfoundry_domain.Apps.Domain,\n        Internal = false,\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/cloudfoundry/cloudfoundry\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := cloudfoundry.NewDomain(ctx, \"shared\", &cloudfoundry.DomainArgs{\n\t\t\tSubDomain: pulumi.String(\"dev\"),\n\t\t\tDomain:    pulumi.Any(data.Cloudfoundry_domain.Apps.Domain),\n\t\t\tInternal:  pulumi.Bool(false),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.cloudfoundry.Domain;\nimport com.pulumi.cloudfoundry.DomainArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var shared = new Domain(\"shared\", DomainArgs.builder()\n            .subDomain(\"dev\")\n            .domain(data.cloudfoundry_domain().apps().domain())\n            .internal(false)\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  shared:\n    type: cloudfoundry:Domain\n    properties:\n      subDomain: dev\n      domain: ${data.cloudfoundry_domain.apps.domain}\n      internal: false\n```\n<!--End PulumiCodeChooser -->\n\nThe following example creates a private domain owned by the Org referenced by `cloudfoundry_org.pcfdev-org.id`.\n\n<!--Start PulumiCodeChooser -->\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as cloudfoundry from \"@pulumi/cloudfoundry\";\n\nconst _private = new cloudfoundry.Domain(\"private\", {org: cloudfoundry_org[\"pcfdev-org\"].id});\n```\n```python\nimport pulumi\nimport pulumi_cloudfoundry as cloudfoundry\n\nprivate = cloudfoundry.Domain(\"private\", org=cloudfoundry_org[\"pcfdev-org\"][\"id\"])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Cloudfoundry = Pulumi.Cloudfoundry;\n\nreturn await Deployment.RunAsync(() => \n{\n    var @private = new Cloudfoundry.Domain(\"private\", new()\n    {\n        Org = cloudfoundry_org.Pcfdev_org.Id,\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/cloudfoundry/cloudfoundry\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := cloudfoundry.NewDomain(ctx, \"private\", &cloudfoundry.DomainArgs{\n\t\t\tOrg: pulumi.Any(cloudfoundry_org.PcfdevOrg.Id),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.cloudfoundry.Domain;\nimport com.pulumi.cloudfoundry.DomainArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var private_ = new Domain(\"private\", DomainArgs.builder()\n            .org(cloudfoundry_org.pcfdev-org().id())\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  private:\n    type: cloudfoundry:Domain\n    properties:\n      org: ${cloudfoundry_org\"pcfdev-org\"[%!s(MISSING)].id}\n```\n<!--End PulumiCodeChooser -->\n\n> **NOTE:** To control sharing of a private domain, use the cloudfoundry.PrivateDomainAccess resource.\n\n## Import\n\nAn existing Domain can be imported using its Domain Guid, e.g.\n\nbash\n\n```sh\n$ pulumi import cloudfoundry:index/domain:Domain private a-guid\n```\n\n",
      "properties": {
        "domain": {
          "type": "string",
          "description": "Domain part of full domain name. If specified the `sub_domain` argument needs to be provided and the `name` will be computed.\n\nThe following argument applies only to shared domains.\n"
        },
        "domainId": {
          "type": "string",
          "description": "The GUID of the domain.\n"
        },
        "internal": {
          "type": "boolean",
          "description": "Flag that sets the domain as an internal domain. Internal domains are used for internal app to app networking only. Defaults to \"false\". Only works on shared domain.\n"
        },
        "name": {
          "type": "string",
          "description": "Full name of domain. If specified then the `sub_domain` and `domain` attributes will be computed from the `name`\n"
        },
        "org": {
          "type": "string",
          "description": "The ID of the Org that owns this domain. If specified, this resource will provision a private domain. By default, the provisioned domain is a public (shared) domain.\n"
        },
        "routerGroup": {
          "type": "string",
          "description": "The router group GUID, which can be retrieved via the [`cloudfoundry.getRouterGroup`](https://www.terraform.io/docs/providers/cloudfoundry/d/stack.html) data resource. You would need to provide this when creating a shared domain for TCP routes.\n\nThe following argument applies only to private domains.\n"
        },
        "routerType": {
          "type": "string"
        },
        "subDomain": {
          "type": "string",
          "description": "Sub-domain part of full domain name. If specified the `domain` argument needs to be provided and the `name` will be computed.\n"
        }
      },
      "type": "object",
      "required": [
        "domain",
        "domainId",
        "name",
        "routerType",
        "subDomain"
      ],
      "inputProperties": {
        "domain": {
          "type": "string",
          "description": "Domain part of full domain name. If specified the `sub_domain` argument needs to be provided and the `name` will be computed.\n\nThe following argument applies only to shared domains.\n"
        },
        "domainId": {
          "type": "string",
          "description": "The GUID of the domain.\n"
        },
        "internal": {
          "type": "boolean",
          "description": "Flag that sets the domain as an internal domain. Internal domains are used for internal app to app networking only. Defaults to \"false\". Only works on shared domain.\n"
        },
        "name": {
          "type": "string",
          "description": "Full name of domain. If specified then the `sub_domain` and `domain` attributes will be computed from the `name`\n"
        },
        "org": {
          "type": "string",
          "description": "The ID of the Org that owns this domain. If specified, this resource will provision a private domain. By default, the provisioned domain is a public (shared) domain.\n"
        },
        "routerGroup": {
          "type": "string",
          "description": "The router group GUID, which can be retrieved via the [`cloudfoundry.getRouterGroup`](https://www.terraform.io/docs/providers/cloudfoundry/d/stack.html) data resource. You would need to provide this when creating a shared domain for TCP routes.\n\nThe following argument applies only to private domains.\n"
        },
        "subDomain": {
          "type": "string",
          "description": "Sub-domain part of full domain name. If specified the `domain` argument needs to be provided and the `name` will be computed.\n"
        }
      },
      "stateInputs": {
        "description": "Input properties used for looking up and filtering Domain resources.\n",
        "properties": {
          "domain": {
            "type": "string",
            "description": "Domain part of full domain name. If specified the `sub_domain` argument needs to be provided and the `name` will be computed.\n\nThe following argument applies only to shared domains.\n"
          },
          "domainId": {
            "type": "string",
            "description": "The GUID of the domain.\n"
          },
          "internal": {
            "type": "boolean",
            "description": "Flag that sets the domain as an internal domain. Internal domains are used for internal app to app networking only. Defaults to \"false\". Only works on shared domain.\n"
          },
          "name": {
            "type": "string",
            "description": "Full name of domain. If specified then the `sub_domain` and `domain` attributes will be computed from the `name`\n"
          },
          "org": {
            "type": "string",
            "description": "The ID of the Org that owns this domain. If specified, this resource will provision a private domain. By default, the provisioned domain is a public (shared) domain.\n"
          },
          "routerGroup": {
            "type": "string",
            "description": "The router group GUID, which can be retrieved via the [`cloudfoundry.getRouterGroup`](https://www.terraform.io/docs/providers/cloudfoundry/d/stack.html) data resource. You would need to provide this when creating a shared domain for TCP routes.\n\nThe following argument applies only to private domains.\n"
          },
          "routerType": {
            "type": "string"
          },
          "subDomain": {
            "type": "string",
            "description": "Sub-domain part of full domain name. If specified the `domain` argument needs to be provided and the `name` will be computed.\n"
          }
        },
        "type": "object"
      }
    },
    "cloudfoundry:index/evg:Evg": {
      "description": "## Example Usage\n\nThe example below shows how to add environment variables to the running environment variable group.\n\n<!--Start PulumiCodeChooser -->\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as cloudfoundry from \"@pulumi/cloudfoundry\";\n\nconst running = new cloudfoundry.Evg(\"running\", {variables: {\n    name1: \"value1\",\n    name2: \"value2\",\n    name3: \"value3\",\n    name4: \"value4\",\n}});\n```\n```python\nimport pulumi\nimport pulumi_cloudfoundry as cloudfoundry\n\nrunning = cloudfoundry.Evg(\"running\", variables={\n    \"name1\": \"value1\",\n    \"name2\": \"value2\",\n    \"name3\": \"value3\",\n    \"name4\": \"value4\",\n})\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Cloudfoundry = Pulumi.Cloudfoundry;\n\nreturn await Deployment.RunAsync(() => \n{\n    var running = new Cloudfoundry.Evg(\"running\", new()\n    {\n        Variables = \n        {\n            { \"name1\", \"value1\" },\n            { \"name2\", \"value2\" },\n            { \"name3\", \"value3\" },\n            { \"name4\", \"value4\" },\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/cloudfoundry/cloudfoundry\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := cloudfoundry.NewEvg(ctx, \"running\", &cloudfoundry.EvgArgs{\n\t\t\tVariables: pulumi.StringMap{\n\t\t\t\t\"name1\": pulumi.String(\"value1\"),\n\t\t\t\t\"name2\": pulumi.String(\"value2\"),\n\t\t\t\t\"name3\": pulumi.String(\"value3\"),\n\t\t\t\t\"name4\": pulumi.String(\"value4\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.cloudfoundry.Evg;\nimport com.pulumi.cloudfoundry.EvgArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var running = new Evg(\"running\", EvgArgs.builder()\n            .variables(Map.ofEntries(\n                Map.entry(\"name1\", \"value1\"),\n                Map.entry(\"name2\", \"value2\"),\n                Map.entry(\"name3\", \"value3\"),\n                Map.entry(\"name4\", \"value4\")\n            ))\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  running:\n    type: cloudfoundry:Evg\n    properties:\n      variables:\n        name1: value1\n        name2: value2\n        name3: value3\n        name4: value4\n```\n<!--End PulumiCodeChooser -->\n\n## Import\n\nThe current Evg can be imported using the `evg` name (either `running` or `staging` constant) e.g.\n\nbash\n\n```sh\n$ pulumi import cloudfoundry:index/evg:Evg private <running/staging>\n```\n\n",
      "properties": {
        "evgId": {
          "type": "string"
        },
        "name": {
          "type": "string",
          "description": "Either `running` or `staging` to indicate the type of environment variable group to update\n"
        },
        "variables": {
          "type": "object",
          "additionalProperties": {
            "type": "string"
          },
          "description": "A map of name-value pairs of environment variables\n"
        }
      },
      "type": "object",
      "required": [
        "evgId",
        "name",
        "variables"
      ],
      "inputProperties": {
        "evgId": {
          "type": "string"
        },
        "name": {
          "type": "string",
          "description": "Either `running` or `staging` to indicate the type of environment variable group to update\n"
        },
        "variables": {
          "type": "object",
          "additionalProperties": {
            "type": "string"
          },
          "description": "A map of name-value pairs of environment variables\n"
        }
      },
      "requiredInputs": [
        "variables"
      ],
      "stateInputs": {
        "description": "Input properties used for looking up and filtering Evg resources.\n",
        "properties": {
          "evgId": {
            "type": "string"
          },
          "name": {
            "type": "string",
            "description": "Either `running` or `staging` to indicate the type of environment variable group to update\n"
          },
          "variables": {
            "type": "object",
            "additionalProperties": {
              "type": "string"
            },
            "description": "A map of name-value pairs of environment variables\n"
          }
        },
        "type": "object"
      }
    },
    "cloudfoundry:index/featureFlags:FeatureFlags": {
      "properties": {
        "featureFlags": {
          "$ref": "#/types/cloudfoundry:index%2FFeatureFlagsFeatureFlags:FeatureFlagsFeatureFlags"
        },
        "featureFlagsId": {
          "type": "string"
        }
      },
      "type": "object",
      "required": [
        "featureFlagsId"
      ],
      "inputProperties": {
        "featureFlags": {
          "$ref": "#/types/cloudfoundry:index%2FFeatureFlagsFeatureFlags:FeatureFlagsFeatureFlags"
        },
        "featureFlagsId": {
          "type": "string"
        }
      },
      "stateInputs": {
        "description": "Input properties used for looking up and filtering FeatureFlags resources.\n",
        "properties": {
          "featureFlags": {
            "$ref": "#/types/cloudfoundry:index%2FFeatureFlagsFeatureFlags:FeatureFlagsFeatureFlags"
          },
          "featureFlagsId": {
            "type": "string"
          }
        },
        "type": "object"
      }
    },
    "cloudfoundry:index/isolationSegment:IsolationSegment": {
      "description": "## Example Usage\n\nThe following example creates an isolation segment named `public_exposure`\n\n<!--Start PulumiCodeChooser -->\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as cloudfoundry from \"@pulumi/cloudfoundry\";\n\nconst _public = new cloudfoundry.IsolationSegment(\"public\", {});\n```\n```python\nimport pulumi\nimport pulumi_cloudfoundry as cloudfoundry\n\npublic = cloudfoundry.IsolationSegment(\"public\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Cloudfoundry = Pulumi.Cloudfoundry;\n\nreturn await Deployment.RunAsync(() => \n{\n    var @public = new Cloudfoundry.IsolationSegment(\"public\");\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/cloudfoundry/cloudfoundry\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := cloudfoundry.NewIsolationSegment(ctx, \"public\", nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.cloudfoundry.IsolationSegment;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var public_ = new IsolationSegment(\"public\");\n\n    }\n}\n```\n```yaml\nresources:\n  public:\n    type: cloudfoundry:IsolationSegment\n```\n<!--End PulumiCodeChooser -->\n\n## Import\n\nAn existing segment can be imported using its guid, e.g.\n\nbash\n\n```sh\n$ pulumi import cloudfoundry:index/isolationSegment:IsolationSegment s1 a-guid\n```\n\n",
      "properties": {
        "annotations": {
          "type": "object",
          "additionalProperties": {
            "type": "string"
          },
          "description": "Add annotations as described [here](https://docs.cloudfoundry.org/adminguide/metadata.html#-view-metadata-for-an-object).\nWorks only on cloud foundry with api >= v3.63.\n"
        },
        "isolationSegmentId": {
          "type": "string",
          "description": "The GUID of the segment\n"
        },
        "labels": {
          "type": "object",
          "additionalProperties": {
            "type": "string"
          },
          "description": "Add labels as described [here](https://docs.cloudfoundry.org/adminguide/metadata.html#-view-metadata-for-an-object).\nWorks only on cloud foundry with api >= v3.63.\n"
        },
        "name": {
          "type": "string",
          "description": "Isolation Segment names must be unique across the entire system,\nand case is ignored when checking for uniqueness. The name must match the value specified in\nthe placement_tags section of the Diego manifest file. If the names do not match, Cloud Foundry\nfails to place apps in the isolation segment when apps are started or restarted in the space\nassigned to the isolation segment.\n"
        }
      },
      "type": "object",
      "required": [
        "isolationSegmentId",
        "name"
      ],
      "inputProperties": {
        "annotations": {
          "type": "object",
          "additionalProperties": {
            "type": "string"
          },
          "description": "Add annotations as described [here](https://docs.cloudfoundry.org/adminguide/metadata.html#-view-metadata-for-an-object).\nWorks only on cloud foundry with api >= v3.63.\n"
        },
        "isolationSegmentId": {
          "type": "string",
          "description": "The GUID of the segment\n"
        },
        "labels": {
          "type": "object",
          "additionalProperties": {
            "type": "string"
          },
          "description": "Add labels as described [here](https://docs.cloudfoundry.org/adminguide/metadata.html#-view-metadata-for-an-object).\nWorks only on cloud foundry with api >= v3.63.\n"
        },
        "name": {
          "type": "string",
          "description": "Isolation Segment names must be unique across the entire system,\nand case is ignored when checking for uniqueness. The name must match the value specified in\nthe placement_tags section of the Diego manifest file. If the names do not match, Cloud Foundry\nfails to place apps in the isolation segment when apps are started or restarted in the space\nassigned to the isolation segment.\n"
        }
      },
      "stateInputs": {
        "description": "Input properties used for looking up and filtering IsolationSegment resources.\n",
        "properties": {
          "annotations": {
            "type": "object",
            "additionalProperties": {
              "type": "string"
            },
            "description": "Add annotations as described [here](https://docs.cloudfoundry.org/adminguide/metadata.html#-view-metadata-for-an-object).\nWorks only on cloud foundry with api >= v3.63.\n"
          },
          "isolationSegmentId": {
            "type": "string",
            "description": "The GUID of the segment\n"
          },
          "labels": {
            "type": "object",
            "additionalProperties": {
              "type": "string"
            },
            "description": "Add labels as described [here](https://docs.cloudfoundry.org/adminguide/metadata.html#-view-metadata-for-an-object).\nWorks only on cloud foundry with api >= v3.63.\n"
          },
          "name": {
            "type": "string",
            "description": "Isolation Segment names must be unique across the entire system,\nand case is ignored when checking for uniqueness. The name must match the value specified in\nthe placement_tags section of the Diego manifest file. If the names do not match, Cloud Foundry\nfails to place apps in the isolation segment when apps are started or restarted in the space\nassigned to the isolation segment.\n"
          }
        },
        "type": "object"
      }
    },
    "cloudfoundry:index/isolationSegmentEntitlement:IsolationSegmentEntitlement": {
      "description": "Provides a Cloud Foundry resource for managing Cloud Foundry relationships between an\n[isolation segment](https://docs.cloudfoundry.org/adminguide/isolation-segments.html)\nand an organization.\n\n> **NOTE:** This resource requires the provider to be authenticated with an account granted admin permissions.\n\n> **NOTE:** This resource is experimental and subject to breaking changes.\n\n## Example Usage\n\nThe following example entitles the segment `public` to organizations `org1` and `org2`\n\n<!--Start PulumiCodeChooser -->\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as cloudfoundry from \"@pulumi/cloudfoundry\";\n\nconst _public = new cloudfoundry.IsolationSegmentEntitlement(\"public\", {\n    segment: data.cloudfoundry_isolation_segment[\"public\"].id,\n    orgs: [\n        data.cloudfloundry_org.org1.id,\n        data.cloudfloundry_org.org2.id,\n    ],\n});\n```\n```python\nimport pulumi\nimport pulumi_cloudfoundry as cloudfoundry\n\npublic = cloudfoundry.IsolationSegmentEntitlement(\"public\",\n    segment=data[\"cloudfoundry_isolation_segment\"][\"public\"][\"id\"],\n    orgs=[\n        data[\"cloudfloundry_org\"][\"org1\"][\"id\"],\n        data[\"cloudfloundry_org\"][\"org2\"][\"id\"],\n    ])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Cloudfoundry = Pulumi.Cloudfoundry;\n\nreturn await Deployment.RunAsync(() => \n{\n    var @public = new Cloudfoundry.IsolationSegmentEntitlement(\"public\", new()\n    {\n        Segment = data.Cloudfoundry_isolation_segment.Public.Id,\n        Orgs = new[]\n        {\n            data.Cloudfloundry_org.Org1.Id,\n            data.Cloudfloundry_org.Org2.Id,\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/cloudfoundry/cloudfoundry\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := cloudfoundry.NewIsolationSegmentEntitlement(ctx, \"public\", &cloudfoundry.IsolationSegmentEntitlementArgs{\n\t\t\tSegment: pulumi.Any(data.Cloudfoundry_isolation_segment.Public.Id),\n\t\t\tOrgs: pulumi.StringArray{\n\t\t\t\tdata.Cloudfloundry_org.Org1.Id,\n\t\t\t\tdata.Cloudfloundry_org.Org2.Id,\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.cloudfoundry.IsolationSegmentEntitlement;\nimport com.pulumi.cloudfoundry.IsolationSegmentEntitlementArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var public_ = new IsolationSegmentEntitlement(\"public\", IsolationSegmentEntitlementArgs.builder()\n            .segment(data.cloudfoundry_isolation_segment().public().id())\n            .orgs(            \n                data.cloudfloundry_org().org1().id(),\n                data.cloudfloundry_org().org2().id())\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  public:\n    type: cloudfoundry:IsolationSegmentEntitlement\n    properties:\n      segment: ${data.cloudfoundry_isolation_segment.public.id}\n      orgs:\n        - ${data.cloudfloundry_org.org1.id}\n        - ${data.cloudfloundry_org.org2.id}\n```\n<!--End PulumiCodeChooser -->\n\n## Import\n\nImport not yet supported.\n\n",
      "properties": {
        "default": {
          "type": "boolean",
          "description": "Set this isolation segment defined as default segment for those organizations. Default to false.\n"
        },
        "isolationSegmentEntitlementId": {
          "type": "string",
          "description": "The GUID of the segment\n"
        },
        "orgs": {
          "type": "array",
          "items": {
            "type": "string"
          },
          "description": "List of ID of organizations that are entitled with this segment. An\norganization must be entitled with the segment in order to bind it to one space.\n"
        },
        "segment": {
          "type": "string",
          "description": "The ID of the isolation segment to entitle.\n"
        }
      },
      "type": "object",
      "required": [
        "isolationSegmentEntitlementId",
        "orgs",
        "segment"
      ],
      "inputProperties": {
        "default": {
          "type": "boolean",
          "description": "Set this isolation segment defined as default segment for those organizations. Default to false.\n"
        },
        "isolationSegmentEntitlementId": {
          "type": "string",
          "description": "The GUID of the segment\n"
        },
        "orgs": {
          "type": "array",
          "items": {
            "type": "string"
          },
          "description": "List of ID of organizations that are entitled with this segment. An\norganization must be entitled with the segment in order to bind it to one space.\n"
        },
        "segment": {
          "type": "string",
          "description": "The ID of the isolation segment to entitle.\n"
        }
      },
      "requiredInputs": [
        "orgs",
        "segment"
      ],
      "stateInputs": {
        "description": "Input properties used for looking up and filtering IsolationSegmentEntitlement resources.\n",
        "properties": {
          "default": {
            "type": "boolean",
            "description": "Set this isolation segment defined as default segment for those organizations. Default to false.\n"
          },
          "isolationSegmentEntitlementId": {
            "type": "string",
            "description": "The GUID of the segment\n"
          },
          "orgs": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "description": "List of ID of organizations that are entitled with this segment. An\norganization must be entitled with the segment in order to bind it to one space.\n"
          },
          "segment": {
            "type": "string",
            "description": "The ID of the isolation segment to entitle.\n"
          }
        },
        "type": "object"
      }
    },
    "cloudfoundry:index/networkPolicy:NetworkPolicy": {
      "description": "Provides a Cloud Foundry resource for managing Cloud Foundry network policies to manage\naccess between applications via [container-to-container networking](https://docs.cloudfoundry.org/devguide/deploy-apps/cf-networking.html).\n\n## Example Usage\n\nThe following creates container to container access policy between the given applications.\n\n<!--Start PulumiCodeChooser -->\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as cloudfoundry from \"@pulumi/cloudfoundry\";\n\nconst my_policy = new cloudfoundry.NetworkPolicy(\"my-policy\", {policies: [\n    {\n        sourceApp: cloudfoundry_app.app1.id,\n        destinationApp: cloudfoundry_app.app2.id,\n        port: \"8080-8090\",\n    },\n    {\n        sourceApp: cloudfoundry_app.app1.id,\n        destinationApp: cloudfoundry_app.app3.id,\n        port: \"9999\",\n        protocol: \"udp\",\n    },\n]});\n```\n```python\nimport pulumi\nimport pulumi_cloudfoundry as cloudfoundry\n\nmy_policy = cloudfoundry.NetworkPolicy(\"my-policy\", policies=[\n    {\n        \"source_app\": cloudfoundry_app[\"app1\"][\"id\"],\n        \"destination_app\": cloudfoundry_app[\"app2\"][\"id\"],\n        \"port\": \"8080-8090\",\n    },\n    {\n        \"source_app\": cloudfoundry_app[\"app1\"][\"id\"],\n        \"destination_app\": cloudfoundry_app[\"app3\"][\"id\"],\n        \"port\": \"9999\",\n        \"protocol\": \"udp\",\n    },\n])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Cloudfoundry = Pulumi.Cloudfoundry;\n\nreturn await Deployment.RunAsync(() => \n{\n    var my_policy = new Cloudfoundry.NetworkPolicy(\"my-policy\", new()\n    {\n        Policies = new[]\n        {\n            new Cloudfoundry.Inputs.NetworkPolicyPolicyArgs\n            {\n                SourceApp = cloudfoundry_app.App1.Id,\n                DestinationApp = cloudfoundry_app.App2.Id,\n                Port = \"8080-8090\",\n            },\n            new Cloudfoundry.Inputs.NetworkPolicyPolicyArgs\n            {\n                SourceApp = cloudfoundry_app.App1.Id,\n                DestinationApp = cloudfoundry_app.App3.Id,\n                Port = \"9999\",\n                Protocol = \"udp\",\n            },\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/cloudfoundry/cloudfoundry\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := cloudfoundry.NewNetworkPolicy(ctx, \"my-policy\", &cloudfoundry.NetworkPolicyArgs{\n\t\t\tPolicies: cloudfoundry.NetworkPolicyPolicyArray{\n\t\t\t\t&cloudfoundry.NetworkPolicyPolicyArgs{\n\t\t\t\t\tSourceApp:      pulumi.Any(cloudfoundry_app.App1.Id),\n\t\t\t\t\tDestinationApp: pulumi.Any(cloudfoundry_app.App2.Id),\n\t\t\t\t\tPort:           pulumi.String(\"8080-8090\"),\n\t\t\t\t},\n\t\t\t\t&cloudfoundry.NetworkPolicyPolicyArgs{\n\t\t\t\t\tSourceApp:      pulumi.Any(cloudfoundry_app.App1.Id),\n\t\t\t\t\tDestinationApp: pulumi.Any(cloudfoundry_app.App3.Id),\n\t\t\t\t\tPort:           pulumi.String(\"9999\"),\n\t\t\t\t\tProtocol:       pulumi.String(\"udp\"),\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.cloudfoundry.NetworkPolicy;\nimport com.pulumi.cloudfoundry.NetworkPolicyArgs;\nimport com.pulumi.cloudfoundry.inputs.NetworkPolicyPolicyArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var my_policy = new NetworkPolicy(\"my-policy\", NetworkPolicyArgs.builder()\n            .policies(            \n                NetworkPolicyPolicyArgs.builder()\n                    .sourceApp(cloudfoundry_app.app1().id())\n                    .destinationApp(cloudfoundry_app.app2().id())\n                    .port(\"8080-8090\")\n                    .build(),\n                NetworkPolicyPolicyArgs.builder()\n                    .sourceApp(cloudfoundry_app.app1().id())\n                    .destinationApp(cloudfoundry_app.app3().id())\n                    .port(\"9999\")\n                    .protocol(\"udp\")\n                    .build())\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  my-policy:\n    type: cloudfoundry:NetworkPolicy\n    properties:\n      policies:\n        - sourceApp: ${cloudfoundry_app.app1.id}\n          destinationApp: ${cloudfoundry_app.app2.id}\n          port: 8080-8090\n        - sourceApp: ${cloudfoundry_app.app1.id}\n          destinationApp: ${cloudfoundry_app.app3.id}\n          port: '9999'\n          protocol: udp\n```\n<!--End PulumiCodeChooser -->\n\n## Import\n\nThe current Network policy can be imported using the `network_policy`, e.g.\n\nbash\n\n```sh\n$ pulumi import cloudfoundry:index/networkPolicy:NetworkPolicy my-policy a-guid\n```\n\n",
      "properties": {
        "networkPolicyId": {
          "type": "string",
          "description": "The GUID of the network_policy\n"
        },
        "policies": {
          "type": "array",
          "items": {
            "$ref": "#/types/cloudfoundry:index%2FNetworkPolicyPolicy:NetworkPolicyPolicy"
          },
          "description": "List of policies that allow direct network traffic from one app to another.\n"
        }
      },
      "type": "object",
      "required": [
        "networkPolicyId"
      ],
      "inputProperties": {
        "networkPolicyId": {
          "type": "string",
          "description": "The GUID of the network_policy\n"
        },
        "policies": {
          "type": "array",
          "items": {
            "$ref": "#/types/cloudfoundry:index%2FNetworkPolicyPolicy:NetworkPolicyPolicy"
          },
          "description": "List of policies that allow direct network traffic from one app to another.\n"
        }
      },
      "stateInputs": {
        "description": "Input properties used for looking up and filtering NetworkPolicy resources.\n",
        "properties": {
          "networkPolicyId": {
            "type": "string",
            "description": "The GUID of the network_policy\n"
          },
          "policies": {
            "type": "array",
            "items": {
              "$ref": "#/types/cloudfoundry:index%2FNetworkPolicyPolicy:NetworkPolicyPolicy"
            },
            "description": "List of policies that allow direct network traffic from one app to another.\n"
          }
        },
        "type": "object"
      }
    },
    "cloudfoundry:index/org:Org": {
      "description": "Provides a Cloud Foundry resource for managing Cloud Foundry [organizations](https://docs.cloudfoundry.org/concepts/roles.html), assigning quota definitions, and members.\n\n> **NOTE:** This resource requires the provider to be authenticated with an account granted admin permissions.\n> **NOTE:** Only modify users managed in the resource, and ignore any existing other users provisioned elsewhere\n\n## Example Usage\n\nThe following example creates an org with a specific org-wide quota.\n\n<!--Start PulumiCodeChooser -->\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as cloudfoundry from \"@pulumi/cloudfoundry\";\n\nconst o1 = new cloudfoundry.Org(\"o1\", {quota: cloudfoundry_quota.runaway.id});\n```\n```python\nimport pulumi\nimport pulumi_cloudfoundry as cloudfoundry\n\no1 = cloudfoundry.Org(\"o1\", quota=cloudfoundry_quota[\"runaway\"][\"id\"])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Cloudfoundry = Pulumi.Cloudfoundry;\n\nreturn await Deployment.RunAsync(() => \n{\n    var o1 = new Cloudfoundry.Org(\"o1\", new()\n    {\n        Quota = cloudfoundry_quota.Runaway.Id,\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/cloudfoundry/cloudfoundry\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := cloudfoundry.NewOrg(ctx, \"o1\", &cloudfoundry.OrgArgs{\n\t\t\tQuota: pulumi.Any(cloudfoundry_quota.Runaway.Id),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.cloudfoundry.Org;\nimport com.pulumi.cloudfoundry.OrgArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var o1 = new Org(\"o1\", OrgArgs.builder()\n            .quota(cloudfoundry_quota.runaway().id())\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  o1:\n    type: cloudfoundry:Org\n    properties:\n      quota: ${cloudfoundry_quota.runaway.id}\n```\n<!--End PulumiCodeChooser -->\n\n## Import\n\nAn existing Organization can be imported using its guid, e.g.\n\nbash\n\n```sh\n$ pulumi import cloudfoundry:index/org:Org o1 a-guid\n```\n\n",
      "properties": {
        "annotations": {
          "type": "object",
          "additionalProperties": {
            "type": "string"
          },
          "description": "Add annotations as described [here](https://docs.cloudfoundry.org/adminguide/metadata.html#-view-metadata-for-an-object).\nWorks only on cloud foundry with api >= v3.63.\n"
        },
        "auditors": {
          "type": "array",
          "items": {
            "type": "string"
          },
          "deprecationMessage": "Deprecated"
        },
        "billingManagers": {
          "type": "array",
          "items": {
            "type": "string"
          },
          "deprecationMessage": "Deprecated"
        },
        "deleteRecursiveAllowed": {
          "type": "boolean",
          "description": "Allow recursive delete of spaces within the organization. Default: `true`.\n"
        },
        "labels": {
          "type": "object",
          "additionalProperties": {
            "type": "string"
          },
          "description": "Add labels as described [here](https://docs.cloudfoundry.org/adminguide/metadata.html#-view-metadata-for-an-object).\nWorks only on cloud foundry with api >= v3.63.\n"
        },
        "managers": {
          "type": "array",
          "items": {
            "type": "string"
          },
          "deprecationMessage": "Deprecated"
        },
        "name": {
          "type": "string",
          "description": "The name of the Org in Cloud Foundry\n"
        },
        "orgId": {
          "type": "string",
          "description": "The GUID of the organization\n"
        },
        "quota": {
          "type": "string",
          "description": "The ID of quota or plan to be given to this Org. By default, no quota is assigned to the org.\n"
        }
      },
      "type": "object",
      "required": [
        "auditors",
        "billingManagers",
        "managers",
        "name",
        "orgId",
        "quota"
      ],
      "inputProperties": {
        "annotations": {
          "type": "object",
          "additionalProperties": {
            "type": "string"
          },
          "description": "Add annotations as described [here](https://docs.cloudfoundry.org/adminguide/metadata.html#-view-metadata-for-an-object).\nWorks only on cloud foundry with api >= v3.63.\n"
        },
        "auditors": {
          "type": "array",
          "items": {
            "type": "string"
          },
          "deprecationMessage": "Deprecated"
        },
        "billingManagers": {
          "type": "array",
          "items": {
            "type": "string"
          },
          "deprecationMessage": "Deprecated"
        },
        "deleteRecursiveAllowed": {
          "type": "boolean",
          "description": "Allow recursive delete of spaces within the organization. Default: `true`.\n"
        },
        "labels": {
          "type": "object",
          "additionalProperties": {
            "type": "string"
          },
          "description": "Add labels as described [here](https://docs.cloudfoundry.org/adminguide/metadata.html#-view-metadata-for-an-object).\nWorks only on cloud foundry with api >= v3.63.\n"
        },
        "managers": {
          "type": "array",
          "items": {
            "type": "string"
          },
          "deprecationMessage": "Deprecated"
        },
        "name": {
          "type": "string",
          "description": "The name of the Org in Cloud Foundry\n"
        },
        "orgId": {
          "type": "string",
          "description": "The GUID of the organization\n"
        },
        "quota": {
          "type": "string",
          "description": "The ID of quota or plan to be given to this Org. By default, no quota is assigned to the org.\n"
        }
      },
      "stateInputs": {
        "description": "Input properties used for looking up and filtering Org resources.\n",
        "properties": {
          "annotations": {
            "type": "object",
            "additionalProperties": {
              "type": "string"
            },
            "description": "Add annotations as described [here](https://docs.cloudfoundry.org/adminguide/metadata.html#-view-metadata-for-an-object).\nWorks only on cloud foundry with api >= v3.63.\n"
          },
          "auditors": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "deprecationMessage": "Deprecated"
          },
          "billingManagers": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "deprecationMessage": "Deprecated"
          },
          "deleteRecursiveAllowed": {
            "type": "boolean",
            "description": "Allow recursive delete of spaces within the organization. Default: `true`.\n"
          },
          "labels": {
            "type": "object",
            "additionalProperties": {
              "type": "string"
            },
            "description": "Add labels as described [here](https://docs.cloudfoundry.org/adminguide/metadata.html#-view-metadata-for-an-object).\nWorks only on cloud foundry with api >= v3.63.\n"
          },
          "managers": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "deprecationMessage": "Deprecated"
          },
          "name": {
            "type": "string",
            "description": "The name of the Org in Cloud Foundry\n"
          },
          "orgId": {
            "type": "string",
            "description": "The GUID of the organization\n"
          },
          "quota": {
            "type": "string",
            "description": "The ID of quota or plan to be given to this Org. By default, no quota is assigned to the org.\n"
          }
        },
        "type": "object"
      }
    },
    "cloudfoundry:index/orgQuota:OrgQuota": {
      "description": "Provides a Cloud Foundry resource to manage org [quotas](https://docs.cloudfoundry.org/adminguide/quota-plans.html) definitions.\n\n> **NOTE:** This resource requires the provider to be authenticated with an account granted admin permissions.\n\n> **NOTE:** Once created, an org quota is assigned to one or more orgs through the org resource\n\n## Example Usage\n\nThe following example creates a quota, and applies it to an Org.\n\n<!--Start PulumiCodeChooser -->\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as cloudfoundry from \"@pulumi/cloudfoundry\";\n\nconst large = new cloudfoundry.OrgQuota(\"large\", {\n    allowPaidServicePlans: false,\n    instanceMemory: 2048,\n    totalMemory: 51200,\n    totalAppInstances: 100,\n    totalRoutes: 50,\n    totalServices: 200,\n    totalRoutePorts: 5,\n});\nconst o1 = new cloudfoundry.Org(\"o1\", {quota: large.orgQuotaId});\n```\n```python\nimport pulumi\nimport pulumi_cloudfoundry as cloudfoundry\n\nlarge = cloudfoundry.OrgQuota(\"large\",\n    allow_paid_service_plans=False,\n    instance_memory=2048,\n    total_memory=51200,\n    total_app_instances=100,\n    total_routes=50,\n    total_services=200,\n    total_route_ports=5)\no1 = cloudfoundry.Org(\"o1\", quota=large.org_quota_id)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Cloudfoundry = Pulumi.Cloudfoundry;\n\nreturn await Deployment.RunAsync(() => \n{\n    var large = new Cloudfoundry.OrgQuota(\"large\", new()\n    {\n        AllowPaidServicePlans = false,\n        InstanceMemory = 2048,\n        TotalMemory = 51200,\n        TotalAppInstances = 100,\n        TotalRoutes = 50,\n        TotalServices = 200,\n        TotalRoutePorts = 5,\n    });\n\n    var o1 = new Cloudfoundry.Org(\"o1\", new()\n    {\n        Quota = large.OrgQuotaId,\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/cloudfoundry/cloudfoundry\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tlarge, err := cloudfoundry.NewOrgQuota(ctx, \"large\", &cloudfoundry.OrgQuotaArgs{\n\t\t\tAllowPaidServicePlans: pulumi.Bool(false),\n\t\t\tInstanceMemory:        pulumi.Float64(2048),\n\t\t\tTotalMemory:           pulumi.Float64(51200),\n\t\t\tTotalAppInstances:     pulumi.Float64(100),\n\t\t\tTotalRoutes:           pulumi.Float64(50),\n\t\t\tTotalServices:         pulumi.Float64(200),\n\t\t\tTotalRoutePorts:       pulumi.Float64(5),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = cloudfoundry.NewOrg(ctx, \"o1\", &cloudfoundry.OrgArgs{\n\t\t\tQuota: large.OrgQuotaId,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.cloudfoundry.OrgQuota;\nimport com.pulumi.cloudfoundry.OrgQuotaArgs;\nimport com.pulumi.cloudfoundry.Org;\nimport com.pulumi.cloudfoundry.OrgArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var large = new OrgQuota(\"large\", OrgQuotaArgs.builder()\n            .allowPaidServicePlans(false)\n            .instanceMemory(2048)\n            .totalMemory(51200)\n            .totalAppInstances(100)\n            .totalRoutes(50)\n            .totalServices(200)\n            .totalRoutePorts(5)\n            .build());\n\n        var o1 = new Org(\"o1\", OrgArgs.builder()\n            .quota(large.orgQuotaId())\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  large:\n    type: cloudfoundry:OrgQuota\n    properties:\n      allowPaidServicePlans: false\n      instanceMemory: 2048\n      totalMemory: 51200\n      totalAppInstances: 100\n      totalRoutes: 50\n      totalServices: 200\n      totalRoutePorts: 5\n  o1:\n    type: cloudfoundry:Org\n    properties:\n      quota: ${large.orgQuotaId}\n```\n<!--End PulumiCodeChooser -->\n\n## Import\n\nA Quota can be imported using its guid, e.g.\n\nbash\n\n```sh\n$ pulumi import cloudfoundry:index/orgQuota:OrgQuota 10g a-guid\n```\n\n",
      "properties": {
        "allowPaidServicePlans": {
          "type": "boolean",
          "description": "Determines whether users can provision instances of non-free service plans. Does not control plan visibility. When false, non-free service plans may be visible in the marketplace but instances can not be provisioned.\n"
        },
        "instanceMemory": {
          "type": "number",
          "description": "Maximum memory per application instance\n"
        },
        "name": {
          "type": "string",
          "description": "The name you use to identify the quota or plan in Cloud Foundry\n"
        },
        "orgQuotaId": {
          "type": "string",
          "description": "The GUID of the quota\n"
        },
        "totalAppInstances": {
          "type": "number",
          "description": "Maximum app instances allowed\n"
        },
        "totalAppTasks": {
          "type": "number"
        },
        "totalMemory": {
          "type": "number",
          "description": "Maximum memory usage allowed\n"
        },
        "totalPrivateDomains": {
          "type": "number",
          "description": "Maximum number of private domains allowed to be created within the Org\n"
        },
        "totalRoutePorts": {
          "type": "number",
          "description": "Maximum routes with reserved ports\n"
        },
        "totalRoutes": {
          "type": "number",
          "description": "Maximum routes allowed\n"
        },
        "totalServiceKeys": {
          "type": "number"
        },
        "totalServices": {
          "type": "number",
          "description": "Maximum services allowed\n"
        }
      },
      "type": "object",
      "required": [
        "allowPaidServicePlans",
        "name",
        "orgQuotaId",
        "totalMemory",
        "totalRoutes",
        "totalServices"
      ],
      "inputProperties": {
        "allowPaidServicePlans": {
          "type": "boolean",
          "description": "Determines whether users can provision instances of non-free service plans. Does not control plan visibility. When false, non-free service plans may be visible in the marketplace but instances can not be provisioned.\n"
        },
        "instanceMemory": {
          "type": "number",
          "description": "Maximum memory per application instance\n"
        },
        "name": {
          "type": "string",
          "description": "The name you use to identify the quota or plan in Cloud Foundry\n"
        },
        "orgQuotaId": {
          "type": "string",
          "description": "The GUID of the quota\n"
        },
        "totalAppInstances": {
          "type": "number",
          "description": "Maximum app instances allowed\n"
        },
        "totalAppTasks": {
          "type": "number"
        },
        "totalMemory": {
          "type": "number",
          "description": "Maximum memory usage allowed\n"
        },
        "totalPrivateDomains": {
          "type": "number",
          "description": "Maximum number of private domains allowed to be created within the Org\n"
        },
        "totalRoutePorts": {
          "type": "number",
          "description": "Maximum routes with reserved ports\n"
        },
        "totalRoutes": {
          "type": "number",
          "description": "Maximum routes allowed\n"
        },
        "totalServiceKeys": {
          "type": "number"
        },
        "totalServices": {
          "type": "number",
          "description": "Maximum services allowed\n"
        }
      },
      "requiredInputs": [
        "allowPaidServicePlans",
        "totalMemory",
        "totalRoutes",
        "totalServices"
      ],
      "stateInputs": {
        "description": "Input properties used for looking up and filtering OrgQuota resources.\n",
        "properties": {
          "allowPaidServicePlans": {
            "type": "boolean",
            "description": "Determines whether users can provision instances of non-free service plans. Does not control plan visibility. When false, non-free service plans may be visible in the marketplace but instances can not be provisioned.\n"
          },
          "instanceMemory": {
            "type": "number",
            "description": "Maximum memory per application instance\n"
          },
          "name": {
            "type": "string",
            "description": "The name you use to identify the quota or plan in Cloud Foundry\n"
          },
          "orgQuotaId": {
            "type": "string",
            "description": "The GUID of the quota\n"
          },
          "totalAppInstances": {
            "type": "number",
            "description": "Maximum app instances allowed\n"
          },
          "totalAppTasks": {
            "type": "number"
          },
          "totalMemory": {
            "type": "number",
            "description": "Maximum memory usage allowed\n"
          },
          "totalPrivateDomains": {
            "type": "number",
            "description": "Maximum number of private domains allowed to be created within the Org\n"
          },
          "totalRoutePorts": {
            "type": "number",
            "description": "Maximum routes with reserved ports\n"
          },
          "totalRoutes": {
            "type": "number",
            "description": "Maximum routes allowed\n"
          },
          "totalServiceKeys": {
            "type": "number"
          },
          "totalServices": {
            "type": "number",
            "description": "Maximum services allowed\n"
          }
        },
        "type": "object"
      }
    },
    "cloudfoundry:index/orgUsers:OrgUsers": {
      "description": "Provides a Cloud Foundry resource for managing Cloud\nFoundry [organizations](https://docs.cloudfoundry.org/concepts/roles.html) members.\n\n> **NOTE:** This resource requires the provider to be authenticated with an account granted admin permissions.\n> **NOTE:** Only modify users managed in the resource, and ignore any existing other users provisioned elsewhere if not\nusing `force` attribute.\n\n## Example Usage\n\nThe following example creates an org with a specific org-wide quota.\n\n<!--Start PulumiCodeChooser -->\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as cloudfoundry from \"@pulumi/cloudfoundry\";\n\nconst ou1 = new cloudfoundry.OrgUsers(\"ou1\", {\n    auditors: [\n        \"user-guid\",\n        \"username\",\n    ],\n    billingManagers: [\n        \"user-guid\",\n        \"username\",\n    ],\n    managers: [\n        \"user-guid\",\n        \"username\",\n    ],\n    org: \"organization-id\",\n});\n```\n```python\nimport pulumi\nimport pulumi_cloudfoundry as cloudfoundry\n\nou1 = cloudfoundry.OrgUsers(\"ou1\",\n    auditors=[\n        \"user-guid\",\n        \"username\",\n    ],\n    billing_managers=[\n        \"user-guid\",\n        \"username\",\n    ],\n    managers=[\n        \"user-guid\",\n        \"username\",\n    ],\n    org=\"organization-id\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Cloudfoundry = Pulumi.Cloudfoundry;\n\nreturn await Deployment.RunAsync(() => \n{\n    var ou1 = new Cloudfoundry.OrgUsers(\"ou1\", new()\n    {\n        Auditors = new[]\n        {\n            \"user-guid\",\n            \"username\",\n        },\n        BillingManagers = new[]\n        {\n            \"user-guid\",\n            \"username\",\n        },\n        Managers = new[]\n        {\n            \"user-guid\",\n            \"username\",\n        },\n        Org = \"organization-id\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/cloudfoundry/cloudfoundry\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := cloudfoundry.NewOrgUsers(ctx, \"ou1\", &cloudfoundry.OrgUsersArgs{\n\t\t\tAuditors: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"user-guid\"),\n\t\t\t\tpulumi.String(\"username\"),\n\t\t\t},\n\t\t\tBillingManagers: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"user-guid\"),\n\t\t\t\tpulumi.String(\"username\"),\n\t\t\t},\n\t\t\tManagers: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"user-guid\"),\n\t\t\t\tpulumi.String(\"username\"),\n\t\t\t},\n\t\t\tOrg: pulumi.String(\"organization-id\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.cloudfoundry.OrgUsers;\nimport com.pulumi.cloudfoundry.OrgUsersArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var ou1 = new OrgUsers(\"ou1\", OrgUsersArgs.builder()\n            .auditors(            \n                \"user-guid\",\n                \"username\")\n            .billingManagers(            \n                \"user-guid\",\n                \"username\")\n            .managers(            \n                \"user-guid\",\n                \"username\")\n            .org(\"organization-id\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  ou1:\n    type: cloudfoundry:OrgUsers\n    properties:\n      auditors:\n        - user-guid\n        - username\n      billingManagers:\n        - user-guid\n        - username\n      managers:\n        - user-guid\n        - username\n      org: organization-id\n```\n<!--End PulumiCodeChooser -->\n\n## Import\n\nAn existing Users list can be imported using its organization guid, e.g.\n\nbash\n\n```sh\n$ pulumi import cloudfoundry:index/orgUsers:OrgUsers ou1 org-guid\n```\n\n",
      "properties": {
        "auditors": {
          "type": "array",
          "items": {
            "type": "string"
          },
          "description": "List of ID of users to\nassign [OrgAuditor](https://docs.cloudfoundry.org/concepts/roles.html#roles) role to. By default, no auditors are\nassigned.\n"
        },
        "billingManagers": {
          "type": "array",
          "items": {
            "type": "string"
          },
          "description": "List of ID of users to\nassign [BillingManager](https://docs.cloudfoundry.org/concepts/roles.html#roles) role to. By default, no billing\nmanagers are assigned.\n"
        },
        "force": {
          "type": "boolean",
          "description": "Set to true to enforce that users defined here will be only theses users defined (remove\nusers roles from external modification).\n\n> **NOTE:** User can be either an uua guid or a username as cloud foundry treat them both as valid identifier\n"
        },
        "managers": {
          "type": "array",
          "items": {
            "type": "string"
          },
          "description": "List of users to assign [OrgManager](https://docs.cloudfoundry.org/concepts/roles.html#roles)\nrole to. By default, no managers are assigned.\n"
        },
        "org": {
          "type": "string",
          "description": "Organization associated guid.\n"
        },
        "orgUsersId": {
          "type": "string"
        }
      },
      "type": "object",
      "required": [
        "auditors",
        "billingManagers",
        "managers",
        "org",
        "orgUsersId"
      ],
      "inputProperties": {
        "auditors": {
          "type": "array",
          "items": {
            "type": "string"
          },
          "description": "List of ID of users to\nassign [OrgAuditor](https://docs.cloudfoundry.org/concepts/roles.html#roles) role to. By default, no auditors are\nassigned.\n"
        },
        "billingManagers": {
          "type": "array",
          "items": {
            "type": "string"
          },
          "description": "List of ID of users to\nassign [BillingManager](https://docs.cloudfoundry.org/concepts/roles.html#roles) role to. By default, no billing\nmanagers are assigned.\n"
        },
        "force": {
          "type": "boolean",
          "description": "Set to true to enforce that users defined here will be only theses users defined (remove\nusers roles from external modification).\n\n> **NOTE:** User can be either an uua guid or a username as cloud foundry treat them both as valid identifier\n"
        },
        "managers": {
          "type": "array",
          "items": {
            "type": "string"
          },
          "description": "List of users to assign [OrgManager](https://docs.cloudfoundry.org/concepts/roles.html#roles)\nrole to. By default, no managers are assigned.\n"
        },
        "org": {
          "type": "string",
          "description": "Organization associated guid.\n"
        },
        "orgUsersId": {
          "type": "string"
        }
      },
      "requiredInputs": [
        "org"
      ],
      "stateInputs": {
        "description": "Input properties used for looking up and filtering OrgUsers resources.\n",
        "properties": {
          "auditors": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "description": "List of ID of users to\nassign [OrgAuditor](https://docs.cloudfoundry.org/concepts/roles.html#roles) role to. By default, no auditors are\nassigned.\n"
          },
          "billingManagers": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "description": "List of ID of users to\nassign [BillingManager](https://docs.cloudfoundry.org/concepts/roles.html#roles) role to. By default, no billing\nmanagers are assigned.\n"
          },
          "force": {
            "type": "boolean",
            "description": "Set to true to enforce that users defined here will be only theses users defined (remove\nusers roles from external modification).\n\n> **NOTE:** User can be either an uua guid or a username as cloud foundry treat them both as valid identifier\n"
          },
          "managers": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "description": "List of users to assign [OrgManager](https://docs.cloudfoundry.org/concepts/roles.html#roles)\nrole to. By default, no managers are assigned.\n"
          },
          "org": {
            "type": "string",
            "description": "Organization associated guid.\n"
          },
          "orgUsersId": {
            "type": "string"
          }
        },
        "type": "object"
      }
    },
    "cloudfoundry:index/privateDomainAccess:PrivateDomainAccess": {
      "description": "Provides a resource for sharing access to [private domains](https://docs.cloudfoundry.org/devguide/deploy-apps/routes-domains.html#domains) with other Cloud Foundry Organizations.\n\n> **NOTE:** Multiple instances of this resource can be used to share a given private domain with multiple orgs.\n\n> **NOTE:** This resource requires the provider to be authenticated with an account granted org manager permissions.\n\n## Example Usage\n\nThe following is an example of giving an organization access to a private [domain]. The\ndomain is retrieved via a [domain data source](https://www.terraform.io/docs/providers/cloudfoundry/d/domain.html)\nand the organization via an [org data source)(/docs/providers/cloudfoundry/d/org.html).\n\n<!--Start PulumiCodeChooser -->\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as cloudfoundry from \"@pulumi/cloudfoundry\";\n\nconst shared_to_my_org = new cloudfoundry.PrivateDomainAccess(\"shared-to-my-org\", {\n    domain: data.cloudfoundry_domain.domain.id,\n    org: data.cloudfoundry_org[\"my-org\"].id,\n});\n```\n```python\nimport pulumi\nimport pulumi_cloudfoundry as cloudfoundry\n\nshared_to_my_org = cloudfoundry.PrivateDomainAccess(\"shared-to-my-org\",\n    domain=data[\"cloudfoundry_domain\"][\"domain\"][\"id\"],\n    org=data[\"cloudfoundry_org\"][\"my-org\"][\"id\"])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Cloudfoundry = Pulumi.Cloudfoundry;\n\nreturn await Deployment.RunAsync(() => \n{\n    var shared_to_my_org = new Cloudfoundry.PrivateDomainAccess(\"shared-to-my-org\", new()\n    {\n        Domain = data.Cloudfoundry_domain.Domain.Id,\n        Org = data.Cloudfoundry_org.My_org.Id,\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/cloudfoundry/cloudfoundry\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := cloudfoundry.NewPrivateDomainAccess(ctx, \"shared-to-my-org\", &cloudfoundry.PrivateDomainAccessArgs{\n\t\t\tDomain: pulumi.Any(data.Cloudfoundry_domain.Domain.Id),\n\t\t\tOrg:    pulumi.Any(data.Cloudfoundry_org.MyOrg.Id),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.cloudfoundry.PrivateDomainAccess;\nimport com.pulumi.cloudfoundry.PrivateDomainAccessArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var shared_to_my_org = new PrivateDomainAccess(\"shared-to-my-org\", PrivateDomainAccessArgs.builder()\n            .domain(data.cloudfoundry_domain().domain().id())\n            .org(data.cloudfoundry_org().my-org().id())\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  shared-to-my-org:\n    type: cloudfoundry:PrivateDomainAccess\n    properties:\n      domain: ${data.cloudfoundry_domain.domain.id}\n      org: ${data.cloudfoundry_org\"my-org\"[%!s(MISSING)].id}\n```\n<!--End PulumiCodeChooser -->\n\n## Import\n\nAn existing CF private domain access can be imported using the combined `<org-guid>/<domain-guid>' identifier, e.g.\n\nbash\n\n```sh\n$ pulumi import cloudfoundry:index/privateDomainAccess:PrivateDomainAccess my-access 84f5ba83-1728-481f-9a62-72d109e4be74/c8eba5e6-5a21-45ee-ae0a-59b1f650888a\n```\n\n",
      "properties": {
        "domain": {
          "type": "string",
          "description": "The GUID of private domain.\n"
        },
        "org": {
          "type": "string",
          "description": "The GUID of the organization.\n"
        },
        "privateDomainAccessId": {
          "type": "string"
        }
      },
      "type": "object",
      "required": [
        "domain",
        "org",
        "privateDomainAccessId"
      ],
      "inputProperties": {
        "domain": {
          "type": "string",
          "description": "The GUID of private domain.\n"
        },
        "org": {
          "type": "string",
          "description": "The GUID of the organization.\n"
        },
        "privateDomainAccessId": {
          "type": "string"
        }
      },
      "requiredInputs": [
        "domain",
        "org"
      ],
      "stateInputs": {
        "description": "Input properties used for looking up and filtering PrivateDomainAccess resources.\n",
        "properties": {
          "domain": {
            "type": "string",
            "description": "The GUID of private domain.\n"
          },
          "org": {
            "type": "string",
            "description": "The GUID of the organization.\n"
          },
          "privateDomainAccessId": {
            "type": "string"
          }
        },
        "type": "object"
      }
    },
    "cloudfoundry:index/route:Route": {
      "description": "Provides a Cloud Foundry resource for managing Cloud Foundry application [routes](https://docs.cloudfoundry.org/devguide/deploy-apps/routes-domains.html).\n\n## Example Usage\n\nThe following example creates an route for an application.\n\n<!--Start PulumiCodeChooser -->\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as cloudfoundry from \"@pulumi/cloudfoundry\";\n\nconst _default = new cloudfoundry.Route(\"default\", {\n    domain: data.cloudfoundry_domain.apps.domain.id,\n    space: data.cloudfoundry_space.dev.id,\n    hostname: \"myapp\",\n});\n```\n```python\nimport pulumi\nimport pulumi_cloudfoundry as cloudfoundry\n\ndefault = cloudfoundry.Route(\"default\",\n    domain=data[\"cloudfoundry_domain\"][\"apps\"][\"domain\"][\"id\"],\n    space=data[\"cloudfoundry_space\"][\"dev\"][\"id\"],\n    hostname=\"myapp\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Cloudfoundry = Pulumi.Cloudfoundry;\n\nreturn await Deployment.RunAsync(() => \n{\n    var @default = new Cloudfoundry.Route(\"default\", new()\n    {\n        Domain = data.Cloudfoundry_domain.Apps.Domain.Id,\n        Space = data.Cloudfoundry_space.Dev.Id,\n        Hostname = \"myapp\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/cloudfoundry/cloudfoundry\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := cloudfoundry.NewRoute(ctx, \"default\", &cloudfoundry.RouteArgs{\n\t\t\tDomain:   pulumi.Any(data.Cloudfoundry_domain.Apps.Domain.Id),\n\t\t\tSpace:    pulumi.Any(data.Cloudfoundry_space.Dev.Id),\n\t\t\tHostname: pulumi.String(\"myapp\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.cloudfoundry.Route;\nimport com.pulumi.cloudfoundry.RouteArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var default_ = new Route(\"default\", RouteArgs.builder()\n            .domain(data.cloudfoundry_domain().apps().domain().id())\n            .space(data.cloudfoundry_space().dev().id())\n            .hostname(\"myapp\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  default:\n    type: cloudfoundry:Route\n    properties:\n      domain: ${data.cloudfoundry_domain.apps.domain.id}\n      space: ${data.cloudfoundry_space.dev.id}\n      hostname: myapp\n```\n<!--End PulumiCodeChooser -->\n\n## Import\n\nThe current Route can be imported using the `route`, e.g.\n\nbash\n\n```sh\n$ pulumi import cloudfoundry:index/route:Route default a-guid\n```\n\n",
      "properties": {
        "domain": {
          "type": "string",
          "description": "The ID of the domain to map the host name to. If not provided the default application domain will be used.\n"
        },
        "endpoint": {
          "type": "string",
          "description": "The complete endpoint with path if set for the route\n"
        },
        "hostname": {
          "type": "string",
          "description": "The application's host name. This is required for shared domains.\n\nThe following arguments apply only to TCP routes.\n"
        },
        "path": {
          "type": "string",
          "description": "A path for a HTTP route.\n\nThe following maps the route to an application.\n"
        },
        "port": {
          "type": "number",
          "description": "The port to associate with the route for a TCP route. Conflicts with `random_port`.\n\nThe following argument applies only to HTTP routes.\n"
        },
        "routeId": {
          "type": "string",
          "description": "The GUID of the route\n"
        },
        "space": {
          "type": "string",
          "description": "The ID of the space to create the route in.\n"
        },
        "targets": {
          "type": "array",
          "items": {
            "$ref": "#/types/cloudfoundry:index%2FRouteTarget:RouteTarget"
          },
          "description": "One or more route mapping(s) that will map this route to application(s). Can be repeated multiple times to load balance route traffic among multiple applications.\nThe `target` block supports:\n"
        }
      },
      "type": "object",
      "required": [
        "domain",
        "endpoint",
        "port",
        "routeId",
        "space"
      ],
      "inputProperties": {
        "domain": {
          "type": "string",
          "description": "The ID of the domain to map the host name to. If not provided the default application domain will be used.\n"
        },
        "hostname": {
          "type": "string",
          "description": "The application's host name. This is required for shared domains.\n\nThe following arguments apply only to TCP routes.\n"
        },
        "path": {
          "type": "string",
          "description": "A path for a HTTP route.\n\nThe following maps the route to an application.\n"
        },
        "port": {
          "type": "number",
          "description": "The port to associate with the route for a TCP route. Conflicts with `random_port`.\n\nThe following argument applies only to HTTP routes.\n"
        },
        "routeId": {
          "type": "string",
          "description": "The GUID of the route\n"
        },
        "space": {
          "type": "string",
          "description": "The ID of the space to create the route in.\n"
        },
        "targets": {
          "type": "array",
          "items": {
            "$ref": "#/types/cloudfoundry:index%2FRouteTarget:RouteTarget"
          },
          "description": "One or more route mapping(s) that will map this route to application(s). Can be repeated multiple times to load balance route traffic among multiple applications.\nThe `target` block supports:\n"
        }
      },
      "requiredInputs": [
        "domain",
        "space"
      ],
      "stateInputs": {
        "description": "Input properties used for looking up and filtering Route resources.\n",
        "properties": {
          "domain": {
            "type": "string",
            "description": "The ID of the domain to map the host name to. If not provided the default application domain will be used.\n"
          },
          "endpoint": {
            "type": "string",
            "description": "The complete endpoint with path if set for the route\n"
          },
          "hostname": {
            "type": "string",
            "description": "The application's host name. This is required for shared domains.\n\nThe following arguments apply only to TCP routes.\n"
          },
          "path": {
            "type": "string",
            "description": "A path for a HTTP route.\n\nThe following maps the route to an application.\n"
          },
          "port": {
            "type": "number",
            "description": "The port to associate with the route for a TCP route. Conflicts with `random_port`.\n\nThe following argument applies only to HTTP routes.\n"
          },
          "routeId": {
            "type": "string",
            "description": "The GUID of the route\n"
          },
          "space": {
            "type": "string",
            "description": "The ID of the space to create the route in.\n"
          },
          "targets": {
            "type": "array",
            "items": {
              "$ref": "#/types/cloudfoundry:index%2FRouteTarget:RouteTarget"
            },
            "description": "One or more route mapping(s) that will map this route to application(s). Can be repeated multiple times to load balance route traffic among multiple applications.\nThe `target` block supports:\n"
          }
        },
        "type": "object"
      }
    },
    "cloudfoundry:index/routeServiceBinding:RouteServiceBinding": {
      "description": "Provides a Cloud Foundry resource for [binding](https://docs.cloudfoundry.org/devguide/services/route-binding.html#bind) of service instances to routes.\n\n## Example Usage\n\nThe following example binds a specific route to the given service instance.\n\n<!--Start PulumiCodeChooser -->\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as cloudfoundry from \"@pulumi/cloudfoundry\";\n\nconst route_bind = new cloudfoundry.RouteServiceBinding(\"route-bind\", {\n    serviceInstance: cloudfoundry_service_instance.myservice.id,\n    route: cloudfoundry_route.myroute.id,\n});\n```\n```python\nimport pulumi\nimport pulumi_cloudfoundry as cloudfoundry\n\nroute_bind = cloudfoundry.RouteServiceBinding(\"route-bind\",\n    service_instance=cloudfoundry_service_instance[\"myservice\"][\"id\"],\n    route=cloudfoundry_route[\"myroute\"][\"id\"])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Cloudfoundry = Pulumi.Cloudfoundry;\n\nreturn await Deployment.RunAsync(() => \n{\n    var route_bind = new Cloudfoundry.RouteServiceBinding(\"route-bind\", new()\n    {\n        ServiceInstance = cloudfoundry_service_instance.Myservice.Id,\n        Route = cloudfoundry_route.Myroute.Id,\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/cloudfoundry/cloudfoundry\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := cloudfoundry.NewRouteServiceBinding(ctx, \"route-bind\", &cloudfoundry.RouteServiceBindingArgs{\n\t\t\tServiceInstance: pulumi.Any(cloudfoundry_service_instance.Myservice.Id),\n\t\t\tRoute:           pulumi.Any(cloudfoundry_route.Myroute.Id),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.cloudfoundry.RouteServiceBinding;\nimport com.pulumi.cloudfoundry.RouteServiceBindingArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var route_bind = new RouteServiceBinding(\"route-bind\", RouteServiceBindingArgs.builder()\n            .serviceInstance(cloudfoundry_service_instance.myservice().id())\n            .route(cloudfoundry_route.myroute().id())\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  route-bind:\n    type: cloudfoundry:RouteServiceBinding\n    properties:\n      serviceInstance: ${cloudfoundry_service_instance.myservice.id}\n      route: ${cloudfoundry_route.myroute.id}\n```\n<!--End PulumiCodeChooser -->\n\n## Import\n\nExisting Route Service Binding can be imported using the composite `id` formed\n\nwith service instance's GUID and route's GUID.\n\nImport does not support `json_params` attribute. Specifying non-empty `json_params` in\n\nterraform files after import will lead to the recreation of the resource.\n\nE.g.\n\nbash\n\n```sh\n$ pulumi import cloudfoundry:index/routeServiceBinding:RouteServiceBinding mybind <service-guid>/<route-guid>\n```\n\n",
      "properties": {
        "jsonParams": {
          "type": "string",
          "description": "Arbitrary parameters in the form of stringified JSON object to pass to the service bind handler. Defaults to empty map.\n"
        },
        "route": {
          "type": "string",
          "description": "The ID of the route to bind the service instance to.\n"
        },
        "routeServiceBindingId": {
          "type": "string"
        },
        "serviceInstance": {
          "type": "string",
          "description": "The ID the service instance to bind to the route.\n"
        }
      },
      "type": "object",
      "required": [
        "route",
        "routeServiceBindingId",
        "serviceInstance"
      ],
      "inputProperties": {
        "jsonParams": {
          "type": "string",
          "description": "Arbitrary parameters in the form of stringified JSON object to pass to the service bind handler. Defaults to empty map.\n"
        },
        "route": {
          "type": "string",
          "description": "The ID of the route to bind the service instance to.\n"
        },
        "routeServiceBindingId": {
          "type": "string"
        },
        "serviceInstance": {
          "type": "string",
          "description": "The ID the service instance to bind to the route.\n"
        }
      },
      "requiredInputs": [
        "route",
        "serviceInstance"
      ],
      "stateInputs": {
        "description": "Input properties used for looking up and filtering RouteServiceBinding resources.\n",
        "properties": {
          "jsonParams": {
            "type": "string",
            "description": "Arbitrary parameters in the form of stringified JSON object to pass to the service bind handler. Defaults to empty map.\n"
          },
          "route": {
            "type": "string",
            "description": "The ID of the route to bind the service instance to.\n"
          },
          "routeServiceBindingId": {
            "type": "string"
          },
          "serviceInstance": {
            "type": "string",
            "description": "The ID the service instance to bind to the route.\n"
          }
        },
        "type": "object"
      }
    },
    "cloudfoundry:index/serviceBroker:ServiceBroker": {
      "description": "## Example Usage\n\nThe following example registers a service broker.\n\n<!--Start PulumiCodeChooser -->\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as cloudfoundry from \"@pulumi/cloudfoundry\";\n\nconst mysql = new cloudfoundry.ServiceBroker(\"mysql\", {\n    password: \"admin\",\n    url: \"http://mysql-broker.local.pcfdev.io\",\n    username: \"admin\",\n});\n```\n```python\nimport pulumi\nimport pulumi_cloudfoundry as cloudfoundry\n\nmysql = cloudfoundry.ServiceBroker(\"mysql\",\n    password=\"admin\",\n    url=\"http://mysql-broker.local.pcfdev.io\",\n    username=\"admin\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Cloudfoundry = Pulumi.Cloudfoundry;\n\nreturn await Deployment.RunAsync(() => \n{\n    var mysql = new Cloudfoundry.ServiceBroker(\"mysql\", new()\n    {\n        Password = \"admin\",\n        Url = \"http://mysql-broker.local.pcfdev.io\",\n        Username = \"admin\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/cloudfoundry/cloudfoundry\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := cloudfoundry.NewServiceBroker(ctx, \"mysql\", &cloudfoundry.ServiceBrokerArgs{\n\t\t\tPassword: pulumi.String(\"admin\"),\n\t\t\tUrl:      pulumi.String(\"http://mysql-broker.local.pcfdev.io\"),\n\t\t\tUsername: pulumi.String(\"admin\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.cloudfoundry.ServiceBroker;\nimport com.pulumi.cloudfoundry.ServiceBrokerArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var mysql = new ServiceBroker(\"mysql\", ServiceBrokerArgs.builder()\n            .password(\"admin\")\n            .url(\"http://mysql-broker.local.pcfdev.io\")\n            .username(\"admin\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  mysql:\n    type: cloudfoundry:ServiceBroker\n    properties:\n      password: admin\n      url: http://mysql-broker.local.pcfdev.io\n      username: admin\n```\n<!--End PulumiCodeChooser -->\n\n## Import\n\nAn existing Service Broker can be imported using its guid, e.g.\n\nbash\n\n```sh\n$ pulumi import cloudfoundry:index/serviceBroker:ServiceBroker mysql a-guid\n```\n\n",
      "properties": {
        "annotations": {
          "type": "object",
          "additionalProperties": {
            "type": "string"
          },
          "description": "Add annotations as described [here](https://docs.cloudfoundry.org/adminguide/metadata.html#-view-metadata-for-an-object).\nWorks only on cloud foundry with api >= v3.71.\n"
        },
        "catalogChange": {
          "type": "boolean",
          "description": "Special marker to know and trigger a service broker update, this should not be set to true on your resource declaration\n"
        },
        "catalogHash": {
          "type": "string"
        },
        "failWhenCatalogNotAccessible": {
          "type": "boolean",
          "description": "Set to true if you want to see errors when getting service broker catalog (default behaviour is silently failed).\n"
        },
        "labels": {
          "type": "object",
          "additionalProperties": {
            "type": "string"
          },
          "description": "Add labels as described [here](https://docs.cloudfoundry.org/adminguide/metadata.html#-view-metadata-for-an-object).\nWorks only on cloud foundry with api >= v3.71.\n"
        },
        "name": {
          "type": "string",
          "description": "The name of the service broker\n"
        },
        "password": {
          "type": "string",
          "description": "The password to authenticate against the service broker API calls\n",
          "secret": true
        },
        "serviceBrokerId": {
          "type": "string",
          "description": "The GUID of the service broker\n"
        },
        "servicePlans": {
          "type": "object",
          "additionalProperties": {
            "type": "string"
          },
          "description": "Map of service plan GUIDs keyed by service \"&lt;service name&gt;/&lt;plan name&gt;\"\n"
        },
        "services": {
          "type": "object",
          "additionalProperties": {
            "type": "string"
          },
          "description": "Map of service GUIDs keyed by service name\n"
        },
        "space": {
          "type": "string",
          "description": "The ID of the space to scope this broker to (registering the broker as [space-scoped](http://docs.cloudfoundry.org/services/managing-service-brokers.html#register-broker)). By default, registers [standard](http://docs.cloudfoundry.org/services/managing-service-brokers.html#register-broker) brokers\n"
        },
        "url": {
          "type": "string",
          "description": "The URL to the service broker [API](https://docs.cloudfoundry.org/services/api.html)\n"
        },
        "username": {
          "type": "string",
          "description": "The user name to use to authenticate against the service broker API calls\n"
        }
      },
      "type": "object",
      "required": [
        "catalogHash",
        "name",
        "password",
        "serviceBrokerId",
        "servicePlans",
        "services",
        "url",
        "username"
      ],
      "inputProperties": {
        "annotations": {
          "type": "object",
          "additionalProperties": {
            "type": "string"
          },
          "description": "Add annotations as described [here](https://docs.cloudfoundry.org/adminguide/metadata.html#-view-metadata-for-an-object).\nWorks only on cloud foundry with api >= v3.71.\n"
        },
        "catalogChange": {
          "type": "boolean",
          "description": "Special marker to know and trigger a service broker update, this should not be set to true on your resource declaration\n"
        },
        "catalogHash": {
          "type": "string"
        },
        "failWhenCatalogNotAccessible": {
          "type": "boolean",
          "description": "Set to true if you want to see errors when getting service broker catalog (default behaviour is silently failed).\n"
        },
        "labels": {
          "type": "object",
          "additionalProperties": {
            "type": "string"
          },
          "description": "Add labels as described [here](https://docs.cloudfoundry.org/adminguide/metadata.html#-view-metadata-for-an-object).\nWorks only on cloud foundry with api >= v3.71.\n"
        },
        "name": {
          "type": "string",
          "description": "The name of the service broker\n"
        },
        "password": {
          "type": "string",
          "description": "The password to authenticate against the service broker API calls\n",
          "secret": true
        },
        "serviceBrokerId": {
          "type": "string",
          "description": "The GUID of the service broker\n"
        },
        "space": {
          "type": "string",
          "description": "The ID of the space to scope this broker to (registering the broker as [space-scoped](http://docs.cloudfoundry.org/services/managing-service-brokers.html#register-broker)). By default, registers [standard](http://docs.cloudfoundry.org/services/managing-service-brokers.html#register-broker) brokers\n"
        },
        "url": {
          "type": "string",
          "description": "The URL to the service broker [API](https://docs.cloudfoundry.org/services/api.html)\n"
        },
        "username": {
          "type": "string",
          "description": "The user name to use to authenticate against the service broker API calls\n"
        }
      },
      "requiredInputs": [
        "password",
        "url",
        "username"
      ],
      "stateInputs": {
        "description": "Input properties used for looking up and filtering ServiceBroker resources.\n",
        "properties": {
          "annotations": {
            "type": "object",
            "additionalProperties": {
              "type": "string"
            },
            "description": "Add annotations as described [here](https://docs.cloudfoundry.org/adminguide/metadata.html#-view-metadata-for-an-object).\nWorks only on cloud foundry with api >= v3.71.\n"
          },
          "catalogChange": {
            "type": "boolean",
            "description": "Special marker to know and trigger a service broker update, this should not be set to true on your resource declaration\n"
          },
          "catalogHash": {
            "type": "string"
          },
          "failWhenCatalogNotAccessible": {
            "type": "boolean",
            "description": "Set to true if you want to see errors when getting service broker catalog (default behaviour is silently failed).\n"
          },
          "labels": {
            "type": "object",
            "additionalProperties": {
              "type": "string"
            },
            "description": "Add labels as described [here](https://docs.cloudfoundry.org/adminguide/metadata.html#-view-metadata-for-an-object).\nWorks only on cloud foundry with api >= v3.71.\n"
          },
          "name": {
            "type": "string",
            "description": "The name of the service broker\n"
          },
          "password": {
            "type": "string",
            "description": "The password to authenticate against the service broker API calls\n",
            "secret": true
          },
          "serviceBrokerId": {
            "type": "string",
            "description": "The GUID of the service broker\n"
          },
          "servicePlans": {
            "type": "object",
            "additionalProperties": {
              "type": "string"
            },
            "description": "Map of service plan GUIDs keyed by service \"&lt;service name&gt;/&lt;plan name&gt;\"\n"
          },
          "services": {
            "type": "object",
            "additionalProperties": {
              "type": "string"
            },
            "description": "Map of service GUIDs keyed by service name\n"
          },
          "space": {
            "type": "string",
            "description": "The ID of the space to scope this broker to (registering the broker as [space-scoped](http://docs.cloudfoundry.org/services/managing-service-brokers.html#register-broker)). By default, registers [standard](http://docs.cloudfoundry.org/services/managing-service-brokers.html#register-broker) brokers\n"
          },
          "url": {
            "type": "string",
            "description": "The URL to the service broker [API](https://docs.cloudfoundry.org/services/api.html)\n"
          },
          "username": {
            "type": "string",
            "description": "The user name to use to authenticate against the service broker API calls\n"
          }
        },
        "type": "object"
      }
    },
    "cloudfoundry:index/serviceInstance:ServiceInstance": {
      "description": "Provides a Cloud Foundry resource for managing Cloud Foundry [Service Instances](https://docs.cloudfoundry.org/devguide/services/) within spaces.\n\n## Example Usage\n\nThe following is a Service Instance created in the referenced space with the specified service plan.\n\n<!--Start PulumiCodeChooser -->\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as cloudfoundry from \"@pulumi/cloudfoundry\";\n\nconst redis = cloudfoundry.getService({\n    name: \"p-redis\",\n});\nconst redis1 = new cloudfoundry.ServiceInstance(\"redis1\", {\n    space: cloudfoundry_space.dev.id,\n    servicePlan: redis.then(redis => redis.servicePlans?.[\"shared-vm\"]),\n});\n```\n```python\nimport pulumi\nimport pulumi_cloudfoundry as cloudfoundry\n\nredis = cloudfoundry.get_service(name=\"p-redis\")\nredis1 = cloudfoundry.ServiceInstance(\"redis1\",\n    space=cloudfoundry_space[\"dev\"][\"id\"],\n    service_plan=redis.service_plans[\"shared-vm\"])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Cloudfoundry = Pulumi.Cloudfoundry;\n\nreturn await Deployment.RunAsync(() => \n{\n    var redis = Cloudfoundry.GetService.Invoke(new()\n    {\n        Name = \"p-redis\",\n    });\n\n    var redis1 = new Cloudfoundry.ServiceInstance(\"redis1\", new()\n    {\n        Space = cloudfoundry_space.Dev.Id,\n        ServicePlan = redis.Apply(getServiceResult => getServiceResult.ServicePlans?.Shared_vm),\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/cloudfoundry/cloudfoundry\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tredis, err := cloudfoundry.GetService(ctx, &cloudfoundry.GetServiceArgs{\n\t\t\tName: \"p-redis\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = cloudfoundry.NewServiceInstance(ctx, \"redis1\", &cloudfoundry.ServiceInstanceArgs{\n\t\t\tSpace:       pulumi.Any(cloudfoundry_space.Dev.Id),\n\t\t\tServicePlan: pulumi.String(redis.ServicePlans.SharedVm),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.cloudfoundry.CloudfoundryFunctions;\nimport com.pulumi.cloudfoundry.inputs.GetServiceArgs;\nimport com.pulumi.cloudfoundry.ServiceInstance;\nimport com.pulumi.cloudfoundry.ServiceInstanceArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var redis = CloudfoundryFunctions.getService(GetServiceArgs.builder()\n            .name(\"p-redis\")\n            .build());\n\n        var redis1 = new ServiceInstance(\"redis1\", ServiceInstanceArgs.builder()\n            .space(cloudfoundry_space.dev().id())\n            .servicePlan(redis.applyValue(getServiceResult -> getServiceResult.servicePlans().shared-vm()))\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  redis1:\n    type: cloudfoundry:ServiceInstance\n    properties:\n      space: ${cloudfoundry_space.dev.id}\n      servicePlan: ${redis.servicePlans\"shared-vm\"[%!s(MISSING)]}\nvariables:\n  redis:\n    fn::invoke:\n      function: cloudfoundry:getService\n      arguments:\n        name: p-redis\n```\n<!--End PulumiCodeChooser -->\n\n## Import\n\n### Timeouts\n\n`cloudfoundry_service_instance` provides the following\n\nTimeouts configuration options:\n\n* `create` - (Default `15 minutes`) Used for Creating Instance.\n\n* `update` - (Default `15 minutes`) Used for Updating Instance.\n\n* `delete` - (Default `15 minutes`) Used for Destroying Instance.\n\n",
      "properties": {
        "annotations": {
          "type": "object",
          "additionalProperties": {
            "type": "string"
          }
        },
        "jsonParams": {
          "type": "string",
          "description": "Json string of arbitrary parameters. Some services support providing additional configuration parameters within the provision request. By default, no params are provided.\n"
        },
        "labels": {
          "type": "object",
          "additionalProperties": {
            "type": "string"
          },
          "description": "Add labels as described [here](https://docs.cloudfoundry.org/adminguide/metadata.html#-view-metadata-for-an-object). Works only on cloud foundry with api >= v3.63. Below is an example usage.\n\n"
        },
        "name": {
          "type": "string",
          "description": "The name of the Service Instance in Cloud Foundry\n"
        },
        "recursiveDelete": {
          "type": "boolean",
          "description": "DEPRECATED, Since CF API v3, recursive delete is done automatically by the cloudcontroller. This will be removed in future releases.\n",
          "deprecationMessage": "Deprecated"
        },
        "replaceOnParamsChange": {
          "type": "boolean",
          "description": "Default: `false`. If set `true`, Cloud Foundry will replace the resource on any params change. This is useful if the service does not support parameter updates.\n"
        },
        "replaceOnServicePlanChange": {
          "type": "boolean",
          "description": "Default: `false`. If set `true`, Cloud Foundry will replace the resource on any service plan changes. Some brokered services do not support plan changes and this allows the provider to handle those cases.\n"
        },
        "serviceInstanceId": {
          "type": "string",
          "description": "The GUID of the service instance\n"
        },
        "servicePlan": {
          "type": "string",
          "description": "The ID of the [service plan](https://www.terraform.io/docs/providers/cloudfoundry/d/service.html)\n"
        },
        "space": {
          "type": "string",
          "description": "The ID of the [space](https://www.terraform.io/docs/providers/cloudfoundry/r/space.html)\n"
        },
        "tags": {
          "type": "array",
          "items": {
            "type": "string"
          },
          "description": "List of instance tags. Some services provide a list of tags that Cloud Foundry delivers in [VCAP_SERVICES Env variables](https://docs.cloudfoundry.org/devguide/deploy-apps/environment-variable.html#VCAP-SERVICES). By default, no tags are assigned.\n"
        },
        "timeouts": {
          "$ref": "#/types/cloudfoundry:index%2FServiceInstanceTimeouts:ServiceInstanceTimeouts"
        }
      },
      "type": "object",
      "required": [
        "name",
        "serviceInstanceId",
        "servicePlan",
        "space"
      ],
      "inputProperties": {
        "annotations": {
          "type": "object",
          "additionalProperties": {
            "type": "string"
          }
        },
        "jsonParams": {
          "type": "string",
          "description": "Json string of arbitrary parameters. Some services support providing additional configuration parameters within the provision request. By default, no params are provided.\n"
        },
        "labels": {
          "type": "object",
          "additionalProperties": {
            "type": "string"
          },
          "description": "Add labels as described [here](https://docs.cloudfoundry.org/adminguide/metadata.html#-view-metadata-for-an-object). Works only on cloud foundry with api >= v3.63. Below is an example usage.\n\n"
        },
        "name": {
          "type": "string",
          "description": "The name of the Service Instance in Cloud Foundry\n"
        },
        "recursiveDelete": {
          "type": "boolean",
          "description": "DEPRECATED, Since CF API v3, recursive delete is done automatically by the cloudcontroller. This will be removed in future releases.\n",
          "deprecationMessage": "Deprecated"
        },
        "replaceOnParamsChange": {
          "type": "boolean",
          "description": "Default: `false`. If set `true`, Cloud Foundry will replace the resource on any params change. This is useful if the service does not support parameter updates.\n"
        },
        "replaceOnServicePlanChange": {
          "type": "boolean",
          "description": "Default: `false`. If set `true`, Cloud Foundry will replace the resource on any service plan changes. Some brokered services do not support plan changes and this allows the provider to handle those cases.\n"
        },
        "serviceInstanceId": {
          "type": "string",
          "description": "The GUID of the service instance\n"
        },
        "servicePlan": {
          "type": "string",
          "description": "The ID of the [service plan](https://www.terraform.io/docs/providers/cloudfoundry/d/service.html)\n"
        },
        "space": {
          "type": "string",
          "description": "The ID of the [space](https://www.terraform.io/docs/providers/cloudfoundry/r/space.html)\n"
        },
        "tags": {
          "type": "array",
          "items": {
            "type": "string"
          },
          "description": "List of instance tags. Some services provide a list of tags that Cloud Foundry delivers in [VCAP_SERVICES Env variables](https://docs.cloudfoundry.org/devguide/deploy-apps/environment-variable.html#VCAP-SERVICES). By default, no tags are assigned.\n"
        },
        "timeouts": {
          "$ref": "#/types/cloudfoundry:index%2FServiceInstanceTimeouts:ServiceInstanceTimeouts"
        }
      },
      "requiredInputs": [
        "servicePlan",
        "space"
      ],
      "stateInputs": {
        "description": "Input properties used for looking up and filtering ServiceInstance resources.\n",
        "properties": {
          "annotations": {
            "type": "object",
            "additionalProperties": {
              "type": "string"
            }
          },
          "jsonParams": {
            "type": "string",
            "description": "Json string of arbitrary parameters. Some services support providing additional configuration parameters within the provision request. By default, no params are provided.\n"
          },
          "labels": {
            "type": "object",
            "additionalProperties": {
              "type": "string"
            },
            "description": "Add labels as described [here](https://docs.cloudfoundry.org/adminguide/metadata.html#-view-metadata-for-an-object). Works only on cloud foundry with api >= v3.63. Below is an example usage.\n\n"
          },
          "name": {
            "type": "string",
            "description": "The name of the Service Instance in Cloud Foundry\n"
          },
          "recursiveDelete": {
            "type": "boolean",
            "description": "DEPRECATED, Since CF API v3, recursive delete is done automatically by the cloudcontroller. This will be removed in future releases.\n",
            "deprecationMessage": "Deprecated"
          },
          "replaceOnParamsChange": {
            "type": "boolean",
            "description": "Default: `false`. If set `true`, Cloud Foundry will replace the resource on any params change. This is useful if the service does not support parameter updates.\n"
          },
          "replaceOnServicePlanChange": {
            "type": "boolean",
            "description": "Default: `false`. If set `true`, Cloud Foundry will replace the resource on any service plan changes. Some brokered services do not support plan changes and this allows the provider to handle those cases.\n"
          },
          "serviceInstanceId": {
            "type": "string",
            "description": "The GUID of the service instance\n"
          },
          "servicePlan": {
            "type": "string",
            "description": "The ID of the [service plan](https://www.terraform.io/docs/providers/cloudfoundry/d/service.html)\n"
          },
          "space": {
            "type": "string",
            "description": "The ID of the [space](https://www.terraform.io/docs/providers/cloudfoundry/r/space.html)\n"
          },
          "tags": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "description": "List of instance tags. Some services provide a list of tags that Cloud Foundry delivers in [VCAP_SERVICES Env variables](https://docs.cloudfoundry.org/devguide/deploy-apps/environment-variable.html#VCAP-SERVICES). By default, no tags are assigned.\n"
          },
          "timeouts": {
            "$ref": "#/types/cloudfoundry:index%2FServiceInstanceTimeouts:ServiceInstanceTimeouts"
          }
        },
        "type": "object"
      }
    },
    "cloudfoundry:index/serviceInstanceSharing:ServiceInstanceSharing": {
      "description": "Sharing a service instance to another space [Sharing Service Instances](https://docs.cloudfoundry.org/devguide/services/sharing-instances.html) within spaces.\n\n## Example Usage\n\nThe following example shares a specific service instance to the given space.\n\n<!--Start PulumiCodeChooser -->\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as cloudfoundry from \"@pulumi/cloudfoundry\";\n\nconst my_redis = cloudfoundry.getServiceInstance({\n    nameOrId: \"my-redis\",\n    space: cloudfoundry_space[\"dev-1\"].id,\n});\nconst share_to_dev_2 = new cloudfoundry.ServiceInstanceSharing(\"share-to-dev-2\", {\n    serviceInstanceId: my_redis.then(my_redis => my_redis.id),\n    spaceId: cloudfoundry_space[\"dev-2\"].id,\n});\n```\n```python\nimport pulumi\nimport pulumi_cloudfoundry as cloudfoundry\n\nmy_redis = cloudfoundry.get_service_instance(name_or_id=\"my-redis\",\n    space=cloudfoundry_space[\"dev-1\"][\"id\"])\nshare_to_dev_2 = cloudfoundry.ServiceInstanceSharing(\"share-to-dev-2\",\n    service_instance_id=my_redis.id,\n    space_id=cloudfoundry_space[\"dev-2\"][\"id\"])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Cloudfoundry = Pulumi.Cloudfoundry;\n\nreturn await Deployment.RunAsync(() => \n{\n    var my_redis = Cloudfoundry.GetServiceInstance.Invoke(new()\n    {\n        NameOrId = \"my-redis\",\n        Space = cloudfoundry_space.Dev_1.Id,\n    });\n\n    var share_to_dev_2 = new Cloudfoundry.ServiceInstanceSharing(\"share-to-dev-2\", new()\n    {\n        ServiceInstanceId = my_redis.Apply(my_redis => my_redis.Apply(getServiceInstanceResult => getServiceInstanceResult.Id)),\n        SpaceId = cloudfoundry_space.Dev_2.Id,\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/cloudfoundry/cloudfoundry\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tmy_redis, err := cloudfoundry.LookupServiceInstance(ctx, &cloudfoundry.LookupServiceInstanceArgs{\n\t\t\tNameOrId: \"my-redis\",\n\t\t\tSpace:    cloudfoundry_space.Dev1.Id,\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = cloudfoundry.NewServiceInstanceSharing(ctx, \"share-to-dev-2\", &cloudfoundry.ServiceInstanceSharingArgs{\n\t\t\tServiceInstanceId: pulumi.String(my_redis.Id),\n\t\t\tSpaceId:           pulumi.Any(cloudfoundry_space.Dev2.Id),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.cloudfoundry.CloudfoundryFunctions;\nimport com.pulumi.cloudfoundry.inputs.GetServiceInstanceArgs;\nimport com.pulumi.cloudfoundry.ServiceInstanceSharing;\nimport com.pulumi.cloudfoundry.ServiceInstanceSharingArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var my-redis = CloudfoundryFunctions.getServiceInstance(GetServiceInstanceArgs.builder()\n            .nameOrId(\"my-redis\")\n            .space(cloudfoundry_space.dev-1().id())\n            .build());\n\n        var share_to_dev_2 = new ServiceInstanceSharing(\"share-to-dev-2\", ServiceInstanceSharingArgs.builder()\n            .serviceInstanceId(my_redis.id())\n            .spaceId(cloudfoundry_space.dev-2().id())\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  share-to-dev-2:\n    type: cloudfoundry:ServiceInstanceSharing\n    properties:\n      serviceInstanceId: ${[\"my-redis\"].id}\n      spaceId: ${cloudfoundry_space\"dev-2\"[%!s(MISSING)].id}\nvariables:\n  my-redis:\n    fn::invoke:\n      function: cloudfoundry:getServiceInstance\n      arguments:\n        nameOrId: my-redis\n        space: ${cloudfoundry_space\"dev-1\"[%!s(MISSING)].id}\n```\n<!--End PulumiCodeChooser -->\n\n## Import\n\nExisting Instance Shared can be imported using the composite `id` formed\n\nwith service instance's GUID and space's GUID, seperated by a forward slash '/'.\n\nexample: `bb4ea411-service-instance-guid/820b9339-space-guid`\n\n",
      "properties": {
        "serviceInstanceId": {
          "type": "string",
          "description": "The ID of the service instance to share.\n"
        },
        "serviceInstanceSharingId": {
          "type": "string"
        },
        "spaceId": {
          "type": "string",
          "description": "The ID of the space to share the service instance with, the space can be in the same or different org.\n"
        }
      },
      "type": "object",
      "required": [
        "serviceInstanceId",
        "serviceInstanceSharingId",
        "spaceId"
      ],
      "inputProperties": {
        "serviceInstanceId": {
          "type": "string",
          "description": "The ID of the service instance to share.\n"
        },
        "serviceInstanceSharingId": {
          "type": "string"
        },
        "spaceId": {
          "type": "string",
          "description": "The ID of the space to share the service instance with, the space can be in the same or different org.\n"
        }
      },
      "requiredInputs": [
        "serviceInstanceId",
        "spaceId"
      ],
      "stateInputs": {
        "description": "Input properties used for looking up and filtering ServiceInstanceSharing resources.\n",
        "properties": {
          "serviceInstanceId": {
            "type": "string",
            "description": "The ID of the service instance to share.\n"
          },
          "serviceInstanceSharingId": {
            "type": "string"
          },
          "spaceId": {
            "type": "string",
            "description": "The ID of the space to share the service instance with, the space can be in the same or different org.\n"
          }
        },
        "type": "object"
      }
    },
    "cloudfoundry:index/serviceKey:ServiceKey": {
      "description": "Provides a Cloud Foundry resource for managing Cloud Foundry [Service Keys](https://docs.cloudfoundry.org/devguide/services/#service-keys).\n\n## Example Usage\n\nThe following creates a Service Key for the referenced Service Instance.\n\n<!--Start PulumiCodeChooser -->\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as cloudfoundry from \"@pulumi/cloudfoundry\";\n\nconst redis = cloudfoundry.getService({\n    name: \"p-redis\",\n});\nconst redis1 = new cloudfoundry.ServiceInstance(\"redis1\", {\n    space: cloudfoundry_space.dev.id,\n    servicePlan: redis.then(redis => redis.servicePlans?.[\"shared-vm\"]),\n});\nconst redis1_key1 = new cloudfoundry.ServiceKey(\"redis1-key1\", {serviceInstance: redis1.serviceInstanceId});\n```\n```python\nimport pulumi\nimport pulumi_cloudfoundry as cloudfoundry\n\nredis = cloudfoundry.get_service(name=\"p-redis\")\nredis1 = cloudfoundry.ServiceInstance(\"redis1\",\n    space=cloudfoundry_space[\"dev\"][\"id\"],\n    service_plan=redis.service_plans[\"shared-vm\"])\nredis1_key1 = cloudfoundry.ServiceKey(\"redis1-key1\", service_instance=redis1.service_instance_id)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Cloudfoundry = Pulumi.Cloudfoundry;\n\nreturn await Deployment.RunAsync(() => \n{\n    var redis = Cloudfoundry.GetService.Invoke(new()\n    {\n        Name = \"p-redis\",\n    });\n\n    var redis1 = new Cloudfoundry.ServiceInstance(\"redis1\", new()\n    {\n        Space = cloudfoundry_space.Dev.Id,\n        ServicePlan = redis.Apply(getServiceResult => getServiceResult.ServicePlans?.Shared_vm),\n    });\n\n    var redis1_key1 = new Cloudfoundry.ServiceKey(\"redis1-key1\", new()\n    {\n        ServiceInstance = redis1.ServiceInstanceId,\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/cloudfoundry/cloudfoundry\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tredis, err := cloudfoundry.GetService(ctx, &cloudfoundry.GetServiceArgs{\n\t\t\tName: \"p-redis\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tredis1, err := cloudfoundry.NewServiceInstance(ctx, \"redis1\", &cloudfoundry.ServiceInstanceArgs{\n\t\t\tSpace:       pulumi.Any(cloudfoundry_space.Dev.Id),\n\t\t\tServicePlan: pulumi.String(redis.ServicePlans.SharedVm),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = cloudfoundry.NewServiceKey(ctx, \"redis1-key1\", &cloudfoundry.ServiceKeyArgs{\n\t\t\tServiceInstance: redis1.ServiceInstanceId,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.cloudfoundry.CloudfoundryFunctions;\nimport com.pulumi.cloudfoundry.inputs.GetServiceArgs;\nimport com.pulumi.cloudfoundry.ServiceInstance;\nimport com.pulumi.cloudfoundry.ServiceInstanceArgs;\nimport com.pulumi.cloudfoundry.ServiceKey;\nimport com.pulumi.cloudfoundry.ServiceKeyArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var redis = CloudfoundryFunctions.getService(GetServiceArgs.builder()\n            .name(\"p-redis\")\n            .build());\n\n        var redis1 = new ServiceInstance(\"redis1\", ServiceInstanceArgs.builder()\n            .space(cloudfoundry_space.dev().id())\n            .servicePlan(redis.applyValue(getServiceResult -> getServiceResult.servicePlans().shared-vm()))\n            .build());\n\n        var redis1_key1 = new ServiceKey(\"redis1-key1\", ServiceKeyArgs.builder()\n            .serviceInstance(redis1.serviceInstanceId())\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  redis1:\n    type: cloudfoundry:ServiceInstance\n    properties:\n      space: ${cloudfoundry_space.dev.id}\n      servicePlan: ${redis.servicePlans\"shared-vm\"[%!s(MISSING)]}\n  redis1-key1:\n    type: cloudfoundry:ServiceKey\n    properties:\n      serviceInstance: ${redis1.serviceInstanceId}\nvariables:\n  redis:\n    fn::invoke:\n      function: cloudfoundry:getService\n      arguments:\n        name: p-redis\n```\n<!--End PulumiCodeChooser -->\n\n## Import\n\n### Timeouts\n\n`cloudfoundry_service_key` provides the following\n\nTimeouts configuration options:\n\n* `create` - (Default `60 seconds`) Used for Creating Instance.\n\n* `delete` - (Default `60 seconds`) Used for Destroying Instance.\n\n",
      "properties": {
        "credentials": {
          "type": "object",
          "additionalProperties": {
            "type": "string"
          },
          "description": "Credentials for this service key that can be used to bind to the associated service instance.\n",
          "secret": true
        },
        "name": {
          "type": "string",
          "description": "The name of the Service Key in Cloud Foundry.\n"
        },
        "params": {
          "type": "object",
          "additionalProperties": {
            "type": "string"
          },
          "description": "A list of key/value parameters used by the service broker to create the binding for the key. By default, no parameters are provided.\n",
          "secret": true
        },
        "paramsJson": {
          "type": "string",
          "description": "Arbitrary parameters in the form of stringified JSON object to pass to the service bind handler.\n",
          "secret": true
        },
        "serviceInstance": {
          "type": "string",
          "description": "The ID of the Service Instance the key should be associated with.\n"
        },
        "serviceKeyId": {
          "type": "string",
          "description": "The GUID of the service instance.\n"
        },
        "timeouts": {
          "$ref": "#/types/cloudfoundry:index%2FServiceKeyTimeouts:ServiceKeyTimeouts"
        }
      },
      "type": "object",
      "required": [
        "credentials",
        "name",
        "serviceInstance",
        "serviceKeyId"
      ],
      "inputProperties": {
        "name": {
          "type": "string",
          "description": "The name of the Service Key in Cloud Foundry.\n"
        },
        "params": {
          "type": "object",
          "additionalProperties": {
            "type": "string"
          },
          "description": "A list of key/value parameters used by the service broker to create the binding for the key. By default, no parameters are provided.\n",
          "secret": true
        },
        "paramsJson": {
          "type": "string",
          "description": "Arbitrary parameters in the form of stringified JSON object to pass to the service bind handler.\n",
          "secret": true
        },
        "serviceInstance": {
          "type": "string",
          "description": "The ID of the Service Instance the key should be associated with.\n"
        },
        "serviceKeyId": {
          "type": "string",
          "description": "The GUID of the service instance.\n"
        },
        "timeouts": {
          "$ref": "#/types/cloudfoundry:index%2FServiceKeyTimeouts:ServiceKeyTimeouts"
        }
      },
      "requiredInputs": [
        "serviceInstance"
      ],
      "stateInputs": {
        "description": "Input properties used for looking up and filtering ServiceKey resources.\n",
        "properties": {
          "credentials": {
            "type": "object",
            "additionalProperties": {
              "type": "string"
            },
            "description": "Credentials for this service key that can be used to bind to the associated service instance.\n",
            "secret": true
          },
          "name": {
            "type": "string",
            "description": "The name of the Service Key in Cloud Foundry.\n"
          },
          "params": {
            "type": "object",
            "additionalProperties": {
              "type": "string"
            },
            "description": "A list of key/value parameters used by the service broker to create the binding for the key. By default, no parameters are provided.\n",
            "secret": true
          },
          "paramsJson": {
            "type": "string",
            "description": "Arbitrary parameters in the form of stringified JSON object to pass to the service bind handler.\n",
            "secret": true
          },
          "serviceInstance": {
            "type": "string",
            "description": "The ID of the Service Instance the key should be associated with.\n"
          },
          "serviceKeyId": {
            "type": "string",
            "description": "The GUID of the service instance.\n"
          },
          "timeouts": {
            "$ref": "#/types/cloudfoundry:index%2FServiceKeyTimeouts:ServiceKeyTimeouts"
          }
        },
        "type": "object"
      }
    },
    "cloudfoundry:index/servicePlanAccess:ServicePlanAccess": {
      "description": "Provides a Cloud Foundry resource for managing [access](https://docs.cloudfoundry.org/services/access-control.html)\nto service plans published by Cloud Foundry [service brokers](https://docs.cloudfoundry.org/services/).\n\n> **NOTE:** Multiple instances of this resource can be used to share a given service plan with multiple orgs.\n> **NOTE:** This resource requires the provider to be authenticated with an account granted admin permissions.\n\n## Example Usage\n\nThe first example enables access to a specific plan of a given service broker to all organizations.\nThe second example gives access to a specific org.\n\n<!--Start PulumiCodeChooser -->\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as cloudfoundry from \"@pulumi/cloudfoundry\";\n\nconst org1_mysql_512mbServicePlanAccess = new cloudfoundry.ServicePlanAccess(\"org1-mysql-512mbServicePlanAccess\", {\n    plan: cloudfoundry_service_broker.mysql.service_plans[\"p-mysql/512mb\"],\n    \"public\": true,\n});\nconst org1_mysql_512mbIndex_servicePlanAccessServicePlanAccess = new cloudfoundry.ServicePlanAccess(\"org1-mysql-512mbIndex/servicePlanAccessServicePlanAccess\", {\n    plan: cloudfoundry_service_broker.mysql.service_plans[\"p-mysql/1gb\"],\n    org: cloudfoundry_org.org1.id,\n});\n```\n```python\nimport pulumi\nimport pulumi_cloudfoundry as cloudfoundry\n\norg1_mysql_512mb_service_plan_access = cloudfoundry.ServicePlanAccess(\"org1-mysql-512mbServicePlanAccess\",\n    plan=cloudfoundry_service_broker[\"mysql\"][\"service_plans\"][\"p-mysql/512mb\"],\n    public=True)\norg1_mysql_512mb_index_service_plan_access_service_plan_access = cloudfoundry.ServicePlanAccess(\"org1-mysql-512mbIndex/servicePlanAccessServicePlanAccess\",\n    plan=cloudfoundry_service_broker[\"mysql\"][\"service_plans\"][\"p-mysql/1gb\"],\n    org=cloudfoundry_org[\"org1\"][\"id\"])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Cloudfoundry = Pulumi.Cloudfoundry;\n\nreturn await Deployment.RunAsync(() => \n{\n    var org1_mysql_512mbServicePlanAccess = new Cloudfoundry.ServicePlanAccess(\"org1-mysql-512mbServicePlanAccess\", new()\n    {\n        Plan = cloudfoundry_service_broker.Mysql.Service_plans.P_mysql_512mb,\n        Public = true,\n    });\n\n    var org1_mysql_512mbIndex_servicePlanAccessServicePlanAccess = new Cloudfoundry.ServicePlanAccess(\"org1-mysql-512mbIndex/servicePlanAccessServicePlanAccess\", new()\n    {\n        Plan = cloudfoundry_service_broker.Mysql.Service_plans.P_mysql_1gb,\n        Org = cloudfoundry_org.Org1.Id,\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/cloudfoundry/cloudfoundry\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\nfunc main() {\npulumi.Run(func(ctx *pulumi.Context) error {\n_, err := cloudfoundry.NewServicePlanAccess(ctx, \"org1-mysql-512mbServicePlanAccess\", &cloudfoundry.ServicePlanAccessArgs{\nPlan: pulumi.Any(cloudfoundry_service_broker.Mysql.Service_plans.PMysql/512mb),\nPublic: pulumi.Bool(true),\n})\nif err != nil {\nreturn err\n}\n_, err = cloudfoundry.NewServicePlanAccess(ctx, \"org1-mysql-512mbIndex/servicePlanAccessServicePlanAccess\", &cloudfoundry.ServicePlanAccessArgs{\nPlan: pulumi.Any(cloudfoundry_service_broker.Mysql.Service_plans.PMysql/1gb),\nOrg: pulumi.Any(cloudfoundry_org.Org1.Id),\n})\nif err != nil {\nreturn err\n}\nreturn nil\n})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.cloudfoundry.ServicePlanAccess;\nimport com.pulumi.cloudfoundry.ServicePlanAccessArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var org1_mysql_512mbServicePlanAccess = new ServicePlanAccess(\"org1-mysql-512mbServicePlanAccess\", ServicePlanAccessArgs.builder()\n            .plan(cloudfoundry_service_broker.mysql().service_plans().p-mysql/512mb())\n            .public_(true)\n            .build());\n\n        var org1_mysql_512mbIndex_servicePlanAccessServicePlanAccess = new ServicePlanAccess(\"org1-mysql-512mbIndex/servicePlanAccessServicePlanAccess\", ServicePlanAccessArgs.builder()\n            .plan(cloudfoundry_service_broker.mysql().service_plans().p-mysql/1gb())\n            .org(cloudfoundry_org.org1().id())\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  org1-mysql-512mbServicePlanAccess:\n    type: cloudfoundry:ServicePlanAccess\n    properties:\n      plan: ${cloudfoundry_service_broker.mysql.service_plans\"p-mysql/512mb\"[%!s(MISSING)]}\n      public: true\n  org1-mysql-512mbIndex/servicePlanAccessServicePlanAccess:\n    type: cloudfoundry:ServicePlanAccess\n    properties:\n      plan: ${cloudfoundry_service_broker.mysql.service_plans\"p-mysql/1gb\"[%!s(MISSING)]}\n      org: ${cloudfoundry_org.org1.id}\n```\n<!--End PulumiCodeChooser -->\n\n## Import\n\nThe current Service Access can be imported using an `id`.\n\nIf given `id` matches existing [`service_plan_visibilities`](https://apidocs.cloudfoundry.org/280/service_plan_visibilities/list_all_service_plan_visibilities.html),\n\nresource will be imported as a `service_plan_access` targeting an organization.\n\nIf the given `id` matches [a service plan id](http://apidocs.cloudfoundry.org/280/service_plans/updating_a_service_plan.html),\n\nthen the resource will be imported as `service_plan_access` controlling plan's public state.\n\nOtherwise, the import would fail.\n\nE.g.\n\nbash\n\n```sh\n$ pulumi import cloudfoundry:index/servicePlanAccess:ServicePlanAccess org1-mysql-512mb a-guid\n```\n\n",
      "properties": {
        "org": {
          "type": "string",
          "description": "The ID of the Org which should have access to the plan. Conflicts with `public`.\n"
        },
        "plan": {
          "type": "string",
          "description": "The ID of the service plan to grant access to\n"
        },
        "public": {
          "type": "boolean",
          "description": "Boolean that controls the public state of the plan. Conflicts with `org`.\n\nWhen neither `org` and `public` are given, the resource sets plan's public visibility to false at global level.\n"
        },
        "servicePlanAccessId": {
          "type": "string"
        }
      },
      "type": "object",
      "required": [
        "plan",
        "servicePlanAccessId"
      ],
      "inputProperties": {
        "org": {
          "type": "string",
          "description": "The ID of the Org which should have access to the plan. Conflicts with `public`.\n"
        },
        "plan": {
          "type": "string",
          "description": "The ID of the service plan to grant access to\n"
        },
        "public": {
          "type": "boolean",
          "description": "Boolean that controls the public state of the plan. Conflicts with `org`.\n\nWhen neither `org` and `public` are given, the resource sets plan's public visibility to false at global level.\n"
        },
        "servicePlanAccessId": {
          "type": "string"
        }
      },
      "requiredInputs": [
        "plan"
      ],
      "stateInputs": {
        "description": "Input properties used for looking up and filtering ServicePlanAccess resources.\n",
        "properties": {
          "org": {
            "type": "string",
            "description": "The ID of the Org which should have access to the plan. Conflicts with `public`.\n"
          },
          "plan": {
            "type": "string",
            "description": "The ID of the service plan to grant access to\n"
          },
          "public": {
            "type": "boolean",
            "description": "Boolean that controls the public state of the plan. Conflicts with `org`.\n\nWhen neither `org` and `public` are given, the resource sets plan's public visibility to false at global level.\n"
          },
          "servicePlanAccessId": {
            "type": "string"
          }
        },
        "type": "object"
      }
    },
    "cloudfoundry:index/space:Space": {
      "description": "Provides a Cloud Foundry resource for managing Cloud Foundry [spaces](https://docs.cloudfoundry.org/concepts/roles.html) within organizations.\n\n> **NOTE:** This resource requires the provider to be authenticated with an account granted org manager permissions.\n> **NOTE:** Only modify users managed in the resource, and ignore any existing other users provisioned elsewhere.\n\n## Example Usage\n\nThe following is a Space created within the referenced Org. All referenced users must have been added as a member to the owning Org (see [related CF doc](https://docs.cloudfoundry.org/concepts/roles.html#users) for additional context)\n\n<!--Start PulumiCodeChooser -->\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as cloudfoundry from \"@pulumi/cloudfoundry\";\n\nconst s1 = new cloudfoundry.Space(\"s1\", {\n    org: cloudfoundry_org.o1.id,\n    quota: cloudfoundry_quota.dev.id,\n    asgs: [cloudfoundry_asg.svc.id],\n    allowSsh: true,\n});\n```\n```python\nimport pulumi\nimport pulumi_cloudfoundry as cloudfoundry\n\ns1 = cloudfoundry.Space(\"s1\",\n    org=cloudfoundry_org[\"o1\"][\"id\"],\n    quota=cloudfoundry_quota[\"dev\"][\"id\"],\n    asgs=[cloudfoundry_asg[\"svc\"][\"id\"]],\n    allow_ssh=True)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Cloudfoundry = Pulumi.Cloudfoundry;\n\nreturn await Deployment.RunAsync(() => \n{\n    var s1 = new Cloudfoundry.Space(\"s1\", new()\n    {\n        Org = cloudfoundry_org.O1.Id,\n        Quota = cloudfoundry_quota.Dev.Id,\n        Asgs = new[]\n        {\n            cloudfoundry_asg.Svc.Id,\n        },\n        AllowSsh = true,\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/cloudfoundry/cloudfoundry\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := cloudfoundry.NewSpace(ctx, \"s1\", &cloudfoundry.SpaceArgs{\n\t\t\tOrg:   pulumi.Any(cloudfoundry_org.O1.Id),\n\t\t\tQuota: pulumi.Any(cloudfoundry_quota.Dev.Id),\n\t\t\tAsgs: pulumi.StringArray{\n\t\t\t\tcloudfoundry_asg.Svc.Id,\n\t\t\t},\n\t\t\tAllowSsh: pulumi.Bool(true),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.cloudfoundry.Space;\nimport com.pulumi.cloudfoundry.SpaceArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var s1 = new Space(\"s1\", SpaceArgs.builder()\n            .org(cloudfoundry_org.o1().id())\n            .quota(cloudfoundry_quota.dev().id())\n            .asgs(cloudfoundry_asg.svc().id())\n            .allowSsh(true)\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  s1:\n    type: cloudfoundry:Space\n    properties:\n      org: ${cloudfoundry_org.o1.id}\n      quota: ${cloudfoundry_quota.dev.id}\n      asgs:\n        - ${cloudfoundry_asg.svc.id}\n      allowSsh: true\n```\n<!--End PulumiCodeChooser -->\n\n## Import\n\nAn existing Space can be imported using its guid, e.g.\n\nbash\n\n```sh\n$ pulumi import cloudfoundry:index/space:Space s1 a-guid\n```\n\n",
      "properties": {
        "allowSsh": {
          "type": "boolean",
          "description": "Allows SSH to application containers via the [CF CLI](https://github.com/cloudfoundry/cli). Defaults to true.\n"
        },
        "annotations": {
          "type": "object",
          "additionalProperties": {
            "type": "string"
          },
          "description": "Add annotations as described [here](https://docs.cloudfoundry.org/adminguide/metadata.html#-view-metadata-for-an-object).\nWorks only on cloud foundry with api >= v3.63.\n"
        },
        "asgs": {
          "type": "array",
          "items": {
            "type": "string"
          },
          "description": "List of running [application security groups](https://www.terraform.io/docs/providers/cloudfoundry/r/asg.html) to apply to applications running within this space. Defaults to empty list.\n"
        },
        "auditors": {
          "type": "array",
          "items": {
            "type": "string"
          },
          "deprecationMessage": "Deprecated"
        },
        "deleteRecursiveAllowed": {
          "type": "boolean",
          "description": "Allow recursive delete of apps, routes and service instances within the space. Default: `true`.\n"
        },
        "developers": {
          "type": "array",
          "items": {
            "type": "string"
          },
          "deprecationMessage": "Deprecated"
        },
        "isolationSegment": {
          "type": "string",
          "description": "The ID of the isolation segment to assign to the space. The segment must be entitled to the space's parent organization. If the isolation segment id is unspecified, then Cloud Foundry assigns the space to the org’s default isolation segment if any. Note that existing apps in the space will not run in a newly assigned isolation segment until they are restarted.\n"
        },
        "labels": {
          "type": "object",
          "additionalProperties": {
            "type": "string"
          },
          "description": "Add labels as described [here](https://docs.cloudfoundry.org/adminguide/metadata.html#-view-metadata-for-an-object).\nWorks only on cloud foundry with api >= v3.63.\n"
        },
        "managers": {
          "type": "array",
          "items": {
            "type": "string"
          },
          "deprecationMessage": "Deprecated"
        },
        "name": {
          "type": "string",
          "description": "The name of the Space in Cloud Foundry.\n"
        },
        "org": {
          "type": "string",
          "description": "The ID of the [Org](https://www.terraform.io/docs/providers/cloudfoundry/r/org.html) within which to create the space.\n"
        },
        "quota": {
          "type": "string",
          "description": "The ID of the Space [quota](https://www.terraform.io/docs/providers/cloudfoundry/r/space_quota.html) or plan defined for the owning Org. Specifying an empty string requests unassigns any space quota from the space. Defaults to empty string.\n"
        },
        "spaceId": {
          "type": "string",
          "description": "The GUID of the Space\n"
        },
        "stagingAsgs": {
          "type": "array",
          "items": {
            "type": "string"
          },
          "description": "List of staging [application security groups](https://www.terraform.io/docs/providers/cloudfoundry/r/asg.html) to apply to applications being staged for this space. Defaults to empty list.\n"
        }
      },
      "type": "object",
      "required": [
        "allowSsh",
        "auditors",
        "developers",
        "managers",
        "name",
        "org",
        "spaceId"
      ],
      "inputProperties": {
        "allowSsh": {
          "type": "boolean",
          "description": "Allows SSH to application containers via the [CF CLI](https://github.com/cloudfoundry/cli). Defaults to true.\n"
        },
        "annotations": {
          "type": "object",
          "additionalProperties": {
            "type": "string"
          },
          "description": "Add annotations as described [here](https://docs.cloudfoundry.org/adminguide/metadata.html#-view-metadata-for-an-object).\nWorks only on cloud foundry with api >= v3.63.\n"
        },
        "asgs": {
          "type": "array",
          "items": {
            "type": "string"
          },
          "description": "List of running [application security groups](https://www.terraform.io/docs/providers/cloudfoundry/r/asg.html) to apply to applications running within this space. Defaults to empty list.\n"
        },
        "auditors": {
          "type": "array",
          "items": {
            "type": "string"
          },
          "deprecationMessage": "Deprecated"
        },
        "deleteRecursiveAllowed": {
          "type": "boolean",
          "description": "Allow recursive delete of apps, routes and service instances within the space. Default: `true`.\n"
        },
        "developers": {
          "type": "array",
          "items": {
            "type": "string"
          },
          "deprecationMessage": "Deprecated"
        },
        "isolationSegment": {
          "type": "string",
          "description": "The ID of the isolation segment to assign to the space. The segment must be entitled to the space's parent organization. If the isolation segment id is unspecified, then Cloud Foundry assigns the space to the org’s default isolation segment if any. Note that existing apps in the space will not run in a newly assigned isolation segment until they are restarted.\n"
        },
        "labels": {
          "type": "object",
          "additionalProperties": {
            "type": "string"
          },
          "description": "Add labels as described [here](https://docs.cloudfoundry.org/adminguide/metadata.html#-view-metadata-for-an-object).\nWorks only on cloud foundry with api >= v3.63.\n"
        },
        "managers": {
          "type": "array",
          "items": {
            "type": "string"
          },
          "deprecationMessage": "Deprecated"
        },
        "name": {
          "type": "string",
          "description": "The name of the Space in Cloud Foundry.\n"
        },
        "org": {
          "type": "string",
          "description": "The ID of the [Org](https://www.terraform.io/docs/providers/cloudfoundry/r/org.html) within which to create the space.\n"
        },
        "quota": {
          "type": "string",
          "description": "The ID of the Space [quota](https://www.terraform.io/docs/providers/cloudfoundry/r/space_quota.html) or plan defined for the owning Org. Specifying an empty string requests unassigns any space quota from the space. Defaults to empty string.\n"
        },
        "spaceId": {
          "type": "string",
          "description": "The GUID of the Space\n"
        },
        "stagingAsgs": {
          "type": "array",
          "items": {
            "type": "string"
          },
          "description": "List of staging [application security groups](https://www.terraform.io/docs/providers/cloudfoundry/r/asg.html) to apply to applications being staged for this space. Defaults to empty list.\n"
        }
      },
      "requiredInputs": [
        "org"
      ],
      "stateInputs": {
        "description": "Input properties used for looking up and filtering Space resources.\n",
        "properties": {
          "allowSsh": {
            "type": "boolean",
            "description": "Allows SSH to application containers via the [CF CLI](https://github.com/cloudfoundry/cli). Defaults to true.\n"
          },
          "annotations": {
            "type": "object",
            "additionalProperties": {
              "type": "string"
            },
            "description": "Add annotations as described [here](https://docs.cloudfoundry.org/adminguide/metadata.html#-view-metadata-for-an-object).\nWorks only on cloud foundry with api >= v3.63.\n"
          },
          "asgs": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "description": "List of running [application security groups](https://www.terraform.io/docs/providers/cloudfoundry/r/asg.html) to apply to applications running within this space. Defaults to empty list.\n"
          },
          "auditors": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "deprecationMessage": "Deprecated"
          },
          "deleteRecursiveAllowed": {
            "type": "boolean",
            "description": "Allow recursive delete of apps, routes and service instances within the space. Default: `true`.\n"
          },
          "developers": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "deprecationMessage": "Deprecated"
          },
          "isolationSegment": {
            "type": "string",
            "description": "The ID of the isolation segment to assign to the space. The segment must be entitled to the space's parent organization. If the isolation segment id is unspecified, then Cloud Foundry assigns the space to the org’s default isolation segment if any. Note that existing apps in the space will not run in a newly assigned isolation segment until they are restarted.\n"
          },
          "labels": {
            "type": "object",
            "additionalProperties": {
              "type": "string"
            },
            "description": "Add labels as described [here](https://docs.cloudfoundry.org/adminguide/metadata.html#-view-metadata-for-an-object).\nWorks only on cloud foundry with api >= v3.63.\n"
          },
          "managers": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "deprecationMessage": "Deprecated"
          },
          "name": {
            "type": "string",
            "description": "The name of the Space in Cloud Foundry.\n"
          },
          "org": {
            "type": "string",
            "description": "The ID of the [Org](https://www.terraform.io/docs/providers/cloudfoundry/r/org.html) within which to create the space.\n"
          },
          "quota": {
            "type": "string",
            "description": "The ID of the Space [quota](https://www.terraform.io/docs/providers/cloudfoundry/r/space_quota.html) or plan defined for the owning Org. Specifying an empty string requests unassigns any space quota from the space. Defaults to empty string.\n"
          },
          "spaceId": {
            "type": "string",
            "description": "The GUID of the Space\n"
          },
          "stagingAsgs": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "description": "List of staging [application security groups](https://www.terraform.io/docs/providers/cloudfoundry/r/asg.html) to apply to applications being staged for this space. Defaults to empty list.\n"
          }
        },
        "type": "object"
      }
    },
    "cloudfoundry:index/spaceAsgs:SpaceAsgs": {
      "description": "## Example Usage\n\nThe following example assigns one asg1 for running and asg2 for staging to space1. All resources like asg1, asg2 and space1 need to be declared and created before.\n\n<!--Start PulumiCodeChooser -->\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as cloudfoundry from \"@pulumi/cloudfoundry\";\n\nconst spaceasgs1 = new cloudfoundry.SpaceAsgs(\"spaceasgs1\", {\n    space: cloudfoundry_space.space1.id,\n    runningAsgs: [cloudfoundry_asg.asg1.id],\n    stagingAsgs: [cloudfoundry_asg.asg2.id],\n});\n```\n```python\nimport pulumi\nimport pulumi_cloudfoundry as cloudfoundry\n\nspaceasgs1 = cloudfoundry.SpaceAsgs(\"spaceasgs1\",\n    space=cloudfoundry_space[\"space1\"][\"id\"],\n    running_asgs=[cloudfoundry_asg[\"asg1\"][\"id\"]],\n    staging_asgs=[cloudfoundry_asg[\"asg2\"][\"id\"]])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Cloudfoundry = Pulumi.Cloudfoundry;\n\nreturn await Deployment.RunAsync(() => \n{\n    var spaceasgs1 = new Cloudfoundry.SpaceAsgs(\"spaceasgs1\", new()\n    {\n        Space = cloudfoundry_space.Space1.Id,\n        RunningAsgs = new[]\n        {\n            cloudfoundry_asg.Asg1.Id,\n        },\n        StagingAsgs = new[]\n        {\n            cloudfoundry_asg.Asg2.Id,\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/cloudfoundry/cloudfoundry\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := cloudfoundry.NewSpaceAsgs(ctx, \"spaceasgs1\", &cloudfoundry.SpaceAsgsArgs{\n\t\t\tSpace: pulumi.Any(cloudfoundry_space.Space1.Id),\n\t\t\tRunningAsgs: pulumi.StringArray{\n\t\t\t\tcloudfoundry_asg.Asg1.Id,\n\t\t\t},\n\t\t\tStagingAsgs: pulumi.StringArray{\n\t\t\t\tcloudfoundry_asg.Asg2.Id,\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.cloudfoundry.SpaceAsgs;\nimport com.pulumi.cloudfoundry.SpaceAsgsArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var spaceasgs1 = new SpaceAsgs(\"spaceasgs1\", SpaceAsgsArgs.builder()\n            .space(cloudfoundry_space.space1().id())\n            .runningAsgs(cloudfoundry_asg.asg1().id())\n            .stagingAsgs(cloudfoundry_asg.asg2().id())\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  spaceasgs1:\n    type: cloudfoundry:SpaceAsgs\n    properties:\n      space: ${cloudfoundry_space.space1.id}\n      runningAsgs:\n        - ${cloudfoundry_asg.asg1.id}\n      stagingAsgs:\n        - ${cloudfoundry_asg.asg2.id}\n```\n<!--End PulumiCodeChooser -->\n",
      "properties": {
        "runningAsgs": {
          "type": "array",
          "items": {
            "type": "string"
          },
          "description": "List of running [application security groups](https://www.terraform.io/docs/providers/cloudfoundry/r/asg.html) to apply to applications running within this space. Defaults to empty list.\n"
        },
        "space": {
          "type": "string",
          "description": "The guid of the target space.\n"
        },
        "spaceAsgsId": {
          "type": "string"
        },
        "stagingAsgs": {
          "type": "array",
          "items": {
            "type": "string"
          },
          "description": "List of staging [application security groups](https://www.terraform.io/docs/providers/cloudfoundry/r/asg.html) to apply to applications being staged for this space. Defaults to empty list.\n"
        }
      },
      "type": "object",
      "required": [
        "runningAsgs",
        "space",
        "spaceAsgsId",
        "stagingAsgs"
      ],
      "inputProperties": {
        "runningAsgs": {
          "type": "array",
          "items": {
            "type": "string"
          },
          "description": "List of running [application security groups](https://www.terraform.io/docs/providers/cloudfoundry/r/asg.html) to apply to applications running within this space. Defaults to empty list.\n"
        },
        "space": {
          "type": "string",
          "description": "The guid of the target space.\n"
        },
        "spaceAsgsId": {
          "type": "string"
        },
        "stagingAsgs": {
          "type": "array",
          "items": {
            "type": "string"
          },
          "description": "List of staging [application security groups](https://www.terraform.io/docs/providers/cloudfoundry/r/asg.html) to apply to applications being staged for this space. Defaults to empty list.\n"
        }
      },
      "requiredInputs": [
        "space"
      ],
      "stateInputs": {
        "description": "Input properties used for looking up and filtering SpaceAsgs resources.\n",
        "properties": {
          "runningAsgs": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "description": "List of running [application security groups](https://www.terraform.io/docs/providers/cloudfoundry/r/asg.html) to apply to applications running within this space. Defaults to empty list.\n"
          },
          "space": {
            "type": "string",
            "description": "The guid of the target space.\n"
          },
          "spaceAsgsId": {
            "type": "string"
          },
          "stagingAsgs": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "description": "List of staging [application security groups](https://www.terraform.io/docs/providers/cloudfoundry/r/asg.html) to apply to applications being staged for this space. Defaults to empty list.\n"
          }
        },
        "type": "object"
      }
    },
    "cloudfoundry:index/spaceQuota:SpaceQuota": {
      "description": "Provides a Cloud Foundry resource to manage space [quotas](https://docs.cloudfoundry.org/adminguide/quota-plans.html) definitions.\n\n> **NOTE:** This resource requires the provider to be authenticated with an account granted admin permissions.\n\n## Example Usage\n\nThe following example creates a space quota that can be then applied to one or more space.\n\n<!--Start PulumiCodeChooser -->\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as cloudfoundry from \"@pulumi/cloudfoundry\";\n\nconst _10g = new cloudfoundry.SpaceQuota(\"10g\", {\n    allowPaidServicePlans: false,\n    instanceMemory: 512,\n    totalMemory: 10240,\n    totalAppInstances: 10,\n    totalRoutes: 5,\n    totalServices: 20,\n    org: cloudfoundry_org.myorg.id,\n});\n```\n```python\nimport pulumi\nimport pulumi_cloudfoundry as cloudfoundry\n\n_10g = cloudfoundry.SpaceQuota(\"10g\",\n    allow_paid_service_plans=False,\n    instance_memory=512,\n    total_memory=10240,\n    total_app_instances=10,\n    total_routes=5,\n    total_services=20,\n    org=cloudfoundry_org[\"myorg\"][\"id\"])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Cloudfoundry = Pulumi.Cloudfoundry;\n\nreturn await Deployment.RunAsync(() => \n{\n    var _10g = new Cloudfoundry.SpaceQuota(\"10g\", new()\n    {\n        AllowPaidServicePlans = false,\n        InstanceMemory = 512,\n        TotalMemory = 10240,\n        TotalAppInstances = 10,\n        TotalRoutes = 5,\n        TotalServices = 20,\n        Org = cloudfoundry_org.Myorg.Id,\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/cloudfoundry/cloudfoundry\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := cloudfoundry.NewSpaceQuota(ctx, \"10g\", &cloudfoundry.SpaceQuotaArgs{\n\t\t\tAllowPaidServicePlans: pulumi.Bool(false),\n\t\t\tInstanceMemory:        pulumi.Float64(512),\n\t\t\tTotalMemory:           pulumi.Float64(10240),\n\t\t\tTotalAppInstances:     pulumi.Float64(10),\n\t\t\tTotalRoutes:           pulumi.Float64(5),\n\t\t\tTotalServices:         pulumi.Float64(20),\n\t\t\tOrg:                   pulumi.Any(cloudfoundry_org.Myorg.Id),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.cloudfoundry.SpaceQuota;\nimport com.pulumi.cloudfoundry.SpaceQuotaArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var _10g = new SpaceQuota(\"10g\", SpaceQuotaArgs.builder()\n            .allowPaidServicePlans(false)\n            .instanceMemory(512)\n            .totalMemory(10240)\n            .totalAppInstances(10)\n            .totalRoutes(5)\n            .totalServices(20)\n            .org(cloudfoundry_org.myorg().id())\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  10g:\n    type: cloudfoundry:SpaceQuota\n    properties:\n      allowPaidServicePlans: false\n      instanceMemory: 512\n      totalMemory: 10240\n      totalAppInstances: 10\n      totalRoutes: 5\n      totalServices: 20\n      org: ${cloudfoundry_org.myorg.id}\n```\n<!--End PulumiCodeChooser -->\n\n## Import\n\nAn existing space Quota can be imported using its guid, e.g.\n\nbash\n\n```sh\n$ pulumi import cloudfoundry:index/spaceQuota:SpaceQuota 10g a-guid\n```\n\n",
      "properties": {
        "allowPaidServicePlans": {
          "type": "boolean",
          "description": "Determines whether users can provision instances of non-free service plans. Does not control plan visibility. When false, non-free service plans may be visible in the marketplace but instances can not be provisioned.\n"
        },
        "instanceMemory": {
          "type": "number",
          "description": "Maximum memory per application instance\n"
        },
        "name": {
          "type": "string",
          "description": "The name you use to identify the quota or plan in Cloud Foundry\n"
        },
        "org": {
          "type": "string"
        },
        "spaceQuotaId": {
          "type": "string",
          "description": "The GUID of the quota\n"
        },
        "totalAppInstances": {
          "type": "number",
          "description": "Maximum app instances allowed\n"
        },
        "totalAppTasks": {
          "type": "number"
        },
        "totalMemory": {
          "type": "number",
          "description": "Maximum memory usage allowed\n"
        },
        "totalRoutePorts": {
          "type": "number",
          "description": "Maximum routes with reserved ports\n"
        },
        "totalRoutes": {
          "type": "number",
          "description": "Maximum routes allowed\n"
        },
        "totalServiceKeys": {
          "type": "number"
        },
        "totalServices": {
          "type": "number",
          "description": "Maximum services allowed\n"
        }
      },
      "type": "object",
      "required": [
        "allowPaidServicePlans",
        "name",
        "org",
        "spaceQuotaId",
        "totalMemory",
        "totalRoutes",
        "totalServices"
      ],
      "inputProperties": {
        "allowPaidServicePlans": {
          "type": "boolean",
          "description": "Determines whether users can provision instances of non-free service plans. Does not control plan visibility. When false, non-free service plans may be visible in the marketplace but instances can not be provisioned.\n"
        },
        "instanceMemory": {
          "type": "number",
          "description": "Maximum memory per application instance\n"
        },
        "name": {
          "type": "string",
          "description": "The name you use to identify the quota or plan in Cloud Foundry\n"
        },
        "org": {
          "type": "string"
        },
        "spaceQuotaId": {
          "type": "string",
          "description": "The GUID of the quota\n"
        },
        "totalAppInstances": {
          "type": "number",
          "description": "Maximum app instances allowed\n"
        },
        "totalAppTasks": {
          "type": "number"
        },
        "totalMemory": {
          "type": "number",
          "description": "Maximum memory usage allowed\n"
        },
        "totalRoutePorts": {
          "type": "number",
          "description": "Maximum routes with reserved ports\n"
        },
        "totalRoutes": {
          "type": "number",
          "description": "Maximum routes allowed\n"
        },
        "totalServiceKeys": {
          "type": "number"
        },
        "totalServices": {
          "type": "number",
          "description": "Maximum services allowed\n"
        }
      },
      "requiredInputs": [
        "allowPaidServicePlans",
        "org",
        "totalMemory",
        "totalRoutes",
        "totalServices"
      ],
      "stateInputs": {
        "description": "Input properties used for looking up and filtering SpaceQuota resources.\n",
        "properties": {
          "allowPaidServicePlans": {
            "type": "boolean",
            "description": "Determines whether users can provision instances of non-free service plans. Does not control plan visibility. When false, non-free service plans may be visible in the marketplace but instances can not be provisioned.\n"
          },
          "instanceMemory": {
            "type": "number",
            "description": "Maximum memory per application instance\n"
          },
          "name": {
            "type": "string",
            "description": "The name you use to identify the quota or plan in Cloud Foundry\n"
          },
          "org": {
            "type": "string"
          },
          "spaceQuotaId": {
            "type": "string",
            "description": "The GUID of the quota\n"
          },
          "totalAppInstances": {
            "type": "number",
            "description": "Maximum app instances allowed\n"
          },
          "totalAppTasks": {
            "type": "number"
          },
          "totalMemory": {
            "type": "number",
            "description": "Maximum memory usage allowed\n"
          },
          "totalRoutePorts": {
            "type": "number",
            "description": "Maximum routes with reserved ports\n"
          },
          "totalRoutes": {
            "type": "number",
            "description": "Maximum routes allowed\n"
          },
          "totalServiceKeys": {
            "type": "number"
          },
          "totalServices": {
            "type": "number",
            "description": "Maximum services allowed\n"
          }
        },
        "type": "object"
      }
    },
    "cloudfoundry:index/spaceUsers:SpaceUsers": {
      "description": "Provides a Cloud Foundry resource for managing Cloud Foundry [space](https://docs.cloudfoundry.org/concepts/roles.html)\nmembers.\n\n> **NOTE:** This resource requires the provider to be authenticated with an account granted at least with `OrgManager`\npermission.\n> **NOTE:** Only modify users managed in the resource, and ignore any existing other users provisioned elsewhere if not\nusing `force` attribute.\n\n## Example Usage\n\nThe following example creates an org with a specific org-wide quota.\n\n<!--Start PulumiCodeChooser -->\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as cloudfoundry from \"@pulumi/cloudfoundry\";\n\nconst su1 = new cloudfoundry.SpaceUsers(\"su1\", {\n    space: \"space-id\",\n    managers: [\n        data.cloudfoundry_user.tl.id,\n        \"username\",\n    ],\n    developers: [\n        data.cloudfoundry_user.tl.id,\n        data.cloudfoundry_user.dev1.id,\n        data.cloudfoundry_user.dev2.id,\n        \"username\",\n    ],\n    auditors: [\n        data.cloudfoundry_user.adr.id,\n        data.cloudfoundry_user.dev3.id,\n        \"username\",\n    ],\n});\n```\n```python\nimport pulumi\nimport pulumi_cloudfoundry as cloudfoundry\n\nsu1 = cloudfoundry.SpaceUsers(\"su1\",\n    space=\"space-id\",\n    managers=[\n        data[\"cloudfoundry_user\"][\"tl\"][\"id\"],\n        \"username\",\n    ],\n    developers=[\n        data[\"cloudfoundry_user\"][\"tl\"][\"id\"],\n        data[\"cloudfoundry_user\"][\"dev1\"][\"id\"],\n        data[\"cloudfoundry_user\"][\"dev2\"][\"id\"],\n        \"username\",\n    ],\n    auditors=[\n        data[\"cloudfoundry_user\"][\"adr\"][\"id\"],\n        data[\"cloudfoundry_user\"][\"dev3\"][\"id\"],\n        \"username\",\n    ])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Cloudfoundry = Pulumi.Cloudfoundry;\n\nreturn await Deployment.RunAsync(() => \n{\n    var su1 = new Cloudfoundry.SpaceUsers(\"su1\", new()\n    {\n        Space = \"space-id\",\n        Managers = new[]\n        {\n            data.Cloudfoundry_user.Tl.Id,\n            \"username\",\n        },\n        Developers = new[]\n        {\n            data.Cloudfoundry_user.Tl.Id,\n            data.Cloudfoundry_user.Dev1.Id,\n            data.Cloudfoundry_user.Dev2.Id,\n            \"username\",\n        },\n        Auditors = new[]\n        {\n            data.Cloudfoundry_user.Adr.Id,\n            data.Cloudfoundry_user.Dev3.Id,\n            \"username\",\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/cloudfoundry/cloudfoundry\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := cloudfoundry.NewSpaceUsers(ctx, \"su1\", &cloudfoundry.SpaceUsersArgs{\n\t\t\tSpace: pulumi.String(\"space-id\"),\n\t\t\tManagers: pulumi.StringArray{\n\t\t\t\tdata.Cloudfoundry_user.Tl.Id,\n\t\t\t\tpulumi.String(\"username\"),\n\t\t\t},\n\t\t\tDevelopers: pulumi.StringArray{\n\t\t\t\tdata.Cloudfoundry_user.Tl.Id,\n\t\t\t\tdata.Cloudfoundry_user.Dev1.Id,\n\t\t\t\tdata.Cloudfoundry_user.Dev2.Id,\n\t\t\t\tpulumi.String(\"username\"),\n\t\t\t},\n\t\t\tAuditors: pulumi.StringArray{\n\t\t\t\tdata.Cloudfoundry_user.Adr.Id,\n\t\t\t\tdata.Cloudfoundry_user.Dev3.Id,\n\t\t\t\tpulumi.String(\"username\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.cloudfoundry.SpaceUsers;\nimport com.pulumi.cloudfoundry.SpaceUsersArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var su1 = new SpaceUsers(\"su1\", SpaceUsersArgs.builder()\n            .space(\"space-id\")\n            .managers(            \n                data.cloudfoundry_user().tl().id(),\n                \"username\")\n            .developers(            \n                data.cloudfoundry_user().tl().id(),\n                data.cloudfoundry_user().dev1().id(),\n                data.cloudfoundry_user().dev2().id(),\n                \"username\")\n            .auditors(            \n                data.cloudfoundry_user().adr().id(),\n                data.cloudfoundry_user().dev3().id(),\n                \"username\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  su1:\n    type: cloudfoundry:SpaceUsers\n    properties:\n      space: space-id\n      managers:\n        - ${data.cloudfoundry_user.tl.id}\n        - username\n      developers:\n        - ${data.cloudfoundry_user.tl.id}\n        - ${data.cloudfoundry_user.dev1.id}\n        - ${data.cloudfoundry_user.dev2.id}\n        - username\n      auditors:\n        - ${data.cloudfoundry_user.adr.id}\n        - ${data.cloudfoundry_user.dev3.id}\n        - username\n```\n<!--End PulumiCodeChooser -->\n\n## Import\n\nAn existing Users list can be imported using its space guid, e.g.\n\nbash\n\n```sh\n$ pulumi import cloudfoundry:index/spaceUsers:SpaceUsers su1 space-guid\n```\n\n",
      "properties": {
        "auditors": {
          "type": "array",
          "items": {
            "type": "string"
          },
          "description": "List of users to\nassign [SpaceAuditor](https://docs.cloudfoundry.org/concepts/roles.html#roles) role to. Defaults to empty list.\n"
        },
        "developers": {
          "type": "array",
          "items": {
            "type": "string"
          },
          "description": "List of users to\nassign [SpaceDeveloper](https://docs.cloudfoundry.org/concepts/roles.html#roles) role to. Defaults to empty list.\n"
        },
        "force": {
          "type": "boolean",
          "description": "Set to true to enforce that users defined here will be only theses users defined (remove\nusers roles from external modification).\n\n> **NOTE:** User can be either an uua guid or a username as cloud foundry treat them both as valid identifier\n"
        },
        "managers": {
          "type": "array",
          "items": {
            "type": "string"
          },
          "description": "List of users to\nassign [SpaceManager](https://docs.cloudfoundry.org/concepts/roles.html#roles) role to. Defaults to empty list.\n"
        },
        "space": {
          "type": "string",
          "description": "Space associated guid.\n"
        },
        "spaceUsersId": {
          "type": "string"
        }
      },
      "type": "object",
      "required": [
        "auditors",
        "developers",
        "managers",
        "space",
        "spaceUsersId"
      ],
      "inputProperties": {
        "auditors": {
          "type": "array",
          "items": {
            "type": "string"
          },
          "description": "List of users to\nassign [SpaceAuditor](https://docs.cloudfoundry.org/concepts/roles.html#roles) role to. Defaults to empty list.\n"
        },
        "developers": {
          "type": "array",
          "items": {
            "type": "string"
          },
          "description": "List of users to\nassign [SpaceDeveloper](https://docs.cloudfoundry.org/concepts/roles.html#roles) role to. Defaults to empty list.\n"
        },
        "force": {
          "type": "boolean",
          "description": "Set to true to enforce that users defined here will be only theses users defined (remove\nusers roles from external modification).\n\n> **NOTE:** User can be either an uua guid or a username as cloud foundry treat them both as valid identifier\n"
        },
        "managers": {
          "type": "array",
          "items": {
            "type": "string"
          },
          "description": "List of users to\nassign [SpaceManager](https://docs.cloudfoundry.org/concepts/roles.html#roles) role to. Defaults to empty list.\n"
        },
        "space": {
          "type": "string",
          "description": "Space associated guid.\n"
        },
        "spaceUsersId": {
          "type": "string"
        }
      },
      "requiredInputs": [
        "space"
      ],
      "stateInputs": {
        "description": "Input properties used for looking up and filtering SpaceUsers resources.\n",
        "properties": {
          "auditors": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "description": "List of users to\nassign [SpaceAuditor](https://docs.cloudfoundry.org/concepts/roles.html#roles) role to. Defaults to empty list.\n"
          },
          "developers": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "description": "List of users to\nassign [SpaceDeveloper](https://docs.cloudfoundry.org/concepts/roles.html#roles) role to. Defaults to empty list.\n"
          },
          "force": {
            "type": "boolean",
            "description": "Set to true to enforce that users defined here will be only theses users defined (remove\nusers roles from external modification).\n\n> **NOTE:** User can be either an uua guid or a username as cloud foundry treat them both as valid identifier\n"
          },
          "managers": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "description": "List of users to\nassign [SpaceManager](https://docs.cloudfoundry.org/concepts/roles.html#roles) role to. Defaults to empty list.\n"
          },
          "space": {
            "type": "string",
            "description": "Space associated guid.\n"
          },
          "spaceUsersId": {
            "type": "string"
          }
        },
        "type": "object"
      }
    },
    "cloudfoundry:index/user:User": {
      "description": "Provides a Cloud Foundry resource for registering users. This resource provides extended\nfunctionality to attach additional UAA roles to the user.\n\n> **NOTE:** This resource requires the provider to be authenticated with an account granted admin permissions and UAA admin client. See related [uaa documentation](http://docs.cloudfoundry.org/uaa/uaa-user-management.html#creating-users)\n> **NOTE:** Create an existing user will not trigger any errors and will lead to retrieve id of existing user and update it.\n\n## Example Usage\n\nThe following example creates a user and attaches additional UAA roles to grant administrator rights to that user.\n\n<!--Start PulumiCodeChooser -->\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as cloudfoundry from \"@pulumi/cloudfoundry\";\n\nconst admin_service_user = new cloudfoundry.User(\"admin-service-user\", {\n    familyName: \"Doe\",\n    givenName: \"John\",\n    groups: [\n        \"cloud_controller.admin\",\n        \"scim.read\",\n        \"scim.write\",\n    ],\n    password: \"Passw0rd\",\n});\n```\n```python\nimport pulumi\nimport pulumi_cloudfoundry as cloudfoundry\n\nadmin_service_user = cloudfoundry.User(\"admin-service-user\",\n    family_name=\"Doe\",\n    given_name=\"John\",\n    groups=[\n        \"cloud_controller.admin\",\n        \"scim.read\",\n        \"scim.write\",\n    ],\n    password=\"Passw0rd\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Cloudfoundry = Pulumi.Cloudfoundry;\n\nreturn await Deployment.RunAsync(() => \n{\n    var admin_service_user = new Cloudfoundry.User(\"admin-service-user\", new()\n    {\n        FamilyName = \"Doe\",\n        GivenName = \"John\",\n        Groups = new[]\n        {\n            \"cloud_controller.admin\",\n            \"scim.read\",\n            \"scim.write\",\n        },\n        Password = \"Passw0rd\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/cloudfoundry/cloudfoundry\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := cloudfoundry.NewUser(ctx, \"admin-service-user\", &cloudfoundry.UserArgs{\n\t\t\tFamilyName: pulumi.String(\"Doe\"),\n\t\t\tGivenName:  pulumi.String(\"John\"),\n\t\t\tGroups: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"cloud_controller.admin\"),\n\t\t\t\tpulumi.String(\"scim.read\"),\n\t\t\t\tpulumi.String(\"scim.write\"),\n\t\t\t},\n\t\t\tPassword: pulumi.String(\"Passw0rd\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.cloudfoundry.User;\nimport com.pulumi.cloudfoundry.UserArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var admin_service_user = new User(\"admin-service-user\", UserArgs.builder()\n            .familyName(\"Doe\")\n            .givenName(\"John\")\n            .groups(            \n                \"cloud_controller.admin\",\n                \"scim.read\",\n                \"scim.write\")\n            .password(\"Passw0rd\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  admin-service-user:\n    type: cloudfoundry:User\n    properties:\n      familyName: Doe\n      givenName: John\n      groups:\n        - cloud_controller.admin\n        - scim.read\n        - scim.write\n      password: Passw0rd\n```\n<!--End PulumiCodeChooser -->\n\n## Import\n\nAn existing User can be imported using its guid, e.g.\n\nbash\n\n```sh\n$ pulumi import cloudfoundry:index/user:User admin-service-user a-guid\n```\n\n",
      "properties": {
        "email": {
          "type": "string",
          "description": "The email address of the user. When not provided, name is used as email.\n"
        },
        "familyName": {
          "type": "string",
          "description": "The family name of the user\n"
        },
        "givenName": {
          "type": "string",
          "description": "The given name of the user\n"
        },
        "groups": {
          "type": "array",
          "items": {
            "type": "string"
          },
          "description": "Any UAA `groups` / `roles` to associated the user with\n"
        },
        "name": {
          "type": "string",
          "description": "The name of the user. This will also be the users login name\n"
        },
        "origin": {
          "type": "string",
          "description": "The user authentcation origin. By default this will be `UAA`. For users authenticated by LDAP this should be `ldap`\n"
        },
        "password": {
          "type": "string",
          "description": "The user's password\n",
          "secret": true
        },
        "userId": {
          "type": "string",
          "description": "The GUID of the User\n"
        }
      },
      "type": "object",
      "required": [
        "email",
        "familyName",
        "givenName",
        "groups",
        "name",
        "userId"
      ],
      "inputProperties": {
        "email": {
          "type": "string",
          "description": "The email address of the user. When not provided, name is used as email.\n"
        },
        "familyName": {
          "type": "string",
          "description": "The family name of the user\n"
        },
        "givenName": {
          "type": "string",
          "description": "The given name of the user\n"
        },
        "groups": {
          "type": "array",
          "items": {
            "type": "string"
          },
          "description": "Any UAA `groups` / `roles` to associated the user with\n"
        },
        "name": {
          "type": "string",
          "description": "The name of the user. This will also be the users login name\n"
        },
        "origin": {
          "type": "string",
          "description": "The user authentcation origin. By default this will be `UAA`. For users authenticated by LDAP this should be `ldap`\n"
        },
        "password": {
          "type": "string",
          "description": "The user's password\n",
          "secret": true
        },
        "userId": {
          "type": "string",
          "description": "The GUID of the User\n"
        }
      },
      "stateInputs": {
        "description": "Input properties used for looking up and filtering User resources.\n",
        "properties": {
          "email": {
            "type": "string",
            "description": "The email address of the user. When not provided, name is used as email.\n"
          },
          "familyName": {
            "type": "string",
            "description": "The family name of the user\n"
          },
          "givenName": {
            "type": "string",
            "description": "The given name of the user\n"
          },
          "groups": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "description": "Any UAA `groups` / `roles` to associated the user with\n"
          },
          "name": {
            "type": "string",
            "description": "The name of the user. This will also be the users login name\n"
          },
          "origin": {
            "type": "string",
            "description": "The user authentcation origin. By default this will be `UAA`. For users authenticated by LDAP this should be `ldap`\n"
          },
          "password": {
            "type": "string",
            "description": "The user's password\n",
            "secret": true
          },
          "userId": {
            "type": "string",
            "description": "The GUID of the User\n"
          }
        },
        "type": "object"
      }
    },
    "cloudfoundry:index/userProvidedService:UserProvidedService": {
      "description": "Provides a Cloud Foundry resource for managing Cloud Foundry [User Provided Services](https://docs.cloudfoundry.org/devguide/services/user-provided.html) within spaces.\n\n## Example Usage\n\nThe following is a User Provided Service created within the referenced space.\n\n<!--Start PulumiCodeChooser -->\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as cloudfoundry from \"@pulumi/cloudfoundry\";\n\nconst mq = new cloudfoundry.UserProvidedService(\"mq\", {\n    space: cloudfoundry_space.dev.id,\n    credentials: {\n        url: \"mq://localhost:9000\",\n        username: \"admin\",\n        password: \"admin\",\n    },\n});\nconst mail = new cloudfoundry.UserProvidedService(\"mail\", {\n    space: cloudfoundry_space.dev.id,\n    credentialsJson: `  {\n    \"server\" : {\n      \"host\" : \"smtp.example.com\",\n      \"port\" : 25,\n      \"tls\"  : false\n    },\n    \"auth\" : {\n      \"user\"     : \"login\",\n      \"password\" : \"secret\"\n    }\n  }\n`,\n});\n```\n```python\nimport pulumi\nimport pulumi_cloudfoundry as cloudfoundry\n\nmq = cloudfoundry.UserProvidedService(\"mq\",\n    space=cloudfoundry_space[\"dev\"][\"id\"],\n    credentials={\n        \"url\": \"mq://localhost:9000\",\n        \"username\": \"admin\",\n        \"password\": \"admin\",\n    })\nmail = cloudfoundry.UserProvidedService(\"mail\",\n    space=cloudfoundry_space[\"dev\"][\"id\"],\n    credentials_json=\"\"\"  {\n    \"server\" : {\n      \"host\" : \"smtp.example.com\",\n      \"port\" : 25,\n      \"tls\"  : false\n    },\n    \"auth\" : {\n      \"user\"     : \"login\",\n      \"password\" : \"secret\"\n    }\n  }\n\"\"\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Cloudfoundry = Pulumi.Cloudfoundry;\n\nreturn await Deployment.RunAsync(() => \n{\n    var mq = new Cloudfoundry.UserProvidedService(\"mq\", new()\n    {\n        Space = cloudfoundry_space.Dev.Id,\n        Credentials = \n        {\n            { \"url\", \"mq://localhost:9000\" },\n            { \"username\", \"admin\" },\n            { \"password\", \"admin\" },\n        },\n    });\n\n    var mail = new Cloudfoundry.UserProvidedService(\"mail\", new()\n    {\n        Space = cloudfoundry_space.Dev.Id,\n        CredentialsJson = @\"  {\n    \"\"server\"\" : {\n      \"\"host\"\" : \"\"smtp.example.com\"\",\n      \"\"port\"\" : 25,\n      \"\"tls\"\"  : false\n    },\n    \"\"auth\"\" : {\n      \"\"user\"\"     : \"\"login\"\",\n      \"\"password\"\" : \"\"secret\"\"\n    }\n  }\n\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/cloudfoundry/cloudfoundry\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := cloudfoundry.NewUserProvidedService(ctx, \"mq\", &cloudfoundry.UserProvidedServiceArgs{\n\t\t\tSpace: pulumi.Any(cloudfoundry_space.Dev.Id),\n\t\t\tCredentials: pulumi.StringMap{\n\t\t\t\t\"url\":      pulumi.String(\"mq://localhost:9000\"),\n\t\t\t\t\"username\": pulumi.String(\"admin\"),\n\t\t\t\t\"password\": pulumi.String(\"admin\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = cloudfoundry.NewUserProvidedService(ctx, \"mail\", &cloudfoundry.UserProvidedServiceArgs{\n\t\t\tSpace: pulumi.Any(cloudfoundry_space.Dev.Id),\n\t\t\tCredentialsJson: pulumi.String(`  {\n    \"server\" : {\n      \"host\" : \"smtp.example.com\",\n      \"port\" : 25,\n      \"tls\"  : false\n    },\n    \"auth\" : {\n      \"user\"     : \"login\",\n      \"password\" : \"secret\"\n    }\n  }\n`),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.cloudfoundry.UserProvidedService;\nimport com.pulumi.cloudfoundry.UserProvidedServiceArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var mq = new UserProvidedService(\"mq\", UserProvidedServiceArgs.builder()\n            .space(cloudfoundry_space.dev().id())\n            .credentials(Map.ofEntries(\n                Map.entry(\"url\", \"mq://localhost:9000\"),\n                Map.entry(\"username\", \"admin\"),\n                Map.entry(\"password\", \"admin\")\n            ))\n            .build());\n\n        var mail = new UserProvidedService(\"mail\", UserProvidedServiceArgs.builder()\n            .space(cloudfoundry_space.dev().id())\n            .credentialsJson(\"\"\"\n  {\n    \"server\" : {\n      \"host\" : \"smtp.example.com\",\n      \"port\" : 25,\n      \"tls\"  : false\n    },\n    \"auth\" : {\n      \"user\"     : \"login\",\n      \"password\" : \"secret\"\n    }\n  }\n            \"\"\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  mq:\n    type: cloudfoundry:UserProvidedService\n    properties:\n      space: ${cloudfoundry_space.dev.id}\n      credentials:\n        url: mq://localhost:9000\n        username: admin\n        password: admin\n  mail:\n    type: cloudfoundry:UserProvidedService\n    properties:\n      space: ${cloudfoundry_space.dev.id}\n      credentialsJson: |2\n          {\n            \"server\" : {\n              \"host\" : \"smtp.example.com\",\n              \"port\" : 25,\n              \"tls\"  : false\n            },\n            \"auth\" : {\n              \"user\"     : \"login\",\n              \"password\" : \"secret\"\n            }\n          }\n```\n<!--End PulumiCodeChooser -->\n\n## Import\n\nAn existing User Provided Service can be imported using its guid, e.g.\n\nbash\n\n```sh\n$ pulumi import cloudfoundry:index/userProvidedService:UserProvidedService mq-server a-guid\n```\n\n",
      "properties": {
        "credentials": {
          "type": "object",
          "additionalProperties": {
            "type": "string"
          },
          "description": "Arbitrary credentials in the form of key-value pairs and delivered to applications via [VCAP_SERVICES Env variables](https://docs.cloudfoundry.org/devguide/deploy-apps/environment-variable.html#VCAP-SERVICES). Conflicts with `credentials_json` and defaults to empty map.\n",
          "secret": true
        },
        "credentialsJson": {
          "type": "string",
          "description": "Same as `credentials` but in the form of a stringified JSON object. Conflicts with `credentials` and defaults to empty map.\n",
          "secret": true
        },
        "name": {
          "type": "string",
          "description": "The name of the Service Instance in Cloud Foundry\n"
        },
        "routeServiceURL": {
          "type": "string",
          "deprecationMessage": "Deprecated"
        },
        "routeServiceUrl": {
          "type": "string",
          "description": "URL to which requests for bound routes will be forwarded. Scheme for this URL must be https and defaults to empty\n"
        },
        "space": {
          "type": "string",
          "description": "The ID of the [space](https://www.terraform.io/docs/providers/cloudfoundry/r/space.html)\n"
        },
        "syslogDrainURL": {
          "type": "string",
          "deprecationMessage": "Deprecated"
        },
        "syslogDrainUrl": {
          "type": "string",
          "description": "URL to which logs for bound applications will be streamed. Defaults to empty.\n"
        },
        "tags": {
          "type": "array",
          "items": {
            "type": "string"
          },
          "description": "List of tag representing the service\n"
        },
        "userProvidedServiceId": {
          "type": "string",
          "description": "The GUID of the service instance\n"
        }
      },
      "type": "object",
      "required": [
        "name",
        "space",
        "userProvidedServiceId"
      ],
      "inputProperties": {
        "credentials": {
          "type": "object",
          "additionalProperties": {
            "type": "string"
          },
          "description": "Arbitrary credentials in the form of key-value pairs and delivered to applications via [VCAP_SERVICES Env variables](https://docs.cloudfoundry.org/devguide/deploy-apps/environment-variable.html#VCAP-SERVICES). Conflicts with `credentials_json` and defaults to empty map.\n",
          "secret": true
        },
        "credentialsJson": {
          "type": "string",
          "description": "Same as `credentials` but in the form of a stringified JSON object. Conflicts with `credentials` and defaults to empty map.\n",
          "secret": true
        },
        "name": {
          "type": "string",
          "description": "The name of the Service Instance in Cloud Foundry\n"
        },
        "routeServiceURL": {
          "type": "string",
          "deprecationMessage": "Deprecated"
        },
        "routeServiceUrl": {
          "type": "string",
          "description": "URL to which requests for bound routes will be forwarded. Scheme for this URL must be https and defaults to empty\n"
        },
        "space": {
          "type": "string",
          "description": "The ID of the [space](https://www.terraform.io/docs/providers/cloudfoundry/r/space.html)\n"
        },
        "syslogDrainURL": {
          "type": "string",
          "deprecationMessage": "Deprecated"
        },
        "syslogDrainUrl": {
          "type": "string",
          "description": "URL to which logs for bound applications will be streamed. Defaults to empty.\n"
        },
        "tags": {
          "type": "array",
          "items": {
            "type": "string"
          },
          "description": "List of tag representing the service\n"
        },
        "userProvidedServiceId": {
          "type": "string",
          "description": "The GUID of the service instance\n"
        }
      },
      "requiredInputs": [
        "space"
      ],
      "stateInputs": {
        "description": "Input properties used for looking up and filtering UserProvidedService resources.\n",
        "properties": {
          "credentials": {
            "type": "object",
            "additionalProperties": {
              "type": "string"
            },
            "description": "Arbitrary credentials in the form of key-value pairs and delivered to applications via [VCAP_SERVICES Env variables](https://docs.cloudfoundry.org/devguide/deploy-apps/environment-variable.html#VCAP-SERVICES). Conflicts with `credentials_json` and defaults to empty map.\n",
            "secret": true
          },
          "credentialsJson": {
            "type": "string",
            "description": "Same as `credentials` but in the form of a stringified JSON object. Conflicts with `credentials` and defaults to empty map.\n",
            "secret": true
          },
          "name": {
            "type": "string",
            "description": "The name of the Service Instance in Cloud Foundry\n"
          },
          "routeServiceURL": {
            "type": "string",
            "deprecationMessage": "Deprecated"
          },
          "routeServiceUrl": {
            "type": "string",
            "description": "URL to which requests for bound routes will be forwarded. Scheme for this URL must be https and defaults to empty\n"
          },
          "space": {
            "type": "string",
            "description": "The ID of the [space](https://www.terraform.io/docs/providers/cloudfoundry/r/space.html)\n"
          },
          "syslogDrainURL": {
            "type": "string",
            "deprecationMessage": "Deprecated"
          },
          "syslogDrainUrl": {
            "type": "string",
            "description": "URL to which logs for bound applications will be streamed. Defaults to empty.\n"
          },
          "tags": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "description": "List of tag representing the service\n"
          },
          "userProvidedServiceId": {
            "type": "string",
            "description": "The GUID of the service instance\n"
          }
        },
        "type": "object"
      }
    }
  },
  "functions": {
    "cloudfoundry:index/getApp:getApp": {
      "description": "Gets information on a Cloud Foundry application.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as cloudfoundry from \"@pulumi/cloudfoundry\";\n\nconst my_app = cloudfoundry.getApp({\n    nameOrId: \"my-app\",\n    space: \"space-id\",\n});\n```\n```python\nimport pulumi\nimport pulumi_cloudfoundry as cloudfoundry\n\nmy_app = cloudfoundry.get_app(name_or_id=\"my-app\",\n    space=\"space-id\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Cloudfoundry = Pulumi.Cloudfoundry;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var my_app = Cloudfoundry.GetApp.Invoke(new()\n    {\n        NameOrId = \"my-app\",\n        Space = \"space-id\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/cloudfoundry/cloudfoundry\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := cloudfoundry.LookupApp(ctx, \u0026cloudfoundry.LookupAppArgs{\n\t\t\tNameOrId: \"my-app\",\n\t\t\tSpace:    \"space-id\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.cloudfoundry.CloudfoundryFunctions;\nimport com.pulumi.cloudfoundry.inputs.GetAppArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var my-app = CloudfoundryFunctions.getApp(GetAppArgs.builder()\n            .nameOrId(\"my-app\")\n            .space(\"space-id\")\n            .build());\n\n    }\n}\n```\n```yaml\nvariables:\n  my-app:\n    fn::invoke:\n      function: cloudfoundry:getApp\n      arguments:\n        nameOrId: my-app\n        space: space-id\n```\n\u003c!--End PulumiCodeChooser --\u003e\n",
      "inputs": {
        "description": "A collection of arguments for invoking getApp.\n",
        "properties": {
          "annotations": {
            "type": "object",
            "additionalProperties": {
              "type": "string"
            },
            "description": "Annotations as described [here](https://docs.cloudfoundry.org/adminguide/metadata.html#-view-metadata-for-an-object).\n"
          },
          "buildpacks": {
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "id": {
            "type": "string",
            "description": "The GUID of the application\n"
          },
          "labels": {
            "type": "object",
            "additionalProperties": {
              "type": "string"
            },
            "description": "Labels as described [here](https://docs.cloudfoundry.org/adminguide/metadata.html#-view-metadata-for-an-object).\n"
          },
          "nameOrId": {
            "type": "string",
            "description": "The name of the application or its guid.\n"
          },
          "space": {
            "type": "string",
            "description": "The space guid of the app.\n"
          }
        },
        "type": "object",
        "required": [
          "nameOrId",
          "space"
        ]
      },
      "outputs": {
        "description": "A collection of values returned by getApp.\n",
        "properties": {
          "annotations": {
            "additionalProperties": {
              "type": "string"
            },
            "description": "Annotations as described [here](https://docs.cloudfoundry.org/adminguide/metadata.html#-view-metadata-for-an-object).\n",
            "type": "object"
          },
          "buildpack": {
            "description": "The buildpack used to stage the application.\n",
            "type": "string"
          },
          "buildpacks": {
            "items": {
              "type": "string"
            },
            "type": "array"
          },
          "command": {
            "description": "The custom start command for the application.\n",
            "type": "string"
          },
          "diskQuota": {
            "description": "The disk space to be allocated for each application instance in megabytes.\n",
            "type": "number"
          },
          "enableSsh": {
            "description": "Whether to enable or disable SSH access to the container.\n",
            "type": "boolean"
          },
          "environment": {
            "additionalProperties": {
              "type": "string"
            },
            "description": "Key/value pairs of custom environment variables to set in your app.\n",
            "secret": true,
            "type": "object"
          },
          "healthCheckHttpEndpoint": {
            "description": "The endpoint for the http health check type.\n",
            "type": "string"
          },
          "healthCheckTimeout": {
            "description": "The timeout in seconds for the health check.\n",
            "type": "number"
          },
          "healthCheckType": {
            "description": "The health check type which can be one of \"`port`\", \"`process`\", \"`http`\" or \"`none`\".\n",
            "type": "string"
          },
          "id": {
            "description": "The GUID of the application\n",
            "type": "string"
          },
          "instances": {
            "description": "The number of app instances that you want to start. Defaults to 1.\n",
            "type": "number"
          },
          "labels": {
            "additionalProperties": {
              "type": "string"
            },
            "description": "Labels as described [here](https://docs.cloudfoundry.org/adminguide/metadata.html#-view-metadata-for-an-object).\n",
            "type": "object"
          },
          "memory": {
            "description": "The memory limit for each application instance in megabytes.\n",
            "type": "number"
          },
          "name": {
            "description": "The name of the application.\n",
            "type": "string"
          },
          "nameOrId": {
            "type": "string"
          },
          "space": {
            "type": "string"
          },
          "stack": {
            "description": "The GUID of the stack the application will be deployed to.\n",
            "type": "string"
          },
          "state": {
            "description": "Current state of the app (`stopped` or `running` or `started`).\n",
            "type": "string"
          }
        },
        "required": [
          "buildpack",
          "command",
          "diskQuota",
          "enableSsh",
          "environment",
          "healthCheckHttpEndpoint",
          "healthCheckTimeout",
          "healthCheckType",
          "id",
          "instances",
          "memory",
          "name",
          "nameOrId",
          "space",
          "stack",
          "state"
        ],
        "type": "object"
      }
    },
    "cloudfoundry:index/getAsg:getAsg": {
      "description": "Gets information on a Cloud Foundry application security group.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as cloudfoundry from \"@pulumi/cloudfoundry\";\n\nconst _public = cloudfoundry.getAsg({\n    name: \"public_networks\",\n});\n```\n```python\nimport pulumi\nimport pulumi_cloudfoundry as cloudfoundry\n\npublic = cloudfoundry.get_asg(name=\"public_networks\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Cloudfoundry = Pulumi.Cloudfoundry;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var @public = Cloudfoundry.GetAsg.Invoke(new()\n    {\n        Name = \"public_networks\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/cloudfoundry/cloudfoundry\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := cloudfoundry.LookupAsg(ctx, \u0026cloudfoundry.LookupAsgArgs{\n\t\t\tName: \"public_networks\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.cloudfoundry.CloudfoundryFunctions;\nimport com.pulumi.cloudfoundry.inputs.GetAsgArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var public = CloudfoundryFunctions.getAsg(GetAsgArgs.builder()\n            .name(\"public_networks\")\n            .build());\n\n    }\n}\n```\n```yaml\nvariables:\n  public:\n    fn::invoke:\n      function: cloudfoundry:getAsg\n      arguments:\n        name: public_networks\n```\n\u003c!--End PulumiCodeChooser --\u003e\n",
      "inputs": {
        "description": "A collection of arguments for invoking getAsg.\n",
        "properties": {
          "id": {
            "type": "string",
            "description": "The GUID of the application security group\n"
          },
          "name": {
            "type": "string",
            "description": "The name of the application security group to lookup\n"
          }
        },
        "type": "object",
        "required": [
          "name"
        ]
      },
      "outputs": {
        "description": "A collection of values returned by getAsg.\n",
        "properties": {
          "id": {
            "description": "The GUID of the application security group\n",
            "type": "string"
          },
          "name": {
            "type": "string"
          }
        },
        "required": [
          "id",
          "name"
        ],
        "type": "object"
      }
    },
    "cloudfoundry:index/getDomain:getDomain": {
      "description": "Gets information on a Cloud Foundry domain.\n\n## Example Usage\n\nThe following example looks up a name in the current deployment with the host name `local` within the local application domain.\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as cloudfoundry from \"@pulumi/cloudfoundry\";\n\nconst domain = cloudfoundry.getDomain({\n    subDomain: \"local\",\n});\n```\n```python\nimport pulumi\nimport pulumi_cloudfoundry as cloudfoundry\n\ndomain = cloudfoundry.get_domain(sub_domain=\"local\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Cloudfoundry = Pulumi.Cloudfoundry;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var domain = Cloudfoundry.GetDomain.Invoke(new()\n    {\n        SubDomain = \"local\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/cloudfoundry/cloudfoundry\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := cloudfoundry.LookupDomain(ctx, \u0026cloudfoundry.LookupDomainArgs{\n\t\t\tSubDomain: pulumi.StringRef(\"local\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.cloudfoundry.CloudfoundryFunctions;\nimport com.pulumi.cloudfoundry.inputs.GetDomainArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var domain = CloudfoundryFunctions.getDomain(GetDomainArgs.builder()\n            .subDomain(\"local\")\n            .build());\n\n    }\n}\n```\n```yaml\nvariables:\n  domain:\n    fn::invoke:\n      function: cloudfoundry:getDomain\n      arguments:\n        subDomain: local\n```\n\u003c!--End PulumiCodeChooser --\u003e\n",
      "inputs": {
        "description": "A collection of arguments for invoking getDomain.\n",
        "properties": {
          "domain": {
            "type": "string",
            "description": "The domain name\n"
          },
          "id": {
            "type": "string",
            "description": "The GUID of the domain\n"
          },
          "name": {
            "type": "string",
            "description": "This value will be computed based on the `sub_domain` or `domain` attributes. If provided then this argument will be used as the full domain name.\n"
          },
          "subDomain": {
            "type": "string",
            "description": "The sub-domain of the full domain name\n"
          }
        },
        "type": "object"
      },
      "outputs": {
        "description": "A collection of values returned by getDomain.\n",
        "properties": {
          "domain": {
            "description": "The part of the domain name if not provided as an argument\n",
            "type": "string"
          },
          "id": {
            "description": "The GUID of the domain\n",
            "type": "string"
          },
          "internal": {
            "description": "Flag that sets the domain as an internal domain\n",
            "type": "boolean"
          },
          "name": {
            "description": "The full domain name if not provided as an argument\n",
            "type": "string"
          },
          "org": {
            "description": "The org if this is a private domain owned by an org\n",
            "type": "string"
          },
          "subDomain": {
            "type": "string"
          }
        },
        "required": [
          "domain",
          "id",
          "internal",
          "name",
          "org"
        ],
        "type": "object"
      }
    },
    "cloudfoundry:index/getInfo:getInfo": {
      "description": "Gets information on a Cloud Foundry target.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as cloudfoundry from \"@pulumi/cloudfoundry\";\n\nconst info = cloudfoundry.getInfo({});\n```\n```python\nimport pulumi\nimport pulumi_cloudfoundry as cloudfoundry\n\ninfo = cloudfoundry.get_info()\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Cloudfoundry = Pulumi.Cloudfoundry;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var info = Cloudfoundry.GetInfo.Invoke();\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/cloudfoundry/cloudfoundry\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := cloudfoundry.GetInfo(ctx, \u0026cloudfoundry.GetInfoArgs{}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.cloudfoundry.CloudfoundryFunctions;\nimport com.pulumi.cloudfoundry.inputs.GetInfoArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var info = CloudfoundryFunctions.getInfo();\n\n    }\n}\n```\n```yaml\nvariables:\n  info:\n    fn::invoke:\n      function: cloudfoundry:getInfo\n      arguments: {}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n",
      "inputs": {
        "description": "A collection of arguments for invoking getInfo.\n",
        "properties": {
          "id": {
            "type": "string"
          }
        },
        "type": "object"
      },
      "outputs": {
        "description": "A collection of values returned by getInfo.\n",
        "properties": {
          "apiVersion": {
            "description": "The Cloud Foundry API version\n",
            "type": "string"
          },
          "authEndpoint": {
            "description": "The autentication endpoint URL\n",
            "type": "string"
          },
          "dopplerEndpoint": {
            "description": "The doppler services endpoint URL\n",
            "type": "string"
          },
          "id": {
            "type": "string"
          },
          "loggingEndpoint": {
            "deprecationMessage": "Deprecated",
            "description": "The logging services endpoint URL\n",
            "type": "string"
          },
          "routingEndpoint": {
            "description": "The routing endpoint URL\n",
            "type": "string"
          },
          "uaaEndpoint": {
            "description": "The UAA endpoint URL\n",
            "type": "string"
          }
        },
        "required": [
          "apiVersion",
          "authEndpoint",
          "dopplerEndpoint",
          "id",
          "loggingEndpoint",
          "routingEndpoint",
          "uaaEndpoint"
        ],
        "type": "object"
      }
    },
    "cloudfoundry:index/getIsolationSegment:getIsolationSegment": {
      "description": "Gets information on a Cloud Foundry Isolation segment.\n\n## Example Usage\n\nThe following example looks up a segment named 'public-exposure'.\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as cloudfoundry from \"@pulumi/cloudfoundry\";\n\nconst _public = cloudfoundry.getIsolationSegment({\n    name: \"public_exposure\",\n});\n```\n```python\nimport pulumi\nimport pulumi_cloudfoundry as cloudfoundry\n\npublic = cloudfoundry.get_isolation_segment(name=\"public_exposure\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Cloudfoundry = Pulumi.Cloudfoundry;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var @public = Cloudfoundry.GetIsolationSegment.Invoke(new()\n    {\n        Name = \"public_exposure\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/cloudfoundry/cloudfoundry\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := cloudfoundry.LookupIsolationSegment(ctx, \u0026cloudfoundry.LookupIsolationSegmentArgs{\n\t\t\tName: \"public_exposure\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.cloudfoundry.CloudfoundryFunctions;\nimport com.pulumi.cloudfoundry.inputs.GetIsolationSegmentArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var public = CloudfoundryFunctions.getIsolationSegment(GetIsolationSegmentArgs.builder()\n            .name(\"public_exposure\")\n            .build());\n\n    }\n}\n```\n```yaml\nvariables:\n  public:\n    fn::invoke:\n      function: cloudfoundry:getIsolationSegment\n      arguments:\n        name: public_exposure\n```\n\u003c!--End PulumiCodeChooser --\u003e\n",
      "inputs": {
        "description": "A collection of arguments for invoking getIsolationSegment.\n",
        "properties": {
          "annotations": {
            "type": "object",
            "additionalProperties": {
              "type": "string"
            },
            "description": "Map of annotations as described [here](https://docs.cloudfoundry.org/adminguide/metadata.html#-view-metadata-for-an-object).\nWorks only on cloud foundry with api \u003e= v3.63.\n"
          },
          "id": {
            "type": "string",
            "description": "The GUID of the segment\n"
          },
          "labels": {
            "type": "object",
            "additionalProperties": {
              "type": "string"
            },
            "description": "Map of labels as described [here](https://docs.cloudfoundry.org/adminguide/metadata.html#-view-metadata-for-an-object).\nWorks only on cloud foundry with api \u003e= v3.63.\n"
          },
          "name": {
            "type": "string",
            "description": "The name of the segment to look up.\n"
          }
        },
        "type": "object",
        "required": [
          "name"
        ]
      },
      "outputs": {
        "description": "A collection of values returned by getIsolationSegment.\n",
        "properties": {
          "annotations": {
            "additionalProperties": {
              "type": "string"
            },
            "description": "Map of annotations as described [here](https://docs.cloudfoundry.org/adminguide/metadata.html#-view-metadata-for-an-object).\nWorks only on cloud foundry with api \u003e= v3.63.\n",
            "type": "object"
          },
          "id": {
            "description": "The GUID of the segment\n",
            "type": "string"
          },
          "labels": {
            "additionalProperties": {
              "type": "string"
            },
            "description": "Map of labels as described [here](https://docs.cloudfoundry.org/adminguide/metadata.html#-view-metadata-for-an-object).\nWorks only on cloud foundry with api \u003e= v3.63.\n",
            "type": "object"
          },
          "name": {
            "type": "string"
          }
        },
        "required": [
          "id",
          "name"
        ],
        "type": "object"
      }
    },
    "cloudfoundry:index/getOrg:getOrg": {
      "description": "Gets information on a Cloud Foundry organization.\n\n## Example Usage\n\nThe following example looks up an organization named 'myorg'.\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as cloudfoundry from \"@pulumi/cloudfoundry\";\n\nconst org = cloudfoundry.getOrg({\n    name: \"myorg\",\n});\n```\n```python\nimport pulumi\nimport pulumi_cloudfoundry as cloudfoundry\n\norg = cloudfoundry.get_org(name=\"myorg\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Cloudfoundry = Pulumi.Cloudfoundry;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var org = Cloudfoundry.GetOrg.Invoke(new()\n    {\n        Name = \"myorg\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/cloudfoundry/cloudfoundry\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := cloudfoundry.LookupOrg(ctx, \u0026cloudfoundry.LookupOrgArgs{\n\t\t\tName: \"myorg\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.cloudfoundry.CloudfoundryFunctions;\nimport com.pulumi.cloudfoundry.inputs.GetOrgArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var org = CloudfoundryFunctions.getOrg(GetOrgArgs.builder()\n            .name(\"myorg\")\n            .build());\n\n    }\n}\n```\n```yaml\nvariables:\n  org:\n    fn::invoke:\n      function: cloudfoundry:getOrg\n      arguments:\n        name: myorg\n```\n\u003c!--End PulumiCodeChooser --\u003e\n",
      "inputs": {
        "description": "A collection of arguments for invoking getOrg.\n",
        "properties": {
          "annotations": {
            "type": "object",
            "additionalProperties": {
              "type": "string"
            },
            "description": "Map of annotations as described [here](https://docs.cloudfoundry.org/adminguide/metadata.html#-view-metadata-for-an-object).\nWorks only on cloud foundry with api \u003e= v3.63.\n"
          },
          "id": {
            "type": "string",
            "description": "The GUID of the organization\n"
          },
          "labels": {
            "type": "object",
            "additionalProperties": {
              "type": "string"
            },
            "description": "Map of labels as described [here](https://docs.cloudfoundry.org/adminguide/metadata.html#-view-metadata-for-an-object).\nWorks only on cloud foundry with api \u003e= v3.63.\n"
          },
          "name": {
            "type": "string",
            "description": "The name of the organization to look up\n"
          }
        },
        "type": "object",
        "required": [
          "name"
        ]
      },
      "outputs": {
        "description": "A collection of values returned by getOrg.\n",
        "properties": {
          "annotations": {
            "additionalProperties": {
              "type": "string"
            },
            "description": "Map of annotations as described [here](https://docs.cloudfoundry.org/adminguide/metadata.html#-view-metadata-for-an-object).\nWorks only on cloud foundry with api \u003e= v3.63.\n",
            "type": "object"
          },
          "id": {
            "description": "The GUID of the organization\n",
            "type": "string"
          },
          "labels": {
            "additionalProperties": {
              "type": "string"
            },
            "description": "Map of labels as described [here](https://docs.cloudfoundry.org/adminguide/metadata.html#-view-metadata-for-an-object).\nWorks only on cloud foundry with api \u003e= v3.63.\n",
            "type": "object"
          },
          "name": {
            "type": "string"
          }
        },
        "required": [
          "id",
          "name"
        ],
        "type": "object"
      }
    },
    "cloudfoundry:index/getOrgQuota:getOrgQuota": {
      "description": "Gets information on a Cloud Foundry org quota.\n\n## Example Usage\n\nThe following example looks up a quota named 'myquota'\nidentified by its name.\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as cloudfoundry from \"@pulumi/cloudfoundry\";\n\nconst orgQuota = cloudfoundry.getOrgQuota({\n    name: \"myquota\",\n});\n```\n```python\nimport pulumi\nimport pulumi_cloudfoundry as cloudfoundry\n\norg_quota = cloudfoundry.get_org_quota(name=\"myquota\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Cloudfoundry = Pulumi.Cloudfoundry;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var orgQuota = Cloudfoundry.GetOrgQuota.Invoke(new()\n    {\n        Name = \"myquota\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/cloudfoundry/cloudfoundry\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := cloudfoundry.LookupOrgQuota(ctx, \u0026cloudfoundry.LookupOrgQuotaArgs{\n\t\t\tName: \"myquota\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.cloudfoundry.CloudfoundryFunctions;\nimport com.pulumi.cloudfoundry.inputs.GetOrgQuotaArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var orgQuota = CloudfoundryFunctions.getOrgQuota(GetOrgQuotaArgs.builder()\n            .name(\"myquota\")\n            .build());\n\n    }\n}\n```\n```yaml\nvariables:\n  orgQuota:\n    fn::invoke:\n      function: cloudfoundry:getOrgQuota\n      arguments:\n        name: myquota\n```\n\u003c!--End PulumiCodeChooser --\u003e\n",
      "inputs": {
        "description": "A collection of arguments for invoking getOrgQuota.\n",
        "properties": {
          "id": {
            "type": "string",
            "description": "The GUID of the quota\n"
          },
          "name": {
            "type": "string",
            "description": "The name of the quota to look up\n"
          }
        },
        "type": "object",
        "required": [
          "name"
        ]
      },
      "outputs": {
        "description": "A collection of values returned by getOrgQuota.\n",
        "properties": {
          "id": {
            "description": "The GUID of the quota\n",
            "type": "string"
          },
          "name": {
            "type": "string"
          }
        },
        "required": [
          "id",
          "name"
        ],
        "type": "object"
      }
    },
    "cloudfoundry:index/getRoute:getRoute": {
      "description": "Gets information on a Cloud Foundry route.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as cloudfoundry from \"@pulumi/cloudfoundry\";\n\nconst my_route = cloudfoundry.getRoute({\n    domain: \"domain-id\",\n    hostname: \"my-host\",\n});\n```\n```python\nimport pulumi\nimport pulumi_cloudfoundry as cloudfoundry\n\nmy_route = cloudfoundry.get_route(domain=\"domain-id\",\n    hostname=\"my-host\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Cloudfoundry = Pulumi.Cloudfoundry;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var my_route = Cloudfoundry.GetRoute.Invoke(new()\n    {\n        Domain = \"domain-id\",\n        Hostname = \"my-host\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/cloudfoundry/cloudfoundry\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := cloudfoundry.LookupRoute(ctx, \u0026cloudfoundry.LookupRouteArgs{\n\t\t\tDomain:   \"domain-id\",\n\t\t\tHostname: pulumi.StringRef(\"my-host\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.cloudfoundry.CloudfoundryFunctions;\nimport com.pulumi.cloudfoundry.inputs.GetRouteArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var my-route = CloudfoundryFunctions.getRoute(GetRouteArgs.builder()\n            .domain(\"domain-id\")\n            .hostname(\"my-host\")\n            .build());\n\n    }\n}\n```\n```yaml\nvariables:\n  my-route:\n    fn::invoke:\n      function: cloudfoundry:getRoute\n      arguments:\n        domain: domain-id\n        hostname: my-host\n```\n\u003c!--End PulumiCodeChooser --\u003e\n",
      "inputs": {
        "description": "A collection of arguments for invoking getRoute.\n",
        "properties": {
          "domain": {
            "type": "string",
            "description": "The domain guid associated to the route.\n"
          },
          "hostname": {
            "type": "string",
            "description": "The hostname associated to the route to lookup.\n"
          },
          "id": {
            "type": "string",
            "description": "The GUID of the route.\n"
          },
          "org": {
            "type": "string",
            "description": "The org guid associated to the route to lookup.\n"
          },
          "path": {
            "type": "string",
            "description": "The path associated to the route to lookup.\n"
          },
          "port": {
            "type": "number",
            "description": "The port associated to the route to lookup.\n"
          }
        },
        "type": "object",
        "required": [
          "domain"
        ]
      },
      "outputs": {
        "description": "A collection of values returned by getRoute.\n",
        "properties": {
          "domain": {
            "type": "string"
          },
          "hostname": {
            "description": "(Optional) The hostname associated to the route.\n",
            "type": "string"
          },
          "id": {
            "description": "The GUID of the route.\n",
            "type": "string"
          },
          "org": {
            "type": "string"
          },
          "path": {
            "description": "(Optional) The path associated to the route.\n",
            "type": "string"
          },
          "port": {
            "description": "(Optional) The port associated to the route.\n",
            "type": "number"
          }
        },
        "required": [
          "domain",
          "hostname",
          "id",
          "path",
          "port"
        ],
        "type": "object"
      }
    },
    "cloudfoundry:index/getRouterGroup:getRouterGroup": {
      "description": "Gets information on a particular Cloud Foundry router group. Router groups are used to declare [TCP domains](https://docs.cloudfoundry.org/devguide/deploy-apps/router_groups.html) and need to be referenced when declaring [TCP routes](https://docs.cloudfoundry.org/adminguide/enabling-tcp-routing.html).\n\n\u003e **NOTE:** This data source requires the provider to be authenticated with an account granted admin permissions.\n\n## Example Usage\n\nThe following example looks up a router group named 'my_custom_router_group'.\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as cloudfoundry from \"@pulumi/cloudfoundry\";\n\nconst default_tcp = cloudfoundry.getRouterGroup({\n    name: \"default-tcp\",\n});\n```\n```python\nimport pulumi\nimport pulumi_cloudfoundry as cloudfoundry\n\ndefault_tcp = cloudfoundry.get_router_group(name=\"default-tcp\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Cloudfoundry = Pulumi.Cloudfoundry;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var default_tcp = Cloudfoundry.GetRouterGroup.Invoke(new()\n    {\n        Name = \"default-tcp\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/cloudfoundry/cloudfoundry\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := cloudfoundry.GetRouterGroup(ctx, \u0026cloudfoundry.GetRouterGroupArgs{\n\t\t\tName: \"default-tcp\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.cloudfoundry.CloudfoundryFunctions;\nimport com.pulumi.cloudfoundry.inputs.GetRouterGroupArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var default-tcp = CloudfoundryFunctions.getRouterGroup(GetRouterGroupArgs.builder()\n            .name(\"default-tcp\")\n            .build());\n\n    }\n}\n```\n```yaml\nvariables:\n  default-tcp:\n    fn::invoke:\n      function: cloudfoundry:getRouterGroup\n      arguments:\n        name: default-tcp\n```\n\u003c!--End PulumiCodeChooser --\u003e\n",
      "inputs": {
        "description": "A collection of arguments for invoking getRouterGroup.\n",
        "properties": {
          "id": {
            "type": "string",
            "description": "The GUID of the router group\n"
          },
          "name": {
            "type": "string",
            "description": "The name of the router group to look up\n"
          }
        },
        "type": "object",
        "required": [
          "name"
        ]
      },
      "outputs": {
        "description": "A collection of values returned by getRouterGroup.\n",
        "properties": {
          "id": {
            "description": "The GUID of the router group\n",
            "type": "string"
          },
          "name": {
            "type": "string"
          },
          "type": {
            "description": "The type of the router group\n",
            "type": "string"
          }
        },
        "required": [
          "id",
          "name",
          "type"
        ],
        "type": "object"
      }
    },
    "cloudfoundry:index/getService:getService": {
      "description": "Gets information on a Cloud Foundry service definition.\n\n## Example Usage\n\nThe following example looks up a service definition named 'p-redis', globally.\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as cloudfoundry from \"@pulumi/cloudfoundry\";\n\nconst redis = cloudfoundry.getService({\n    name: \"p-redis\",\n});\n```\n```python\nimport pulumi\nimport pulumi_cloudfoundry as cloudfoundry\n\nredis = cloudfoundry.get_service(name=\"p-redis\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Cloudfoundry = Pulumi.Cloudfoundry;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var redis = Cloudfoundry.GetService.Invoke(new()\n    {\n        Name = \"p-redis\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/cloudfoundry/cloudfoundry\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := cloudfoundry.GetService(ctx, \u0026cloudfoundry.GetServiceArgs{\n\t\t\tName: \"p-redis\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.cloudfoundry.CloudfoundryFunctions;\nimport com.pulumi.cloudfoundry.inputs.GetServiceArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var redis = CloudfoundryFunctions.getService(GetServiceArgs.builder()\n            .name(\"p-redis\")\n            .build());\n\n    }\n}\n```\n```yaml\nvariables:\n  redis:\n    fn::invoke:\n      function: cloudfoundry:getService\n      arguments:\n        name: p-redis\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\nThe following example looks up a service named 'p-redis', registered as a space-scoped service within the specified Space id\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as cloudfoundry from \"@pulumi/cloudfoundry\";\n\nconst redis = cloudfoundry.getService({\n    name: \"p-redis\",\n    space: cloudfoundry_space.dev.id,\n});\n```\n```python\nimport pulumi\nimport pulumi_cloudfoundry as cloudfoundry\n\nredis = cloudfoundry.get_service(name=\"p-redis\",\n    space=cloudfoundry_space[\"dev\"][\"id\"])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Cloudfoundry = Pulumi.Cloudfoundry;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var redis = Cloudfoundry.GetService.Invoke(new()\n    {\n        Name = \"p-redis\",\n        Space = cloudfoundry_space.Dev.Id,\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/cloudfoundry/cloudfoundry\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := cloudfoundry.GetService(ctx, \u0026cloudfoundry.GetServiceArgs{\n\t\t\tName:  \"p-redis\",\n\t\t\tSpace: pulumi.StringRef(cloudfoundry_space.Dev.Id),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.cloudfoundry.CloudfoundryFunctions;\nimport com.pulumi.cloudfoundry.inputs.GetServiceArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var redis = CloudfoundryFunctions.getService(GetServiceArgs.builder()\n            .name(\"p-redis\")\n            .space(cloudfoundry_space.dev().id())\n            .build());\n\n    }\n}\n```\n```yaml\nvariables:\n  redis:\n    fn::invoke:\n      function: cloudfoundry:getService\n      arguments:\n        name: p-redis\n        space: ${cloudfoundry_space.dev.id}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\nThe following example looks up a service named 'p-redis', registered as a space-scoped service within the specified Space id provided by a specific service broker (its guid is hardcoded here because service brokers are not always visible to non admin users of cloud foundry).\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as cloudfoundry from \"@pulumi/cloudfoundry\";\n\nconst redis = cloudfoundry.getService({\n    name: \"p-redis\",\n    space: cloudfoundry_space.dev.id,\n    serviceBrokerGuid: \"5716f06c-b3a2-4e8a-893f-39870b0c9f42\",\n});\n```\n```python\nimport pulumi\nimport pulumi_cloudfoundry as cloudfoundry\n\nredis = cloudfoundry.get_service(name=\"p-redis\",\n    space=cloudfoundry_space[\"dev\"][\"id\"],\n    service_broker_guid=\"5716f06c-b3a2-4e8a-893f-39870b0c9f42\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Cloudfoundry = Pulumi.Cloudfoundry;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var redis = Cloudfoundry.GetService.Invoke(new()\n    {\n        Name = \"p-redis\",\n        Space = cloudfoundry_space.Dev.Id,\n        ServiceBrokerGuid = \"5716f06c-b3a2-4e8a-893f-39870b0c9f42\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/cloudfoundry/cloudfoundry\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := cloudfoundry.GetService(ctx, \u0026cloudfoundry.GetServiceArgs{\n\t\t\tName:              \"p-redis\",\n\t\t\tSpace:             pulumi.StringRef(cloudfoundry_space.Dev.Id),\n\t\t\tServiceBrokerGuid: pulumi.StringRef(\"5716f06c-b3a2-4e8a-893f-39870b0c9f42\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.cloudfoundry.CloudfoundryFunctions;\nimport com.pulumi.cloudfoundry.inputs.GetServiceArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var redis = CloudfoundryFunctions.getService(GetServiceArgs.builder()\n            .name(\"p-redis\")\n            .space(cloudfoundry_space.dev().id())\n            .serviceBrokerGuid(\"5716f06c-b3a2-4e8a-893f-39870b0c9f42\")\n            .build());\n\n    }\n}\n```\n```yaml\nvariables:\n  redis:\n    fn::invoke:\n      function: cloudfoundry:getService\n      arguments:\n        name: p-redis\n        space: ${cloudfoundry_space.dev.id}\n        serviceBrokerGuid: 5716f06c-b3a2-4e8a-893f-39870b0c9f42\n```\n\u003c!--End PulumiCodeChooser --\u003e\n",
      "inputs": {
        "description": "A collection of arguments for invoking getService.\n",
        "properties": {
          "id": {
            "type": "string",
            "description": "The GUID of the service\n"
          },
          "name": {
            "type": "string",
            "description": "The name of the service to look up\n"
          },
          "serviceBrokerGuid": {
            "type": "string",
            "description": "The guid of the service broker which offers the service. You can use this to filter two equally named services from different brokers.\n"
          },
          "space": {
            "type": "string",
            "description": "The space within which the service is defined (as a [space-scoped](http://docs.cloudfoundry.org/services/managing-service-brokers.html#register-broker) service)\n"
          }
        },
        "type": "object",
        "required": [
          "name"
        ]
      },
      "outputs": {
        "description": "A collection of values returned by getService.\n",
        "properties": {
          "id": {
            "description": "The GUID of the service\n",
            "type": "string"
          },
          "name": {
            "type": "string"
          },
          "serviceBrokerGuid": {
            "type": "string"
          },
          "serviceBrokerName": {
            "description": "The name of the service broker that offers the service.\n",
            "type": "string"
          },
          "servicePlans": {
            "additionalProperties": {
              "type": "string"
            },
            "description": "Map of service plan GUIDs keyed by service \"\u0026lt;service name\u0026gt;/\u0026lt;plan name\u0026gt;\"\n",
            "type": "object"
          },
          "space": {
            "type": "string"
          }
        },
        "required": [
          "id",
          "name",
          "serviceBrokerName",
          "servicePlans"
        ],
        "type": "object"
      }
    },
    "cloudfoundry:index/getServiceInstance:getServiceInstance": {
      "description": "Gets information on a Cloud Foundry service instance.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as cloudfoundry from \"@pulumi/cloudfoundry\";\n\nconst my_instance = cloudfoundry.getServiceInstance({\n    nameOrId: \"my-service-instance\",\n    space: \"space-id\",\n});\n```\n```python\nimport pulumi\nimport pulumi_cloudfoundry as cloudfoundry\n\nmy_instance = cloudfoundry.get_service_instance(name_or_id=\"my-service-instance\",\n    space=\"space-id\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Cloudfoundry = Pulumi.Cloudfoundry;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var my_instance = Cloudfoundry.GetServiceInstance.Invoke(new()\n    {\n        NameOrId = \"my-service-instance\",\n        Space = \"space-id\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/cloudfoundry/cloudfoundry\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := cloudfoundry.LookupServiceInstance(ctx, \u0026cloudfoundry.LookupServiceInstanceArgs{\n\t\t\tNameOrId: \"my-service-instance\",\n\t\t\tSpace:    \"space-id\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.cloudfoundry.CloudfoundryFunctions;\nimport com.pulumi.cloudfoundry.inputs.GetServiceInstanceArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var my-instance = CloudfoundryFunctions.getServiceInstance(GetServiceInstanceArgs.builder()\n            .nameOrId(\"my-service-instance\")\n            .space(\"space-id\")\n            .build());\n\n    }\n}\n```\n```yaml\nvariables:\n  my-instance:\n    fn::invoke:\n      function: cloudfoundry:getServiceInstance\n      arguments:\n        nameOrId: my-service-instance\n        space: space-id\n```\n\u003c!--End PulumiCodeChooser --\u003e\n",
      "inputs": {
        "description": "A collection of arguments for invoking getServiceInstance.\n",
        "properties": {
          "id": {
            "type": "string",
            "description": "The GUID of the service instance.\n"
          },
          "nameOrId": {
            "type": "string",
            "description": "The name of the service instance or its guid.\n"
          },
          "space": {
            "type": "string",
            "description": "The space guid of the app.\n"
          }
        },
        "type": "object",
        "required": [
          "nameOrId",
          "space"
        ]
      },
      "outputs": {
        "description": "A collection of values returned by getServiceInstance.\n",
        "properties": {
          "id": {
            "description": "The GUID of the service instance.\n",
            "type": "string"
          },
          "name": {
            "description": "The name of the service instance.\n",
            "type": "string"
          },
          "nameOrId": {
            "type": "string"
          },
          "servicePlanId": {
            "description": "The service plan used by the service instance.\n",
            "type": "string"
          },
          "space": {
            "type": "string"
          },
          "tags": {
            "description": "Tags set during service instance creations.\n",
            "items": {
              "type": "string"
            },
            "type": "array"
          }
        },
        "required": [
          "id",
          "name",
          "nameOrId",
          "servicePlanId",
          "space",
          "tags"
        ],
        "type": "object"
      }
    },
    "cloudfoundry:index/getServiceKey:getServiceKey": {
      "description": "Gets information on a Cloud Foundry service key.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as cloudfoundry from \"@pulumi/cloudfoundry\";\n\nconst my_key = cloudfoundry.getServiceKey({\n    name: \"my-service-key\",\n    serviceInstance: \"service-instance-id\",\n});\n```\n```python\nimport pulumi\nimport pulumi_cloudfoundry as cloudfoundry\n\nmy_key = cloudfoundry.get_service_key(name=\"my-service-key\",\n    service_instance=\"service-instance-id\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Cloudfoundry = Pulumi.Cloudfoundry;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var my_key = Cloudfoundry.GetServiceKey.Invoke(new()\n    {\n        Name = \"my-service-key\",\n        ServiceInstance = \"service-instance-id\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/cloudfoundry/cloudfoundry\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := cloudfoundry.LookupServiceKey(ctx, \u0026cloudfoundry.LookupServiceKeyArgs{\n\t\t\tName:            \"my-service-key\",\n\t\t\tServiceInstance: \"service-instance-id\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.cloudfoundry.CloudfoundryFunctions;\nimport com.pulumi.cloudfoundry.inputs.GetServiceKeyArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var my-key = CloudfoundryFunctions.getServiceKey(GetServiceKeyArgs.builder()\n            .name(\"my-service-key\")\n            .serviceInstance(\"service-instance-id\")\n            .build());\n\n    }\n}\n```\n```yaml\nvariables:\n  my-key:\n    fn::invoke:\n      function: cloudfoundry:getServiceKey\n      arguments:\n        name: my-service-key\n        serviceInstance: service-instance-id\n```\n\u003c!--End PulumiCodeChooser --\u003e\n",
      "inputs": {
        "description": "A collection of arguments for invoking getServiceKey.\n",
        "properties": {
          "id": {
            "type": "string",
            "description": "The GUID of the service key.\n"
          },
          "name": {
            "type": "string",
            "description": "The name of the service key.\n"
          },
          "serviceInstance": {
            "type": "string",
            "description": "The service instance guid for this service key.\n"
          }
        },
        "type": "object",
        "required": [
          "name",
          "serviceInstance"
        ]
      },
      "outputs": {
        "description": "A collection of values returned by getServiceKey.\n",
        "properties": {
          "credentials": {
            "additionalProperties": {
              "type": "string"
            },
            "description": "Map of credentials found inside service key.\n",
            "secret": true,
            "type": "object"
          },
          "id": {
            "description": "The GUID of the service key.\n",
            "type": "string"
          },
          "name": {
            "type": "string"
          },
          "serviceInstance": {
            "type": "string"
          }
        },
        "required": [
          "credentials",
          "id",
          "name",
          "serviceInstance"
        ],
        "type": "object"
      }
    },
    "cloudfoundry:index/getSpace:getSpace": {
      "inputs": {
        "description": "A collection of arguments for invoking getSpace.\n",
        "properties": {
          "annotations": {
            "type": "object",
            "additionalProperties": {
              "type": "string"
            },
            "description": "Map of annotations as described [here](https://docs.cloudfoundry.org/adminguide/metadata.html#-view-metadata-for-an-object).\nWorks only on cloud foundry with api \u003e= v3.63.\n"
          },
          "id": {
            "type": "string",
            "description": "The GUID of the space\n"
          },
          "labels": {
            "type": "object",
            "additionalProperties": {
              "type": "string"
            },
            "description": "Map of labels as described [here](https://docs.cloudfoundry.org/adminguide/metadata.html#-view-metadata-for-an-object).\nWorks only on cloud foundry with api \u003e= v3.63.\n"
          },
          "name": {
            "type": "string",
            "description": "The name of the space to look up.\n\nOne of the following arguments must be provided.\n"
          },
          "org": {
            "type": "string",
            "description": "GUID of the organization the space belongs to. Conflicts with `org_name`.\n"
          },
          "orgName": {
            "type": "string",
            "description": "Name of the organization the space belongs to. Conflicts with `org`.\n"
          }
        },
        "type": "object",
        "required": [
          "name"
        ]
      },
      "outputs": {
        "description": "A collection of values returned by getSpace.\n",
        "properties": {
          "annotations": {
            "additionalProperties": {
              "type": "string"
            },
            "description": "Map of annotations as described [here](https://docs.cloudfoundry.org/adminguide/metadata.html#-view-metadata-for-an-object).\nWorks only on cloud foundry with api \u003e= v3.63.\n",
            "type": "object"
          },
          "id": {
            "description": "The GUID of the space\n",
            "type": "string"
          },
          "labels": {
            "additionalProperties": {
              "type": "string"
            },
            "description": "Map of labels as described [here](https://docs.cloudfoundry.org/adminguide/metadata.html#-view-metadata-for-an-object).\nWorks only on cloud foundry with api \u003e= v3.63.\n",
            "type": "object"
          },
          "name": {
            "type": "string"
          },
          "org": {
            "description": "The GUID of the org the space belongs to\n",
            "type": "string"
          },
          "orgName": {
            "description": "The name of the org the space belongs to\n",
            "type": "string"
          },
          "quota": {
            "description": "The GUID of the space's quota\n",
            "type": "string"
          }
        },
        "required": [
          "id",
          "name",
          "org",
          "orgName",
          "quota"
        ],
        "type": "object"
      }
    },
    "cloudfoundry:index/getSpaceQuota:getSpaceQuota": {
      "description": "Gets information on a Cloud Foundry space quota.\n\n## Example Usage\n\nThe following example looks up a space quota named 'myquota'\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as cloudfoundry from \"@pulumi/cloudfoundry\";\n\nconst spaceQuota = cloudfoundry.getSpaceQuota({\n    name: \"myquota\",\n});\n```\n```python\nimport pulumi\nimport pulumi_cloudfoundry as cloudfoundry\n\nspace_quota = cloudfoundry.get_space_quota(name=\"myquota\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Cloudfoundry = Pulumi.Cloudfoundry;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var spaceQuota = Cloudfoundry.GetSpaceQuota.Invoke(new()\n    {\n        Name = \"myquota\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/cloudfoundry/cloudfoundry\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := cloudfoundry.LookupSpaceQuota(ctx, \u0026cloudfoundry.LookupSpaceQuotaArgs{\n\t\t\tName: \"myquota\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.cloudfoundry.CloudfoundryFunctions;\nimport com.pulumi.cloudfoundry.inputs.GetSpaceQuotaArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var spaceQuota = CloudfoundryFunctions.getSpaceQuota(GetSpaceQuotaArgs.builder()\n            .name(\"myquota\")\n            .build());\n\n    }\n}\n```\n```yaml\nvariables:\n  spaceQuota:\n    fn::invoke:\n      function: cloudfoundry:getSpaceQuota\n      arguments:\n        name: myquota\n```\n\u003c!--End PulumiCodeChooser --\u003e\n",
      "inputs": {
        "description": "A collection of arguments for invoking getSpaceQuota.\n",
        "properties": {
          "id": {
            "type": "string",
            "description": "The GUID of the space quota\n"
          },
          "name": {
            "type": "string",
            "description": "The name of the space quota to look up\n"
          },
          "org": {
            "type": "string",
            "description": "The organization within which the quota is defined\n"
          }
        },
        "type": "object",
        "required": [
          "name"
        ]
      },
      "outputs": {
        "description": "A collection of values returned by getSpaceQuota.\n",
        "properties": {
          "id": {
            "description": "The GUID of the space quota\n",
            "type": "string"
          },
          "name": {
            "type": "string"
          },
          "org": {
            "type": "string"
          }
        },
        "required": [
          "id",
          "name"
        ],
        "type": "object"
      }
    },
    "cloudfoundry:index/getStack:getStack": {
      "description": "Gets information on a particular Cloud Foundry [stack](https://docs.cloudfoundry.org/devguide/deploy-apps/stacks.html).\n\n## Example Usage\n\nThe following example looks up a stack named 'my_custom_stack'.\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as cloudfoundry from \"@pulumi/cloudfoundry\";\n\nconst mystack = cloudfoundry.getStack({\n    name: \"my_custom_stack\",\n});\n```\n```python\nimport pulumi\nimport pulumi_cloudfoundry as cloudfoundry\n\nmystack = cloudfoundry.get_stack(name=\"my_custom_stack\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Cloudfoundry = Pulumi.Cloudfoundry;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var mystack = Cloudfoundry.GetStack.Invoke(new()\n    {\n        Name = \"my_custom_stack\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/cloudfoundry/cloudfoundry\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := cloudfoundry.GetStack(ctx, \u0026cloudfoundry.GetStackArgs{\n\t\t\tName: \"my_custom_stack\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.cloudfoundry.CloudfoundryFunctions;\nimport com.pulumi.cloudfoundry.inputs.GetStackArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var mystack = CloudfoundryFunctions.getStack(GetStackArgs.builder()\n            .name(\"my_custom_stack\")\n            .build());\n\n    }\n}\n```\n```yaml\nvariables:\n  mystack:\n    fn::invoke:\n      function: cloudfoundry:getStack\n      arguments:\n        name: my_custom_stack\n```\n\u003c!--End PulumiCodeChooser --\u003e\n",
      "inputs": {
        "description": "A collection of arguments for invoking getStack.\n",
        "properties": {
          "annotations": {
            "type": "object",
            "additionalProperties": {
              "type": "string"
            },
            "description": "Map of annotations as described [here](https://docs.cloudfoundry.org/adminguide/metadata.html#-view-metadata-for-an-object).\nWorks only on cloud foundry with api \u003e= v3.63.\n"
          },
          "id": {
            "type": "string",
            "description": "The GUID of the stack\n"
          },
          "labels": {
            "type": "object",
            "additionalProperties": {
              "type": "string"
            },
            "description": "Map of labels as described [here](https://docs.cloudfoundry.org/adminguide/metadata.html#-view-metadata-for-an-object).\nWorks only on cloud foundry with api \u003e= v3.63.\n"
          },
          "name": {
            "type": "string",
            "description": "The name of the stack to look up\n"
          }
        },
        "type": "object",
        "required": [
          "name"
        ]
      },
      "outputs": {
        "description": "A collection of values returned by getStack.\n",
        "properties": {
          "annotations": {
            "additionalProperties": {
              "type": "string"
            },
            "description": "Map of annotations as described [here](https://docs.cloudfoundry.org/adminguide/metadata.html#-view-metadata-for-an-object).\nWorks only on cloud foundry with api \u003e= v3.63.\n",
            "type": "object"
          },
          "description": {
            "description": "The description of the stack\n",
            "type": "string"
          },
          "id": {
            "description": "The GUID of the stack\n",
            "type": "string"
          },
          "labels": {
            "additionalProperties": {
              "type": "string"
            },
            "description": "Map of labels as described [here](https://docs.cloudfoundry.org/adminguide/metadata.html#-view-metadata-for-an-object).\nWorks only on cloud foundry with api \u003e= v3.63.\n",
            "type": "object"
          },
          "name": {
            "type": "string"
          }
        },
        "required": [
          "description",
          "id",
          "name"
        ],
        "type": "object"
      }
    },
    "cloudfoundry:index/getUser:getUser": {
      "description": "Gets information on a Cloud Foundry user.\n\n## Example Usage\n\nThe following example looks up an user named 'myuser'.\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as cloudfoundry from \"@pulumi/cloudfoundry\";\n\nconst myuser = cloudfoundry.getUser({\n    name: \"myuser\",\n});\n```\n```python\nimport pulumi\nimport pulumi_cloudfoundry as cloudfoundry\n\nmyuser = cloudfoundry.get_user(name=\"myuser\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Cloudfoundry = Pulumi.Cloudfoundry;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var myuser = Cloudfoundry.GetUser.Invoke(new()\n    {\n        Name = \"myuser\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/cloudfoundry/cloudfoundry\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := cloudfoundry.LookupUser(ctx, \u0026cloudfoundry.LookupUserArgs{\n\t\t\tName: \"myuser\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.cloudfoundry.CloudfoundryFunctions;\nimport com.pulumi.cloudfoundry.inputs.GetUserArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var myuser = CloudfoundryFunctions.getUser(GetUserArgs.builder()\n            .name(\"myuser\")\n            .build());\n\n    }\n}\n```\n```yaml\nvariables:\n  myuser:\n    fn::invoke:\n      function: cloudfoundry:getUser\n      arguments:\n        name: myuser\n```\n\u003c!--End PulumiCodeChooser --\u003e\n",
      "inputs": {
        "description": "A collection of arguments for invoking getUser.\n",
        "properties": {
          "id": {
            "type": "string",
            "description": "The GUID of the user\n"
          },
          "name": {
            "type": "string",
            "description": "The name of the user to look up\n"
          },
          "orgId": {
            "type": "string",
            "description": "the org ID where to look for this user. Use this in case you are using an OrgAdmin account.\n"
          }
        },
        "type": "object",
        "required": [
          "name"
        ]
      },
      "outputs": {
        "description": "A collection of values returned by getUser.\n",
        "properties": {
          "id": {
            "description": "The GUID of the user\n",
            "type": "string"
          },
          "name": {
            "type": "string"
          },
          "orgId": {
            "type": "string"
          }
        },
        "required": [
          "id",
          "name"
        ],
        "type": "object"
      }
    },
    "cloudfoundry:index/getUserProvidedService:getUserProvidedService": {
      "description": "Gets information on a Cloud Foundry user provided service (see [user provided services](https://docs.cloudfoundry.org/devguide/services/user-provided.html)).\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as cloudfoundry from \"@pulumi/cloudfoundry\";\n\nconst my_instance = cloudfoundry.getUserProvidedService({\n    name: \"my-service-instance\",\n    space: \"space-id\",\n});\n```\n```python\nimport pulumi\nimport pulumi_cloudfoundry as cloudfoundry\n\nmy_instance = cloudfoundry.get_user_provided_service(name=\"my-service-instance\",\n    space=\"space-id\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Cloudfoundry = Pulumi.Cloudfoundry;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var my_instance = Cloudfoundry.GetUserProvidedService.Invoke(new()\n    {\n        Name = \"my-service-instance\",\n        Space = \"space-id\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/cloudfoundry/cloudfoundry\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := cloudfoundry.LookupUserProvidedService(ctx, \u0026cloudfoundry.LookupUserProvidedServiceArgs{\n\t\t\tName:  \"my-service-instance\",\n\t\t\tSpace: \"space-id\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.cloudfoundry.CloudfoundryFunctions;\nimport com.pulumi.cloudfoundry.inputs.GetUserProvidedServiceArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var my-instance = CloudfoundryFunctions.getUserProvidedService(GetUserProvidedServiceArgs.builder()\n            .name(\"my-service-instance\")\n            .space(\"space-id\")\n            .build());\n\n    }\n}\n```\n```yaml\nvariables:\n  my-instance:\n    fn::invoke:\n      function: cloudfoundry:getUserProvidedService\n      arguments:\n        name: my-service-instance\n        space: space-id\n```\n\u003c!--End PulumiCodeChooser --\u003e\n",
      "inputs": {
        "description": "A collection of arguments for invoking getUserProvidedService.\n",
        "properties": {
          "id": {
            "type": "string",
            "description": "The GUID of the service instance.\n"
          },
          "name": {
            "type": "string",
            "description": "The name of the user provided service (NOT its guid).\n"
          },
          "space": {
            "type": "string",
            "description": "The space GUID in which the user provided service is defined.\n"
          }
        },
        "type": "object",
        "required": [
          "name",
          "space"
        ]
      },
      "outputs": {
        "description": "A collection of values returned by getUserProvidedService.\n",
        "properties": {
          "credentials": {
            "additionalProperties": {
              "type": "string"
            },
            "description": "A map of fields that was defined as input to the user provided service via the `-p` option in cf cli.\n",
            "type": "object"
          },
          "id": {
            "description": "The GUID of the service instance.\n",
            "type": "string"
          },
          "name": {
            "description": "The name of the service instance.\n",
            "type": "string"
          },
          "routeServiceUrl": {
            "description": "The url of the route service that should proxy requests to an app (see [route binding](https://docs.cloudfoundry.org/devguide/services/route-binding.html)).\n",
            "type": "string"
          },
          "space": {
            "type": "string"
          },
          "syslogDrainUrl": {
            "description": "The url of the syslog service to which app logs should be streamed.\n",
            "type": "string"
          },
          "tags": {
            "description": "Tags set during service instance creations.\n",
            "items": {
              "type": "string"
            },
            "type": "array"
          }
        },
        "required": [
          "credentials",
          "id",
          "name",
          "routeServiceUrl",
          "space",
          "syslogDrainUrl",
          "tags"
        ],
        "type": "object"
      }
    }
  },
  "parameterization": {
    "baseProvider": {
      "name": "terraform-provider",
      "version": "0.10.0"
    },
    "parameter": "eyJyZW1vdGUiOnsidXJsIjoicmVnaXN0cnkub3BlbnRvZnUub3JnL2Nsb3VkZm91bmRyeS1jb21tdW5pdHkvY2xvdWRmb3VuZHJ5IiwidmVyc2lvbiI6IjAuNTQuMCJ9fQ=="
  }
}
