diff --git a/docs/data-sources/apps.md b/docs/data-sources/apps.md new file mode 100644 index 0000000..a94532e --- /dev/null +++ b/docs/data-sources/apps.md @@ -0,0 +1,130 @@ +--- +page_title: "cloudfoundry_apps Data Source - terraform-provider-cloudfoundry" +subcategory: "" +description: |- + Fetches information on Cloud Foundry applications present in a space. +--- + +# cloudfoundry_apps (Data Source) + +Fetches information on Cloud Foundry applications present in a space. + +## Example Usage + +```terraform +data "cloudfoundry_apps" "apps" { + org = "02c0cc92-6ecc-44b1-b7b2-096ca19ee143" +} + +output "apps" { + value = data.cloudfoundry_apps.apps +} +``` + + +## Schema + +### Optional + +- `name` (String) The name of the application to filter by +- `org` (String) The GUID of the org where the applications are present +- `space` (String) The GUID of the space where the applications are present + +### Read-Only + +- `apps` (Attributes List) The list of apps (see [below for nested schema](#nestedatt--apps)) + + +### Nested Schema for `apps` + +Read-Only: + +- `annotations` (Map of String) The annotations associated with Cloud Foundry resources. +- `buildpacks` (Set of String) Multiple buildpacks used to stage the application. +- `command` (String) A custom start command for the application. This overrides the start command provided by the buildpack. +- `created_at` (String) The date and time when the resource was created in [RFC3339](https://www.ietf.org/rfc/rfc3339.txt) format. +- `disk_quota` (String) The disk space to be allocated for each application instance. +- `docker_credentials` (Attributes) Defines login credentials for private docker repositories (see [below for nested schema](#nestedatt--apps--docker_credentials)) +- `docker_image` (String) The URL to the docker image with tag +- `environment` (Map of String) Key/value pairs of custom environment variables in your app. Does not include any system or service variables. +- `health_check_http_endpoint` (String) The endpoint for the http health check type. +- `health_check_interval` (Number) The interval in seconds between health checks. +- `health_check_invocation_timeout` (Number) The timeout in seconds for the health check requests for http and port health checks. +- `health_check_type` (String) The health check type which can be one of 'port', 'process', 'http'. +- `id` (String) The GUID of the object. +- `instances` (Number) The number of app instances started. +- `labels` (Map of String) The labels associated with Cloud Foundry resources. +- `log_rate_limit_per_second` (String) The attribute specifies the log rate limit for all instances of an app. +- `memory` (String) The memory limit for each application instance. +- `name` (String) The name of the application to look up +- `org_name` (String) The name of the associated Cloud Foundry organization to look up +- `processes` (Attributes Set) List of configurations for individual process types. (see [below for nested schema](#nestedatt--apps--processes)) +- `readiness_health_check_http_endpoint` (String) The endpoint for the http readiness health check type. +- `readiness_health_check_interval` (Number) The interval in seconds between readiness health checks. +- `readiness_health_check_invocation_timeout` (Number) The timeout in seconds for the readiness health check requests for http and port health checks. +- `readiness_health_check_type` (String) The readiness health check type which can be one of 'port', 'process', 'http'. +- `routes` (Attributes Set) The routes to map to the application to control its ingress traffic. (see [below for nested schema](#nestedatt--apps--routes)) +- `service_bindings` (Attributes Set) Service instances bound to the application. (see [below for nested schema](#nestedatt--apps--service_bindings)) +- `sidecars` (Attributes Set) The attribute specifies additional processes to run in the same container as your app (see [below for nested schema](#nestedatt--apps--sidecars)) +- `space_name` (String) The name of the space to look up +- `stack` (String) The name of the stack the application will be deployed to. +- `timeout` (Number) Time in seconds at which the health-check will report failure. +- `updated_at` (String) The date and time when the resource was updated in [RFC3339](https://www.ietf.org/rfc/rfc3339.txt) format. + + +### Nested Schema for `apps.docker_credentials` + +Read-Only: + +- `username` (String, Sensitive) The username for the private docker repository. + + + +### Nested Schema for `apps.processes` + +Read-Only: + +- `command` (String) A custom start command for the application. This overrides the start command provided by the buildpack. +- `disk_quota` (String) The disk space to be allocated for each application instance. +- `health_check_http_endpoint` (String) The endpoint for the http health check type. +- `health_check_interval` (Number) The interval in seconds between health checks. +- `health_check_invocation_timeout` (Number) The timeout in seconds for the health check requests for http and port health checks. +- `health_check_type` (String) The health check type which can be one of 'port', 'process', 'http'. +- `instances` (Number) The number of app instances started. +- `log_rate_limit_per_second` (String) The attribute specifies the log rate limit for all instances of an app. +- `memory` (String) The memory limit for each application instance. +- `readiness_health_check_http_endpoint` (String) The endpoint for the http readiness health check type. +- `readiness_health_check_interval` (Number) The interval in seconds between readiness health checks. +- `readiness_health_check_invocation_timeout` (Number) The timeout in seconds for the readiness health check requests for http and port health checks. +- `readiness_health_check_type` (String) The readiness health check type which can be one of 'port', 'process', 'http'. +- `timeout` (Number) Time in seconds at which the health-check will report failure. +- `type` (String) The process type. Can be web or worker. + + + +### Nested Schema for `apps.routes` + +Read-Only: + +- `protocol` (String) The protocol used for the route. Valid values are http2, http1, and tcp. +- `route` (String) The fully qualified domain name which will be bound to app + + + +### Nested Schema for `apps.service_bindings` + +Read-Only: + +- `params` (String) A json object to represent the parameters for the service instance. +- `service_instance` (String) The service instance name. + + + +### Nested Schema for `apps.sidecars` + +Read-Only: + +- `command` (String) The command used to start the sidecar. +- `memory` (String) The memory limit for the sidecar. +- `name` (String) Sidecar name. The identifier for the sidecars to be configured. +- `process_types` (Set of String) List of processes to associate sidecar with. \ No newline at end of file diff --git a/docs/data-sources/mta.md b/docs/data-sources/mta.md index a8b764a..53bf9dd 100644 --- a/docs/data-sources/mta.md +++ b/docs/data-sources/mta.md @@ -3,11 +3,16 @@ page_title: "cloudfoundry_mta Data Source - terraform-provider-cloudfoundry" subcategory: "" description: |- Gets information on a Multi Target Application present in a space. + Further documentation: + Multitarget Applications in the Cloud Foundry Environment https://help.sap.com/docs/btp/sap-business-technology-platform/multitarget-applications-in-cloud-foundry-environment --- # cloudfoundry_mta (Data Source) Gets information on a Multi Target Application present in a space. + +__Further documentation:__ + [Multitarget Applications in the Cloud Foundry Environment](https://help.sap.com/docs/btp/sap-business-technology-platform/multitarget-applications-in-cloud-foundry-environment) ## Example Usage diff --git a/docs/data-sources/mtas.md b/docs/data-sources/mtas.md index 048b695..5fca06f 100644 --- a/docs/data-sources/mtas.md +++ b/docs/data-sources/mtas.md @@ -3,11 +3,17 @@ page_title: "cloudfoundry_mtas Data Source - terraform-provider-cloudfoundry" subcategory: "" description: |- Gets information on Multi Target Applications present in a space. + Further documentation: + Multitarget Applications in the Cloud Foundry Environment https://help.sap.com/docs/btp/sap-business-technology-platform/multitarget-applications-in-cloud-foundry-environment --- # cloudfoundry_mtas (Data Source) Gets information on Multi Target Applications present in a space. + + +__Further documentation:__ + [Multitarget Applications in the Cloud Foundry Environment](https://help.sap.com/docs/btp/sap-business-technology-platform/multitarget-applications-in-cloud-foundry-environment) ## Example Usage diff --git a/examples/data-sources/cloudfoundry_apps/data-source.tf b/examples/data-sources/cloudfoundry_apps/data-source.tf new file mode 100644 index 0000000..ba08929 --- /dev/null +++ b/examples/data-sources/cloudfoundry_apps/data-source.tf @@ -0,0 +1,7 @@ +data "cloudfoundry_apps" "apps" { + org = "02c0cc92-6ecc-44b1-b7b2-096ca19ee143" +} + +output "apps" { + value = data.cloudfoundry_apps.apps +} \ No newline at end of file diff --git a/internal/provider/datasource_app.go b/internal/provider/datasource_app.go index 6f74ac0..32fb85a 100644 --- a/internal/provider/datasource_app.go +++ b/internal/provider/datasource_app.go @@ -113,7 +113,7 @@ func (d *appDataSource) Schema(ctx context.Context, req datasource.SchemaRequest MarkdownDescription: "List of configurations for individual process types.", Computed: true, NestedObject: schema.NestedAttributeObject{ - Attributes: d.ProcessSchemaAttributes(), + Attributes: datasourceProcessSchemaAttributes(), }, }, "sidecars": schema.SetNestedAttribute{ @@ -148,27 +148,27 @@ func (d *appDataSource) Schema(ctx context.Context, req datasource.SchemaRequest updatedAtKey: updatedAtSchema(), }, } - for k, v := range d.ProcessAppCommonSchema() { + for k, v := range datasourceProcessAppCommonSchema() { if _, ok := resp.Schema.Attributes[k]; !ok { resp.Schema.Attributes[k] = v } } } -func (d *appDataSource) ProcessSchemaAttributes() map[string]schema.Attribute { +func datasourceProcessSchemaAttributes() map[string]schema.Attribute { pSchema := map[string]schema.Attribute{ "type": schema.StringAttribute{ MarkdownDescription: "The process type. Can be web or worker.", Computed: true, }, } - for k, v := range d.ProcessAppCommonSchema() { + for k, v := range datasourceProcessAppCommonSchema() { if _, ok := pSchema[k]; !ok { pSchema[k] = v } } return pSchema } -func (d *appDataSource) ProcessAppCommonSchema() map[string]schema.Attribute { +func datasourceProcessAppCommonSchema() map[string]schema.Attribute { return map[string]schema.Attribute{ "command": schema.StringAttribute{ MarkdownDescription: "A custom start command for the application. This overrides the start command provided by the buildpack.", @@ -306,7 +306,7 @@ func (d *appDataSource) Read(ctx context.Context, req datasource.ReadRequest, re datasourceAppTypeResp.Org = datasourceAppType.Org datasourceAppTypeResp.Space = datasourceAppType.Space - tflog.Trace(ctx, "read a data source") + tflog.Trace(ctx, "read an app data source") resp.Diagnostics.Append(resp.State.Set(ctx, &datasourceAppTypeResp)...) } diff --git a/internal/provider/datasource_apps.go b/internal/provider/datasource_apps.go new file mode 100644 index 0000000..16dc0d9 --- /dev/null +++ b/internal/provider/datasource_apps.go @@ -0,0 +1,309 @@ +package provider + +import ( + "context" + "fmt" + + cfv3client "github.com/cloudfoundry/go-cfclient/v3/client" + cfv3operation "github.com/cloudfoundry/go-cfclient/v3/operation" + "github.com/cloudfoundry/go-cfclient/v3/resource" + "github.com/cloudfoundry/terraform-provider-cloudfoundry/internal/provider/managers" + "github.com/cloudfoundry/terraform-provider-cloudfoundry/internal/validation" + "github.com/hashicorp/terraform-plugin-framework-jsontypes/jsontypes" + "github.com/hashicorp/terraform-plugin-framework-validators/stringvalidator" + "github.com/hashicorp/terraform-plugin-framework/datasource" + "github.com/hashicorp/terraform-plugin-framework/datasource/schema" + "github.com/hashicorp/terraform-plugin-framework/path" + "github.com/hashicorp/terraform-plugin-framework/schema/validator" + "github.com/hashicorp/terraform-plugin-framework/types" + "github.com/hashicorp/terraform-plugin-log/tflog" + "gopkg.in/yaml.v2" +) + +var _ datasource.DataSource = &appsDataSource{} +var _ datasource.DataSourceWithConfigure = &appsDataSource{} + +func NewAppsDataSource() datasource.DataSource { + return &appsDataSource{} +} + +type appsDataSource struct { + cfClient *cfv3client.Client +} + +func (d *appsDataSource) Metadata(ctx context.Context, req datasource.MetadataRequest, resp *datasource.MetadataResponse) { + resp.TypeName = req.ProviderTypeName + "_apps" +} + +func (d *appsDataSource) Schema(ctx context.Context, req datasource.SchemaRequest, resp *datasource.SchemaResponse) { + resp.Schema = schema.Schema{ + MarkdownDescription: "Fetches information on Cloud Foundry applications present in a space.", + + Attributes: map[string]schema.Attribute{ + "org": schema.StringAttribute{ + MarkdownDescription: "The GUID of the org where the applications are present", + Optional: true, + Validators: []validator.String{ + stringvalidator.AtLeastOneOf(path.Expressions{ + path.MatchRoot("space"), + path.MatchRoot("org"), + }...), + validation.ValidUUID(), + }, + }, + "space": schema.StringAttribute{ + MarkdownDescription: "The GUID of the space where the applications are present", + Optional: true, + Validators: []validator.String{ + validation.ValidUUID(), + }, + }, + "name": schema.StringAttribute{ + MarkdownDescription: "The name of the application to filter by", + Optional: true, + }, + "apps": schema.ListNestedAttribute{ + MarkdownDescription: "The list of apps", + Computed: true, + NestedObject: schema.NestedAttributeObject{ + Attributes: datasourceAppsSchema(), + }, + }, + }, + } +} + +func datasourceAppsSchema() map[string]schema.Attribute { + pSchema := map[string]schema.Attribute{ + "name": schema.StringAttribute{ + MarkdownDescription: "The name of the application to look up", + Computed: true, + }, + "space_name": schema.StringAttribute{ + MarkdownDescription: "The name of the space to look up", + Computed: true, + }, + "org_name": schema.StringAttribute{ + MarkdownDescription: "The name of the associated Cloud Foundry organization to look up", + Computed: true, + }, + "stack": schema.StringAttribute{ + MarkdownDescription: "The name of the stack the application will be deployed to.", + Computed: true, + }, + "buildpacks": schema.SetAttribute{ + MarkdownDescription: "Multiple buildpacks used to stage the application.", + ElementType: types.StringType, + Computed: true, + }, + "docker_image": schema.StringAttribute{ + MarkdownDescription: "The URL to the docker image with tag", + Computed: true, + }, + "docker_credentials": schema.SingleNestedAttribute{ + MarkdownDescription: "Defines login credentials for private docker repositories", + Computed: true, + Attributes: map[string]schema.Attribute{ + "username": schema.StringAttribute{ + MarkdownDescription: "The username for the private docker repository.", + Computed: true, + Sensitive: true, + }, + }, + }, + "service_bindings": schema.SetNestedAttribute{ + MarkdownDescription: "Service instances bound to the application.", + Computed: true, + NestedObject: schema.NestedAttributeObject{ + Attributes: map[string]schema.Attribute{ + "service_instance": schema.StringAttribute{ + MarkdownDescription: "The service instance name.", + Computed: true, + }, + "params": schema.StringAttribute{ + CustomType: jsontypes.NormalizedType{}, + MarkdownDescription: "A json object to represent the parameters for the service instance.", + Computed: true, + }, + }, + }, + }, + "routes": schema.SetNestedAttribute{ + MarkdownDescription: "The routes to map to the application to control its ingress traffic.", + Computed: true, + NestedObject: schema.NestedAttributeObject{ + Attributes: map[string]schema.Attribute{ + "route": schema.StringAttribute{ + MarkdownDescription: "The fully qualified domain name which will be bound to app", + Computed: true, + }, + "protocol": schema.StringAttribute{ + MarkdownDescription: "The protocol used for the route. Valid values are http2, http1, and tcp.", + Computed: true, + }, + }, + }, + }, + "environment": schema.MapAttribute{ + MarkdownDescription: "Key/value pairs of custom environment variables in your app. Does not include any system or service variables.", + Computed: true, + ElementType: types.StringType, + }, + "processes": schema.SetNestedAttribute{ + MarkdownDescription: "List of configurations for individual process types.", + Computed: true, + NestedObject: schema.NestedAttributeObject{ + Attributes: datasourceProcessSchemaAttributes(), + }, + }, + "sidecars": schema.SetNestedAttribute{ + MarkdownDescription: "The attribute specifies additional processes to run in the same container as your app", + Computed: true, + NestedObject: schema.NestedAttributeObject{ + Attributes: map[string]schema.Attribute{ + "name": schema.StringAttribute{ + MarkdownDescription: "Sidecar name. The identifier for the sidecars to be configured.", + Computed: true, + }, + "command": schema.StringAttribute{ + MarkdownDescription: "The command used to start the sidecar.", + Computed: true, + }, + "process_types": schema.SetAttribute{ + MarkdownDescription: "List of processes to associate sidecar with.", + ElementType: types.StringType, + Computed: true, + }, + "memory": schema.StringAttribute{ + MarkdownDescription: "The memory limit for the sidecar.", + Computed: true, + }, + }, + }, + }, + labelsKey: datasourceLabelsSchema(), + annotationsKey: datasourceAnnotationsSchema(), + idKey: guidSchema(), + createdAtKey: createdAtSchema(), + updatedAtKey: updatedAtSchema(), + } + for k, v := range datasourceProcessAppCommonSchema() { + if _, ok := pSchema[k]; !ok { + pSchema[k] = v + } + } + return pSchema +} + +func (d *appsDataSource) Configure(ctx context.Context, req datasource.ConfigureRequest, resp *datasource.ConfigureResponse) { + if req.ProviderData == nil { + return + } + session, ok := req.ProviderData.(*managers.Session) + if !ok { + resp.Diagnostics.AddError( + "Unexpected Data Source Configure Type", + fmt.Sprintf("Expected *managers.Session, got: %T. Please report this issue to the provider developers.", req.ProviderData), + ) + return + } + d.cfClient = session.CFClient +} + +func (d *appsDataSource) Read(ctx context.Context, req datasource.ReadRequest, resp *datasource.ReadResponse) { + var ( + data DatasourceAppsType + org *resource.Organization + err error + ) + diags := req.Config.Get(ctx, &data) + resp.Diagnostics.Append(diags...) + if resp.Diagnostics.HasError() { + return + } + + appListOptions := cfv3client.NewAppListOptions() + + if !data.Org.IsNull() { + org, err = d.cfClient.Organizations.Get(ctx, data.Org.ValueString()) + if err != nil { + resp.Diagnostics.AddError( + "API Error Fetching Organization", + "Could not get details of the Organization with ID "+data.Org.ValueString()+" : "+err.Error(), + ) + return + } + appListOptions.OrganizationGUIDs = cfv3client.Filter{ + Values: []string{ + org.GUID, + }, + } + } + if !data.Space.IsNull() { + _, org, err = d.cfClient.Spaces.GetIncludeOrganization(ctx, data.Space.ValueString()) + if err != nil { + resp.Diagnostics.AddError( + "API Error Fetching Space", + "Could not get space with ID "+data.Space.ValueString()+" : "+err.Error(), + ) + return + } + appListOptions.SpaceGUIDs = cfv3client.Filter{ + Values: []string{ + data.Space.ValueString(), + }, + } + } + + if !data.Name.IsNull() { + appListOptions.Names = cfv3client.Filter{ + Values: []string{ + data.Name.ValueString(), + }, + } + } + + apps, err := d.cfClient.Applications.ListAll(ctx, appListOptions) + if err != nil { + resp.Diagnostics.AddError("API Error Fetching Apps", err.Error()) + return + } + + if len(apps) == 0 { + resp.Diagnostics.AddError( + "Unable to find any app in list", + "No app present with mentioned criteria", + ) + return + } + + appsList := []DatasourceAppType{} + for _, app := range apps { + + appRaw, err := d.cfClient.Manifests.Generate(ctx, app.GUID) + if err != nil { + resp.Diagnostics.AddError("Error reading app", err.Error()) + return + } + var appManifest cfv3operation.Manifest + err = yaml.Unmarshal([]byte(appRaw), &appManifest) + if err != nil { + resp.Diagnostics.AddError("Error unmarshalling app", err.Error()) + return + } + atResp, diags := mapAppValuesToType(ctx, appManifest.Applications[0], app, nil) + resp.Diagnostics.Append(diags...) + if resp.Diagnostics.HasError() { + return + } + + datasourceAppTypeResp := atResp.Reduce() + datasourceAppTypeResp.Org = types.StringValue(org.Name) + datasourceAppTypeResp.Space = types.StringValue(app.Relationships.Space.Data.GUID) + appsList = append(appsList, datasourceAppTypeResp) + } + + data.Apps = appsList + tflog.Trace(ctx, "read an apps data source") + resp.Diagnostics.Append(resp.State.Set(ctx, &data)...) +} diff --git a/internal/provider/datasource_apps_test.go b/internal/provider/datasource_apps_test.go new file mode 100644 index 0000000..7c30b94 --- /dev/null +++ b/internal/provider/datasource_apps_test.go @@ -0,0 +1,62 @@ +package provider + +import ( + "regexp" + "testing" + + "github.com/hashicorp/terraform-plugin-testing/helper/resource" +) + +func TestAppsDataSource_Configure(t *testing.T) { + t.Parallel() + t.Run("happy path - read apps", func(t *testing.T) { + cfg := getCFHomeConf() + resourceName := "data.cloudfoundry_apps.apps" + rec := cfg.SetupVCR(t, "fixtures/datasource_apps") + defer stopQuietly(rec) + resource.Test(t, resource.TestCase{ + IsUnitTest: true, + ProtoV6ProviderFactories: getProviders(rec.GetDefaultClient()), + Steps: []resource.TestStep{ + { + Config: hclProvider(nil) + ` + data "cloudfoundry_apps" "apps" { + space = "02c0cc92-6ecc-44b1-b7b2-096ca19ee143" + }`, + Check: resource.ComposeTestCheckFunc( + resource.TestCheckResourceAttr(resourceName, "apps.#", "8"), + ), + }, + { + Config: hclProvider(nil) + ` + data "cloudfoundry_apps" "apps" { + space = "02c0cc92-6ecc-44b1-b7b2-096ca19ee143" + name = "foo-hello-backend" + }`, + Check: resource.ComposeTestCheckFunc( + resource.TestCheckResourceAttr(resourceName, "apps.#", "1"), + ), + }, + }, + }) + }) + t.Run("error path - get unavailable apps", func(t *testing.T) { + cfg := getCFHomeConf() + rec := cfg.SetupVCR(t, "fixtures/datasource_apps_invalid") + defer stopQuietly(rec) + resource.Test(t, resource.TestCase{ + IsUnitTest: true, + ProtoV6ProviderFactories: getProviders(rec.GetDefaultClient()), + Steps: []resource.TestStep{ + { + Config: hclProvider(nil) + ` + data "cloudfoundry_apps" "apps" { + space = "02c0cc92-6ecc-44b1-b7b2-096ca19ee143" + name = "blah" + }`, + ExpectError: regexp.MustCompile(`Unable to find any app in list`), + }, + }, + }) + }) +} diff --git a/internal/provider/datasource_mta.go b/internal/provider/datasource_mta.go index 4717554..49136a4 100644 --- a/internal/provider/datasource_mta.go +++ b/internal/provider/datasource_mta.go @@ -65,7 +65,11 @@ func (d *MtaDataSource) Configure(ctx context.Context, req datasource.ConfigureR func (d *MtaDataSource) Schema(ctx context.Context, req datasource.SchemaRequest, resp *datasource.SchemaResponse) { resp.Schema = schema.Schema{ - MarkdownDescription: "Gets information on a Multi Target Application present in a space.", + MarkdownDescription: `Gets information on a Multi Target Application present in a space. + +__Further documentation:__ + [Multitarget Applications in the Cloud Foundry Environment](https://help.sap.com/docs/btp/sap-business-technology-platform/multitarget-applications-in-cloud-foundry-environment) + `, Attributes: map[string]schema.Attribute{ "deploy_url": schema.StringAttribute{ diff --git a/internal/provider/datasource_mtas.go b/internal/provider/datasource_mtas.go index b234e83..ae98d2f 100644 --- a/internal/provider/datasource_mtas.go +++ b/internal/provider/datasource_mtas.go @@ -63,7 +63,12 @@ func (d *MtasDataSource) Configure(ctx context.Context, req datasource.Configure func (d *MtasDataSource) Schema(ctx context.Context, req datasource.SchemaRequest, resp *datasource.SchemaResponse) { resp.Schema = schema.Schema{ - MarkdownDescription: "Gets information on Multi Target Applications present in a space.", + MarkdownDescription: `Gets information on Multi Target Applications present in a space. + + +__Further documentation:__ + [Multitarget Applications in the Cloud Foundry Environment](https://help.sap.com/docs/btp/sap-business-technology-platform/multitarget-applications-in-cloud-foundry-environment) + `, Attributes: map[string]schema.Attribute{ "deploy_url": schema.StringAttribute{ diff --git a/internal/provider/fixtures/datasource_apps.yaml b/internal/provider/fixtures/datasource_apps.yaml new file mode 100644 index 0000000..49e6863 --- /dev/null +++ b/internal/provider/fixtures/datasource_apps.yaml @@ -0,0 +1,3537 @@ +--- +version: 2 +interactions: + - id: 0 + request: + proto: HTTP/1.1 + proto_major: 1 + proto_minor: 1 + content_length: 0 + transfer_encoding: [] + trailer: {} + host: api.x.x.x.x.com + remote_addr: "" + request_uri: "" + body: "" + form: {} + headers: + Authorization: + - Bearer redacted + User-Agent: + - Terraform/1.5.7 terraform-provider-cloudfoundry/dev + url: https://api.x.x.x.x.com/v3/spaces/02c0cc92-6ecc-44b1-b7b2-096ca19ee143?include=organization + method: GET + response: + proto: HTTP/2.0 + proto_major: 2 + proto_minor: 0 + transfer_encoding: [] + trailer: {} + content_length: 1644 + uncompressed: false + body: '{"guid":"02c0cc92-6ecc-44b1-b7b2-096ca19ee143","created_at":"2024-02-08T08:26:00Z","updated_at":"2024-02-08T08:26:00Z","name":"tf-space-1","relationships":{"organization":{"data":{"guid":"784b4cd0-4771-4e4d-9052-a07e178bae56"}},"quota":{"data":null}},"metadata":{"labels":{"purpose":"prod","test":"pass"},"annotations":{}},"links":{"self":{"href":"https://api.x.x.x.x.com/v3/spaces/02c0cc92-6ecc-44b1-b7b2-096ca19ee143"},"organization":{"href":"https://api.x.x.x.x.com/v3/organizations/784b4cd0-4771-4e4d-9052-a07e178bae56"},"features":{"href":"https://api.x.x.x.x.com/v3/spaces/02c0cc92-6ecc-44b1-b7b2-096ca19ee143/features"},"apply_manifest":{"href":"https://api.x.x.x.x.com/v3/spaces/02c0cc92-6ecc-44b1-b7b2-096ca19ee143/actions/apply_manifest","method":"POST"}},"included":{"organizations":[{"guid":"784b4cd0-4771-4e4d-9052-a07e178bae56","created_at":"2017-07-04T10:43:11Z","updated_at":"2024-01-08T15:08:31Z","name":"PerformanceTeamBLR","suspended":false,"relationships":{"quota":{"data":{"guid":"c17f045b-cebf-451a-b2d8-6c885fd9dbfc"}}},"metadata":{"labels":{"env":"canary"},"annotations":{}},"links":{"self":{"href":"https://api.x.x.x.x.com/v3/organizations/784b4cd0-4771-4e4d-9052-a07e178bae56"},"domains":{"href":"https://api.x.x.x.x.com/v3/organizations/784b4cd0-4771-4e4d-9052-a07e178bae56/domains"},"default_domain":{"href":"https://api.x.x.x.x.com/v3/organizations/784b4cd0-4771-4e4d-9052-a07e178bae56/domains/default"},"quota":{"href":"https://api.x.x.x.x.com/v3/organization_quotas/c17f045b-cebf-451a-b2d8-6c885fd9dbfc"}}}]}}' + headers: + Content-Length: + - "1644" + Content-Type: + - application/json; charset=utf-8 + Date: + - Mon, 28 Oct 2024 04:11:46 GMT + Referrer-Policy: + - strict-origin-when-cross-origin + Strict-Transport-Security: + - max-age=31536000; includeSubDomains; preload; + X-B3-Spanid: + - 7f8d20a29c7616d6 + X-B3-Traceid: + - 9fefebeaf3204c7b7f8d20a29c7616d6 + X-Content-Type-Options: + - nosniff + X-Download-Options: + - noopen + X-Frame-Options: + - SAMEORIGIN + X-Permitted-Cross-Domain-Policies: + - none + X-Ratelimit-Limit: + - "20000" + X-Ratelimit-Remaining: + - "18000" + X-Ratelimit-Reset: + - "1730089988" + X-Runtime: + - "0.011305" + X-Vcap-Request-Id: + - 9fefebea-f320-4c7b-7f8d-20a29c7616d6::aba94e9c-0cee-413d-93a5-536f5cb70de3 + X-Xss-Protection: + - 1; mode=block + status: 200 OK + code: 200 + duration: 790.558333ms + - id: 1 + request: + proto: HTTP/1.1 + proto_major: 1 + proto_minor: 1 + content_length: 0 + transfer_encoding: [] + trailer: {} + host: api.x.x.x.x.com + remote_addr: "" + request_uri: "" + body: "" + form: {} + headers: + Authorization: + - Bearer redacted + User-Agent: + - Terraform/1.5.7 terraform-provider-cloudfoundry/dev + url: https://api.x.x.x.x.com/v3/apps?space_guids=02c0cc92-6ecc-44b1-b7b2-096ca19ee143 + method: GET + response: + proto: HTTP/2.0 + proto_major: 2 + proto_minor: 0 + transfer_encoding: [] + trailer: {} + content_length: 19262 + uncompressed: false + body: '{"pagination":{"total_results":8,"total_pages":1,"first":{"href":"https://api.x.x.x.x.com/v3/apps?page=1\u0026per_page=50\u0026space_guids=02c0cc92-6ecc-44b1-b7b2-096ca19ee143"},"last":{"href":"https://api.x.x.x.x.com/v3/apps?page=1\u0026per_page=50\u0026space_guids=02c0cc92-6ecc-44b1-b7b2-096ca19ee143"},"next":null,"previous":null},"resources":[{"guid":"e61536de-f863-4da3-9772-a8538e1bad3d","created_at":"2024-04-30T03:56:21Z","updated_at":"2024-04-30T03:56:56Z","name":"tf-test-do-not-delete-nodejs","state":"STARTED","lifecycle":{"type":"buildpack","data":{"buildpacks":[],"stack":"cflinuxfs4"}},"relationships":{"space":{"data":{"guid":"02c0cc92-6ecc-44b1-b7b2-096ca19ee143"}},"current_droplet":{"data":{"guid":"d9c1d8ed-9777-48b1-a6ed-c3ce51a87a48"}}},"metadata":{"labels":{},"annotations":{}},"links":{"self":{"href":"https://api.x.x.x.x.com/v3/apps/e61536de-f863-4da3-9772-a8538e1bad3d"},"environment_variables":{"href":"https://api.x.x.x.x.com/v3/apps/e61536de-f863-4da3-9772-a8538e1bad3d/environment_variables"},"space":{"href":"https://api.x.x.x.x.com/v3/spaces/02c0cc92-6ecc-44b1-b7b2-096ca19ee143"},"processes":{"href":"https://api.x.x.x.x.com/v3/apps/e61536de-f863-4da3-9772-a8538e1bad3d/processes"},"packages":{"href":"https://api.x.x.x.x.com/v3/apps/e61536de-f863-4da3-9772-a8538e1bad3d/packages"},"current_droplet":{"href":"https://api.x.x.x.x.com/v3/apps/e61536de-f863-4da3-9772-a8538e1bad3d/droplets/current"},"droplets":{"href":"https://api.x.x.x.x.com/v3/apps/e61536de-f863-4da3-9772-a8538e1bad3d/droplets"},"tasks":{"href":"https://api.x.x.x.x.com/v3/apps/e61536de-f863-4da3-9772-a8538e1bad3d/tasks"},"start":{"href":"https://api.x.x.x.x.com/v3/apps/e61536de-f863-4da3-9772-a8538e1bad3d/actions/start","method":"POST"},"stop":{"href":"https://api.x.x.x.x.com/v3/apps/e61536de-f863-4da3-9772-a8538e1bad3d/actions/stop","method":"POST"},"clear_buildpack_cache":{"href":"https://api.x.x.x.x.com/v3/apps/e61536de-f863-4da3-9772-a8538e1bad3d/actions/clear_buildpack_cache","method":"POST"},"revisions":{"href":"https://api.x.x.x.x.com/v3/apps/e61536de-f863-4da3-9772-a8538e1bad3d/revisions"},"deployed_revisions":{"href":"https://api.x.x.x.x.com/v3/apps/e61536de-f863-4da3-9772-a8538e1bad3d/revisions/deployed"},"features":{"href":"https://api.x.x.x.x.com/v3/apps/e61536de-f863-4da3-9772-a8538e1bad3d/features"}}},{"guid":"49cf129e-66f5-4929-bad4-963c0ff95454","created_at":"2024-05-15T04:47:23Z","updated_at":"2024-05-15T04:48:18Z","name":"hello-backend","state":"STARTED","lifecycle":{"type":"buildpack","data":{"buildpacks":["sap_java_buildpack"],"stack":"cflinuxfs4"}},"relationships":{"space":{"data":{"guid":"02c0cc92-6ecc-44b1-b7b2-096ca19ee143"}},"current_droplet":{"data":{"guid":"e40e6463-6ab3-47e2-88bd-ab8cac35e43d"}}},"metadata":{"labels":{"mta_id":"5d41402abc4b2a76b9719d911017c592"},"annotations":{"mta_id":"hello","mta_version":"1.0.0","mta_module":"{\"name\":\"hello-backend\"}","mta_module_provided_dependencies":"[]","mta_bound_services":"[]"}},"links":{"self":{"href":"https://api.x.x.x.x.com/v3/apps/49cf129e-66f5-4929-bad4-963c0ff95454"},"environment_variables":{"href":"https://api.x.x.x.x.com/v3/apps/49cf129e-66f5-4929-bad4-963c0ff95454/environment_variables"},"space":{"href":"https://api.x.x.x.x.com/v3/spaces/02c0cc92-6ecc-44b1-b7b2-096ca19ee143"},"processes":{"href":"https://api.x.x.x.x.com/v3/apps/49cf129e-66f5-4929-bad4-963c0ff95454/processes"},"packages":{"href":"https://api.x.x.x.x.com/v3/apps/49cf129e-66f5-4929-bad4-963c0ff95454/packages"},"current_droplet":{"href":"https://api.x.x.x.x.com/v3/apps/49cf129e-66f5-4929-bad4-963c0ff95454/droplets/current"},"droplets":{"href":"https://api.x.x.x.x.com/v3/apps/49cf129e-66f5-4929-bad4-963c0ff95454/droplets"},"tasks":{"href":"https://api.x.x.x.x.com/v3/apps/49cf129e-66f5-4929-bad4-963c0ff95454/tasks"},"start":{"href":"https://api.x.x.x.x.com/v3/apps/49cf129e-66f5-4929-bad4-963c0ff95454/actions/start","method":"POST"},"stop":{"href":"https://api.x.x.x.x.com/v3/apps/49cf129e-66f5-4929-bad4-963c0ff95454/actions/stop","method":"POST"},"clear_buildpack_cache":{"href":"https://api.x.x.x.x.com/v3/apps/49cf129e-66f5-4929-bad4-963c0ff95454/actions/clear_buildpack_cache","method":"POST"},"revisions":{"href":"https://api.x.x.x.x.com/v3/apps/49cf129e-66f5-4929-bad4-963c0ff95454/revisions"},"deployed_revisions":{"href":"https://api.x.x.x.x.com/v3/apps/49cf129e-66f5-4929-bad4-963c0ff95454/revisions/deployed"},"features":{"href":"https://api.x.x.x.x.com/v3/apps/49cf129e-66f5-4929-bad4-963c0ff95454/features"}}},{"guid":"f9ed8370-7800-4cbc-90b4-413ede177b83","created_at":"2024-05-15T04:48:35Z","updated_at":"2024-05-15T04:49:06Z","name":"hello-router","state":"STARTED","lifecycle":{"type":"buildpack","data":{"buildpacks":["sap_java_buildpack"],"stack":"cflinuxfs4"}},"relationships":{"space":{"data":{"guid":"02c0cc92-6ecc-44b1-b7b2-096ca19ee143"}},"current_droplet":{"data":{"guid":"24974494-53ea-4e80-94d7-18651a259aa1"}}},"metadata":{"labels":{"mta_id":"5d41402abc4b2a76b9719d911017c592"},"annotations":{"mta_module":"{\"name\":\"hello-router\"}","mta_module_provided_dependencies":"[]","mta_id":"hello","mta_version":"1.0.0","mta_bound_services":"[]"}},"links":{"self":{"href":"https://api.x.x.x.x.com/v3/apps/f9ed8370-7800-4cbc-90b4-413ede177b83"},"environment_variables":{"href":"https://api.x.x.x.x.com/v3/apps/f9ed8370-7800-4cbc-90b4-413ede177b83/environment_variables"},"space":{"href":"https://api.x.x.x.x.com/v3/spaces/02c0cc92-6ecc-44b1-b7b2-096ca19ee143"},"processes":{"href":"https://api.x.x.x.x.com/v3/apps/f9ed8370-7800-4cbc-90b4-413ede177b83/processes"},"packages":{"href":"https://api.x.x.x.x.com/v3/apps/f9ed8370-7800-4cbc-90b4-413ede177b83/packages"},"current_droplet":{"href":"https://api.x.x.x.x.com/v3/apps/f9ed8370-7800-4cbc-90b4-413ede177b83/droplets/current"},"droplets":{"href":"https://api.x.x.x.x.com/v3/apps/f9ed8370-7800-4cbc-90b4-413ede177b83/droplets"},"tasks":{"href":"https://api.x.x.x.x.com/v3/apps/f9ed8370-7800-4cbc-90b4-413ede177b83/tasks"},"start":{"href":"https://api.x.x.x.x.com/v3/apps/f9ed8370-7800-4cbc-90b4-413ede177b83/actions/start","method":"POST"},"stop":{"href":"https://api.x.x.x.x.com/v3/apps/f9ed8370-7800-4cbc-90b4-413ede177b83/actions/stop","method":"POST"},"clear_buildpack_cache":{"href":"https://api.x.x.x.x.com/v3/apps/f9ed8370-7800-4cbc-90b4-413ede177b83/actions/clear_buildpack_cache","method":"POST"},"revisions":{"href":"https://api.x.x.x.x.com/v3/apps/f9ed8370-7800-4cbc-90b4-413ede177b83/revisions"},"deployed_revisions":{"href":"https://api.x.x.x.x.com/v3/apps/f9ed8370-7800-4cbc-90b4-413ede177b83/revisions/deployed"},"features":{"href":"https://api.x.x.x.x.com/v3/apps/f9ed8370-7800-4cbc-90b4-413ede177b83/features"}}},{"guid":"be2bec49-6df9-4ac2-a160-eb0ce3eb0025","created_at":"2024-05-15T04:49:55Z","updated_at":"2024-05-15T04:50:26Z","name":"foo-hello-backend","state":"STARTED","lifecycle":{"type":"buildpack","data":{"buildpacks":["sap_java_buildpack"],"stack":"cflinuxfs4"}},"relationships":{"space":{"data":{"guid":"02c0cc92-6ecc-44b1-b7b2-096ca19ee143"}},"current_droplet":{"data":{"guid":"3d8c1190-bc2a-405d-81c6-2da6d9885566"}}},"metadata":{"labels":{"mta_id":"5d41402abc4b2a76b9719d911017c592","mta_namespace":"acbd18db4cc2f85cedef654fccc4a4d8"},"annotations":{"mta_id":"hello","mta_version":"1.0.0","mta_namespace":"foo","mta_module":"{\"name\":\"hello-backend\"}","mta_module_provided_dependencies":"[]","mta_bound_services":"[]"}},"links":{"self":{"href":"https://api.x.x.x.x.com/v3/apps/be2bec49-6df9-4ac2-a160-eb0ce3eb0025"},"environment_variables":{"href":"https://api.x.x.x.x.com/v3/apps/be2bec49-6df9-4ac2-a160-eb0ce3eb0025/environment_variables"},"space":{"href":"https://api.x.x.x.x.com/v3/spaces/02c0cc92-6ecc-44b1-b7b2-096ca19ee143"},"processes":{"href":"https://api.x.x.x.x.com/v3/apps/be2bec49-6df9-4ac2-a160-eb0ce3eb0025/processes"},"packages":{"href":"https://api.x.x.x.x.com/v3/apps/be2bec49-6df9-4ac2-a160-eb0ce3eb0025/packages"},"current_droplet":{"href":"https://api.x.x.x.x.com/v3/apps/be2bec49-6df9-4ac2-a160-eb0ce3eb0025/droplets/current"},"droplets":{"href":"https://api.x.x.x.x.com/v3/apps/be2bec49-6df9-4ac2-a160-eb0ce3eb0025/droplets"},"tasks":{"href":"https://api.x.x.x.x.com/v3/apps/be2bec49-6df9-4ac2-a160-eb0ce3eb0025/tasks"},"start":{"href":"https://api.x.x.x.x.com/v3/apps/be2bec49-6df9-4ac2-a160-eb0ce3eb0025/actions/start","method":"POST"},"stop":{"href":"https://api.x.x.x.x.com/v3/apps/be2bec49-6df9-4ac2-a160-eb0ce3eb0025/actions/stop","method":"POST"},"clear_buildpack_cache":{"href":"https://api.x.x.x.x.com/v3/apps/be2bec49-6df9-4ac2-a160-eb0ce3eb0025/actions/clear_buildpack_cache","method":"POST"},"revisions":{"href":"https://api.x.x.x.x.com/v3/apps/be2bec49-6df9-4ac2-a160-eb0ce3eb0025/revisions"},"deployed_revisions":{"href":"https://api.x.x.x.x.com/v3/apps/be2bec49-6df9-4ac2-a160-eb0ce3eb0025/revisions/deployed"},"features":{"href":"https://api.x.x.x.x.com/v3/apps/be2bec49-6df9-4ac2-a160-eb0ce3eb0025/features"}}},{"guid":"2ce853d9-0570-4643-aa96-fe98f87ff187","created_at":"2024-05-15T04:50:46Z","updated_at":"2024-05-15T04:51:16Z","name":"foo-hello-router","state":"STARTED","lifecycle":{"type":"buildpack","data":{"buildpacks":["sap_java_buildpack"],"stack":"cflinuxfs4"}},"relationships":{"space":{"data":{"guid":"02c0cc92-6ecc-44b1-b7b2-096ca19ee143"}},"current_droplet":{"data":{"guid":"17e76ab4-43cc-4331-b284-4f07ba35d90e"}}},"metadata":{"labels":{"mta_id":"5d41402abc4b2a76b9719d911017c592","mta_namespace":"acbd18db4cc2f85cedef654fccc4a4d8"},"annotations":{"mta_id":"hello","mta_version":"1.0.0","mta_namespace":"foo","mta_module":"{\"name\":\"hello-router\"}","mta_module_provided_dependencies":"[]","mta_bound_services":"[]"}},"links":{"self":{"href":"https://api.x.x.x.x.com/v3/apps/2ce853d9-0570-4643-aa96-fe98f87ff187"},"environment_variables":{"href":"https://api.x.x.x.x.com/v3/apps/2ce853d9-0570-4643-aa96-fe98f87ff187/environment_variables"},"space":{"href":"https://api.x.x.x.x.com/v3/spaces/02c0cc92-6ecc-44b1-b7b2-096ca19ee143"},"processes":{"href":"https://api.x.x.x.x.com/v3/apps/2ce853d9-0570-4643-aa96-fe98f87ff187/processes"},"packages":{"href":"https://api.x.x.x.x.com/v3/apps/2ce853d9-0570-4643-aa96-fe98f87ff187/packages"},"current_droplet":{"href":"https://api.x.x.x.x.com/v3/apps/2ce853d9-0570-4643-aa96-fe98f87ff187/droplets/current"},"droplets":{"href":"https://api.x.x.x.x.com/v3/apps/2ce853d9-0570-4643-aa96-fe98f87ff187/droplets"},"tasks":{"href":"https://api.x.x.x.x.com/v3/apps/2ce853d9-0570-4643-aa96-fe98f87ff187/tasks"},"start":{"href":"https://api.x.x.x.x.com/v3/apps/2ce853d9-0570-4643-aa96-fe98f87ff187/actions/start","method":"POST"},"stop":{"href":"https://api.x.x.x.x.com/v3/apps/2ce853d9-0570-4643-aa96-fe98f87ff187/actions/stop","method":"POST"},"clear_buildpack_cache":{"href":"https://api.x.x.x.x.com/v3/apps/2ce853d9-0570-4643-aa96-fe98f87ff187/actions/clear_buildpack_cache","method":"POST"},"revisions":{"href":"https://api.x.x.x.x.com/v3/apps/2ce853d9-0570-4643-aa96-fe98f87ff187/revisions"},"deployed_revisions":{"href":"https://api.x.x.x.x.com/v3/apps/2ce853d9-0570-4643-aa96-fe98f87ff187/revisions/deployed"},"features":{"href":"https://api.x.x.x.x.com/v3/apps/2ce853d9-0570-4643-aa96-fe98f87ff187/features"}}},{"guid":"ac3fb0ad-8c59-4971-84e2-3e437a12596d","created_at":"2024-06-19T06:46:09Z","updated_at":"2024-06-19T07:44:57Z","name":"tf-test-stack","state":"STARTED","lifecycle":{"type":"buildpack","data":{"buildpacks":[],"stack":"cflinuxfs4"}},"relationships":{"space":{"data":{"guid":"02c0cc92-6ecc-44b1-b7b2-096ca19ee143"}},"current_droplet":{"data":{"guid":"d8803038-e588-4ee4-a369-d0d8236c3393"}}},"metadata":{"labels":{"sap.com/cflinuxfs4_stack_migration_state":"succeeded"},"annotations":{}},"links":{"self":{"href":"https://api.x.x.x.x.com/v3/apps/ac3fb0ad-8c59-4971-84e2-3e437a12596d"},"environment_variables":{"href":"https://api.x.x.x.x.com/v3/apps/ac3fb0ad-8c59-4971-84e2-3e437a12596d/environment_variables"},"space":{"href":"https://api.x.x.x.x.com/v3/spaces/02c0cc92-6ecc-44b1-b7b2-096ca19ee143"},"processes":{"href":"https://api.x.x.x.x.com/v3/apps/ac3fb0ad-8c59-4971-84e2-3e437a12596d/processes"},"packages":{"href":"https://api.x.x.x.x.com/v3/apps/ac3fb0ad-8c59-4971-84e2-3e437a12596d/packages"},"current_droplet":{"href":"https://api.x.x.x.x.com/v3/apps/ac3fb0ad-8c59-4971-84e2-3e437a12596d/droplets/current"},"droplets":{"href":"https://api.x.x.x.x.com/v3/apps/ac3fb0ad-8c59-4971-84e2-3e437a12596d/droplets"},"tasks":{"href":"https://api.x.x.x.x.com/v3/apps/ac3fb0ad-8c59-4971-84e2-3e437a12596d/tasks"},"start":{"href":"https://api.x.x.x.x.com/v3/apps/ac3fb0ad-8c59-4971-84e2-3e437a12596d/actions/start","method":"POST"},"stop":{"href":"https://api.x.x.x.x.com/v3/apps/ac3fb0ad-8c59-4971-84e2-3e437a12596d/actions/stop","method":"POST"},"clear_buildpack_cache":{"href":"https://api.x.x.x.x.com/v3/apps/ac3fb0ad-8c59-4971-84e2-3e437a12596d/actions/clear_buildpack_cache","method":"POST"},"revisions":{"href":"https://api.x.x.x.x.com/v3/apps/ac3fb0ad-8c59-4971-84e2-3e437a12596d/revisions"},"deployed_revisions":{"href":"https://api.x.x.x.x.com/v3/apps/ac3fb0ad-8c59-4971-84e2-3e437a12596d/revisions/deployed"},"features":{"href":"https://api.x.x.x.x.com/v3/apps/ac3fb0ad-8c59-4971-84e2-3e437a12596d/features"}}},{"guid":"141274f9-d94e-4c51-a10e-1b61793d4568","created_at":"2024-08-06T09:08:42Z","updated_at":"2024-08-06T09:09:12Z","name":"hello-my-cf-app","state":"STARTED","lifecycle":{"type":"buildpack","data":{"buildpacks":["staticfile_buildpack"],"stack":"cflinuxfs4"}},"relationships":{"space":{"data":{"guid":"02c0cc92-6ecc-44b1-b7b2-096ca19ee143"}},"current_droplet":{"data":{"guid":"7060182e-4fa3-4239-9fa9-e60e8316645c"}}},"metadata":{"labels":{"mta_id":"551a5eac090e859a6f18d2617790c225","mta_namespace":"5d41402abc4b2a76b9719d911017c592"},"annotations":{"mta_id":"a.cf.app","mta_version":"0.0.0","mta_namespace":"hello","mta_module":"{\"name\":\"my-mta-managed-app-module\"}","mta_module_provided_dependencies":"[]","mta_bound_services":"[]"}},"links":{"self":{"href":"https://api.x.x.x.x.com/v3/apps/141274f9-d94e-4c51-a10e-1b61793d4568"},"environment_variables":{"href":"https://api.x.x.x.x.com/v3/apps/141274f9-d94e-4c51-a10e-1b61793d4568/environment_variables"},"space":{"href":"https://api.x.x.x.x.com/v3/spaces/02c0cc92-6ecc-44b1-b7b2-096ca19ee143"},"processes":{"href":"https://api.x.x.x.x.com/v3/apps/141274f9-d94e-4c51-a10e-1b61793d4568/processes"},"packages":{"href":"https://api.x.x.x.x.com/v3/apps/141274f9-d94e-4c51-a10e-1b61793d4568/packages"},"current_droplet":{"href":"https://api.x.x.x.x.com/v3/apps/141274f9-d94e-4c51-a10e-1b61793d4568/droplets/current"},"droplets":{"href":"https://api.x.x.x.x.com/v3/apps/141274f9-d94e-4c51-a10e-1b61793d4568/droplets"},"tasks":{"href":"https://api.x.x.x.x.com/v3/apps/141274f9-d94e-4c51-a10e-1b61793d4568/tasks"},"start":{"href":"https://api.x.x.x.x.com/v3/apps/141274f9-d94e-4c51-a10e-1b61793d4568/actions/start","method":"POST"},"stop":{"href":"https://api.x.x.x.x.com/v3/apps/141274f9-d94e-4c51-a10e-1b61793d4568/actions/stop","method":"POST"},"clear_buildpack_cache":{"href":"https://api.x.x.x.x.com/v3/apps/141274f9-d94e-4c51-a10e-1b61793d4568/actions/clear_buildpack_cache","method":"POST"},"revisions":{"href":"https://api.x.x.x.x.com/v3/apps/141274f9-d94e-4c51-a10e-1b61793d4568/revisions"},"deployed_revisions":{"href":"https://api.x.x.x.x.com/v3/apps/141274f9-d94e-4c51-a10e-1b61793d4568/revisions/deployed"},"features":{"href":"https://api.x.x.x.x.com/v3/apps/141274f9-d94e-4c51-a10e-1b61793d4568/features"}}},{"guid":"189dc98f-9621-4713-9094-62d7f575ab71","created_at":"2024-08-27T04:51:25Z","updated_at":"2024-08-27T04:51:49Z","name":"test-my-cf-app","state":"STARTED","lifecycle":{"type":"buildpack","data":{"buildpacks":["staticfile_buildpack"],"stack":"cflinuxfs4"}},"relationships":{"space":{"data":{"guid":"02c0cc92-6ecc-44b1-b7b2-096ca19ee143"}},"current_droplet":{"data":{"guid":"5d36278d-a692-41b4-8d36-57d684617465"}}},"metadata":{"labels":{"mta_id":"551a5eac090e859a6f18d2617790c225","mta_namespace":"098f6bcd4621d373cade4e832627b4f6"},"annotations":{"mta_id":"a.cf.app","mta_version":"0.0.0","mta_namespace":"test","mta_module":"{\"name\":\"my-mta-managed-app-module\"}","mta_module_provided_dependencies":"[]","mta_bound_services":"[]"}},"links":{"self":{"href":"https://api.x.x.x.x.com/v3/apps/189dc98f-9621-4713-9094-62d7f575ab71"},"environment_variables":{"href":"https://api.x.x.x.x.com/v3/apps/189dc98f-9621-4713-9094-62d7f575ab71/environment_variables"},"space":{"href":"https://api.x.x.x.x.com/v3/spaces/02c0cc92-6ecc-44b1-b7b2-096ca19ee143"},"processes":{"href":"https://api.x.x.x.x.com/v3/apps/189dc98f-9621-4713-9094-62d7f575ab71/processes"},"packages":{"href":"https://api.x.x.x.x.com/v3/apps/189dc98f-9621-4713-9094-62d7f575ab71/packages"},"current_droplet":{"href":"https://api.x.x.x.x.com/v3/apps/189dc98f-9621-4713-9094-62d7f575ab71/droplets/current"},"droplets":{"href":"https://api.x.x.x.x.com/v3/apps/189dc98f-9621-4713-9094-62d7f575ab71/droplets"},"tasks":{"href":"https://api.x.x.x.x.com/v3/apps/189dc98f-9621-4713-9094-62d7f575ab71/tasks"},"start":{"href":"https://api.x.x.x.x.com/v3/apps/189dc98f-9621-4713-9094-62d7f575ab71/actions/start","method":"POST"},"stop":{"href":"https://api.x.x.x.x.com/v3/apps/189dc98f-9621-4713-9094-62d7f575ab71/actions/stop","method":"POST"},"clear_buildpack_cache":{"href":"https://api.x.x.x.x.com/v3/apps/189dc98f-9621-4713-9094-62d7f575ab71/actions/clear_buildpack_cache","method":"POST"},"revisions":{"href":"https://api.x.x.x.x.com/v3/apps/189dc98f-9621-4713-9094-62d7f575ab71/revisions"},"deployed_revisions":{"href":"https://api.x.x.x.x.com/v3/apps/189dc98f-9621-4713-9094-62d7f575ab71/revisions/deployed"},"features":{"href":"https://api.x.x.x.x.com/v3/apps/189dc98f-9621-4713-9094-62d7f575ab71/features"}}}]}' + headers: + Content-Length: + - "19262" + Content-Type: + - application/json; charset=utf-8 + Date: + - Mon, 28 Oct 2024 04:11:46 GMT + Referrer-Policy: + - strict-origin-when-cross-origin + Strict-Transport-Security: + - max-age=31536000; includeSubDomains; preload; + X-B3-Spanid: + - 546e9e1d6e976126 + X-B3-Traceid: + - ba7fdba029784a82546e9e1d6e976126 + X-Content-Type-Options: + - nosniff + X-Download-Options: + - noopen + X-Frame-Options: + - SAMEORIGIN + X-Permitted-Cross-Domain-Policies: + - none + X-Ratelimit-Limit: + - "20000" + X-Ratelimit-Remaining: + - "18000" + X-Ratelimit-Reset: + - "1730089988" + X-Runtime: + - "0.078759" + X-Vcap-Request-Id: + - ba7fdba0-2978-4a82-546e-9e1d6e976126::a1cf4b41-3663-4055-979a-8d52a74e69ee + X-Xss-Protection: + - 1; mode=block + status: 200 OK + code: 200 + duration: 547.692708ms + - id: 2 + request: + proto: HTTP/1.1 + proto_major: 1 + proto_minor: 1 + content_length: 0 + transfer_encoding: [] + trailer: {} + host: api.x.x.x.x.com + remote_addr: "" + request_uri: "" + body: "" + form: {} + headers: + Authorization: + - Bearer redacted + User-Agent: + - Terraform/1.5.7 terraform-provider-cloudfoundry/dev + url: https://api.x.x.x.x.com/v3/apps/e61536de-f863-4da3-9772-a8538e1bad3d/manifest + method: GET + response: + proto: HTTP/2.0 + proto_major: 2 + proto_minor: 0 + transfer_encoding: [] + trailer: {} + content_length: 432 + uncompressed: false + body: | + --- + applications: + - name: tf-test-do-not-delete-nodejs + env: + MY_ENV: red + lifecycle: buildpack + stack: cflinuxfs4 + services: + - xsuaa-tf + routes: + - route: tf-test-do-not-delete-nodejs.cfapps.sap.hana.ondemand.com + protocol: http1 + processes: + - type: web + instances: 1 + memory: 1024M + disk_quota: 1024M + log-rate-limit-per-second: -1 + health-check-type: port + readiness-health-check-type: process + headers: + Content-Length: + - "432" + Content-Type: + - application/x-yaml; charset=utf-8 + Date: + - Mon, 28 Oct 2024 04:11:46 GMT + Referrer-Policy: + - strict-origin-when-cross-origin + Strict-Transport-Security: + - max-age=31536000; includeSubDomains; preload; + X-B3-Spanid: + - 7ac5e1d9af141be7 + X-B3-Traceid: + - aae97d43900d43117ac5e1d9af141be7 + X-Content-Type-Options: + - nosniff + X-Download-Options: + - noopen + X-Frame-Options: + - SAMEORIGIN + X-Permitted-Cross-Domain-Policies: + - none + X-Ratelimit-Limit: + - "20000" + X-Ratelimit-Remaining: + - "18000" + X-Ratelimit-Reset: + - "1730089988" + X-Runtime: + - "0.032829" + X-Vcap-Request-Id: + - aae97d43-900d-4311-7ac5-e1d9af141be7::791fb274-87d6-4fa3-9654-f62b4118078a + X-Xss-Protection: + - 1; mode=block + status: 200 OK + code: 200 + duration: 269.061583ms + - id: 3 + request: + proto: HTTP/1.1 + proto_major: 1 + proto_minor: 1 + content_length: 0 + transfer_encoding: [] + trailer: {} + host: api.x.x.x.x.com + remote_addr: "" + request_uri: "" + body: "" + form: {} + headers: + Authorization: + - Bearer redacted + User-Agent: + - Terraform/1.5.7 terraform-provider-cloudfoundry/dev + url: https://api.x.x.x.x.com/v3/apps/49cf129e-66f5-4929-bad4-963c0ff95454/manifest + method: GET + response: + proto: HTTP/2.0 + proto_major: 2 + proto_minor: 0 + transfer_encoding: [] + trailer: {} + content_length: 839 + uncompressed: false + body: | + --- + applications: + - name: hello-backend + env: + MEMORY_CALCULATOR_V1: 'true' + message: Hello, from hello-backend! + DEPLOY_ATTRIBUTES: |- + { + "app-content-digest" : "73CC2934A2B9D7274BB9C65C9C80E3D2" + } + lifecycle: buildpack + buildpacks: + - sap_java_buildpack + stack: cflinuxfs4 + routes: + - route: hello-backend.cfapps.sap.hana.ondemand.com/content + protocol: http1 + metadata: + labels: + mta_id: 5d41402abc4b2a76b9719d911017c592 + annotations: + mta_id: hello + mta_version: 1.0.0 + mta_module: '{"name":"hello-backend"}' + mta_module_provided_dependencies: "[]" + mta_bound_services: "[]" + processes: + - type: web + instances: 1 + memory: 256M + disk_quota: 256M + log-rate-limit-per-second: -1 + health-check-type: port + readiness-health-check-type: process + headers: + Content-Length: + - "839" + Content-Type: + - application/x-yaml; charset=utf-8 + Date: + - Mon, 28 Oct 2024 04:11:47 GMT + Referrer-Policy: + - strict-origin-when-cross-origin + Strict-Transport-Security: + - max-age=31536000; includeSubDomains; preload; + X-B3-Spanid: + - 7e44561a28c5d421 + X-B3-Traceid: + - faaf74c8d6f14e237e44561a28c5d421 + X-Content-Type-Options: + - nosniff + X-Download-Options: + - noopen + X-Frame-Options: + - SAMEORIGIN + X-Permitted-Cross-Domain-Policies: + - none + X-Ratelimit-Limit: + - "20000" + X-Ratelimit-Remaining: + - "18000" + X-Ratelimit-Reset: + - "1730089988" + X-Runtime: + - "0.032547" + X-Vcap-Request-Id: + - faaf74c8-d6f1-4e23-7e44-561a28c5d421::5c16448e-df01-4a36-adb0-0464ffa54a17 + X-Xss-Protection: + - 1; mode=block + status: 200 OK + code: 200 + duration: 268.7845ms + - id: 4 + request: + proto: HTTP/1.1 + proto_major: 1 + proto_minor: 1 + content_length: 0 + transfer_encoding: [] + trailer: {} + host: api.x.x.x.x.com + remote_addr: "" + request_uri: "" + body: "" + form: {} + headers: + Authorization: + - Bearer redacted + User-Agent: + - Terraform/1.5.7 terraform-provider-cloudfoundry/dev + url: https://api.x.x.x.x.com/v3/apps/f9ed8370-7800-4cbc-90b4-413ede177b83/manifest + method: GET + response: + proto: HTTP/2.0 + proto_major: 2 + proto_minor: 0 + transfer_encoding: [] + trailer: {} + content_length: 946 + uncompressed: false + body: | + --- + applications: + - name: hello-router + env: + MEMORY_CALCULATOR_V1: 'true' + backend: https://hello-backend.cfapps.sap.hana.ondemand.com/content + name: backend + url: https://hello-backend.cfapps.sap.hana.ondemand.com/content + DEPLOY_ATTRIBUTES: |- + { + "app-content-digest" : "73CC2934A2B9D7274BB9C65C9C80E3D2" + } + lifecycle: buildpack + buildpacks: + - sap_java_buildpack + stack: cflinuxfs4 + routes: + - route: hello-router.cfapps.sap.hana.ondemand.com + protocol: http1 + metadata: + labels: + mta_id: 5d41402abc4b2a76b9719d911017c592 + annotations: + mta_module: '{"name":"hello-router"}' + mta_module_provided_dependencies: "[]" + mta_id: hello + mta_version: 1.0.0 + mta_bound_services: "[]" + processes: + - type: web + instances: 1 + memory: 256M + disk_quota: 256M + log-rate-limit-per-second: -1 + health-check-type: port + readiness-health-check-type: process + headers: + Content-Length: + - "946" + Content-Type: + - application/x-yaml; charset=utf-8 + Date: + - Mon, 28 Oct 2024 04:11:47 GMT + Referrer-Policy: + - strict-origin-when-cross-origin + Strict-Transport-Security: + - max-age=31536000; includeSubDomains; preload; + X-B3-Spanid: + - 456c816a300cd77a + X-B3-Traceid: + - fc488337bae1434c456c816a300cd77a + X-Content-Type-Options: + - nosniff + X-Download-Options: + - noopen + X-Frame-Options: + - SAMEORIGIN + X-Permitted-Cross-Domain-Policies: + - none + X-Ratelimit-Limit: + - "20000" + X-Ratelimit-Remaining: + - "18000" + X-Ratelimit-Reset: + - "1730089988" + X-Runtime: + - "0.026109" + X-Vcap-Request-Id: + - fc488337-bae1-434c-456c-816a300cd77a::4b923644-cb92-4034-8377-63c67fc83451 + X-Xss-Protection: + - 1; mode=block + status: 200 OK + code: 200 + duration: 265.319292ms + - id: 5 + request: + proto: HTTP/1.1 + proto_major: 1 + proto_minor: 1 + content_length: 0 + transfer_encoding: [] + trailer: {} + host: api.x.x.x.x.com + remote_addr: "" + request_uri: "" + body: "" + form: {} + headers: + Authorization: + - Bearer redacted + User-Agent: + - Terraform/1.5.7 terraform-provider-cloudfoundry/dev + url: https://api.x.x.x.x.com/v3/apps/be2bec49-6df9-4ac2-a160-eb0ce3eb0025/manifest + method: GET + response: + proto: HTTP/2.0 + proto_major: 2 + proto_minor: 0 + transfer_encoding: [] + trailer: {} + content_length: 930 + uncompressed: false + body: | + --- + applications: + - name: foo-hello-backend + env: + MEMORY_CALCULATOR_V1: 'true' + message: Hello, from foo-hello-backend! + DEPLOY_ATTRIBUTES: |- + { + "app-content-digest" : "73CC2934A2B9D7274BB9C65C9C80E3D2" + } + lifecycle: buildpack + buildpacks: + - sap_java_buildpack + stack: cflinuxfs4 + routes: + - route: foo-hello-backend.cfapps.sap.hana.ondemand.com/content + protocol: http1 + metadata: + labels: + mta_id: 5d41402abc4b2a76b9719d911017c592 + mta_namespace: acbd18db4cc2f85cedef654fccc4a4d8 + annotations: + mta_id: hello + mta_version: 1.0.0 + mta_namespace: foo + mta_module: '{"name":"hello-backend"}' + mta_module_provided_dependencies: "[]" + mta_bound_services: "[]" + processes: + - type: web + instances: 1 + memory: 256M + disk_quota: 256M + log-rate-limit-per-second: -1 + health-check-type: port + readiness-health-check-type: process + headers: + Content-Length: + - "930" + Content-Type: + - application/x-yaml; charset=utf-8 + Date: + - Mon, 28 Oct 2024 04:11:47 GMT + Referrer-Policy: + - strict-origin-when-cross-origin + Strict-Transport-Security: + - max-age=31536000; includeSubDomains; preload; + X-B3-Spanid: + - 7bba80e143774d0c + X-B3-Traceid: + - 0f570110311b4aee7bba80e143774d0c + X-Content-Type-Options: + - nosniff + X-Download-Options: + - noopen + X-Frame-Options: + - SAMEORIGIN + X-Permitted-Cross-Domain-Policies: + - none + X-Ratelimit-Limit: + - "20000" + X-Ratelimit-Remaining: + - "18000" + X-Ratelimit-Reset: + - "1730089988" + X-Runtime: + - "0.020681" + X-Vcap-Request-Id: + - 0f570110-311b-4aee-7bba-80e143774d0c::167e44dc-24ba-4940-b15c-069afbbd22fc + X-Xss-Protection: + - 1; mode=block + status: 200 OK + code: 200 + duration: 290.839833ms + - id: 6 + request: + proto: HTTP/1.1 + proto_major: 1 + proto_minor: 1 + content_length: 0 + transfer_encoding: [] + trailer: {} + host: api.x.x.x.x.com + remote_addr: "" + request_uri: "" + body: "" + form: {} + headers: + Authorization: + - Bearer redacted + User-Agent: + - Terraform/1.5.7 terraform-provider-cloudfoundry/dev + url: https://api.x.x.x.x.com/v3/apps/2ce853d9-0570-4643-aa96-fe98f87ff187/manifest + method: GET + response: + proto: HTTP/2.0 + proto_major: 2 + proto_minor: 0 + transfer_encoding: [] + trailer: {} + content_length: 1041 + uncompressed: false + body: | + --- + applications: + - name: foo-hello-router + env: + MEMORY_CALCULATOR_V1: 'true' + backend: https://foo-hello-backend.cfapps.sap.hana.ondemand.com/content + name: backend + url: https://foo-hello-backend.cfapps.sap.hana.ondemand.com/content + DEPLOY_ATTRIBUTES: |- + { + "app-content-digest" : "73CC2934A2B9D7274BB9C65C9C80E3D2" + } + lifecycle: buildpack + buildpacks: + - sap_java_buildpack + stack: cflinuxfs4 + routes: + - route: foo-hello-router.cfapps.sap.hana.ondemand.com + protocol: http1 + metadata: + labels: + mta_id: 5d41402abc4b2a76b9719d911017c592 + mta_namespace: acbd18db4cc2f85cedef654fccc4a4d8 + annotations: + mta_id: hello + mta_version: 1.0.0 + mta_namespace: foo + mta_module: '{"name":"hello-router"}' + mta_module_provided_dependencies: "[]" + mta_bound_services: "[]" + processes: + - type: web + instances: 1 + memory: 256M + disk_quota: 256M + log-rate-limit-per-second: -1 + health-check-type: port + readiness-health-check-type: process + headers: + Content-Length: + - "1041" + Content-Type: + - application/x-yaml; charset=utf-8 + Date: + - Mon, 28 Oct 2024 04:11:48 GMT + Referrer-Policy: + - strict-origin-when-cross-origin + Strict-Transport-Security: + - max-age=31536000; includeSubDomains; preload; + X-B3-Spanid: + - 7ca5240efdd55961 + X-B3-Traceid: + - 05eeeb966cb0447a7ca5240efdd55961 + X-Content-Type-Options: + - nosniff + X-Download-Options: + - noopen + X-Frame-Options: + - SAMEORIGIN + X-Permitted-Cross-Domain-Policies: + - none + X-Ratelimit-Limit: + - "20000" + X-Ratelimit-Remaining: + - "18000" + X-Ratelimit-Reset: + - "1730089988" + X-Runtime: + - "0.028011" + X-Vcap-Request-Id: + - 05eeeb96-6cb0-447a-7ca5-240efdd55961::41aa4f26-900a-4d7b-bd4a-74506c7c4eb2 + X-Xss-Protection: + - 1; mode=block + status: 200 OK + code: 200 + duration: 307.082084ms + - id: 7 + request: + proto: HTTP/1.1 + proto_major: 1 + proto_minor: 1 + content_length: 0 + transfer_encoding: [] + trailer: {} + host: api.x.x.x.x.com + remote_addr: "" + request_uri: "" + body: "" + form: {} + headers: + Authorization: + - Bearer redacted + User-Agent: + - Terraform/1.5.7 terraform-provider-cloudfoundry/dev + url: https://api.x.x.x.x.com/v3/apps/ac3fb0ad-8c59-4971-84e2-3e437a12596d/manifest + method: GET + response: + proto: HTTP/2.0 + proto_major: 2 + proto_minor: 0 + transfer_encoding: [] + trailer: {} + content_length: 499 + uncompressed: false + body: | + --- + applications: + - name: tf-test-stack + env: + MY_ENV: red + lifecycle: buildpack + stack: cflinuxfs4 + services: + - xsuaa-tf + routes: + - route: tf-test-do-not-delete-nodejs.cfapps.sap.hana.ondemand.com + protocol: http1 + metadata: + labels: + sap.com/cflinuxfs4_stack_migration_state: succeeded + processes: + - type: web + instances: 1 + memory: 1024M + disk_quota: 1024M + log-rate-limit-per-second: -1 + health-check-type: port + readiness-health-check-type: process + headers: + Content-Length: + - "499" + Content-Type: + - application/x-yaml; charset=utf-8 + Date: + - Mon, 28 Oct 2024 04:11:48 GMT + Referrer-Policy: + - strict-origin-when-cross-origin + Strict-Transport-Security: + - max-age=31536000; includeSubDomains; preload; + X-B3-Spanid: + - 4a19c0c029eae22d + X-B3-Traceid: + - 596bc685fa694dcd4a19c0c029eae22d + X-Content-Type-Options: + - nosniff + X-Download-Options: + - noopen + X-Frame-Options: + - SAMEORIGIN + X-Permitted-Cross-Domain-Policies: + - none + X-Ratelimit-Limit: + - "20000" + X-Ratelimit-Remaining: + - "18000" + X-Ratelimit-Reset: + - "1730089988" + X-Runtime: + - "0.024170" + X-Vcap-Request-Id: + - 596bc685-fa69-4dcd-4a19-c0c029eae22d::cba36e38-8249-4c25-9c42-973f817983ee + X-Xss-Protection: + - 1; mode=block + status: 200 OK + code: 200 + duration: 306.788ms + - id: 8 + request: + proto: HTTP/1.1 + proto_major: 1 + proto_minor: 1 + content_length: 0 + transfer_encoding: [] + trailer: {} + host: api.x.x.x.x.com + remote_addr: "" + request_uri: "" + body: "" + form: {} + headers: + Authorization: + - Bearer redacted + User-Agent: + - Terraform/1.5.7 terraform-provider-cloudfoundry/dev + url: https://api.x.x.x.x.com/v3/apps/141274f9-d94e-4c51-a10e-1b61793d4568/manifest + method: GET + response: + proto: HTTP/2.0 + proto_major: 2 + proto_minor: 0 + transfer_encoding: [] + trailer: {} + content_length: 1277 + uncompressed: false + body: | + --- + applications: + - name: hello-my-cf-app + env: + A_MORE_COMPLEX_VAR: '{ "can be an entire":"json object", "with": [ "nested": { + "elements": "https://hello-performanceteamblr-tf-space-1-my-mta-managed-app-module.cfapps.sap.hana.ondemand.com" + } ]' + DEPLOY_ATTRIBUTES: |- + { + "app-content-digest" : "B0FF19ED574D37E24C1FB7AE57B81806", + "no-start" : false, + "upload-timeout" : 180 + } + MY_CF_APP_ENV_VARIABLE: HELLO MTA + lifecycle: buildpack + buildpacks: + - staticfile_buildpack + stack: cflinuxfs4 + routes: + - route: hello-performanceteamblr-tf-space-1-my-mta-managed-app-module.cfapps.sap.hana.ondemand.com + protocol: http1 + metadata: + labels: + mta_id: 551a5eac090e859a6f18d2617790c225 + mta_namespace: 5d41402abc4b2a76b9719d911017c592 + annotations: + mta_id: a.cf.app + mta_version: 0.0.0 + mta_namespace: hello + mta_module: '{"name":"my-mta-managed-app-module"}' + mta_module_provided_dependencies: "[]" + mta_bound_services: "[]" + processes: + - type: web + instances: 1 + memory: 1024M + disk_quota: 1024M + log-rate-limit-per-second: -1 + health-check-type: http + health-check-http-endpoint: "/index" + readiness-health-check-type: process + timeout: 180 + headers: + Content-Length: + - "1277" + Content-Type: + - application/x-yaml; charset=utf-8 + Date: + - Mon, 28 Oct 2024 04:11:48 GMT + Referrer-Policy: + - strict-origin-when-cross-origin + Strict-Transport-Security: + - max-age=31536000; includeSubDomains; preload; + X-B3-Spanid: + - 75d4023797aaf4b0 + X-B3-Traceid: + - 4d2256456f26462675d4023797aaf4b0 + X-Content-Type-Options: + - nosniff + X-Download-Options: + - noopen + X-Frame-Options: + - SAMEORIGIN + X-Permitted-Cross-Domain-Policies: + - none + X-Ratelimit-Limit: + - "20000" + X-Ratelimit-Remaining: + - "18000" + X-Ratelimit-Reset: + - "1730089988" + X-Runtime: + - "0.021306" + X-Vcap-Request-Id: + - 4d225645-6f26-4626-75d4-023797aaf4b0::6e6d454e-8290-4ff1-aa18-3fb7544d70a6 + X-Xss-Protection: + - 1; mode=block + status: 200 OK + code: 200 + duration: 258.507708ms + - id: 9 + request: + proto: HTTP/1.1 + proto_major: 1 + proto_minor: 1 + content_length: 0 + transfer_encoding: [] + trailer: {} + host: api.x.x.x.x.com + remote_addr: "" + request_uri: "" + body: "" + form: {} + headers: + Authorization: + - Bearer redacted + User-Agent: + - Terraform/1.5.7 terraform-provider-cloudfoundry/dev + url: https://api.x.x.x.x.com/v3/apps/189dc98f-9621-4713-9094-62d7f575ab71/manifest + method: GET + response: + proto: HTTP/2.0 + proto_major: 2 + proto_minor: 0 + transfer_encoding: [] + trailer: {} + content_length: 1275 + uncompressed: false + body: | + --- + applications: + - name: test-my-cf-app + env: + A_MORE_COMPLEX_VAR: '{ "can be an entire":"json object", "with": [ "nested": { + "elements": "https://test-performanceteamblr-tf-space-1-my-mta-managed-app-module.cfapps.sap.hana.ondemand.com" + } ]' + DEPLOY_ATTRIBUTES: |- + { + "app-content-digest" : "B0FF19ED574D37E24C1FB7AE57B81806", + "no-start" : false, + "upload-timeout" : 180 + } + MY_CF_APP_ENV_VARIABLE: HELLO MTA + lifecycle: buildpack + buildpacks: + - staticfile_buildpack + stack: cflinuxfs4 + routes: + - route: test-performanceteamblr-tf-space-1-my-mta-managed-app-module.cfapps.sap.hana.ondemand.com + protocol: http1 + metadata: + labels: + mta_id: 551a5eac090e859a6f18d2617790c225 + mta_namespace: '098f6bcd4621d373cade4e832627b4f6' + annotations: + mta_id: a.cf.app + mta_version: 0.0.0 + mta_namespace: test + mta_module: '{"name":"my-mta-managed-app-module"}' + mta_module_provided_dependencies: "[]" + mta_bound_services: "[]" + processes: + - type: web + instances: 1 + memory: 1024M + disk_quota: 1024M + log-rate-limit-per-second: -1 + health-check-type: http + health-check-http-endpoint: "/index" + readiness-health-check-type: process + timeout: 180 + headers: + Content-Length: + - "1275" + Content-Type: + - application/x-yaml; charset=utf-8 + Date: + - Mon, 28 Oct 2024 04:11:48 GMT + Referrer-Policy: + - strict-origin-when-cross-origin + Strict-Transport-Security: + - max-age=31536000; includeSubDomains; preload; + X-B3-Spanid: + - 565ccf35d1389ca9 + X-B3-Traceid: + - afa07ae2ff8940bc565ccf35d1389ca9 + X-Content-Type-Options: + - nosniff + X-Download-Options: + - noopen + X-Frame-Options: + - SAMEORIGIN + X-Permitted-Cross-Domain-Policies: + - none + X-Ratelimit-Limit: + - "20000" + X-Ratelimit-Remaining: + - "18000" + X-Ratelimit-Reset: + - "1730089987" + X-Runtime: + - "0.025864" + X-Vcap-Request-Id: + - afa07ae2-ff89-40bc-565c-cf35d1389ca9::c0a3b7a5-dd74-4a8e-ac35-d7e820c17359 + X-Xss-Protection: + - 1; mode=block + status: 200 OK + code: 200 + duration: 271.251333ms + - id: 10 + request: + proto: HTTP/1.1 + proto_major: 1 + proto_minor: 1 + content_length: 0 + transfer_encoding: [] + trailer: {} + host: api.x.x.x.x.com + remote_addr: "" + request_uri: "" + body: "" + form: {} + headers: + Authorization: + - Bearer redacted + User-Agent: + - Terraform/1.5.7 terraform-provider-cloudfoundry/dev + url: https://api.x.x.x.x.com/v3/spaces/02c0cc92-6ecc-44b1-b7b2-096ca19ee143?include=organization + method: GET + response: + proto: HTTP/2.0 + proto_major: 2 + proto_minor: 0 + transfer_encoding: [] + trailer: {} + content_length: 1644 + uncompressed: false + body: '{"guid":"02c0cc92-6ecc-44b1-b7b2-096ca19ee143","created_at":"2024-02-08T08:26:00Z","updated_at":"2024-02-08T08:26:00Z","name":"tf-space-1","relationships":{"organization":{"data":{"guid":"784b4cd0-4771-4e4d-9052-a07e178bae56"}},"quota":{"data":null}},"metadata":{"labels":{"purpose":"prod","test":"pass"},"annotations":{}},"links":{"self":{"href":"https://api.x.x.x.x.com/v3/spaces/02c0cc92-6ecc-44b1-b7b2-096ca19ee143"},"organization":{"href":"https://api.x.x.x.x.com/v3/organizations/784b4cd0-4771-4e4d-9052-a07e178bae56"},"features":{"href":"https://api.x.x.x.x.com/v3/spaces/02c0cc92-6ecc-44b1-b7b2-096ca19ee143/features"},"apply_manifest":{"href":"https://api.x.x.x.x.com/v3/spaces/02c0cc92-6ecc-44b1-b7b2-096ca19ee143/actions/apply_manifest","method":"POST"}},"included":{"organizations":[{"guid":"784b4cd0-4771-4e4d-9052-a07e178bae56","created_at":"2017-07-04T10:43:11Z","updated_at":"2024-01-08T15:08:31Z","name":"PerformanceTeamBLR","suspended":false,"relationships":{"quota":{"data":{"guid":"c17f045b-cebf-451a-b2d8-6c885fd9dbfc"}}},"metadata":{"labels":{"env":"canary"},"annotations":{}},"links":{"self":{"href":"https://api.x.x.x.x.com/v3/organizations/784b4cd0-4771-4e4d-9052-a07e178bae56"},"domains":{"href":"https://api.x.x.x.x.com/v3/organizations/784b4cd0-4771-4e4d-9052-a07e178bae56/domains"},"default_domain":{"href":"https://api.x.x.x.x.com/v3/organizations/784b4cd0-4771-4e4d-9052-a07e178bae56/domains/default"},"quota":{"href":"https://api.x.x.x.x.com/v3/organization_quotas/c17f045b-cebf-451a-b2d8-6c885fd9dbfc"}}}]}}' + headers: + Content-Length: + - "1644" + Content-Type: + - application/json; charset=utf-8 + Date: + - Mon, 28 Oct 2024 04:11:49 GMT + Referrer-Policy: + - strict-origin-when-cross-origin + Strict-Transport-Security: + - max-age=31536000; includeSubDomains; preload; + X-B3-Spanid: + - 429d4ba6bef742ba + X-B3-Traceid: + - 652ed49c32c64f28429d4ba6bef742ba + X-Content-Type-Options: + - nosniff + X-Download-Options: + - noopen + X-Frame-Options: + - SAMEORIGIN + X-Permitted-Cross-Domain-Policies: + - none + X-Ratelimit-Limit: + - "20000" + X-Ratelimit-Remaining: + - "18000" + X-Ratelimit-Reset: + - "1730089988" + X-Runtime: + - "0.016837" + X-Vcap-Request-Id: + - 652ed49c-32c6-4f28-429d-4ba6bef742ba::afe441a3-161c-4298-8caa-5530397dbcdf + X-Xss-Protection: + - 1; mode=block + status: 200 OK + code: 200 + duration: 461.679167ms + - id: 11 + request: + proto: HTTP/1.1 + proto_major: 1 + proto_minor: 1 + content_length: 0 + transfer_encoding: [] + trailer: {} + host: api.x.x.x.x.com + remote_addr: "" + request_uri: "" + body: "" + form: {} + headers: + Authorization: + - Bearer redacted + User-Agent: + - Terraform/1.5.7 terraform-provider-cloudfoundry/dev + url: https://api.x.x.x.x.com/v3/apps?space_guids=02c0cc92-6ecc-44b1-b7b2-096ca19ee143 + method: GET + response: + proto: HTTP/2.0 + proto_major: 2 + proto_minor: 0 + transfer_encoding: [] + trailer: {} + content_length: 19262 + uncompressed: false + body: '{"pagination":{"total_results":8,"total_pages":1,"first":{"href":"https://api.x.x.x.x.com/v3/apps?page=1\u0026per_page=50\u0026space_guids=02c0cc92-6ecc-44b1-b7b2-096ca19ee143"},"last":{"href":"https://api.x.x.x.x.com/v3/apps?page=1\u0026per_page=50\u0026space_guids=02c0cc92-6ecc-44b1-b7b2-096ca19ee143"},"next":null,"previous":null},"resources":[{"guid":"e61536de-f863-4da3-9772-a8538e1bad3d","created_at":"2024-04-30T03:56:21Z","updated_at":"2024-04-30T03:56:56Z","name":"tf-test-do-not-delete-nodejs","state":"STARTED","lifecycle":{"type":"buildpack","data":{"buildpacks":[],"stack":"cflinuxfs4"}},"relationships":{"space":{"data":{"guid":"02c0cc92-6ecc-44b1-b7b2-096ca19ee143"}},"current_droplet":{"data":{"guid":"d9c1d8ed-9777-48b1-a6ed-c3ce51a87a48"}}},"metadata":{"labels":{},"annotations":{}},"links":{"self":{"href":"https://api.x.x.x.x.com/v3/apps/e61536de-f863-4da3-9772-a8538e1bad3d"},"environment_variables":{"href":"https://api.x.x.x.x.com/v3/apps/e61536de-f863-4da3-9772-a8538e1bad3d/environment_variables"},"space":{"href":"https://api.x.x.x.x.com/v3/spaces/02c0cc92-6ecc-44b1-b7b2-096ca19ee143"},"processes":{"href":"https://api.x.x.x.x.com/v3/apps/e61536de-f863-4da3-9772-a8538e1bad3d/processes"},"packages":{"href":"https://api.x.x.x.x.com/v3/apps/e61536de-f863-4da3-9772-a8538e1bad3d/packages"},"current_droplet":{"href":"https://api.x.x.x.x.com/v3/apps/e61536de-f863-4da3-9772-a8538e1bad3d/droplets/current"},"droplets":{"href":"https://api.x.x.x.x.com/v3/apps/e61536de-f863-4da3-9772-a8538e1bad3d/droplets"},"tasks":{"href":"https://api.x.x.x.x.com/v3/apps/e61536de-f863-4da3-9772-a8538e1bad3d/tasks"},"start":{"href":"https://api.x.x.x.x.com/v3/apps/e61536de-f863-4da3-9772-a8538e1bad3d/actions/start","method":"POST"},"stop":{"href":"https://api.x.x.x.x.com/v3/apps/e61536de-f863-4da3-9772-a8538e1bad3d/actions/stop","method":"POST"},"clear_buildpack_cache":{"href":"https://api.x.x.x.x.com/v3/apps/e61536de-f863-4da3-9772-a8538e1bad3d/actions/clear_buildpack_cache","method":"POST"},"revisions":{"href":"https://api.x.x.x.x.com/v3/apps/e61536de-f863-4da3-9772-a8538e1bad3d/revisions"},"deployed_revisions":{"href":"https://api.x.x.x.x.com/v3/apps/e61536de-f863-4da3-9772-a8538e1bad3d/revisions/deployed"},"features":{"href":"https://api.x.x.x.x.com/v3/apps/e61536de-f863-4da3-9772-a8538e1bad3d/features"}}},{"guid":"49cf129e-66f5-4929-bad4-963c0ff95454","created_at":"2024-05-15T04:47:23Z","updated_at":"2024-05-15T04:48:18Z","name":"hello-backend","state":"STARTED","lifecycle":{"type":"buildpack","data":{"buildpacks":["sap_java_buildpack"],"stack":"cflinuxfs4"}},"relationships":{"space":{"data":{"guid":"02c0cc92-6ecc-44b1-b7b2-096ca19ee143"}},"current_droplet":{"data":{"guid":"e40e6463-6ab3-47e2-88bd-ab8cac35e43d"}}},"metadata":{"labels":{"mta_id":"5d41402abc4b2a76b9719d911017c592"},"annotations":{"mta_id":"hello","mta_version":"1.0.0","mta_module":"{\"name\":\"hello-backend\"}","mta_module_provided_dependencies":"[]","mta_bound_services":"[]"}},"links":{"self":{"href":"https://api.x.x.x.x.com/v3/apps/49cf129e-66f5-4929-bad4-963c0ff95454"},"environment_variables":{"href":"https://api.x.x.x.x.com/v3/apps/49cf129e-66f5-4929-bad4-963c0ff95454/environment_variables"},"space":{"href":"https://api.x.x.x.x.com/v3/spaces/02c0cc92-6ecc-44b1-b7b2-096ca19ee143"},"processes":{"href":"https://api.x.x.x.x.com/v3/apps/49cf129e-66f5-4929-bad4-963c0ff95454/processes"},"packages":{"href":"https://api.x.x.x.x.com/v3/apps/49cf129e-66f5-4929-bad4-963c0ff95454/packages"},"current_droplet":{"href":"https://api.x.x.x.x.com/v3/apps/49cf129e-66f5-4929-bad4-963c0ff95454/droplets/current"},"droplets":{"href":"https://api.x.x.x.x.com/v3/apps/49cf129e-66f5-4929-bad4-963c0ff95454/droplets"},"tasks":{"href":"https://api.x.x.x.x.com/v3/apps/49cf129e-66f5-4929-bad4-963c0ff95454/tasks"},"start":{"href":"https://api.x.x.x.x.com/v3/apps/49cf129e-66f5-4929-bad4-963c0ff95454/actions/start","method":"POST"},"stop":{"href":"https://api.x.x.x.x.com/v3/apps/49cf129e-66f5-4929-bad4-963c0ff95454/actions/stop","method":"POST"},"clear_buildpack_cache":{"href":"https://api.x.x.x.x.com/v3/apps/49cf129e-66f5-4929-bad4-963c0ff95454/actions/clear_buildpack_cache","method":"POST"},"revisions":{"href":"https://api.x.x.x.x.com/v3/apps/49cf129e-66f5-4929-bad4-963c0ff95454/revisions"},"deployed_revisions":{"href":"https://api.x.x.x.x.com/v3/apps/49cf129e-66f5-4929-bad4-963c0ff95454/revisions/deployed"},"features":{"href":"https://api.x.x.x.x.com/v3/apps/49cf129e-66f5-4929-bad4-963c0ff95454/features"}}},{"guid":"f9ed8370-7800-4cbc-90b4-413ede177b83","created_at":"2024-05-15T04:48:35Z","updated_at":"2024-05-15T04:49:06Z","name":"hello-router","state":"STARTED","lifecycle":{"type":"buildpack","data":{"buildpacks":["sap_java_buildpack"],"stack":"cflinuxfs4"}},"relationships":{"space":{"data":{"guid":"02c0cc92-6ecc-44b1-b7b2-096ca19ee143"}},"current_droplet":{"data":{"guid":"24974494-53ea-4e80-94d7-18651a259aa1"}}},"metadata":{"labels":{"mta_id":"5d41402abc4b2a76b9719d911017c592"},"annotations":{"mta_module":"{\"name\":\"hello-router\"}","mta_module_provided_dependencies":"[]","mta_id":"hello","mta_version":"1.0.0","mta_bound_services":"[]"}},"links":{"self":{"href":"https://api.x.x.x.x.com/v3/apps/f9ed8370-7800-4cbc-90b4-413ede177b83"},"environment_variables":{"href":"https://api.x.x.x.x.com/v3/apps/f9ed8370-7800-4cbc-90b4-413ede177b83/environment_variables"},"space":{"href":"https://api.x.x.x.x.com/v3/spaces/02c0cc92-6ecc-44b1-b7b2-096ca19ee143"},"processes":{"href":"https://api.x.x.x.x.com/v3/apps/f9ed8370-7800-4cbc-90b4-413ede177b83/processes"},"packages":{"href":"https://api.x.x.x.x.com/v3/apps/f9ed8370-7800-4cbc-90b4-413ede177b83/packages"},"current_droplet":{"href":"https://api.x.x.x.x.com/v3/apps/f9ed8370-7800-4cbc-90b4-413ede177b83/droplets/current"},"droplets":{"href":"https://api.x.x.x.x.com/v3/apps/f9ed8370-7800-4cbc-90b4-413ede177b83/droplets"},"tasks":{"href":"https://api.x.x.x.x.com/v3/apps/f9ed8370-7800-4cbc-90b4-413ede177b83/tasks"},"start":{"href":"https://api.x.x.x.x.com/v3/apps/f9ed8370-7800-4cbc-90b4-413ede177b83/actions/start","method":"POST"},"stop":{"href":"https://api.x.x.x.x.com/v3/apps/f9ed8370-7800-4cbc-90b4-413ede177b83/actions/stop","method":"POST"},"clear_buildpack_cache":{"href":"https://api.x.x.x.x.com/v3/apps/f9ed8370-7800-4cbc-90b4-413ede177b83/actions/clear_buildpack_cache","method":"POST"},"revisions":{"href":"https://api.x.x.x.x.com/v3/apps/f9ed8370-7800-4cbc-90b4-413ede177b83/revisions"},"deployed_revisions":{"href":"https://api.x.x.x.x.com/v3/apps/f9ed8370-7800-4cbc-90b4-413ede177b83/revisions/deployed"},"features":{"href":"https://api.x.x.x.x.com/v3/apps/f9ed8370-7800-4cbc-90b4-413ede177b83/features"}}},{"guid":"be2bec49-6df9-4ac2-a160-eb0ce3eb0025","created_at":"2024-05-15T04:49:55Z","updated_at":"2024-05-15T04:50:26Z","name":"foo-hello-backend","state":"STARTED","lifecycle":{"type":"buildpack","data":{"buildpacks":["sap_java_buildpack"],"stack":"cflinuxfs4"}},"relationships":{"space":{"data":{"guid":"02c0cc92-6ecc-44b1-b7b2-096ca19ee143"}},"current_droplet":{"data":{"guid":"3d8c1190-bc2a-405d-81c6-2da6d9885566"}}},"metadata":{"labels":{"mta_id":"5d41402abc4b2a76b9719d911017c592","mta_namespace":"acbd18db4cc2f85cedef654fccc4a4d8"},"annotations":{"mta_id":"hello","mta_version":"1.0.0","mta_namespace":"foo","mta_module":"{\"name\":\"hello-backend\"}","mta_module_provided_dependencies":"[]","mta_bound_services":"[]"}},"links":{"self":{"href":"https://api.x.x.x.x.com/v3/apps/be2bec49-6df9-4ac2-a160-eb0ce3eb0025"},"environment_variables":{"href":"https://api.x.x.x.x.com/v3/apps/be2bec49-6df9-4ac2-a160-eb0ce3eb0025/environment_variables"},"space":{"href":"https://api.x.x.x.x.com/v3/spaces/02c0cc92-6ecc-44b1-b7b2-096ca19ee143"},"processes":{"href":"https://api.x.x.x.x.com/v3/apps/be2bec49-6df9-4ac2-a160-eb0ce3eb0025/processes"},"packages":{"href":"https://api.x.x.x.x.com/v3/apps/be2bec49-6df9-4ac2-a160-eb0ce3eb0025/packages"},"current_droplet":{"href":"https://api.x.x.x.x.com/v3/apps/be2bec49-6df9-4ac2-a160-eb0ce3eb0025/droplets/current"},"droplets":{"href":"https://api.x.x.x.x.com/v3/apps/be2bec49-6df9-4ac2-a160-eb0ce3eb0025/droplets"},"tasks":{"href":"https://api.x.x.x.x.com/v3/apps/be2bec49-6df9-4ac2-a160-eb0ce3eb0025/tasks"},"start":{"href":"https://api.x.x.x.x.com/v3/apps/be2bec49-6df9-4ac2-a160-eb0ce3eb0025/actions/start","method":"POST"},"stop":{"href":"https://api.x.x.x.x.com/v3/apps/be2bec49-6df9-4ac2-a160-eb0ce3eb0025/actions/stop","method":"POST"},"clear_buildpack_cache":{"href":"https://api.x.x.x.x.com/v3/apps/be2bec49-6df9-4ac2-a160-eb0ce3eb0025/actions/clear_buildpack_cache","method":"POST"},"revisions":{"href":"https://api.x.x.x.x.com/v3/apps/be2bec49-6df9-4ac2-a160-eb0ce3eb0025/revisions"},"deployed_revisions":{"href":"https://api.x.x.x.x.com/v3/apps/be2bec49-6df9-4ac2-a160-eb0ce3eb0025/revisions/deployed"},"features":{"href":"https://api.x.x.x.x.com/v3/apps/be2bec49-6df9-4ac2-a160-eb0ce3eb0025/features"}}},{"guid":"2ce853d9-0570-4643-aa96-fe98f87ff187","created_at":"2024-05-15T04:50:46Z","updated_at":"2024-05-15T04:51:16Z","name":"foo-hello-router","state":"STARTED","lifecycle":{"type":"buildpack","data":{"buildpacks":["sap_java_buildpack"],"stack":"cflinuxfs4"}},"relationships":{"space":{"data":{"guid":"02c0cc92-6ecc-44b1-b7b2-096ca19ee143"}},"current_droplet":{"data":{"guid":"17e76ab4-43cc-4331-b284-4f07ba35d90e"}}},"metadata":{"labels":{"mta_id":"5d41402abc4b2a76b9719d911017c592","mta_namespace":"acbd18db4cc2f85cedef654fccc4a4d8"},"annotations":{"mta_id":"hello","mta_version":"1.0.0","mta_namespace":"foo","mta_module":"{\"name\":\"hello-router\"}","mta_module_provided_dependencies":"[]","mta_bound_services":"[]"}},"links":{"self":{"href":"https://api.x.x.x.x.com/v3/apps/2ce853d9-0570-4643-aa96-fe98f87ff187"},"environment_variables":{"href":"https://api.x.x.x.x.com/v3/apps/2ce853d9-0570-4643-aa96-fe98f87ff187/environment_variables"},"space":{"href":"https://api.x.x.x.x.com/v3/spaces/02c0cc92-6ecc-44b1-b7b2-096ca19ee143"},"processes":{"href":"https://api.x.x.x.x.com/v3/apps/2ce853d9-0570-4643-aa96-fe98f87ff187/processes"},"packages":{"href":"https://api.x.x.x.x.com/v3/apps/2ce853d9-0570-4643-aa96-fe98f87ff187/packages"},"current_droplet":{"href":"https://api.x.x.x.x.com/v3/apps/2ce853d9-0570-4643-aa96-fe98f87ff187/droplets/current"},"droplets":{"href":"https://api.x.x.x.x.com/v3/apps/2ce853d9-0570-4643-aa96-fe98f87ff187/droplets"},"tasks":{"href":"https://api.x.x.x.x.com/v3/apps/2ce853d9-0570-4643-aa96-fe98f87ff187/tasks"},"start":{"href":"https://api.x.x.x.x.com/v3/apps/2ce853d9-0570-4643-aa96-fe98f87ff187/actions/start","method":"POST"},"stop":{"href":"https://api.x.x.x.x.com/v3/apps/2ce853d9-0570-4643-aa96-fe98f87ff187/actions/stop","method":"POST"},"clear_buildpack_cache":{"href":"https://api.x.x.x.x.com/v3/apps/2ce853d9-0570-4643-aa96-fe98f87ff187/actions/clear_buildpack_cache","method":"POST"},"revisions":{"href":"https://api.x.x.x.x.com/v3/apps/2ce853d9-0570-4643-aa96-fe98f87ff187/revisions"},"deployed_revisions":{"href":"https://api.x.x.x.x.com/v3/apps/2ce853d9-0570-4643-aa96-fe98f87ff187/revisions/deployed"},"features":{"href":"https://api.x.x.x.x.com/v3/apps/2ce853d9-0570-4643-aa96-fe98f87ff187/features"}}},{"guid":"ac3fb0ad-8c59-4971-84e2-3e437a12596d","created_at":"2024-06-19T06:46:09Z","updated_at":"2024-06-19T07:44:57Z","name":"tf-test-stack","state":"STARTED","lifecycle":{"type":"buildpack","data":{"buildpacks":[],"stack":"cflinuxfs4"}},"relationships":{"space":{"data":{"guid":"02c0cc92-6ecc-44b1-b7b2-096ca19ee143"}},"current_droplet":{"data":{"guid":"d8803038-e588-4ee4-a369-d0d8236c3393"}}},"metadata":{"labels":{"sap.com/cflinuxfs4_stack_migration_state":"succeeded"},"annotations":{}},"links":{"self":{"href":"https://api.x.x.x.x.com/v3/apps/ac3fb0ad-8c59-4971-84e2-3e437a12596d"},"environment_variables":{"href":"https://api.x.x.x.x.com/v3/apps/ac3fb0ad-8c59-4971-84e2-3e437a12596d/environment_variables"},"space":{"href":"https://api.x.x.x.x.com/v3/spaces/02c0cc92-6ecc-44b1-b7b2-096ca19ee143"},"processes":{"href":"https://api.x.x.x.x.com/v3/apps/ac3fb0ad-8c59-4971-84e2-3e437a12596d/processes"},"packages":{"href":"https://api.x.x.x.x.com/v3/apps/ac3fb0ad-8c59-4971-84e2-3e437a12596d/packages"},"current_droplet":{"href":"https://api.x.x.x.x.com/v3/apps/ac3fb0ad-8c59-4971-84e2-3e437a12596d/droplets/current"},"droplets":{"href":"https://api.x.x.x.x.com/v3/apps/ac3fb0ad-8c59-4971-84e2-3e437a12596d/droplets"},"tasks":{"href":"https://api.x.x.x.x.com/v3/apps/ac3fb0ad-8c59-4971-84e2-3e437a12596d/tasks"},"start":{"href":"https://api.x.x.x.x.com/v3/apps/ac3fb0ad-8c59-4971-84e2-3e437a12596d/actions/start","method":"POST"},"stop":{"href":"https://api.x.x.x.x.com/v3/apps/ac3fb0ad-8c59-4971-84e2-3e437a12596d/actions/stop","method":"POST"},"clear_buildpack_cache":{"href":"https://api.x.x.x.x.com/v3/apps/ac3fb0ad-8c59-4971-84e2-3e437a12596d/actions/clear_buildpack_cache","method":"POST"},"revisions":{"href":"https://api.x.x.x.x.com/v3/apps/ac3fb0ad-8c59-4971-84e2-3e437a12596d/revisions"},"deployed_revisions":{"href":"https://api.x.x.x.x.com/v3/apps/ac3fb0ad-8c59-4971-84e2-3e437a12596d/revisions/deployed"},"features":{"href":"https://api.x.x.x.x.com/v3/apps/ac3fb0ad-8c59-4971-84e2-3e437a12596d/features"}}},{"guid":"141274f9-d94e-4c51-a10e-1b61793d4568","created_at":"2024-08-06T09:08:42Z","updated_at":"2024-08-06T09:09:12Z","name":"hello-my-cf-app","state":"STARTED","lifecycle":{"type":"buildpack","data":{"buildpacks":["staticfile_buildpack"],"stack":"cflinuxfs4"}},"relationships":{"space":{"data":{"guid":"02c0cc92-6ecc-44b1-b7b2-096ca19ee143"}},"current_droplet":{"data":{"guid":"7060182e-4fa3-4239-9fa9-e60e8316645c"}}},"metadata":{"labels":{"mta_id":"551a5eac090e859a6f18d2617790c225","mta_namespace":"5d41402abc4b2a76b9719d911017c592"},"annotations":{"mta_id":"a.cf.app","mta_version":"0.0.0","mta_namespace":"hello","mta_module":"{\"name\":\"my-mta-managed-app-module\"}","mta_module_provided_dependencies":"[]","mta_bound_services":"[]"}},"links":{"self":{"href":"https://api.x.x.x.x.com/v3/apps/141274f9-d94e-4c51-a10e-1b61793d4568"},"environment_variables":{"href":"https://api.x.x.x.x.com/v3/apps/141274f9-d94e-4c51-a10e-1b61793d4568/environment_variables"},"space":{"href":"https://api.x.x.x.x.com/v3/spaces/02c0cc92-6ecc-44b1-b7b2-096ca19ee143"},"processes":{"href":"https://api.x.x.x.x.com/v3/apps/141274f9-d94e-4c51-a10e-1b61793d4568/processes"},"packages":{"href":"https://api.x.x.x.x.com/v3/apps/141274f9-d94e-4c51-a10e-1b61793d4568/packages"},"current_droplet":{"href":"https://api.x.x.x.x.com/v3/apps/141274f9-d94e-4c51-a10e-1b61793d4568/droplets/current"},"droplets":{"href":"https://api.x.x.x.x.com/v3/apps/141274f9-d94e-4c51-a10e-1b61793d4568/droplets"},"tasks":{"href":"https://api.x.x.x.x.com/v3/apps/141274f9-d94e-4c51-a10e-1b61793d4568/tasks"},"start":{"href":"https://api.x.x.x.x.com/v3/apps/141274f9-d94e-4c51-a10e-1b61793d4568/actions/start","method":"POST"},"stop":{"href":"https://api.x.x.x.x.com/v3/apps/141274f9-d94e-4c51-a10e-1b61793d4568/actions/stop","method":"POST"},"clear_buildpack_cache":{"href":"https://api.x.x.x.x.com/v3/apps/141274f9-d94e-4c51-a10e-1b61793d4568/actions/clear_buildpack_cache","method":"POST"},"revisions":{"href":"https://api.x.x.x.x.com/v3/apps/141274f9-d94e-4c51-a10e-1b61793d4568/revisions"},"deployed_revisions":{"href":"https://api.x.x.x.x.com/v3/apps/141274f9-d94e-4c51-a10e-1b61793d4568/revisions/deployed"},"features":{"href":"https://api.x.x.x.x.com/v3/apps/141274f9-d94e-4c51-a10e-1b61793d4568/features"}}},{"guid":"189dc98f-9621-4713-9094-62d7f575ab71","created_at":"2024-08-27T04:51:25Z","updated_at":"2024-08-27T04:51:49Z","name":"test-my-cf-app","state":"STARTED","lifecycle":{"type":"buildpack","data":{"buildpacks":["staticfile_buildpack"],"stack":"cflinuxfs4"}},"relationships":{"space":{"data":{"guid":"02c0cc92-6ecc-44b1-b7b2-096ca19ee143"}},"current_droplet":{"data":{"guid":"5d36278d-a692-41b4-8d36-57d684617465"}}},"metadata":{"labels":{"mta_id":"551a5eac090e859a6f18d2617790c225","mta_namespace":"098f6bcd4621d373cade4e832627b4f6"},"annotations":{"mta_id":"a.cf.app","mta_version":"0.0.0","mta_namespace":"test","mta_module":"{\"name\":\"my-mta-managed-app-module\"}","mta_module_provided_dependencies":"[]","mta_bound_services":"[]"}},"links":{"self":{"href":"https://api.x.x.x.x.com/v3/apps/189dc98f-9621-4713-9094-62d7f575ab71"},"environment_variables":{"href":"https://api.x.x.x.x.com/v3/apps/189dc98f-9621-4713-9094-62d7f575ab71/environment_variables"},"space":{"href":"https://api.x.x.x.x.com/v3/spaces/02c0cc92-6ecc-44b1-b7b2-096ca19ee143"},"processes":{"href":"https://api.x.x.x.x.com/v3/apps/189dc98f-9621-4713-9094-62d7f575ab71/processes"},"packages":{"href":"https://api.x.x.x.x.com/v3/apps/189dc98f-9621-4713-9094-62d7f575ab71/packages"},"current_droplet":{"href":"https://api.x.x.x.x.com/v3/apps/189dc98f-9621-4713-9094-62d7f575ab71/droplets/current"},"droplets":{"href":"https://api.x.x.x.x.com/v3/apps/189dc98f-9621-4713-9094-62d7f575ab71/droplets"},"tasks":{"href":"https://api.x.x.x.x.com/v3/apps/189dc98f-9621-4713-9094-62d7f575ab71/tasks"},"start":{"href":"https://api.x.x.x.x.com/v3/apps/189dc98f-9621-4713-9094-62d7f575ab71/actions/start","method":"POST"},"stop":{"href":"https://api.x.x.x.x.com/v3/apps/189dc98f-9621-4713-9094-62d7f575ab71/actions/stop","method":"POST"},"clear_buildpack_cache":{"href":"https://api.x.x.x.x.com/v3/apps/189dc98f-9621-4713-9094-62d7f575ab71/actions/clear_buildpack_cache","method":"POST"},"revisions":{"href":"https://api.x.x.x.x.com/v3/apps/189dc98f-9621-4713-9094-62d7f575ab71/revisions"},"deployed_revisions":{"href":"https://api.x.x.x.x.com/v3/apps/189dc98f-9621-4713-9094-62d7f575ab71/revisions/deployed"},"features":{"href":"https://api.x.x.x.x.com/v3/apps/189dc98f-9621-4713-9094-62d7f575ab71/features"}}}]}' + headers: + Content-Length: + - "19262" + Content-Type: + - application/json; charset=utf-8 + Date: + - Mon, 28 Oct 2024 04:11:49 GMT + Referrer-Policy: + - strict-origin-when-cross-origin + Strict-Transport-Security: + - max-age=31536000; includeSubDomains; preload; + X-B3-Spanid: + - 6797de5895b18972 + X-B3-Traceid: + - e52b927f171749206797de5895b18972 + X-Content-Type-Options: + - nosniff + X-Download-Options: + - noopen + X-Frame-Options: + - SAMEORIGIN + X-Permitted-Cross-Domain-Policies: + - none + X-Ratelimit-Limit: + - "20000" + X-Ratelimit-Remaining: + - "18000" + X-Ratelimit-Reset: + - "1730089988" + X-Runtime: + - "0.080530" + X-Vcap-Request-Id: + - e52b927f-1717-4920-6797-de5895b18972::50c7f60e-37ce-4b71-aee6-52219317609b + X-Xss-Protection: + - 1; mode=block + status: 200 OK + code: 200 + duration: 318.1015ms + - id: 12 + request: + proto: HTTP/1.1 + proto_major: 1 + proto_minor: 1 + content_length: 0 + transfer_encoding: [] + trailer: {} + host: api.x.x.x.x.com + remote_addr: "" + request_uri: "" + body: "" + form: {} + headers: + Authorization: + - Bearer redacted + User-Agent: + - Terraform/1.5.7 terraform-provider-cloudfoundry/dev + url: https://api.x.x.x.x.com/v3/apps/e61536de-f863-4da3-9772-a8538e1bad3d/manifest + method: GET + response: + proto: HTTP/2.0 + proto_major: 2 + proto_minor: 0 + transfer_encoding: [] + trailer: {} + content_length: 432 + uncompressed: false + body: | + --- + applications: + - name: tf-test-do-not-delete-nodejs + env: + MY_ENV: red + lifecycle: buildpack + stack: cflinuxfs4 + services: + - xsuaa-tf + routes: + - route: tf-test-do-not-delete-nodejs.cfapps.sap.hana.ondemand.com + protocol: http1 + processes: + - type: web + instances: 1 + memory: 1024M + disk_quota: 1024M + log-rate-limit-per-second: -1 + health-check-type: port + readiness-health-check-type: process + headers: + Content-Length: + - "432" + Content-Type: + - application/x-yaml; charset=utf-8 + Date: + - Mon, 28 Oct 2024 04:11:50 GMT + Referrer-Policy: + - strict-origin-when-cross-origin + Strict-Transport-Security: + - max-age=31536000; includeSubDomains; preload; + X-B3-Spanid: + - 6665687f4557755a + X-B3-Traceid: + - e8ecb84cdb8c4bb66665687f4557755a + X-Content-Type-Options: + - nosniff + X-Download-Options: + - noopen + X-Frame-Options: + - SAMEORIGIN + X-Permitted-Cross-Domain-Policies: + - none + X-Ratelimit-Limit: + - "20000" + X-Ratelimit-Remaining: + - "18000" + X-Ratelimit-Reset: + - "1730089988" + X-Runtime: + - "0.029364" + X-Vcap-Request-Id: + - e8ecb84c-db8c-4bb6-6665-687f4557755a::98e809bd-5d5c-42eb-be32-aacb86949316 + X-Xss-Protection: + - 1; mode=block + status: 200 OK + code: 200 + duration: 270.883833ms + - id: 13 + request: + proto: HTTP/1.1 + proto_major: 1 + proto_minor: 1 + content_length: 0 + transfer_encoding: [] + trailer: {} + host: api.x.x.x.x.com + remote_addr: "" + request_uri: "" + body: "" + form: {} + headers: + Authorization: + - Bearer redacted + User-Agent: + - Terraform/1.5.7 terraform-provider-cloudfoundry/dev + url: https://api.x.x.x.x.com/v3/apps/49cf129e-66f5-4929-bad4-963c0ff95454/manifest + method: GET + response: + proto: HTTP/2.0 + proto_major: 2 + proto_minor: 0 + transfer_encoding: [] + trailer: {} + content_length: 839 + uncompressed: false + body: | + --- + applications: + - name: hello-backend + env: + MEMORY_CALCULATOR_V1: 'true' + message: Hello, from hello-backend! + DEPLOY_ATTRIBUTES: |- + { + "app-content-digest" : "73CC2934A2B9D7274BB9C65C9C80E3D2" + } + lifecycle: buildpack + buildpacks: + - sap_java_buildpack + stack: cflinuxfs4 + routes: + - route: hello-backend.cfapps.sap.hana.ondemand.com/content + protocol: http1 + metadata: + labels: + mta_id: 5d41402abc4b2a76b9719d911017c592 + annotations: + mta_id: hello + mta_version: 1.0.0 + mta_module: '{"name":"hello-backend"}' + mta_module_provided_dependencies: "[]" + mta_bound_services: "[]" + processes: + - type: web + instances: 1 + memory: 256M + disk_quota: 256M + log-rate-limit-per-second: -1 + health-check-type: port + readiness-health-check-type: process + headers: + Content-Length: + - "839" + Content-Type: + - application/x-yaml; charset=utf-8 + Date: + - Mon, 28 Oct 2024 04:11:50 GMT + Referrer-Policy: + - strict-origin-when-cross-origin + Strict-Transport-Security: + - max-age=31536000; includeSubDomains; preload; + X-B3-Spanid: + - 490e477150c3d7ef + X-B3-Traceid: + - c0bc2eba76c74f17490e477150c3d7ef + X-Content-Type-Options: + - nosniff + X-Download-Options: + - noopen + X-Frame-Options: + - SAMEORIGIN + X-Permitted-Cross-Domain-Policies: + - none + X-Ratelimit-Limit: + - "20000" + X-Ratelimit-Remaining: + - "18000" + X-Ratelimit-Reset: + - "1730089988" + X-Runtime: + - "0.021995" + X-Vcap-Request-Id: + - c0bc2eba-76c7-4f17-490e-477150c3d7ef::4afdd5ce-397d-43b4-a3b1-25c5ceb9d849 + X-Xss-Protection: + - 1; mode=block + status: 200 OK + code: 200 + duration: 328.528125ms + - id: 14 + request: + proto: HTTP/1.1 + proto_major: 1 + proto_minor: 1 + content_length: 0 + transfer_encoding: [] + trailer: {} + host: api.x.x.x.x.com + remote_addr: "" + request_uri: "" + body: "" + form: {} + headers: + Authorization: + - Bearer redacted + User-Agent: + - Terraform/1.5.7 terraform-provider-cloudfoundry/dev + url: https://api.x.x.x.x.com/v3/apps/f9ed8370-7800-4cbc-90b4-413ede177b83/manifest + method: GET + response: + proto: HTTP/2.0 + proto_major: 2 + proto_minor: 0 + transfer_encoding: [] + trailer: {} + content_length: 946 + uncompressed: false + body: | + --- + applications: + - name: hello-router + env: + MEMORY_CALCULATOR_V1: 'true' + backend: https://hello-backend.cfapps.sap.hana.ondemand.com/content + name: backend + url: https://hello-backend.cfapps.sap.hana.ondemand.com/content + DEPLOY_ATTRIBUTES: |- + { + "app-content-digest" : "73CC2934A2B9D7274BB9C65C9C80E3D2" + } + lifecycle: buildpack + buildpacks: + - sap_java_buildpack + stack: cflinuxfs4 + routes: + - route: hello-router.cfapps.sap.hana.ondemand.com + protocol: http1 + metadata: + labels: + mta_id: 5d41402abc4b2a76b9719d911017c592 + annotations: + mta_module: '{"name":"hello-router"}' + mta_module_provided_dependencies: "[]" + mta_id: hello + mta_version: 1.0.0 + mta_bound_services: "[]" + processes: + - type: web + instances: 1 + memory: 256M + disk_quota: 256M + log-rate-limit-per-second: -1 + health-check-type: port + readiness-health-check-type: process + headers: + Content-Length: + - "946" + Content-Type: + - application/x-yaml; charset=utf-8 + Date: + - Mon, 28 Oct 2024 04:11:50 GMT + Referrer-Policy: + - strict-origin-when-cross-origin + Strict-Transport-Security: + - max-age=31536000; includeSubDomains; preload; + X-B3-Spanid: + - 4c45b11a994881ea + X-B3-Traceid: + - 4620e59fbc94421e4c45b11a994881ea + X-Content-Type-Options: + - nosniff + X-Download-Options: + - noopen + X-Frame-Options: + - SAMEORIGIN + X-Permitted-Cross-Domain-Policies: + - none + X-Ratelimit-Limit: + - "20000" + X-Ratelimit-Remaining: + - "18000" + X-Ratelimit-Reset: + - "1730089987" + X-Runtime: + - "0.026709" + X-Vcap-Request-Id: + - 4620e59f-bc94-421e-4c45-b11a994881ea::9967b588-143c-4cfa-8547-b455e68c089b + X-Xss-Protection: + - 1; mode=block + status: 200 OK + code: 200 + duration: 262.84625ms + - id: 15 + request: + proto: HTTP/1.1 + proto_major: 1 + proto_minor: 1 + content_length: 0 + transfer_encoding: [] + trailer: {} + host: api.x.x.x.x.com + remote_addr: "" + request_uri: "" + body: "" + form: {} + headers: + Authorization: + - Bearer redacted + User-Agent: + - Terraform/1.5.7 terraform-provider-cloudfoundry/dev + url: https://api.x.x.x.x.com/v3/apps/be2bec49-6df9-4ac2-a160-eb0ce3eb0025/manifest + method: GET + response: + proto: HTTP/2.0 + proto_major: 2 + proto_minor: 0 + transfer_encoding: [] + trailer: {} + content_length: 930 + uncompressed: false + body: | + --- + applications: + - name: foo-hello-backend + env: + MEMORY_CALCULATOR_V1: 'true' + message: Hello, from foo-hello-backend! + DEPLOY_ATTRIBUTES: |- + { + "app-content-digest" : "73CC2934A2B9D7274BB9C65C9C80E3D2" + } + lifecycle: buildpack + buildpacks: + - sap_java_buildpack + stack: cflinuxfs4 + routes: + - route: foo-hello-backend.cfapps.sap.hana.ondemand.com/content + protocol: http1 + metadata: + labels: + mta_id: 5d41402abc4b2a76b9719d911017c592 + mta_namespace: acbd18db4cc2f85cedef654fccc4a4d8 + annotations: + mta_id: hello + mta_version: 1.0.0 + mta_namespace: foo + mta_module: '{"name":"hello-backend"}' + mta_module_provided_dependencies: "[]" + mta_bound_services: "[]" + processes: + - type: web + instances: 1 + memory: 256M + disk_quota: 256M + log-rate-limit-per-second: -1 + health-check-type: port + readiness-health-check-type: process + headers: + Content-Length: + - "930" + Content-Type: + - application/x-yaml; charset=utf-8 + Date: + - Mon, 28 Oct 2024 04:11:50 GMT + Referrer-Policy: + - strict-origin-when-cross-origin + Strict-Transport-Security: + - max-age=31536000; includeSubDomains; preload; + X-B3-Spanid: + - 6e5e060a6fe6e116 + X-B3-Traceid: + - deb49150883b4fd26e5e060a6fe6e116 + X-Content-Type-Options: + - nosniff + X-Download-Options: + - noopen + X-Frame-Options: + - SAMEORIGIN + X-Permitted-Cross-Domain-Policies: + - none + X-Ratelimit-Limit: + - "20000" + X-Ratelimit-Remaining: + - "18000" + X-Ratelimit-Reset: + - "1730089988" + X-Runtime: + - "0.018006" + X-Vcap-Request-Id: + - deb49150-883b-4fd2-6e5e-060a6fe6e116::db714791-6eb9-4566-8576-1016bc66056d + X-Xss-Protection: + - 1; mode=block + status: 200 OK + code: 200 + duration: 255.776709ms + - id: 16 + request: + proto: HTTP/1.1 + proto_major: 1 + proto_minor: 1 + content_length: 0 + transfer_encoding: [] + trailer: {} + host: api.x.x.x.x.com + remote_addr: "" + request_uri: "" + body: "" + form: {} + headers: + Authorization: + - Bearer redacted + User-Agent: + - Terraform/1.5.7 terraform-provider-cloudfoundry/dev + url: https://api.x.x.x.x.com/v3/apps/2ce853d9-0570-4643-aa96-fe98f87ff187/manifest + method: GET + response: + proto: HTTP/2.0 + proto_major: 2 + proto_minor: 0 + transfer_encoding: [] + trailer: {} + content_length: 1041 + uncompressed: false + body: | + --- + applications: + - name: foo-hello-router + env: + MEMORY_CALCULATOR_V1: 'true' + backend: https://foo-hello-backend.cfapps.sap.hana.ondemand.com/content + name: backend + url: https://foo-hello-backend.cfapps.sap.hana.ondemand.com/content + DEPLOY_ATTRIBUTES: |- + { + "app-content-digest" : "73CC2934A2B9D7274BB9C65C9C80E3D2" + } + lifecycle: buildpack + buildpacks: + - sap_java_buildpack + stack: cflinuxfs4 + routes: + - route: foo-hello-router.cfapps.sap.hana.ondemand.com + protocol: http1 + metadata: + labels: + mta_id: 5d41402abc4b2a76b9719d911017c592 + mta_namespace: acbd18db4cc2f85cedef654fccc4a4d8 + annotations: + mta_id: hello + mta_version: 1.0.0 + mta_namespace: foo + mta_module: '{"name":"hello-router"}' + mta_module_provided_dependencies: "[]" + mta_bound_services: "[]" + processes: + - type: web + instances: 1 + memory: 256M + disk_quota: 256M + log-rate-limit-per-second: -1 + health-check-type: port + readiness-health-check-type: process + headers: + Content-Length: + - "1041" + Content-Type: + - application/x-yaml; charset=utf-8 + Date: + - Mon, 28 Oct 2024 04:11:51 GMT + Referrer-Policy: + - strict-origin-when-cross-origin + Strict-Transport-Security: + - max-age=31536000; includeSubDomains; preload; + X-B3-Spanid: + - 5b1320e8c69ba50a + X-B3-Traceid: + - 5892a0e1d8b841845b1320e8c69ba50a + X-Content-Type-Options: + - nosniff + X-Download-Options: + - noopen + X-Frame-Options: + - SAMEORIGIN + X-Permitted-Cross-Domain-Policies: + - none + X-Ratelimit-Limit: + - "20000" + X-Ratelimit-Remaining: + - "18000" + X-Ratelimit-Reset: + - "1730089988" + X-Runtime: + - "0.023395" + X-Vcap-Request-Id: + - 5892a0e1-d8b8-4184-5b13-20e8c69ba50a::26cde333-daa3-4460-8582-2295e553ecfa + X-Xss-Protection: + - 1; mode=block + status: 200 OK + code: 200 + duration: 272.191375ms + - id: 17 + request: + proto: HTTP/1.1 + proto_major: 1 + proto_minor: 1 + content_length: 0 + transfer_encoding: [] + trailer: {} + host: api.x.x.x.x.com + remote_addr: "" + request_uri: "" + body: "" + form: {} + headers: + Authorization: + - Bearer redacted + User-Agent: + - Terraform/1.5.7 terraform-provider-cloudfoundry/dev + url: https://api.x.x.x.x.com/v3/apps/ac3fb0ad-8c59-4971-84e2-3e437a12596d/manifest + method: GET + response: + proto: HTTP/2.0 + proto_major: 2 + proto_minor: 0 + transfer_encoding: [] + trailer: {} + content_length: 499 + uncompressed: false + body: | + --- + applications: + - name: tf-test-stack + env: + MY_ENV: red + lifecycle: buildpack + stack: cflinuxfs4 + services: + - xsuaa-tf + routes: + - route: tf-test-do-not-delete-nodejs.cfapps.sap.hana.ondemand.com + protocol: http1 + metadata: + labels: + sap.com/cflinuxfs4_stack_migration_state: succeeded + processes: + - type: web + instances: 1 + memory: 1024M + disk_quota: 1024M + log-rate-limit-per-second: -1 + health-check-type: port + readiness-health-check-type: process + headers: + Content-Length: + - "499" + Content-Type: + - application/x-yaml; charset=utf-8 + Date: + - Mon, 28 Oct 2024 04:11:51 GMT + Referrer-Policy: + - strict-origin-when-cross-origin + Strict-Transport-Security: + - max-age=31536000; includeSubDomains; preload; + X-B3-Spanid: + - 6e1cda34b5a730d0 + X-B3-Traceid: + - 79b8f84d1731459b6e1cda34b5a730d0 + X-Content-Type-Options: + - nosniff + X-Download-Options: + - noopen + X-Frame-Options: + - SAMEORIGIN + X-Permitted-Cross-Domain-Policies: + - none + X-Ratelimit-Limit: + - "20000" + X-Ratelimit-Remaining: + - "18000" + X-Ratelimit-Reset: + - "1730089988" + X-Runtime: + - "0.022006" + X-Vcap-Request-Id: + - 79b8f84d-1731-459b-6e1c-da34b5a730d0::fa9f4a94-f543-4dae-af5d-c8438fdfa2ba + X-Xss-Protection: + - 1; mode=block + status: 200 OK + code: 200 + duration: 332.416667ms + - id: 18 + request: + proto: HTTP/1.1 + proto_major: 1 + proto_minor: 1 + content_length: 0 + transfer_encoding: [] + trailer: {} + host: api.x.x.x.x.com + remote_addr: "" + request_uri: "" + body: "" + form: {} + headers: + Authorization: + - Bearer redacted + User-Agent: + - Terraform/1.5.7 terraform-provider-cloudfoundry/dev + url: https://api.x.x.x.x.com/v3/apps/141274f9-d94e-4c51-a10e-1b61793d4568/manifest + method: GET + response: + proto: HTTP/2.0 + proto_major: 2 + proto_minor: 0 + transfer_encoding: [] + trailer: {} + content_length: 1277 + uncompressed: false + body: | + --- + applications: + - name: hello-my-cf-app + env: + A_MORE_COMPLEX_VAR: '{ "can be an entire":"json object", "with": [ "nested": { + "elements": "https://hello-performanceteamblr-tf-space-1-my-mta-managed-app-module.cfapps.sap.hana.ondemand.com" + } ]' + DEPLOY_ATTRIBUTES: |- + { + "app-content-digest" : "B0FF19ED574D37E24C1FB7AE57B81806", + "no-start" : false, + "upload-timeout" : 180 + } + MY_CF_APP_ENV_VARIABLE: HELLO MTA + lifecycle: buildpack + buildpacks: + - staticfile_buildpack + stack: cflinuxfs4 + routes: + - route: hello-performanceteamblr-tf-space-1-my-mta-managed-app-module.cfapps.sap.hana.ondemand.com + protocol: http1 + metadata: + labels: + mta_id: 551a5eac090e859a6f18d2617790c225 + mta_namespace: 5d41402abc4b2a76b9719d911017c592 + annotations: + mta_id: a.cf.app + mta_version: 0.0.0 + mta_namespace: hello + mta_module: '{"name":"my-mta-managed-app-module"}' + mta_module_provided_dependencies: "[]" + mta_bound_services: "[]" + processes: + - type: web + instances: 1 + memory: 1024M + disk_quota: 1024M + log-rate-limit-per-second: -1 + health-check-type: http + health-check-http-endpoint: "/index" + readiness-health-check-type: process + timeout: 180 + headers: + Content-Length: + - "1277" + Content-Type: + - application/x-yaml; charset=utf-8 + Date: + - Mon, 28 Oct 2024 04:11:51 GMT + Referrer-Policy: + - strict-origin-when-cross-origin + Strict-Transport-Security: + - max-age=31536000; includeSubDomains; preload; + X-B3-Spanid: + - 507f347798cd3576 + X-B3-Traceid: + - a0c2bc51f1fd4c82507f347798cd3576 + X-Content-Type-Options: + - nosniff + X-Download-Options: + - noopen + X-Frame-Options: + - SAMEORIGIN + X-Permitted-Cross-Domain-Policies: + - none + X-Ratelimit-Limit: + - "20000" + X-Ratelimit-Remaining: + - "18000" + X-Ratelimit-Reset: + - "1730089988" + X-Runtime: + - "0.024482" + X-Vcap-Request-Id: + - a0c2bc51-f1fd-4c82-507f-347798cd3576::d9997713-4058-4b0f-ab34-1470d763de19 + X-Xss-Protection: + - 1; mode=block + status: 200 OK + code: 200 + duration: 307.014709ms + - id: 19 + request: + proto: HTTP/1.1 + proto_major: 1 + proto_minor: 1 + content_length: 0 + transfer_encoding: [] + trailer: {} + host: api.x.x.x.x.com + remote_addr: "" + request_uri: "" + body: "" + form: {} + headers: + Authorization: + - Bearer redacted + User-Agent: + - Terraform/1.5.7 terraform-provider-cloudfoundry/dev + url: https://api.x.x.x.x.com/v3/apps/189dc98f-9621-4713-9094-62d7f575ab71/manifest + method: GET + response: + proto: HTTP/2.0 + proto_major: 2 + proto_minor: 0 + transfer_encoding: [] + trailer: {} + content_length: 1275 + uncompressed: false + body: | + --- + applications: + - name: test-my-cf-app + env: + A_MORE_COMPLEX_VAR: '{ "can be an entire":"json object", "with": [ "nested": { + "elements": "https://test-performanceteamblr-tf-space-1-my-mta-managed-app-module.cfapps.sap.hana.ondemand.com" + } ]' + DEPLOY_ATTRIBUTES: |- + { + "app-content-digest" : "B0FF19ED574D37E24C1FB7AE57B81806", + "no-start" : false, + "upload-timeout" : 180 + } + MY_CF_APP_ENV_VARIABLE: HELLO MTA + lifecycle: buildpack + buildpacks: + - staticfile_buildpack + stack: cflinuxfs4 + routes: + - route: test-performanceteamblr-tf-space-1-my-mta-managed-app-module.cfapps.sap.hana.ondemand.com + protocol: http1 + metadata: + labels: + mta_id: 551a5eac090e859a6f18d2617790c225 + mta_namespace: '098f6bcd4621d373cade4e832627b4f6' + annotations: + mta_id: a.cf.app + mta_version: 0.0.0 + mta_namespace: test + mta_module: '{"name":"my-mta-managed-app-module"}' + mta_module_provided_dependencies: "[]" + mta_bound_services: "[]" + processes: + - type: web + instances: 1 + memory: 1024M + disk_quota: 1024M + log-rate-limit-per-second: -1 + health-check-type: http + health-check-http-endpoint: "/index" + readiness-health-check-type: process + timeout: 180 + headers: + Content-Length: + - "1275" + Content-Type: + - application/x-yaml; charset=utf-8 + Date: + - Mon, 28 Oct 2024 04:11:52 GMT + Referrer-Policy: + - strict-origin-when-cross-origin + Strict-Transport-Security: + - max-age=31536000; includeSubDomains; preload; + X-B3-Spanid: + - 593d83de8842900c + X-B3-Traceid: + - 31920d9aa911455f593d83de8842900c + X-Content-Type-Options: + - nosniff + X-Download-Options: + - noopen + X-Frame-Options: + - SAMEORIGIN + X-Permitted-Cross-Domain-Policies: + - none + X-Ratelimit-Limit: + - "20000" + X-Ratelimit-Remaining: + - "18000" + X-Ratelimit-Reset: + - "1730089988" + X-Runtime: + - "0.022448" + X-Vcap-Request-Id: + - 31920d9a-a911-455f-593d-83de8842900c::8013a4f7-8cb7-4063-b4d3-3a5d5323a6be + X-Xss-Protection: + - 1; mode=block + status: 200 OK + code: 200 + duration: 259.036625ms + - id: 20 + request: + proto: HTTP/1.1 + proto_major: 1 + proto_minor: 1 + content_length: 0 + transfer_encoding: [] + trailer: {} + host: api.x.x.x.x.com + remote_addr: "" + request_uri: "" + body: "" + form: {} + headers: + Authorization: + - Bearer redacted + User-Agent: + - Terraform/1.5.7 terraform-provider-cloudfoundry/dev + url: https://api.x.x.x.x.com/v3/spaces/02c0cc92-6ecc-44b1-b7b2-096ca19ee143?include=organization + method: GET + response: + proto: HTTP/2.0 + proto_major: 2 + proto_minor: 0 + transfer_encoding: [] + trailer: {} + content_length: 1644 + uncompressed: false + body: '{"guid":"02c0cc92-6ecc-44b1-b7b2-096ca19ee143","created_at":"2024-02-08T08:26:00Z","updated_at":"2024-02-08T08:26:00Z","name":"tf-space-1","relationships":{"organization":{"data":{"guid":"784b4cd0-4771-4e4d-9052-a07e178bae56"}},"quota":{"data":null}},"metadata":{"labels":{"purpose":"prod","test":"pass"},"annotations":{}},"links":{"self":{"href":"https://api.x.x.x.x.com/v3/spaces/02c0cc92-6ecc-44b1-b7b2-096ca19ee143"},"organization":{"href":"https://api.x.x.x.x.com/v3/organizations/784b4cd0-4771-4e4d-9052-a07e178bae56"},"features":{"href":"https://api.x.x.x.x.com/v3/spaces/02c0cc92-6ecc-44b1-b7b2-096ca19ee143/features"},"apply_manifest":{"href":"https://api.x.x.x.x.com/v3/spaces/02c0cc92-6ecc-44b1-b7b2-096ca19ee143/actions/apply_manifest","method":"POST"}},"included":{"organizations":[{"guid":"784b4cd0-4771-4e4d-9052-a07e178bae56","created_at":"2017-07-04T10:43:11Z","updated_at":"2024-01-08T15:08:31Z","name":"PerformanceTeamBLR","suspended":false,"relationships":{"quota":{"data":{"guid":"c17f045b-cebf-451a-b2d8-6c885fd9dbfc"}}},"metadata":{"labels":{"env":"canary"},"annotations":{}},"links":{"self":{"href":"https://api.x.x.x.x.com/v3/organizations/784b4cd0-4771-4e4d-9052-a07e178bae56"},"domains":{"href":"https://api.x.x.x.x.com/v3/organizations/784b4cd0-4771-4e4d-9052-a07e178bae56/domains"},"default_domain":{"href":"https://api.x.x.x.x.com/v3/organizations/784b4cd0-4771-4e4d-9052-a07e178bae56/domains/default"},"quota":{"href":"https://api.x.x.x.x.com/v3/organization_quotas/c17f045b-cebf-451a-b2d8-6c885fd9dbfc"}}}]}}' + headers: + Content-Length: + - "1644" + Content-Type: + - application/json; charset=utf-8 + Date: + - Mon, 28 Oct 2024 04:11:52 GMT + Referrer-Policy: + - strict-origin-when-cross-origin + Strict-Transport-Security: + - max-age=31536000; includeSubDomains; preload; + X-B3-Spanid: + - 64328aa7cf1cc4e3 + X-B3-Traceid: + - 72507d8e98b849fb64328aa7cf1cc4e3 + X-Content-Type-Options: + - nosniff + X-Download-Options: + - noopen + X-Frame-Options: + - SAMEORIGIN + X-Permitted-Cross-Domain-Policies: + - none + X-Ratelimit-Limit: + - "20000" + X-Ratelimit-Remaining: + - "18000" + X-Ratelimit-Reset: + - "1730089988" + X-Runtime: + - "0.014738" + X-Vcap-Request-Id: + - 72507d8e-98b8-49fb-6432-8aa7cf1cc4e3::191de442-9092-4a03-a8d7-08a6d7d871a3 + X-Xss-Protection: + - 1; mode=block + status: 200 OK + code: 200 + duration: 256.589333ms + - id: 21 + request: + proto: HTTP/1.1 + proto_major: 1 + proto_minor: 1 + content_length: 0 + transfer_encoding: [] + trailer: {} + host: api.x.x.x.x.com + remote_addr: "" + request_uri: "" + body: "" + form: {} + headers: + Authorization: + - Bearer redacted + User-Agent: + - Terraform/1.5.7 terraform-provider-cloudfoundry/dev + url: https://api.x.x.x.x.com/v3/apps?space_guids=02c0cc92-6ecc-44b1-b7b2-096ca19ee143 + method: GET + response: + proto: HTTP/2.0 + proto_major: 2 + proto_minor: 0 + transfer_encoding: [] + trailer: {} + content_length: 19262 + uncompressed: false + body: '{"pagination":{"total_results":8,"total_pages":1,"first":{"href":"https://api.x.x.x.x.com/v3/apps?page=1\u0026per_page=50\u0026space_guids=02c0cc92-6ecc-44b1-b7b2-096ca19ee143"},"last":{"href":"https://api.x.x.x.x.com/v3/apps?page=1\u0026per_page=50\u0026space_guids=02c0cc92-6ecc-44b1-b7b2-096ca19ee143"},"next":null,"previous":null},"resources":[{"guid":"e61536de-f863-4da3-9772-a8538e1bad3d","created_at":"2024-04-30T03:56:21Z","updated_at":"2024-04-30T03:56:56Z","name":"tf-test-do-not-delete-nodejs","state":"STARTED","lifecycle":{"type":"buildpack","data":{"buildpacks":[],"stack":"cflinuxfs4"}},"relationships":{"space":{"data":{"guid":"02c0cc92-6ecc-44b1-b7b2-096ca19ee143"}},"current_droplet":{"data":{"guid":"d9c1d8ed-9777-48b1-a6ed-c3ce51a87a48"}}},"metadata":{"labels":{},"annotations":{}},"links":{"self":{"href":"https://api.x.x.x.x.com/v3/apps/e61536de-f863-4da3-9772-a8538e1bad3d"},"environment_variables":{"href":"https://api.x.x.x.x.com/v3/apps/e61536de-f863-4da3-9772-a8538e1bad3d/environment_variables"},"space":{"href":"https://api.x.x.x.x.com/v3/spaces/02c0cc92-6ecc-44b1-b7b2-096ca19ee143"},"processes":{"href":"https://api.x.x.x.x.com/v3/apps/e61536de-f863-4da3-9772-a8538e1bad3d/processes"},"packages":{"href":"https://api.x.x.x.x.com/v3/apps/e61536de-f863-4da3-9772-a8538e1bad3d/packages"},"current_droplet":{"href":"https://api.x.x.x.x.com/v3/apps/e61536de-f863-4da3-9772-a8538e1bad3d/droplets/current"},"droplets":{"href":"https://api.x.x.x.x.com/v3/apps/e61536de-f863-4da3-9772-a8538e1bad3d/droplets"},"tasks":{"href":"https://api.x.x.x.x.com/v3/apps/e61536de-f863-4da3-9772-a8538e1bad3d/tasks"},"start":{"href":"https://api.x.x.x.x.com/v3/apps/e61536de-f863-4da3-9772-a8538e1bad3d/actions/start","method":"POST"},"stop":{"href":"https://api.x.x.x.x.com/v3/apps/e61536de-f863-4da3-9772-a8538e1bad3d/actions/stop","method":"POST"},"clear_buildpack_cache":{"href":"https://api.x.x.x.x.com/v3/apps/e61536de-f863-4da3-9772-a8538e1bad3d/actions/clear_buildpack_cache","method":"POST"},"revisions":{"href":"https://api.x.x.x.x.com/v3/apps/e61536de-f863-4da3-9772-a8538e1bad3d/revisions"},"deployed_revisions":{"href":"https://api.x.x.x.x.com/v3/apps/e61536de-f863-4da3-9772-a8538e1bad3d/revisions/deployed"},"features":{"href":"https://api.x.x.x.x.com/v3/apps/e61536de-f863-4da3-9772-a8538e1bad3d/features"}}},{"guid":"49cf129e-66f5-4929-bad4-963c0ff95454","created_at":"2024-05-15T04:47:23Z","updated_at":"2024-05-15T04:48:18Z","name":"hello-backend","state":"STARTED","lifecycle":{"type":"buildpack","data":{"buildpacks":["sap_java_buildpack"],"stack":"cflinuxfs4"}},"relationships":{"space":{"data":{"guid":"02c0cc92-6ecc-44b1-b7b2-096ca19ee143"}},"current_droplet":{"data":{"guid":"e40e6463-6ab3-47e2-88bd-ab8cac35e43d"}}},"metadata":{"labels":{"mta_id":"5d41402abc4b2a76b9719d911017c592"},"annotations":{"mta_id":"hello","mta_version":"1.0.0","mta_module":"{\"name\":\"hello-backend\"}","mta_module_provided_dependencies":"[]","mta_bound_services":"[]"}},"links":{"self":{"href":"https://api.x.x.x.x.com/v3/apps/49cf129e-66f5-4929-bad4-963c0ff95454"},"environment_variables":{"href":"https://api.x.x.x.x.com/v3/apps/49cf129e-66f5-4929-bad4-963c0ff95454/environment_variables"},"space":{"href":"https://api.x.x.x.x.com/v3/spaces/02c0cc92-6ecc-44b1-b7b2-096ca19ee143"},"processes":{"href":"https://api.x.x.x.x.com/v3/apps/49cf129e-66f5-4929-bad4-963c0ff95454/processes"},"packages":{"href":"https://api.x.x.x.x.com/v3/apps/49cf129e-66f5-4929-bad4-963c0ff95454/packages"},"current_droplet":{"href":"https://api.x.x.x.x.com/v3/apps/49cf129e-66f5-4929-bad4-963c0ff95454/droplets/current"},"droplets":{"href":"https://api.x.x.x.x.com/v3/apps/49cf129e-66f5-4929-bad4-963c0ff95454/droplets"},"tasks":{"href":"https://api.x.x.x.x.com/v3/apps/49cf129e-66f5-4929-bad4-963c0ff95454/tasks"},"start":{"href":"https://api.x.x.x.x.com/v3/apps/49cf129e-66f5-4929-bad4-963c0ff95454/actions/start","method":"POST"},"stop":{"href":"https://api.x.x.x.x.com/v3/apps/49cf129e-66f5-4929-bad4-963c0ff95454/actions/stop","method":"POST"},"clear_buildpack_cache":{"href":"https://api.x.x.x.x.com/v3/apps/49cf129e-66f5-4929-bad4-963c0ff95454/actions/clear_buildpack_cache","method":"POST"},"revisions":{"href":"https://api.x.x.x.x.com/v3/apps/49cf129e-66f5-4929-bad4-963c0ff95454/revisions"},"deployed_revisions":{"href":"https://api.x.x.x.x.com/v3/apps/49cf129e-66f5-4929-bad4-963c0ff95454/revisions/deployed"},"features":{"href":"https://api.x.x.x.x.com/v3/apps/49cf129e-66f5-4929-bad4-963c0ff95454/features"}}},{"guid":"f9ed8370-7800-4cbc-90b4-413ede177b83","created_at":"2024-05-15T04:48:35Z","updated_at":"2024-05-15T04:49:06Z","name":"hello-router","state":"STARTED","lifecycle":{"type":"buildpack","data":{"buildpacks":["sap_java_buildpack"],"stack":"cflinuxfs4"}},"relationships":{"space":{"data":{"guid":"02c0cc92-6ecc-44b1-b7b2-096ca19ee143"}},"current_droplet":{"data":{"guid":"24974494-53ea-4e80-94d7-18651a259aa1"}}},"metadata":{"labels":{"mta_id":"5d41402abc4b2a76b9719d911017c592"},"annotations":{"mta_module":"{\"name\":\"hello-router\"}","mta_module_provided_dependencies":"[]","mta_id":"hello","mta_version":"1.0.0","mta_bound_services":"[]"}},"links":{"self":{"href":"https://api.x.x.x.x.com/v3/apps/f9ed8370-7800-4cbc-90b4-413ede177b83"},"environment_variables":{"href":"https://api.x.x.x.x.com/v3/apps/f9ed8370-7800-4cbc-90b4-413ede177b83/environment_variables"},"space":{"href":"https://api.x.x.x.x.com/v3/spaces/02c0cc92-6ecc-44b1-b7b2-096ca19ee143"},"processes":{"href":"https://api.x.x.x.x.com/v3/apps/f9ed8370-7800-4cbc-90b4-413ede177b83/processes"},"packages":{"href":"https://api.x.x.x.x.com/v3/apps/f9ed8370-7800-4cbc-90b4-413ede177b83/packages"},"current_droplet":{"href":"https://api.x.x.x.x.com/v3/apps/f9ed8370-7800-4cbc-90b4-413ede177b83/droplets/current"},"droplets":{"href":"https://api.x.x.x.x.com/v3/apps/f9ed8370-7800-4cbc-90b4-413ede177b83/droplets"},"tasks":{"href":"https://api.x.x.x.x.com/v3/apps/f9ed8370-7800-4cbc-90b4-413ede177b83/tasks"},"start":{"href":"https://api.x.x.x.x.com/v3/apps/f9ed8370-7800-4cbc-90b4-413ede177b83/actions/start","method":"POST"},"stop":{"href":"https://api.x.x.x.x.com/v3/apps/f9ed8370-7800-4cbc-90b4-413ede177b83/actions/stop","method":"POST"},"clear_buildpack_cache":{"href":"https://api.x.x.x.x.com/v3/apps/f9ed8370-7800-4cbc-90b4-413ede177b83/actions/clear_buildpack_cache","method":"POST"},"revisions":{"href":"https://api.x.x.x.x.com/v3/apps/f9ed8370-7800-4cbc-90b4-413ede177b83/revisions"},"deployed_revisions":{"href":"https://api.x.x.x.x.com/v3/apps/f9ed8370-7800-4cbc-90b4-413ede177b83/revisions/deployed"},"features":{"href":"https://api.x.x.x.x.com/v3/apps/f9ed8370-7800-4cbc-90b4-413ede177b83/features"}}},{"guid":"be2bec49-6df9-4ac2-a160-eb0ce3eb0025","created_at":"2024-05-15T04:49:55Z","updated_at":"2024-05-15T04:50:26Z","name":"foo-hello-backend","state":"STARTED","lifecycle":{"type":"buildpack","data":{"buildpacks":["sap_java_buildpack"],"stack":"cflinuxfs4"}},"relationships":{"space":{"data":{"guid":"02c0cc92-6ecc-44b1-b7b2-096ca19ee143"}},"current_droplet":{"data":{"guid":"3d8c1190-bc2a-405d-81c6-2da6d9885566"}}},"metadata":{"labels":{"mta_id":"5d41402abc4b2a76b9719d911017c592","mta_namespace":"acbd18db4cc2f85cedef654fccc4a4d8"},"annotations":{"mta_id":"hello","mta_version":"1.0.0","mta_namespace":"foo","mta_module":"{\"name\":\"hello-backend\"}","mta_module_provided_dependencies":"[]","mta_bound_services":"[]"}},"links":{"self":{"href":"https://api.x.x.x.x.com/v3/apps/be2bec49-6df9-4ac2-a160-eb0ce3eb0025"},"environment_variables":{"href":"https://api.x.x.x.x.com/v3/apps/be2bec49-6df9-4ac2-a160-eb0ce3eb0025/environment_variables"},"space":{"href":"https://api.x.x.x.x.com/v3/spaces/02c0cc92-6ecc-44b1-b7b2-096ca19ee143"},"processes":{"href":"https://api.x.x.x.x.com/v3/apps/be2bec49-6df9-4ac2-a160-eb0ce3eb0025/processes"},"packages":{"href":"https://api.x.x.x.x.com/v3/apps/be2bec49-6df9-4ac2-a160-eb0ce3eb0025/packages"},"current_droplet":{"href":"https://api.x.x.x.x.com/v3/apps/be2bec49-6df9-4ac2-a160-eb0ce3eb0025/droplets/current"},"droplets":{"href":"https://api.x.x.x.x.com/v3/apps/be2bec49-6df9-4ac2-a160-eb0ce3eb0025/droplets"},"tasks":{"href":"https://api.x.x.x.x.com/v3/apps/be2bec49-6df9-4ac2-a160-eb0ce3eb0025/tasks"},"start":{"href":"https://api.x.x.x.x.com/v3/apps/be2bec49-6df9-4ac2-a160-eb0ce3eb0025/actions/start","method":"POST"},"stop":{"href":"https://api.x.x.x.x.com/v3/apps/be2bec49-6df9-4ac2-a160-eb0ce3eb0025/actions/stop","method":"POST"},"clear_buildpack_cache":{"href":"https://api.x.x.x.x.com/v3/apps/be2bec49-6df9-4ac2-a160-eb0ce3eb0025/actions/clear_buildpack_cache","method":"POST"},"revisions":{"href":"https://api.x.x.x.x.com/v3/apps/be2bec49-6df9-4ac2-a160-eb0ce3eb0025/revisions"},"deployed_revisions":{"href":"https://api.x.x.x.x.com/v3/apps/be2bec49-6df9-4ac2-a160-eb0ce3eb0025/revisions/deployed"},"features":{"href":"https://api.x.x.x.x.com/v3/apps/be2bec49-6df9-4ac2-a160-eb0ce3eb0025/features"}}},{"guid":"2ce853d9-0570-4643-aa96-fe98f87ff187","created_at":"2024-05-15T04:50:46Z","updated_at":"2024-05-15T04:51:16Z","name":"foo-hello-router","state":"STARTED","lifecycle":{"type":"buildpack","data":{"buildpacks":["sap_java_buildpack"],"stack":"cflinuxfs4"}},"relationships":{"space":{"data":{"guid":"02c0cc92-6ecc-44b1-b7b2-096ca19ee143"}},"current_droplet":{"data":{"guid":"17e76ab4-43cc-4331-b284-4f07ba35d90e"}}},"metadata":{"labels":{"mta_id":"5d41402abc4b2a76b9719d911017c592","mta_namespace":"acbd18db4cc2f85cedef654fccc4a4d8"},"annotations":{"mta_id":"hello","mta_version":"1.0.0","mta_namespace":"foo","mta_module":"{\"name\":\"hello-router\"}","mta_module_provided_dependencies":"[]","mta_bound_services":"[]"}},"links":{"self":{"href":"https://api.x.x.x.x.com/v3/apps/2ce853d9-0570-4643-aa96-fe98f87ff187"},"environment_variables":{"href":"https://api.x.x.x.x.com/v3/apps/2ce853d9-0570-4643-aa96-fe98f87ff187/environment_variables"},"space":{"href":"https://api.x.x.x.x.com/v3/spaces/02c0cc92-6ecc-44b1-b7b2-096ca19ee143"},"processes":{"href":"https://api.x.x.x.x.com/v3/apps/2ce853d9-0570-4643-aa96-fe98f87ff187/processes"},"packages":{"href":"https://api.x.x.x.x.com/v3/apps/2ce853d9-0570-4643-aa96-fe98f87ff187/packages"},"current_droplet":{"href":"https://api.x.x.x.x.com/v3/apps/2ce853d9-0570-4643-aa96-fe98f87ff187/droplets/current"},"droplets":{"href":"https://api.x.x.x.x.com/v3/apps/2ce853d9-0570-4643-aa96-fe98f87ff187/droplets"},"tasks":{"href":"https://api.x.x.x.x.com/v3/apps/2ce853d9-0570-4643-aa96-fe98f87ff187/tasks"},"start":{"href":"https://api.x.x.x.x.com/v3/apps/2ce853d9-0570-4643-aa96-fe98f87ff187/actions/start","method":"POST"},"stop":{"href":"https://api.x.x.x.x.com/v3/apps/2ce853d9-0570-4643-aa96-fe98f87ff187/actions/stop","method":"POST"},"clear_buildpack_cache":{"href":"https://api.x.x.x.x.com/v3/apps/2ce853d9-0570-4643-aa96-fe98f87ff187/actions/clear_buildpack_cache","method":"POST"},"revisions":{"href":"https://api.x.x.x.x.com/v3/apps/2ce853d9-0570-4643-aa96-fe98f87ff187/revisions"},"deployed_revisions":{"href":"https://api.x.x.x.x.com/v3/apps/2ce853d9-0570-4643-aa96-fe98f87ff187/revisions/deployed"},"features":{"href":"https://api.x.x.x.x.com/v3/apps/2ce853d9-0570-4643-aa96-fe98f87ff187/features"}}},{"guid":"ac3fb0ad-8c59-4971-84e2-3e437a12596d","created_at":"2024-06-19T06:46:09Z","updated_at":"2024-06-19T07:44:57Z","name":"tf-test-stack","state":"STARTED","lifecycle":{"type":"buildpack","data":{"buildpacks":[],"stack":"cflinuxfs4"}},"relationships":{"space":{"data":{"guid":"02c0cc92-6ecc-44b1-b7b2-096ca19ee143"}},"current_droplet":{"data":{"guid":"d8803038-e588-4ee4-a369-d0d8236c3393"}}},"metadata":{"labels":{"sap.com/cflinuxfs4_stack_migration_state":"succeeded"},"annotations":{}},"links":{"self":{"href":"https://api.x.x.x.x.com/v3/apps/ac3fb0ad-8c59-4971-84e2-3e437a12596d"},"environment_variables":{"href":"https://api.x.x.x.x.com/v3/apps/ac3fb0ad-8c59-4971-84e2-3e437a12596d/environment_variables"},"space":{"href":"https://api.x.x.x.x.com/v3/spaces/02c0cc92-6ecc-44b1-b7b2-096ca19ee143"},"processes":{"href":"https://api.x.x.x.x.com/v3/apps/ac3fb0ad-8c59-4971-84e2-3e437a12596d/processes"},"packages":{"href":"https://api.x.x.x.x.com/v3/apps/ac3fb0ad-8c59-4971-84e2-3e437a12596d/packages"},"current_droplet":{"href":"https://api.x.x.x.x.com/v3/apps/ac3fb0ad-8c59-4971-84e2-3e437a12596d/droplets/current"},"droplets":{"href":"https://api.x.x.x.x.com/v3/apps/ac3fb0ad-8c59-4971-84e2-3e437a12596d/droplets"},"tasks":{"href":"https://api.x.x.x.x.com/v3/apps/ac3fb0ad-8c59-4971-84e2-3e437a12596d/tasks"},"start":{"href":"https://api.x.x.x.x.com/v3/apps/ac3fb0ad-8c59-4971-84e2-3e437a12596d/actions/start","method":"POST"},"stop":{"href":"https://api.x.x.x.x.com/v3/apps/ac3fb0ad-8c59-4971-84e2-3e437a12596d/actions/stop","method":"POST"},"clear_buildpack_cache":{"href":"https://api.x.x.x.x.com/v3/apps/ac3fb0ad-8c59-4971-84e2-3e437a12596d/actions/clear_buildpack_cache","method":"POST"},"revisions":{"href":"https://api.x.x.x.x.com/v3/apps/ac3fb0ad-8c59-4971-84e2-3e437a12596d/revisions"},"deployed_revisions":{"href":"https://api.x.x.x.x.com/v3/apps/ac3fb0ad-8c59-4971-84e2-3e437a12596d/revisions/deployed"},"features":{"href":"https://api.x.x.x.x.com/v3/apps/ac3fb0ad-8c59-4971-84e2-3e437a12596d/features"}}},{"guid":"141274f9-d94e-4c51-a10e-1b61793d4568","created_at":"2024-08-06T09:08:42Z","updated_at":"2024-08-06T09:09:12Z","name":"hello-my-cf-app","state":"STARTED","lifecycle":{"type":"buildpack","data":{"buildpacks":["staticfile_buildpack"],"stack":"cflinuxfs4"}},"relationships":{"space":{"data":{"guid":"02c0cc92-6ecc-44b1-b7b2-096ca19ee143"}},"current_droplet":{"data":{"guid":"7060182e-4fa3-4239-9fa9-e60e8316645c"}}},"metadata":{"labels":{"mta_id":"551a5eac090e859a6f18d2617790c225","mta_namespace":"5d41402abc4b2a76b9719d911017c592"},"annotations":{"mta_id":"a.cf.app","mta_version":"0.0.0","mta_namespace":"hello","mta_module":"{\"name\":\"my-mta-managed-app-module\"}","mta_module_provided_dependencies":"[]","mta_bound_services":"[]"}},"links":{"self":{"href":"https://api.x.x.x.x.com/v3/apps/141274f9-d94e-4c51-a10e-1b61793d4568"},"environment_variables":{"href":"https://api.x.x.x.x.com/v3/apps/141274f9-d94e-4c51-a10e-1b61793d4568/environment_variables"},"space":{"href":"https://api.x.x.x.x.com/v3/spaces/02c0cc92-6ecc-44b1-b7b2-096ca19ee143"},"processes":{"href":"https://api.x.x.x.x.com/v3/apps/141274f9-d94e-4c51-a10e-1b61793d4568/processes"},"packages":{"href":"https://api.x.x.x.x.com/v3/apps/141274f9-d94e-4c51-a10e-1b61793d4568/packages"},"current_droplet":{"href":"https://api.x.x.x.x.com/v3/apps/141274f9-d94e-4c51-a10e-1b61793d4568/droplets/current"},"droplets":{"href":"https://api.x.x.x.x.com/v3/apps/141274f9-d94e-4c51-a10e-1b61793d4568/droplets"},"tasks":{"href":"https://api.x.x.x.x.com/v3/apps/141274f9-d94e-4c51-a10e-1b61793d4568/tasks"},"start":{"href":"https://api.x.x.x.x.com/v3/apps/141274f9-d94e-4c51-a10e-1b61793d4568/actions/start","method":"POST"},"stop":{"href":"https://api.x.x.x.x.com/v3/apps/141274f9-d94e-4c51-a10e-1b61793d4568/actions/stop","method":"POST"},"clear_buildpack_cache":{"href":"https://api.x.x.x.x.com/v3/apps/141274f9-d94e-4c51-a10e-1b61793d4568/actions/clear_buildpack_cache","method":"POST"},"revisions":{"href":"https://api.x.x.x.x.com/v3/apps/141274f9-d94e-4c51-a10e-1b61793d4568/revisions"},"deployed_revisions":{"href":"https://api.x.x.x.x.com/v3/apps/141274f9-d94e-4c51-a10e-1b61793d4568/revisions/deployed"},"features":{"href":"https://api.x.x.x.x.com/v3/apps/141274f9-d94e-4c51-a10e-1b61793d4568/features"}}},{"guid":"189dc98f-9621-4713-9094-62d7f575ab71","created_at":"2024-08-27T04:51:25Z","updated_at":"2024-08-27T04:51:49Z","name":"test-my-cf-app","state":"STARTED","lifecycle":{"type":"buildpack","data":{"buildpacks":["staticfile_buildpack"],"stack":"cflinuxfs4"}},"relationships":{"space":{"data":{"guid":"02c0cc92-6ecc-44b1-b7b2-096ca19ee143"}},"current_droplet":{"data":{"guid":"5d36278d-a692-41b4-8d36-57d684617465"}}},"metadata":{"labels":{"mta_id":"551a5eac090e859a6f18d2617790c225","mta_namespace":"098f6bcd4621d373cade4e832627b4f6"},"annotations":{"mta_id":"a.cf.app","mta_version":"0.0.0","mta_namespace":"test","mta_module":"{\"name\":\"my-mta-managed-app-module\"}","mta_module_provided_dependencies":"[]","mta_bound_services":"[]"}},"links":{"self":{"href":"https://api.x.x.x.x.com/v3/apps/189dc98f-9621-4713-9094-62d7f575ab71"},"environment_variables":{"href":"https://api.x.x.x.x.com/v3/apps/189dc98f-9621-4713-9094-62d7f575ab71/environment_variables"},"space":{"href":"https://api.x.x.x.x.com/v3/spaces/02c0cc92-6ecc-44b1-b7b2-096ca19ee143"},"processes":{"href":"https://api.x.x.x.x.com/v3/apps/189dc98f-9621-4713-9094-62d7f575ab71/processes"},"packages":{"href":"https://api.x.x.x.x.com/v3/apps/189dc98f-9621-4713-9094-62d7f575ab71/packages"},"current_droplet":{"href":"https://api.x.x.x.x.com/v3/apps/189dc98f-9621-4713-9094-62d7f575ab71/droplets/current"},"droplets":{"href":"https://api.x.x.x.x.com/v3/apps/189dc98f-9621-4713-9094-62d7f575ab71/droplets"},"tasks":{"href":"https://api.x.x.x.x.com/v3/apps/189dc98f-9621-4713-9094-62d7f575ab71/tasks"},"start":{"href":"https://api.x.x.x.x.com/v3/apps/189dc98f-9621-4713-9094-62d7f575ab71/actions/start","method":"POST"},"stop":{"href":"https://api.x.x.x.x.com/v3/apps/189dc98f-9621-4713-9094-62d7f575ab71/actions/stop","method":"POST"},"clear_buildpack_cache":{"href":"https://api.x.x.x.x.com/v3/apps/189dc98f-9621-4713-9094-62d7f575ab71/actions/clear_buildpack_cache","method":"POST"},"revisions":{"href":"https://api.x.x.x.x.com/v3/apps/189dc98f-9621-4713-9094-62d7f575ab71/revisions"},"deployed_revisions":{"href":"https://api.x.x.x.x.com/v3/apps/189dc98f-9621-4713-9094-62d7f575ab71/revisions/deployed"},"features":{"href":"https://api.x.x.x.x.com/v3/apps/189dc98f-9621-4713-9094-62d7f575ab71/features"}}}]}' + headers: + Content-Length: + - "19262" + Content-Type: + - application/json; charset=utf-8 + Date: + - Mon, 28 Oct 2024 04:11:52 GMT + Referrer-Policy: + - strict-origin-when-cross-origin + Strict-Transport-Security: + - max-age=31536000; includeSubDomains; preload; + X-B3-Spanid: + - 4254e4b54a932de1 + X-B3-Traceid: + - 96bc895ae26a45354254e4b54a932de1 + X-Content-Type-Options: + - nosniff + X-Download-Options: + - noopen + X-Frame-Options: + - SAMEORIGIN + X-Permitted-Cross-Domain-Policies: + - none + X-Ratelimit-Limit: + - "20000" + X-Ratelimit-Remaining: + - "18000" + X-Ratelimit-Reset: + - "1730089988" + X-Runtime: + - "0.074672" + X-Vcap-Request-Id: + - 96bc895a-e26a-4535-4254-e4b54a932de1::b76c7992-8dde-4230-890a-413ad6e71a87 + X-Xss-Protection: + - 1; mode=block + status: 200 OK + code: 200 + duration: 311.595334ms + - id: 22 + request: + proto: HTTP/1.1 + proto_major: 1 + proto_minor: 1 + content_length: 0 + transfer_encoding: [] + trailer: {} + host: api.x.x.x.x.com + remote_addr: "" + request_uri: "" + body: "" + form: {} + headers: + Authorization: + - Bearer redacted + User-Agent: + - Terraform/1.5.7 terraform-provider-cloudfoundry/dev + url: https://api.x.x.x.x.com/v3/apps/e61536de-f863-4da3-9772-a8538e1bad3d/manifest + method: GET + response: + proto: HTTP/2.0 + proto_major: 2 + proto_minor: 0 + transfer_encoding: [] + trailer: {} + content_length: 432 + uncompressed: false + body: | + --- + applications: + - name: tf-test-do-not-delete-nodejs + env: + MY_ENV: red + lifecycle: buildpack + stack: cflinuxfs4 + services: + - xsuaa-tf + routes: + - route: tf-test-do-not-delete-nodejs.cfapps.sap.hana.ondemand.com + protocol: http1 + processes: + - type: web + instances: 1 + memory: 1024M + disk_quota: 1024M + log-rate-limit-per-second: -1 + health-check-type: port + readiness-health-check-type: process + headers: + Content-Length: + - "432" + Content-Type: + - application/x-yaml; charset=utf-8 + Date: + - Mon, 28 Oct 2024 04:11:53 GMT + Referrer-Policy: + - strict-origin-when-cross-origin + Strict-Transport-Security: + - max-age=31536000; includeSubDomains; preload; + X-B3-Spanid: + - 5adff2001bf3882c + X-B3-Traceid: + - 2e6f650a76b340365adff2001bf3882c + X-Content-Type-Options: + - nosniff + X-Download-Options: + - noopen + X-Frame-Options: + - SAMEORIGIN + X-Permitted-Cross-Domain-Policies: + - none + X-Ratelimit-Limit: + - "20000" + X-Ratelimit-Remaining: + - "18000" + X-Ratelimit-Reset: + - "1730089988" + X-Runtime: + - "0.029000" + X-Vcap-Request-Id: + - 2e6f650a-76b3-4036-5adf-f2001bf3882c::5e83aaa0-4034-4ac1-babb-79ecedc8c18c + X-Xss-Protection: + - 1; mode=block + status: 200 OK + code: 200 + duration: 264.634125ms + - id: 23 + request: + proto: HTTP/1.1 + proto_major: 1 + proto_minor: 1 + content_length: 0 + transfer_encoding: [] + trailer: {} + host: api.x.x.x.x.com + remote_addr: "" + request_uri: "" + body: "" + form: {} + headers: + Authorization: + - Bearer redacted + User-Agent: + - Terraform/1.5.7 terraform-provider-cloudfoundry/dev + url: https://api.x.x.x.x.com/v3/apps/49cf129e-66f5-4929-bad4-963c0ff95454/manifest + method: GET + response: + proto: HTTP/2.0 + proto_major: 2 + proto_minor: 0 + transfer_encoding: [] + trailer: {} + content_length: 839 + uncompressed: false + body: | + --- + applications: + - name: hello-backend + env: + MEMORY_CALCULATOR_V1: 'true' + message: Hello, from hello-backend! + DEPLOY_ATTRIBUTES: |- + { + "app-content-digest" : "73CC2934A2B9D7274BB9C65C9C80E3D2" + } + lifecycle: buildpack + buildpacks: + - sap_java_buildpack + stack: cflinuxfs4 + routes: + - route: hello-backend.cfapps.sap.hana.ondemand.com/content + protocol: http1 + metadata: + labels: + mta_id: 5d41402abc4b2a76b9719d911017c592 + annotations: + mta_id: hello + mta_version: 1.0.0 + mta_module: '{"name":"hello-backend"}' + mta_module_provided_dependencies: "[]" + mta_bound_services: "[]" + processes: + - type: web + instances: 1 + memory: 256M + disk_quota: 256M + log-rate-limit-per-second: -1 + health-check-type: port + readiness-health-check-type: process + headers: + Content-Length: + - "839" + Content-Type: + - application/x-yaml; charset=utf-8 + Date: + - Mon, 28 Oct 2024 04:11:53 GMT + Referrer-Policy: + - strict-origin-when-cross-origin + Strict-Transport-Security: + - max-age=31536000; includeSubDomains; preload; + X-B3-Spanid: + - 7337ef62304fab46 + X-B3-Traceid: + - 604ea7b79e6f4d647337ef62304fab46 + X-Content-Type-Options: + - nosniff + X-Download-Options: + - noopen + X-Frame-Options: + - SAMEORIGIN + X-Permitted-Cross-Domain-Policies: + - none + X-Ratelimit-Limit: + - "20000" + X-Ratelimit-Remaining: + - "18000" + X-Ratelimit-Reset: + - "1730089988" + X-Runtime: + - "0.018078" + X-Vcap-Request-Id: + - 604ea7b7-9e6f-4d64-7337-ef62304fab46::98346b2b-55ad-4d43-9e97-6aa7a5a71e39 + X-Xss-Protection: + - 1; mode=block + status: 200 OK + code: 200 + duration: 253.519334ms + - id: 24 + request: + proto: HTTP/1.1 + proto_major: 1 + proto_minor: 1 + content_length: 0 + transfer_encoding: [] + trailer: {} + host: api.x.x.x.x.com + remote_addr: "" + request_uri: "" + body: "" + form: {} + headers: + Authorization: + - Bearer redacted + User-Agent: + - Terraform/1.5.7 terraform-provider-cloudfoundry/dev + url: https://api.x.x.x.x.com/v3/apps/f9ed8370-7800-4cbc-90b4-413ede177b83/manifest + method: GET + response: + proto: HTTP/2.0 + proto_major: 2 + proto_minor: 0 + transfer_encoding: [] + trailer: {} + content_length: 946 + uncompressed: false + body: | + --- + applications: + - name: hello-router + env: + MEMORY_CALCULATOR_V1: 'true' + backend: https://hello-backend.cfapps.sap.hana.ondemand.com/content + name: backend + url: https://hello-backend.cfapps.sap.hana.ondemand.com/content + DEPLOY_ATTRIBUTES: |- + { + "app-content-digest" : "73CC2934A2B9D7274BB9C65C9C80E3D2" + } + lifecycle: buildpack + buildpacks: + - sap_java_buildpack + stack: cflinuxfs4 + routes: + - route: hello-router.cfapps.sap.hana.ondemand.com + protocol: http1 + metadata: + labels: + mta_id: 5d41402abc4b2a76b9719d911017c592 + annotations: + mta_module: '{"name":"hello-router"}' + mta_module_provided_dependencies: "[]" + mta_id: hello + mta_version: 1.0.0 + mta_bound_services: "[]" + processes: + - type: web + instances: 1 + memory: 256M + disk_quota: 256M + log-rate-limit-per-second: -1 + health-check-type: port + readiness-health-check-type: process + headers: + Content-Length: + - "946" + Content-Type: + - application/x-yaml; charset=utf-8 + Date: + - Mon, 28 Oct 2024 04:11:53 GMT + Referrer-Policy: + - strict-origin-when-cross-origin + Strict-Transport-Security: + - max-age=31536000; includeSubDomains; preload; + X-B3-Spanid: + - 7e4cd8b7e76cd4dc + X-B3-Traceid: + - f40837e6e2b145cc7e4cd8b7e76cd4dc + X-Content-Type-Options: + - nosniff + X-Download-Options: + - noopen + X-Frame-Options: + - SAMEORIGIN + X-Permitted-Cross-Domain-Policies: + - none + X-Ratelimit-Limit: + - "20000" + X-Ratelimit-Remaining: + - "18000" + X-Ratelimit-Reset: + - "1730089988" + X-Runtime: + - "0.017871" + X-Vcap-Request-Id: + - f40837e6-e2b1-45cc-7e4c-d8b7e76cd4dc::6079acb5-b8a9-438e-b036-c1dae9717419 + X-Xss-Protection: + - 1; mode=block + status: 200 OK + code: 200 + duration: 258.27125ms + - id: 25 + request: + proto: HTTP/1.1 + proto_major: 1 + proto_minor: 1 + content_length: 0 + transfer_encoding: [] + trailer: {} + host: api.x.x.x.x.com + remote_addr: "" + request_uri: "" + body: "" + form: {} + headers: + Authorization: + - Bearer redacted + User-Agent: + - Terraform/1.5.7 terraform-provider-cloudfoundry/dev + url: https://api.x.x.x.x.com/v3/apps/be2bec49-6df9-4ac2-a160-eb0ce3eb0025/manifest + method: GET + response: + proto: HTTP/2.0 + proto_major: 2 + proto_minor: 0 + transfer_encoding: [] + trailer: {} + content_length: 930 + uncompressed: false + body: | + --- + applications: + - name: foo-hello-backend + env: + MEMORY_CALCULATOR_V1: 'true' + message: Hello, from foo-hello-backend! + DEPLOY_ATTRIBUTES: |- + { + "app-content-digest" : "73CC2934A2B9D7274BB9C65C9C80E3D2" + } + lifecycle: buildpack + buildpacks: + - sap_java_buildpack + stack: cflinuxfs4 + routes: + - route: foo-hello-backend.cfapps.sap.hana.ondemand.com/content + protocol: http1 + metadata: + labels: + mta_id: 5d41402abc4b2a76b9719d911017c592 + mta_namespace: acbd18db4cc2f85cedef654fccc4a4d8 + annotations: + mta_id: hello + mta_version: 1.0.0 + mta_namespace: foo + mta_module: '{"name":"hello-backend"}' + mta_module_provided_dependencies: "[]" + mta_bound_services: "[]" + processes: + - type: web + instances: 1 + memory: 256M + disk_quota: 256M + log-rate-limit-per-second: -1 + health-check-type: port + readiness-health-check-type: process + headers: + Content-Length: + - "930" + Content-Type: + - application/x-yaml; charset=utf-8 + Date: + - Mon, 28 Oct 2024 04:11:54 GMT + Referrer-Policy: + - strict-origin-when-cross-origin + Strict-Transport-Security: + - max-age=31536000; includeSubDomains; preload; + X-B3-Spanid: + - 5d0b93f96f9eaf5b + X-B3-Traceid: + - 0587041696234fb25d0b93f96f9eaf5b + X-Content-Type-Options: + - nosniff + X-Download-Options: + - noopen + X-Frame-Options: + - SAMEORIGIN + X-Permitted-Cross-Domain-Policies: + - none + X-Ratelimit-Limit: + - "20000" + X-Ratelimit-Remaining: + - "18000" + X-Ratelimit-Reset: + - "1730089989" + X-Runtime: + - "0.020953" + X-Vcap-Request-Id: + - 05870416-9623-4fb2-5d0b-93f96f9eaf5b::8374a308-f223-4f8c-88c1-8a16f734306e + X-Xss-Protection: + - 1; mode=block + status: 200 OK + code: 200 + duration: 658.171334ms + - id: 26 + request: + proto: HTTP/1.1 + proto_major: 1 + proto_minor: 1 + content_length: 0 + transfer_encoding: [] + trailer: {} + host: api.x.x.x.x.com + remote_addr: "" + request_uri: "" + body: "" + form: {} + headers: + Authorization: + - Bearer redacted + User-Agent: + - Terraform/1.5.7 terraform-provider-cloudfoundry/dev + url: https://api.x.x.x.x.com/v3/apps/2ce853d9-0570-4643-aa96-fe98f87ff187/manifest + method: GET + response: + proto: HTTP/2.0 + proto_major: 2 + proto_minor: 0 + transfer_encoding: [] + trailer: {} + content_length: 1041 + uncompressed: false + body: | + --- + applications: + - name: foo-hello-router + env: + MEMORY_CALCULATOR_V1: 'true' + backend: https://foo-hello-backend.cfapps.sap.hana.ondemand.com/content + name: backend + url: https://foo-hello-backend.cfapps.sap.hana.ondemand.com/content + DEPLOY_ATTRIBUTES: |- + { + "app-content-digest" : "73CC2934A2B9D7274BB9C65C9C80E3D2" + } + lifecycle: buildpack + buildpacks: + - sap_java_buildpack + stack: cflinuxfs4 + routes: + - route: foo-hello-router.cfapps.sap.hana.ondemand.com + protocol: http1 + metadata: + labels: + mta_id: 5d41402abc4b2a76b9719d911017c592 + mta_namespace: acbd18db4cc2f85cedef654fccc4a4d8 + annotations: + mta_id: hello + mta_version: 1.0.0 + mta_namespace: foo + mta_module: '{"name":"hello-router"}' + mta_module_provided_dependencies: "[]" + mta_bound_services: "[]" + processes: + - type: web + instances: 1 + memory: 256M + disk_quota: 256M + log-rate-limit-per-second: -1 + health-check-type: port + readiness-health-check-type: process + headers: + Content-Length: + - "1041" + Content-Type: + - application/x-yaml; charset=utf-8 + Date: + - Mon, 28 Oct 2024 04:11:54 GMT + Referrer-Policy: + - strict-origin-when-cross-origin + Strict-Transport-Security: + - max-age=31536000; includeSubDomains; preload; + X-B3-Spanid: + - 4b731f141f84fbc4 + X-B3-Traceid: + - 401b6362f8e6467a4b731f141f84fbc4 + X-Content-Type-Options: + - nosniff + X-Download-Options: + - noopen + X-Frame-Options: + - SAMEORIGIN + X-Permitted-Cross-Domain-Policies: + - none + X-Ratelimit-Limit: + - "20000" + X-Ratelimit-Remaining: + - "18000" + X-Ratelimit-Reset: + - "1730089988" + X-Runtime: + - "0.023773" + X-Vcap-Request-Id: + - 401b6362-f8e6-467a-4b73-1f141f84fbc4::5704061a-5148-4a3a-bc6f-031920813ca8 + X-Xss-Protection: + - 1; mode=block + status: 200 OK + code: 200 + duration: 260.445375ms + - id: 27 + request: + proto: HTTP/1.1 + proto_major: 1 + proto_minor: 1 + content_length: 0 + transfer_encoding: [] + trailer: {} + host: api.x.x.x.x.com + remote_addr: "" + request_uri: "" + body: "" + form: {} + headers: + Authorization: + - Bearer redacted + User-Agent: + - Terraform/1.5.7 terraform-provider-cloudfoundry/dev + url: https://api.x.x.x.x.com/v3/apps/ac3fb0ad-8c59-4971-84e2-3e437a12596d/manifest + method: GET + response: + proto: HTTP/2.0 + proto_major: 2 + proto_minor: 0 + transfer_encoding: [] + trailer: {} + content_length: 499 + uncompressed: false + body: | + --- + applications: + - name: tf-test-stack + env: + MY_ENV: red + lifecycle: buildpack + stack: cflinuxfs4 + services: + - xsuaa-tf + routes: + - route: tf-test-do-not-delete-nodejs.cfapps.sap.hana.ondemand.com + protocol: http1 + metadata: + labels: + sap.com/cflinuxfs4_stack_migration_state: succeeded + processes: + - type: web + instances: 1 + memory: 1024M + disk_quota: 1024M + log-rate-limit-per-second: -1 + health-check-type: port + readiness-health-check-type: process + headers: + Content-Length: + - "499" + Content-Type: + - application/x-yaml; charset=utf-8 + Date: + - Mon, 28 Oct 2024 04:11:54 GMT + Referrer-Policy: + - strict-origin-when-cross-origin + Strict-Transport-Security: + - max-age=31536000; includeSubDomains; preload; + X-B3-Spanid: + - 4782999cfda326e6 + X-B3-Traceid: + - 8ae597116fb44a4f4782999cfda326e6 + X-Content-Type-Options: + - nosniff + X-Download-Options: + - noopen + X-Frame-Options: + - SAMEORIGIN + X-Permitted-Cross-Domain-Policies: + - none + X-Ratelimit-Limit: + - "20000" + X-Ratelimit-Remaining: + - "18000" + X-Ratelimit-Reset: + - "1730089988" + X-Runtime: + - "0.027744" + X-Vcap-Request-Id: + - 8ae59711-6fb4-4a4f-4782-999cfda326e6::5fa6238d-5e4d-4ce2-9f37-d43c5f8076a9 + X-Xss-Protection: + - 1; mode=block + status: 200 OK + code: 200 + duration: 263.740042ms + - id: 28 + request: + proto: HTTP/1.1 + proto_major: 1 + proto_minor: 1 + content_length: 0 + transfer_encoding: [] + trailer: {} + host: api.x.x.x.x.com + remote_addr: "" + request_uri: "" + body: "" + form: {} + headers: + Authorization: + - Bearer redacted + User-Agent: + - Terraform/1.5.7 terraform-provider-cloudfoundry/dev + url: https://api.x.x.x.x.com/v3/apps/141274f9-d94e-4c51-a10e-1b61793d4568/manifest + method: GET + response: + proto: HTTP/2.0 + proto_major: 2 + proto_minor: 0 + transfer_encoding: [] + trailer: {} + content_length: 1277 + uncompressed: false + body: | + --- + applications: + - name: hello-my-cf-app + env: + A_MORE_COMPLEX_VAR: '{ "can be an entire":"json object", "with": [ "nested": { + "elements": "https://hello-performanceteamblr-tf-space-1-my-mta-managed-app-module.cfapps.sap.hana.ondemand.com" + } ]' + DEPLOY_ATTRIBUTES: |- + { + "app-content-digest" : "B0FF19ED574D37E24C1FB7AE57B81806", + "no-start" : false, + "upload-timeout" : 180 + } + MY_CF_APP_ENV_VARIABLE: HELLO MTA + lifecycle: buildpack + buildpacks: + - staticfile_buildpack + stack: cflinuxfs4 + routes: + - route: hello-performanceteamblr-tf-space-1-my-mta-managed-app-module.cfapps.sap.hana.ondemand.com + protocol: http1 + metadata: + labels: + mta_id: 551a5eac090e859a6f18d2617790c225 + mta_namespace: 5d41402abc4b2a76b9719d911017c592 + annotations: + mta_id: a.cf.app + mta_version: 0.0.0 + mta_namespace: hello + mta_module: '{"name":"my-mta-managed-app-module"}' + mta_module_provided_dependencies: "[]" + mta_bound_services: "[]" + processes: + - type: web + instances: 1 + memory: 1024M + disk_quota: 1024M + log-rate-limit-per-second: -1 + health-check-type: http + health-check-http-endpoint: "/index" + readiness-health-check-type: process + timeout: 180 + headers: + Content-Length: + - "1277" + Content-Type: + - application/x-yaml; charset=utf-8 + Date: + - Mon, 28 Oct 2024 04:11:55 GMT + Referrer-Policy: + - strict-origin-when-cross-origin + Strict-Transport-Security: + - max-age=31536000; includeSubDomains; preload; + X-B3-Spanid: + - 6c25b63784a8833f + X-B3-Traceid: + - 3ca4046b1a1640426c25b63784a8833f + X-Content-Type-Options: + - nosniff + X-Download-Options: + - noopen + X-Frame-Options: + - SAMEORIGIN + X-Permitted-Cross-Domain-Policies: + - none + X-Ratelimit-Limit: + - "20000" + X-Ratelimit-Remaining: + - "18000" + X-Ratelimit-Reset: + - "1730089988" + X-Runtime: + - "0.024350" + X-Vcap-Request-Id: + - 3ca4046b-1a16-4042-6c25-b63784a8833f::e6ccbbcd-d738-40e2-8063-6f53e9c501e4 + X-Xss-Protection: + - 1; mode=block + status: 200 OK + code: 200 + duration: 345.4305ms + - id: 29 + request: + proto: HTTP/1.1 + proto_major: 1 + proto_minor: 1 + content_length: 0 + transfer_encoding: [] + trailer: {} + host: api.x.x.x.x.com + remote_addr: "" + request_uri: "" + body: "" + form: {} + headers: + Authorization: + - Bearer redacted + User-Agent: + - Terraform/1.5.7 terraform-provider-cloudfoundry/dev + url: https://api.x.x.x.x.com/v3/apps/189dc98f-9621-4713-9094-62d7f575ab71/manifest + method: GET + response: + proto: HTTP/2.0 + proto_major: 2 + proto_minor: 0 + transfer_encoding: [] + trailer: {} + content_length: 1275 + uncompressed: false + body: | + --- + applications: + - name: test-my-cf-app + env: + A_MORE_COMPLEX_VAR: '{ "can be an entire":"json object", "with": [ "nested": { + "elements": "https://test-performanceteamblr-tf-space-1-my-mta-managed-app-module.cfapps.sap.hana.ondemand.com" + } ]' + DEPLOY_ATTRIBUTES: |- + { + "app-content-digest" : "B0FF19ED574D37E24C1FB7AE57B81806", + "no-start" : false, + "upload-timeout" : 180 + } + MY_CF_APP_ENV_VARIABLE: HELLO MTA + lifecycle: buildpack + buildpacks: + - staticfile_buildpack + stack: cflinuxfs4 + routes: + - route: test-performanceteamblr-tf-space-1-my-mta-managed-app-module.cfapps.sap.hana.ondemand.com + protocol: http1 + metadata: + labels: + mta_id: 551a5eac090e859a6f18d2617790c225 + mta_namespace: '098f6bcd4621d373cade4e832627b4f6' + annotations: + mta_id: a.cf.app + mta_version: 0.0.0 + mta_namespace: test + mta_module: '{"name":"my-mta-managed-app-module"}' + mta_module_provided_dependencies: "[]" + mta_bound_services: "[]" + processes: + - type: web + instances: 1 + memory: 1024M + disk_quota: 1024M + log-rate-limit-per-second: -1 + health-check-type: http + health-check-http-endpoint: "/index" + readiness-health-check-type: process + timeout: 180 + headers: + Content-Length: + - "1275" + Content-Type: + - application/x-yaml; charset=utf-8 + Date: + - Mon, 28 Oct 2024 04:11:55 GMT + Referrer-Policy: + - strict-origin-when-cross-origin + Strict-Transport-Security: + - max-age=31536000; includeSubDomains; preload; + X-B3-Spanid: + - 6a25d62da08819c4 + X-B3-Traceid: + - 614fb4ae849b44606a25d62da08819c4 + X-Content-Type-Options: + - nosniff + X-Download-Options: + - noopen + X-Frame-Options: + - SAMEORIGIN + X-Permitted-Cross-Domain-Policies: + - none + X-Ratelimit-Limit: + - "20000" + X-Ratelimit-Remaining: + - "18000" + X-Ratelimit-Reset: + - "1730089988" + X-Runtime: + - "0.021631" + X-Vcap-Request-Id: + - 614fb4ae-849b-4460-6a25-d62da08819c4::82c71124-448b-473c-9eda-998fc0a80237 + X-Xss-Protection: + - 1; mode=block + status: 200 OK + code: 200 + duration: 308.571667ms + - id: 30 + request: + proto: HTTP/1.1 + proto_major: 1 + proto_minor: 1 + content_length: 0 + transfer_encoding: [] + trailer: {} + host: api.x.x.x.x.com + remote_addr: "" + request_uri: "" + body: "" + form: {} + headers: + Authorization: + - Bearer redacted + User-Agent: + - Terraform/1.5.7 terraform-provider-cloudfoundry/dev + url: https://api.x.x.x.x.com/v3/spaces/02c0cc92-6ecc-44b1-b7b2-096ca19ee143?include=organization + method: GET + response: + proto: HTTP/2.0 + proto_major: 2 + proto_minor: 0 + transfer_encoding: [] + trailer: {} + content_length: 1644 + uncompressed: false + body: '{"guid":"02c0cc92-6ecc-44b1-b7b2-096ca19ee143","created_at":"2024-02-08T08:26:00Z","updated_at":"2024-02-08T08:26:00Z","name":"tf-space-1","relationships":{"organization":{"data":{"guid":"784b4cd0-4771-4e4d-9052-a07e178bae56"}},"quota":{"data":null}},"metadata":{"labels":{"purpose":"prod","test":"pass"},"annotations":{}},"links":{"self":{"href":"https://api.x.x.x.x.com/v3/spaces/02c0cc92-6ecc-44b1-b7b2-096ca19ee143"},"organization":{"href":"https://api.x.x.x.x.com/v3/organizations/784b4cd0-4771-4e4d-9052-a07e178bae56"},"features":{"href":"https://api.x.x.x.x.com/v3/spaces/02c0cc92-6ecc-44b1-b7b2-096ca19ee143/features"},"apply_manifest":{"href":"https://api.x.x.x.x.com/v3/spaces/02c0cc92-6ecc-44b1-b7b2-096ca19ee143/actions/apply_manifest","method":"POST"}},"included":{"organizations":[{"guid":"784b4cd0-4771-4e4d-9052-a07e178bae56","created_at":"2017-07-04T10:43:11Z","updated_at":"2024-01-08T15:08:31Z","name":"PerformanceTeamBLR","suspended":false,"relationships":{"quota":{"data":{"guid":"c17f045b-cebf-451a-b2d8-6c885fd9dbfc"}}},"metadata":{"labels":{"env":"canary"},"annotations":{}},"links":{"self":{"href":"https://api.x.x.x.x.com/v3/organizations/784b4cd0-4771-4e4d-9052-a07e178bae56"},"domains":{"href":"https://api.x.x.x.x.com/v3/organizations/784b4cd0-4771-4e4d-9052-a07e178bae56/domains"},"default_domain":{"href":"https://api.x.x.x.x.com/v3/organizations/784b4cd0-4771-4e4d-9052-a07e178bae56/domains/default"},"quota":{"href":"https://api.x.x.x.x.com/v3/organization_quotas/c17f045b-cebf-451a-b2d8-6c885fd9dbfc"}}}]}}' + headers: + Content-Length: + - "1644" + Content-Type: + - application/json; charset=utf-8 + Date: + - Mon, 28 Oct 2024 04:11:55 GMT + Referrer-Policy: + - strict-origin-when-cross-origin + Strict-Transport-Security: + - max-age=31536000; includeSubDomains; preload; + X-B3-Spanid: + - 6c773fa9bf5a9a8a + X-B3-Traceid: + - b969c26b6135422e6c773fa9bf5a9a8a + X-Content-Type-Options: + - nosniff + X-Download-Options: + - noopen + X-Frame-Options: + - SAMEORIGIN + X-Permitted-Cross-Domain-Policies: + - none + X-Ratelimit-Limit: + - "20000" + X-Ratelimit-Remaining: + - "18000" + X-Ratelimit-Reset: + - "1730089988" + X-Runtime: + - "0.014732" + X-Vcap-Request-Id: + - b969c26b-6135-422e-6c77-3fa9bf5a9a8a::eaad153e-508f-4dac-9d44-36261e737b50 + X-Xss-Protection: + - 1; mode=block + status: 200 OK + code: 200 + duration: 250.344625ms + - id: 31 + request: + proto: HTTP/1.1 + proto_major: 1 + proto_minor: 1 + content_length: 0 + transfer_encoding: [] + trailer: {} + host: api.x.x.x.x.com + remote_addr: "" + request_uri: "" + body: "" + form: {} + headers: + Authorization: + - Bearer redacted + User-Agent: + - Terraform/1.5.7 terraform-provider-cloudfoundry/dev + url: https://api.x.x.x.x.com/v3/apps?names=foo-hello-backend&space_guids=02c0cc92-6ecc-44b1-b7b2-096ca19ee143 + method: GET + response: + proto: HTTP/2.0 + proto_major: 2 + proto_minor: 0 + transfer_encoding: [] + trailer: {} + content_length: 2873 + uncompressed: false + body: '{"pagination":{"total_results":1,"total_pages":1,"first":{"href":"https://api.x.x.x.x.com/v3/apps?names=foo-hello-backend\u0026page=1\u0026per_page=50\u0026space_guids=02c0cc92-6ecc-44b1-b7b2-096ca19ee143"},"last":{"href":"https://api.x.x.x.x.com/v3/apps?names=foo-hello-backend\u0026page=1\u0026per_page=50\u0026space_guids=02c0cc92-6ecc-44b1-b7b2-096ca19ee143"},"next":null,"previous":null},"resources":[{"guid":"be2bec49-6df9-4ac2-a160-eb0ce3eb0025","created_at":"2024-05-15T04:49:55Z","updated_at":"2024-05-15T04:50:26Z","name":"foo-hello-backend","state":"STARTED","lifecycle":{"type":"buildpack","data":{"buildpacks":["sap_java_buildpack"],"stack":"cflinuxfs4"}},"relationships":{"space":{"data":{"guid":"02c0cc92-6ecc-44b1-b7b2-096ca19ee143"}},"current_droplet":{"data":{"guid":"3d8c1190-bc2a-405d-81c6-2da6d9885566"}}},"metadata":{"labels":{"mta_id":"5d41402abc4b2a76b9719d911017c592","mta_namespace":"acbd18db4cc2f85cedef654fccc4a4d8"},"annotations":{"mta_id":"hello","mta_version":"1.0.0","mta_namespace":"foo","mta_module":"{\"name\":\"hello-backend\"}","mta_module_provided_dependencies":"[]","mta_bound_services":"[]"}},"links":{"self":{"href":"https://api.x.x.x.x.com/v3/apps/be2bec49-6df9-4ac2-a160-eb0ce3eb0025"},"environment_variables":{"href":"https://api.x.x.x.x.com/v3/apps/be2bec49-6df9-4ac2-a160-eb0ce3eb0025/environment_variables"},"space":{"href":"https://api.x.x.x.x.com/v3/spaces/02c0cc92-6ecc-44b1-b7b2-096ca19ee143"},"processes":{"href":"https://api.x.x.x.x.com/v3/apps/be2bec49-6df9-4ac2-a160-eb0ce3eb0025/processes"},"packages":{"href":"https://api.x.x.x.x.com/v3/apps/be2bec49-6df9-4ac2-a160-eb0ce3eb0025/packages"},"current_droplet":{"href":"https://api.x.x.x.x.com/v3/apps/be2bec49-6df9-4ac2-a160-eb0ce3eb0025/droplets/current"},"droplets":{"href":"https://api.x.x.x.x.com/v3/apps/be2bec49-6df9-4ac2-a160-eb0ce3eb0025/droplets"},"tasks":{"href":"https://api.x.x.x.x.com/v3/apps/be2bec49-6df9-4ac2-a160-eb0ce3eb0025/tasks"},"start":{"href":"https://api.x.x.x.x.com/v3/apps/be2bec49-6df9-4ac2-a160-eb0ce3eb0025/actions/start","method":"POST"},"stop":{"href":"https://api.x.x.x.x.com/v3/apps/be2bec49-6df9-4ac2-a160-eb0ce3eb0025/actions/stop","method":"POST"},"clear_buildpack_cache":{"href":"https://api.x.x.x.x.com/v3/apps/be2bec49-6df9-4ac2-a160-eb0ce3eb0025/actions/clear_buildpack_cache","method":"POST"},"revisions":{"href":"https://api.x.x.x.x.com/v3/apps/be2bec49-6df9-4ac2-a160-eb0ce3eb0025/revisions"},"deployed_revisions":{"href":"https://api.x.x.x.x.com/v3/apps/be2bec49-6df9-4ac2-a160-eb0ce3eb0025/revisions/deployed"},"features":{"href":"https://api.x.x.x.x.com/v3/apps/be2bec49-6df9-4ac2-a160-eb0ce3eb0025/features"}}}]}' + headers: + Content-Length: + - "2873" + Content-Type: + - application/json; charset=utf-8 + Date: + - Mon, 28 Oct 2024 04:11:56 GMT + Referrer-Policy: + - strict-origin-when-cross-origin + Strict-Transport-Security: + - max-age=31536000; includeSubDomains; preload; + X-B3-Spanid: + - 4a32279f97e63860 + X-B3-Traceid: + - e3eb0648636b44544a32279f97e63860 + X-Content-Type-Options: + - nosniff + X-Download-Options: + - noopen + X-Frame-Options: + - SAMEORIGIN + X-Permitted-Cross-Domain-Policies: + - none + X-Ratelimit-Limit: + - "20000" + X-Ratelimit-Remaining: + - "18000" + X-Ratelimit-Reset: + - "1730089988" + X-Runtime: + - "0.079412" + X-Vcap-Request-Id: + - e3eb0648-636b-4454-4a32-279f97e63860::a2908b00-2b89-4345-8750-3eabcf413e87 + X-Xss-Protection: + - 1; mode=block + status: 200 OK + code: 200 + duration: 337.831ms + - id: 32 + request: + proto: HTTP/1.1 + proto_major: 1 + proto_minor: 1 + content_length: 0 + transfer_encoding: [] + trailer: {} + host: api.x.x.x.x.com + remote_addr: "" + request_uri: "" + body: "" + form: {} + headers: + Authorization: + - Bearer redacted + User-Agent: + - Terraform/1.5.7 terraform-provider-cloudfoundry/dev + url: https://api.x.x.x.x.com/v3/apps/be2bec49-6df9-4ac2-a160-eb0ce3eb0025/manifest + method: GET + response: + proto: HTTP/2.0 + proto_major: 2 + proto_minor: 0 + transfer_encoding: [] + trailer: {} + content_length: 930 + uncompressed: false + body: | + --- + applications: + - name: foo-hello-backend + env: + MEMORY_CALCULATOR_V1: 'true' + message: Hello, from foo-hello-backend! + DEPLOY_ATTRIBUTES: |- + { + "app-content-digest" : "73CC2934A2B9D7274BB9C65C9C80E3D2" + } + lifecycle: buildpack + buildpacks: + - sap_java_buildpack + stack: cflinuxfs4 + routes: + - route: foo-hello-backend.cfapps.sap.hana.ondemand.com/content + protocol: http1 + metadata: + labels: + mta_id: 5d41402abc4b2a76b9719d911017c592 + mta_namespace: acbd18db4cc2f85cedef654fccc4a4d8 + annotations: + mta_id: hello + mta_version: 1.0.0 + mta_namespace: foo + mta_module: '{"name":"hello-backend"}' + mta_module_provided_dependencies: "[]" + mta_bound_services: "[]" + processes: + - type: web + instances: 1 + memory: 256M + disk_quota: 256M + log-rate-limit-per-second: -1 + health-check-type: port + readiness-health-check-type: process + headers: + Content-Length: + - "930" + Content-Type: + - application/x-yaml; charset=utf-8 + Date: + - Mon, 28 Oct 2024 04:11:56 GMT + Referrer-Policy: + - strict-origin-when-cross-origin + Strict-Transport-Security: + - max-age=31536000; includeSubDomains; preload; + X-B3-Spanid: + - 7474950d1ec5b6b9 + X-B3-Traceid: + - ddee1d4e72864fb47474950d1ec5b6b9 + X-Content-Type-Options: + - nosniff + X-Download-Options: + - noopen + X-Frame-Options: + - SAMEORIGIN + X-Permitted-Cross-Domain-Policies: + - none + X-Ratelimit-Limit: + - "20000" + X-Ratelimit-Remaining: + - "18000" + X-Ratelimit-Reset: + - "1730089988" + X-Runtime: + - "0.030241" + X-Vcap-Request-Id: + - ddee1d4e-7286-4fb4-7474-950d1ec5b6b9::80974897-27dd-4ea2-b0e5-d6748ac36b86 + X-Xss-Protection: + - 1; mode=block + status: 200 OK + code: 200 + duration: 307.371542ms + - id: 33 + request: + proto: HTTP/1.1 + proto_major: 1 + proto_minor: 1 + content_length: 0 + transfer_encoding: [] + trailer: {} + host: api.x.x.x.x.com + remote_addr: "" + request_uri: "" + body: "" + form: {} + headers: + Authorization: + - Bearer redacted + User-Agent: + - Terraform/1.5.7 terraform-provider-cloudfoundry/dev + url: https://api.x.x.x.x.com/v3/spaces/02c0cc92-6ecc-44b1-b7b2-096ca19ee143?include=organization + method: GET + response: + proto: HTTP/2.0 + proto_major: 2 + proto_minor: 0 + transfer_encoding: [] + trailer: {} + content_length: 1644 + uncompressed: false + body: '{"guid":"02c0cc92-6ecc-44b1-b7b2-096ca19ee143","created_at":"2024-02-08T08:26:00Z","updated_at":"2024-02-08T08:26:00Z","name":"tf-space-1","relationships":{"organization":{"data":{"guid":"784b4cd0-4771-4e4d-9052-a07e178bae56"}},"quota":{"data":null}},"metadata":{"labels":{"purpose":"prod","test":"pass"},"annotations":{}},"links":{"self":{"href":"https://api.x.x.x.x.com/v3/spaces/02c0cc92-6ecc-44b1-b7b2-096ca19ee143"},"organization":{"href":"https://api.x.x.x.x.com/v3/organizations/784b4cd0-4771-4e4d-9052-a07e178bae56"},"features":{"href":"https://api.x.x.x.x.com/v3/spaces/02c0cc92-6ecc-44b1-b7b2-096ca19ee143/features"},"apply_manifest":{"href":"https://api.x.x.x.x.com/v3/spaces/02c0cc92-6ecc-44b1-b7b2-096ca19ee143/actions/apply_manifest","method":"POST"}},"included":{"organizations":[{"guid":"784b4cd0-4771-4e4d-9052-a07e178bae56","created_at":"2017-07-04T10:43:11Z","updated_at":"2024-01-08T15:08:31Z","name":"PerformanceTeamBLR","suspended":false,"relationships":{"quota":{"data":{"guid":"c17f045b-cebf-451a-b2d8-6c885fd9dbfc"}}},"metadata":{"labels":{"env":"canary"},"annotations":{}},"links":{"self":{"href":"https://api.x.x.x.x.com/v3/organizations/784b4cd0-4771-4e4d-9052-a07e178bae56"},"domains":{"href":"https://api.x.x.x.x.com/v3/organizations/784b4cd0-4771-4e4d-9052-a07e178bae56/domains"},"default_domain":{"href":"https://api.x.x.x.x.com/v3/organizations/784b4cd0-4771-4e4d-9052-a07e178bae56/domains/default"},"quota":{"href":"https://api.x.x.x.x.com/v3/organization_quotas/c17f045b-cebf-451a-b2d8-6c885fd9dbfc"}}}]}}' + headers: + Content-Length: + - "1644" + Content-Type: + - application/json; charset=utf-8 + Date: + - Mon, 28 Oct 2024 04:11:56 GMT + Referrer-Policy: + - strict-origin-when-cross-origin + Strict-Transport-Security: + - max-age=31536000; includeSubDomains; preload; + X-B3-Spanid: + - 6c436942618f37df + X-B3-Traceid: + - 472945c4f0a648c66c436942618f37df + X-Content-Type-Options: + - nosniff + X-Download-Options: + - noopen + X-Frame-Options: + - SAMEORIGIN + X-Permitted-Cross-Domain-Policies: + - none + X-Ratelimit-Limit: + - "20000" + X-Ratelimit-Remaining: + - "18000" + X-Ratelimit-Reset: + - "1730089988" + X-Runtime: + - "0.011691" + X-Vcap-Request-Id: + - 472945c4-f0a6-48c6-6c43-6942618f37df::28e1ee6f-2596-4f03-adb5-7e64dd9a8fd5 + X-Xss-Protection: + - 1; mode=block + status: 200 OK + code: 200 + duration: 246.756333ms + - id: 34 + request: + proto: HTTP/1.1 + proto_major: 1 + proto_minor: 1 + content_length: 0 + transfer_encoding: [] + trailer: {} + host: api.x.x.x.x.com + remote_addr: "" + request_uri: "" + body: "" + form: {} + headers: + Authorization: + - Bearer redacted + User-Agent: + - Terraform/1.5.7 terraform-provider-cloudfoundry/dev + url: https://api.x.x.x.x.com/v3/apps?names=foo-hello-backend&space_guids=02c0cc92-6ecc-44b1-b7b2-096ca19ee143 + method: GET + response: + proto: HTTP/2.0 + proto_major: 2 + proto_minor: 0 + transfer_encoding: [] + trailer: {} + content_length: 2873 + uncompressed: false + body: '{"pagination":{"total_results":1,"total_pages":1,"first":{"href":"https://api.x.x.x.x.com/v3/apps?names=foo-hello-backend\u0026page=1\u0026per_page=50\u0026space_guids=02c0cc92-6ecc-44b1-b7b2-096ca19ee143"},"last":{"href":"https://api.x.x.x.x.com/v3/apps?names=foo-hello-backend\u0026page=1\u0026per_page=50\u0026space_guids=02c0cc92-6ecc-44b1-b7b2-096ca19ee143"},"next":null,"previous":null},"resources":[{"guid":"be2bec49-6df9-4ac2-a160-eb0ce3eb0025","created_at":"2024-05-15T04:49:55Z","updated_at":"2024-05-15T04:50:26Z","name":"foo-hello-backend","state":"STARTED","lifecycle":{"type":"buildpack","data":{"buildpacks":["sap_java_buildpack"],"stack":"cflinuxfs4"}},"relationships":{"space":{"data":{"guid":"02c0cc92-6ecc-44b1-b7b2-096ca19ee143"}},"current_droplet":{"data":{"guid":"3d8c1190-bc2a-405d-81c6-2da6d9885566"}}},"metadata":{"labels":{"mta_id":"5d41402abc4b2a76b9719d911017c592","mta_namespace":"acbd18db4cc2f85cedef654fccc4a4d8"},"annotations":{"mta_id":"hello","mta_version":"1.0.0","mta_namespace":"foo","mta_module":"{\"name\":\"hello-backend\"}","mta_module_provided_dependencies":"[]","mta_bound_services":"[]"}},"links":{"self":{"href":"https://api.x.x.x.x.com/v3/apps/be2bec49-6df9-4ac2-a160-eb0ce3eb0025"},"environment_variables":{"href":"https://api.x.x.x.x.com/v3/apps/be2bec49-6df9-4ac2-a160-eb0ce3eb0025/environment_variables"},"space":{"href":"https://api.x.x.x.x.com/v3/spaces/02c0cc92-6ecc-44b1-b7b2-096ca19ee143"},"processes":{"href":"https://api.x.x.x.x.com/v3/apps/be2bec49-6df9-4ac2-a160-eb0ce3eb0025/processes"},"packages":{"href":"https://api.x.x.x.x.com/v3/apps/be2bec49-6df9-4ac2-a160-eb0ce3eb0025/packages"},"current_droplet":{"href":"https://api.x.x.x.x.com/v3/apps/be2bec49-6df9-4ac2-a160-eb0ce3eb0025/droplets/current"},"droplets":{"href":"https://api.x.x.x.x.com/v3/apps/be2bec49-6df9-4ac2-a160-eb0ce3eb0025/droplets"},"tasks":{"href":"https://api.x.x.x.x.com/v3/apps/be2bec49-6df9-4ac2-a160-eb0ce3eb0025/tasks"},"start":{"href":"https://api.x.x.x.x.com/v3/apps/be2bec49-6df9-4ac2-a160-eb0ce3eb0025/actions/start","method":"POST"},"stop":{"href":"https://api.x.x.x.x.com/v3/apps/be2bec49-6df9-4ac2-a160-eb0ce3eb0025/actions/stop","method":"POST"},"clear_buildpack_cache":{"href":"https://api.x.x.x.x.com/v3/apps/be2bec49-6df9-4ac2-a160-eb0ce3eb0025/actions/clear_buildpack_cache","method":"POST"},"revisions":{"href":"https://api.x.x.x.x.com/v3/apps/be2bec49-6df9-4ac2-a160-eb0ce3eb0025/revisions"},"deployed_revisions":{"href":"https://api.x.x.x.x.com/v3/apps/be2bec49-6df9-4ac2-a160-eb0ce3eb0025/revisions/deployed"},"features":{"href":"https://api.x.x.x.x.com/v3/apps/be2bec49-6df9-4ac2-a160-eb0ce3eb0025/features"}}}]}' + headers: + Content-Length: + - "2873" + Content-Type: + - application/json; charset=utf-8 + Date: + - Mon, 28 Oct 2024 04:11:57 GMT + Referrer-Policy: + - strict-origin-when-cross-origin + Strict-Transport-Security: + - max-age=31536000; includeSubDomains; preload; + X-B3-Spanid: + - 6a637d8374205eeb + X-B3-Traceid: + - 132c2a5ab9824d2c6a637d8374205eeb + X-Content-Type-Options: + - nosniff + X-Download-Options: + - noopen + X-Frame-Options: + - SAMEORIGIN + X-Permitted-Cross-Domain-Policies: + - none + X-Ratelimit-Limit: + - "20000" + X-Ratelimit-Remaining: + - "18000" + X-Ratelimit-Reset: + - "1730089988" + X-Runtime: + - "0.080360" + X-Vcap-Request-Id: + - 132c2a5a-b982-4d2c-6a63-7d8374205eeb::4515c68a-1106-4ed5-95b0-3bb3e7c2df7a + X-Xss-Protection: + - 1; mode=block + status: 200 OK + code: 200 + duration: 325.974959ms + - id: 35 + request: + proto: HTTP/1.1 + proto_major: 1 + proto_minor: 1 + content_length: 0 + transfer_encoding: [] + trailer: {} + host: api.x.x.x.x.com + remote_addr: "" + request_uri: "" + body: "" + form: {} + headers: + Authorization: + - Bearer redacted + User-Agent: + - Terraform/1.5.7 terraform-provider-cloudfoundry/dev + url: https://api.x.x.x.x.com/v3/apps/be2bec49-6df9-4ac2-a160-eb0ce3eb0025/manifest + method: GET + response: + proto: HTTP/2.0 + proto_major: 2 + proto_minor: 0 + transfer_encoding: [] + trailer: {} + content_length: 930 + uncompressed: false + body: | + --- + applications: + - name: foo-hello-backend + env: + MEMORY_CALCULATOR_V1: 'true' + message: Hello, from foo-hello-backend! + DEPLOY_ATTRIBUTES: |- + { + "app-content-digest" : "73CC2934A2B9D7274BB9C65C9C80E3D2" + } + lifecycle: buildpack + buildpacks: + - sap_java_buildpack + stack: cflinuxfs4 + routes: + - route: foo-hello-backend.cfapps.sap.hana.ondemand.com/content + protocol: http1 + metadata: + labels: + mta_id: 5d41402abc4b2a76b9719d911017c592 + mta_namespace: acbd18db4cc2f85cedef654fccc4a4d8 + annotations: + mta_id: hello + mta_version: 1.0.0 + mta_namespace: foo + mta_module: '{"name":"hello-backend"}' + mta_module_provided_dependencies: "[]" + mta_bound_services: "[]" + processes: + - type: web + instances: 1 + memory: 256M + disk_quota: 256M + log-rate-limit-per-second: -1 + health-check-type: port + readiness-health-check-type: process + headers: + Content-Length: + - "930" + Content-Type: + - application/x-yaml; charset=utf-8 + Date: + - Mon, 28 Oct 2024 04:11:57 GMT + Referrer-Policy: + - strict-origin-when-cross-origin + Strict-Transport-Security: + - max-age=31536000; includeSubDomains; preload; + X-B3-Spanid: + - 67569f5a74b367c0 + X-B3-Traceid: + - 24d704af290349ed67569f5a74b367c0 + X-Content-Type-Options: + - nosniff + X-Download-Options: + - noopen + X-Frame-Options: + - SAMEORIGIN + X-Permitted-Cross-Domain-Policies: + - none + X-Ratelimit-Limit: + - "20000" + X-Ratelimit-Remaining: + - "18000" + X-Ratelimit-Reset: + - "1730089988" + X-Runtime: + - "0.026307" + X-Vcap-Request-Id: + - 24d704af-2903-49ed-6756-9f5a74b367c0::10b1a63f-0f25-44da-9d21-b5714d3f85a7 + X-Xss-Protection: + - 1; mode=block + status: 200 OK + code: 200 + duration: 307.357875ms + - id: 36 + request: + proto: HTTP/1.1 + proto_major: 1 + proto_minor: 1 + content_length: 0 + transfer_encoding: [] + trailer: {} + host: api.x.x.x.x.com + remote_addr: "" + request_uri: "" + body: "" + form: {} + headers: + Authorization: + - Bearer redacted + User-Agent: + - Terraform/1.5.7 terraform-provider-cloudfoundry/dev + url: https://api.x.x.x.x.com/v3/spaces/02c0cc92-6ecc-44b1-b7b2-096ca19ee143?include=organization + method: GET + response: + proto: HTTP/2.0 + proto_major: 2 + proto_minor: 0 + transfer_encoding: [] + trailer: {} + content_length: 1644 + uncompressed: false + body: '{"guid":"02c0cc92-6ecc-44b1-b7b2-096ca19ee143","created_at":"2024-02-08T08:26:00Z","updated_at":"2024-02-08T08:26:00Z","name":"tf-space-1","relationships":{"organization":{"data":{"guid":"784b4cd0-4771-4e4d-9052-a07e178bae56"}},"quota":{"data":null}},"metadata":{"labels":{"purpose":"prod","test":"pass"},"annotations":{}},"links":{"self":{"href":"https://api.x.x.x.x.com/v3/spaces/02c0cc92-6ecc-44b1-b7b2-096ca19ee143"},"organization":{"href":"https://api.x.x.x.x.com/v3/organizations/784b4cd0-4771-4e4d-9052-a07e178bae56"},"features":{"href":"https://api.x.x.x.x.com/v3/spaces/02c0cc92-6ecc-44b1-b7b2-096ca19ee143/features"},"apply_manifest":{"href":"https://api.x.x.x.x.com/v3/spaces/02c0cc92-6ecc-44b1-b7b2-096ca19ee143/actions/apply_manifest","method":"POST"}},"included":{"organizations":[{"guid":"784b4cd0-4771-4e4d-9052-a07e178bae56","created_at":"2017-07-04T10:43:11Z","updated_at":"2024-01-08T15:08:31Z","name":"PerformanceTeamBLR","suspended":false,"relationships":{"quota":{"data":{"guid":"c17f045b-cebf-451a-b2d8-6c885fd9dbfc"}}},"metadata":{"labels":{"env":"canary"},"annotations":{}},"links":{"self":{"href":"https://api.x.x.x.x.com/v3/organizations/784b4cd0-4771-4e4d-9052-a07e178bae56"},"domains":{"href":"https://api.x.x.x.x.com/v3/organizations/784b4cd0-4771-4e4d-9052-a07e178bae56/domains"},"default_domain":{"href":"https://api.x.x.x.x.com/v3/organizations/784b4cd0-4771-4e4d-9052-a07e178bae56/domains/default"},"quota":{"href":"https://api.x.x.x.x.com/v3/organization_quotas/c17f045b-cebf-451a-b2d8-6c885fd9dbfc"}}}]}}' + headers: + Content-Length: + - "1644" + Content-Type: + - application/json; charset=utf-8 + Date: + - Mon, 28 Oct 2024 04:11:57 GMT + Referrer-Policy: + - strict-origin-when-cross-origin + Strict-Transport-Security: + - max-age=31536000; includeSubDomains; preload; + X-B3-Spanid: + - 6c58a4c65cee9b23 + X-B3-Traceid: + - a8bb6ea6a37a40236c58a4c65cee9b23 + X-Content-Type-Options: + - nosniff + X-Download-Options: + - noopen + X-Frame-Options: + - SAMEORIGIN + X-Permitted-Cross-Domain-Policies: + - none + X-Ratelimit-Limit: + - "20000" + X-Ratelimit-Remaining: + - "18000" + X-Ratelimit-Reset: + - "1730089988" + X-Runtime: + - "0.023631" + X-Vcap-Request-Id: + - a8bb6ea6-a37a-4023-6c58-a4c65cee9b23::2821ca77-1224-49fc-aae4-25f70d13da0f + X-Xss-Protection: + - 1; mode=block + status: 200 OK + code: 200 + duration: 260.072667ms + - id: 37 + request: + proto: HTTP/1.1 + proto_major: 1 + proto_minor: 1 + content_length: 0 + transfer_encoding: [] + trailer: {} + host: api.x.x.x.x.com + remote_addr: "" + request_uri: "" + body: "" + form: {} + headers: + Authorization: + - Bearer redacted + User-Agent: + - Terraform/1.5.7 terraform-provider-cloudfoundry/dev + url: https://api.x.x.x.x.com/v3/apps?names=foo-hello-backend&space_guids=02c0cc92-6ecc-44b1-b7b2-096ca19ee143 + method: GET + response: + proto: HTTP/2.0 + proto_major: 2 + proto_minor: 0 + transfer_encoding: [] + trailer: {} + content_length: 2873 + uncompressed: false + body: '{"pagination":{"total_results":1,"total_pages":1,"first":{"href":"https://api.x.x.x.x.com/v3/apps?names=foo-hello-backend\u0026page=1\u0026per_page=50\u0026space_guids=02c0cc92-6ecc-44b1-b7b2-096ca19ee143"},"last":{"href":"https://api.x.x.x.x.com/v3/apps?names=foo-hello-backend\u0026page=1\u0026per_page=50\u0026space_guids=02c0cc92-6ecc-44b1-b7b2-096ca19ee143"},"next":null,"previous":null},"resources":[{"guid":"be2bec49-6df9-4ac2-a160-eb0ce3eb0025","created_at":"2024-05-15T04:49:55Z","updated_at":"2024-05-15T04:50:26Z","name":"foo-hello-backend","state":"STARTED","lifecycle":{"type":"buildpack","data":{"buildpacks":["sap_java_buildpack"],"stack":"cflinuxfs4"}},"relationships":{"space":{"data":{"guid":"02c0cc92-6ecc-44b1-b7b2-096ca19ee143"}},"current_droplet":{"data":{"guid":"3d8c1190-bc2a-405d-81c6-2da6d9885566"}}},"metadata":{"labels":{"mta_id":"5d41402abc4b2a76b9719d911017c592","mta_namespace":"acbd18db4cc2f85cedef654fccc4a4d8"},"annotations":{"mta_id":"hello","mta_version":"1.0.0","mta_namespace":"foo","mta_module":"{\"name\":\"hello-backend\"}","mta_module_provided_dependencies":"[]","mta_bound_services":"[]"}},"links":{"self":{"href":"https://api.x.x.x.x.com/v3/apps/be2bec49-6df9-4ac2-a160-eb0ce3eb0025"},"environment_variables":{"href":"https://api.x.x.x.x.com/v3/apps/be2bec49-6df9-4ac2-a160-eb0ce3eb0025/environment_variables"},"space":{"href":"https://api.x.x.x.x.com/v3/spaces/02c0cc92-6ecc-44b1-b7b2-096ca19ee143"},"processes":{"href":"https://api.x.x.x.x.com/v3/apps/be2bec49-6df9-4ac2-a160-eb0ce3eb0025/processes"},"packages":{"href":"https://api.x.x.x.x.com/v3/apps/be2bec49-6df9-4ac2-a160-eb0ce3eb0025/packages"},"current_droplet":{"href":"https://api.x.x.x.x.com/v3/apps/be2bec49-6df9-4ac2-a160-eb0ce3eb0025/droplets/current"},"droplets":{"href":"https://api.x.x.x.x.com/v3/apps/be2bec49-6df9-4ac2-a160-eb0ce3eb0025/droplets"},"tasks":{"href":"https://api.x.x.x.x.com/v3/apps/be2bec49-6df9-4ac2-a160-eb0ce3eb0025/tasks"},"start":{"href":"https://api.x.x.x.x.com/v3/apps/be2bec49-6df9-4ac2-a160-eb0ce3eb0025/actions/start","method":"POST"},"stop":{"href":"https://api.x.x.x.x.com/v3/apps/be2bec49-6df9-4ac2-a160-eb0ce3eb0025/actions/stop","method":"POST"},"clear_buildpack_cache":{"href":"https://api.x.x.x.x.com/v3/apps/be2bec49-6df9-4ac2-a160-eb0ce3eb0025/actions/clear_buildpack_cache","method":"POST"},"revisions":{"href":"https://api.x.x.x.x.com/v3/apps/be2bec49-6df9-4ac2-a160-eb0ce3eb0025/revisions"},"deployed_revisions":{"href":"https://api.x.x.x.x.com/v3/apps/be2bec49-6df9-4ac2-a160-eb0ce3eb0025/revisions/deployed"},"features":{"href":"https://api.x.x.x.x.com/v3/apps/be2bec49-6df9-4ac2-a160-eb0ce3eb0025/features"}}}]}' + headers: + Content-Length: + - "2873" + Content-Type: + - application/json; charset=utf-8 + Date: + - Mon, 28 Oct 2024 04:11:58 GMT + Referrer-Policy: + - strict-origin-when-cross-origin + Strict-Transport-Security: + - max-age=31536000; includeSubDomains; preload; + X-B3-Spanid: + - 67b9b350e07c2caf + X-B3-Traceid: + - eeef7c867e3c49a467b9b350e07c2caf + X-Content-Type-Options: + - nosniff + X-Download-Options: + - noopen + X-Frame-Options: + - SAMEORIGIN + X-Permitted-Cross-Domain-Policies: + - none + X-Ratelimit-Limit: + - "20000" + X-Ratelimit-Remaining: + - "18000" + X-Ratelimit-Reset: + - "1730089989" + X-Runtime: + - "0.070349" + X-Vcap-Request-Id: + - eeef7c86-7e3c-49a4-67b9-b350e07c2caf::33d92f2b-96f7-4f1d-8392-683dc26e97e4 + X-Xss-Protection: + - 1; mode=block + status: 200 OK + code: 200 + duration: 309.075583ms + - id: 38 + request: + proto: HTTP/1.1 + proto_major: 1 + proto_minor: 1 + content_length: 0 + transfer_encoding: [] + trailer: {} + host: api.x.x.x.x.com + remote_addr: "" + request_uri: "" + body: "" + form: {} + headers: + Authorization: + - Bearer redacted + User-Agent: + - Terraform/1.5.7 terraform-provider-cloudfoundry/dev + url: https://api.x.x.x.x.com/v3/apps/be2bec49-6df9-4ac2-a160-eb0ce3eb0025/manifest + method: GET + response: + proto: HTTP/2.0 + proto_major: 2 + proto_minor: 0 + transfer_encoding: [] + trailer: {} + content_length: 930 + uncompressed: false + body: | + --- + applications: + - name: foo-hello-backend + env: + MEMORY_CALCULATOR_V1: 'true' + message: Hello, from foo-hello-backend! + DEPLOY_ATTRIBUTES: |- + { + "app-content-digest" : "73CC2934A2B9D7274BB9C65C9C80E3D2" + } + lifecycle: buildpack + buildpacks: + - sap_java_buildpack + stack: cflinuxfs4 + routes: + - route: foo-hello-backend.cfapps.sap.hana.ondemand.com/content + protocol: http1 + metadata: + labels: + mta_id: 5d41402abc4b2a76b9719d911017c592 + mta_namespace: acbd18db4cc2f85cedef654fccc4a4d8 + annotations: + mta_id: hello + mta_version: 1.0.0 + mta_namespace: foo + mta_module: '{"name":"hello-backend"}' + mta_module_provided_dependencies: "[]" + mta_bound_services: "[]" + processes: + - type: web + instances: 1 + memory: 256M + disk_quota: 256M + log-rate-limit-per-second: -1 + health-check-type: port + readiness-health-check-type: process + headers: + Content-Length: + - "930" + Content-Type: + - application/x-yaml; charset=utf-8 + Date: + - Mon, 28 Oct 2024 04:11:58 GMT + Referrer-Policy: + - strict-origin-when-cross-origin + Strict-Transport-Security: + - max-age=31536000; includeSubDomains; preload; + X-B3-Spanid: + - 5b833048e58eae04 + X-B3-Traceid: + - a9662a0a853e43265b833048e58eae04 + X-Content-Type-Options: + - nosniff + X-Download-Options: + - noopen + X-Frame-Options: + - SAMEORIGIN + X-Permitted-Cross-Domain-Policies: + - none + X-Ratelimit-Limit: + - "20000" + X-Ratelimit-Remaining: + - "18000" + X-Ratelimit-Reset: + - "1730089988" + X-Runtime: + - "0.022950" + X-Vcap-Request-Id: + - a9662a0a-853e-4326-5b83-3048e58eae04::63c6efc5-aa57-49f6-8252-6e96f5ba1cf9 + X-Xss-Protection: + - 1; mode=block + status: 200 OK + code: 200 + duration: 257.231875ms diff --git a/internal/provider/fixtures/datasource_apps_invalid.yaml b/internal/provider/fixtures/datasource_apps_invalid.yaml new file mode 100644 index 0000000..1e3f14b --- /dev/null +++ b/internal/provider/fixtures/datasource_apps_invalid.yaml @@ -0,0 +1,137 @@ +--- +version: 2 +interactions: + - id: 0 + request: + proto: HTTP/1.1 + proto_major: 1 + proto_minor: 1 + content_length: 0 + transfer_encoding: [] + trailer: {} + host: api.x.x.x.x.com + remote_addr: "" + request_uri: "" + body: "" + form: {} + headers: + Authorization: + - Bearer redacted + User-Agent: + - Terraform/1.5.7 terraform-provider-cloudfoundry/dev + url: https://api.x.x.x.x.com/v3/spaces/02c0cc92-6ecc-44b1-b7b2-096ca19ee143?include=organization + method: GET + response: + proto: HTTP/2.0 + proto_major: 2 + proto_minor: 0 + transfer_encoding: [] + trailer: {} + content_length: 1644 + uncompressed: false + body: '{"guid":"02c0cc92-6ecc-44b1-b7b2-096ca19ee143","created_at":"2024-02-08T08:26:00Z","updated_at":"2024-02-08T08:26:00Z","name":"tf-space-1","relationships":{"organization":{"data":{"guid":"784b4cd0-4771-4e4d-9052-a07e178bae56"}},"quota":{"data":null}},"metadata":{"labels":{"purpose":"prod","test":"pass"},"annotations":{}},"links":{"self":{"href":"https://api.x.x.x.x.com/v3/spaces/02c0cc92-6ecc-44b1-b7b2-096ca19ee143"},"organization":{"href":"https://api.x.x.x.x.com/v3/organizations/784b4cd0-4771-4e4d-9052-a07e178bae56"},"features":{"href":"https://api.x.x.x.x.com/v3/spaces/02c0cc92-6ecc-44b1-b7b2-096ca19ee143/features"},"apply_manifest":{"href":"https://api.x.x.x.x.com/v3/spaces/02c0cc92-6ecc-44b1-b7b2-096ca19ee143/actions/apply_manifest","method":"POST"}},"included":{"organizations":[{"guid":"784b4cd0-4771-4e4d-9052-a07e178bae56","created_at":"2017-07-04T10:43:11Z","updated_at":"2024-01-08T15:08:31Z","name":"PerformanceTeamBLR","suspended":false,"relationships":{"quota":{"data":{"guid":"c17f045b-cebf-451a-b2d8-6c885fd9dbfc"}}},"metadata":{"labels":{"env":"canary"},"annotations":{}},"links":{"self":{"href":"https://api.x.x.x.x.com/v3/organizations/784b4cd0-4771-4e4d-9052-a07e178bae56"},"domains":{"href":"https://api.x.x.x.x.com/v3/organizations/784b4cd0-4771-4e4d-9052-a07e178bae56/domains"},"default_domain":{"href":"https://api.x.x.x.x.com/v3/organizations/784b4cd0-4771-4e4d-9052-a07e178bae56/domains/default"},"quota":{"href":"https://api.x.x.x.x.com/v3/organization_quotas/c17f045b-cebf-451a-b2d8-6c885fd9dbfc"}}}]}}' + headers: + Content-Length: + - "1644" + Content-Type: + - application/json; charset=utf-8 + Date: + - Mon, 28 Oct 2024 04:11:58 GMT + Referrer-Policy: + - strict-origin-when-cross-origin + Strict-Transport-Security: + - max-age=31536000; includeSubDomains; preload; + X-B3-Spanid: + - 5ea1f28f36005cf0 + X-B3-Traceid: + - d953b9826c0940a55ea1f28f36005cf0 + X-Content-Type-Options: + - nosniff + X-Download-Options: + - noopen + X-Frame-Options: + - SAMEORIGIN + X-Permitted-Cross-Domain-Policies: + - none + X-Ratelimit-Limit: + - "20000" + X-Ratelimit-Remaining: + - "18000" + X-Ratelimit-Reset: + - "1730089987" + X-Runtime: + - "0.012806" + X-Vcap-Request-Id: + - d953b982-6c09-40a5-5ea1-f28f36005cf0::ebea8de8-affd-4837-8a64-35ce27f423bb + X-Xss-Protection: + - 1; mode=block + status: 200 OK + code: 200 + duration: 251.549959ms + - id: 1 + request: + proto: HTTP/1.1 + proto_major: 1 + proto_minor: 1 + content_length: 0 + transfer_encoding: [] + trailer: {} + host: api.x.x.x.x.com + remote_addr: "" + request_uri: "" + body: "" + form: {} + headers: + Authorization: + - Bearer redacted + User-Agent: + - Terraform/1.5.7 terraform-provider-cloudfoundry/dev + url: https://api.x.x.x.x.com/v3/apps?names=blah&space_guids=02c0cc92-6ecc-44b1-b7b2-096ca19ee143 + method: GET + response: + proto: HTTP/2.0 + proto_major: 2 + proto_minor: 0 + transfer_encoding: [] + trailer: {} + content_length: 408 + uncompressed: false + body: '{"pagination":{"total_results":0,"total_pages":1,"first":{"href":"https://api.x.x.x.x.com/v3/apps?names=blah\u0026page=1\u0026per_page=50\u0026space_guids=02c0cc92-6ecc-44b1-b7b2-096ca19ee143"},"last":{"href":"https://api.x.x.x.x.com/v3/apps?names=blah\u0026page=1\u0026per_page=50\u0026space_guids=02c0cc92-6ecc-44b1-b7b2-096ca19ee143"},"next":null,"previous":null},"resources":[]}' + headers: + Content-Length: + - "408" + Content-Type: + - application/json; charset=utf-8 + Date: + - Mon, 28 Oct 2024 04:11:59 GMT + Referrer-Policy: + - strict-origin-when-cross-origin + Strict-Transport-Security: + - max-age=31536000; includeSubDomains; preload; + X-B3-Spanid: + - 433c4053f0f72c20 + X-B3-Traceid: + - 8993af9ba2b342e9433c4053f0f72c20 + X-Content-Type-Options: + - nosniff + X-Download-Options: + - noopen + X-Frame-Options: + - SAMEORIGIN + X-Permitted-Cross-Domain-Policies: + - none + X-Ratelimit-Limit: + - "20000" + X-Ratelimit-Remaining: + - "18000" + X-Ratelimit-Reset: + - "1730089989" + X-Runtime: + - "0.062126" + X-Vcap-Request-Id: + - 8993af9b-a2b3-42e9-433c-4053f0f72c20::2f7fe730-ec0e-48ed-ae8e-84e3afbe6147 + X-Xss-Protection: + - 1; mode=block + status: 200 OK + code: 200 + duration: 298.678666ms diff --git a/internal/provider/provider.go b/internal/provider/provider.go index e581fac..c60165c 100644 --- a/internal/provider/provider.go +++ b/internal/provider/provider.go @@ -336,6 +336,7 @@ func (p *CloudFoundryProvider) DataSources(ctx context.Context) []func() datasou NewSpacesDataSource, NewServicePlansDataSource, NewOrgsDataSource, + NewAppsDataSource, } } diff --git a/internal/provider/provider_test.go b/internal/provider/provider_test.go index 0a32a3f..d1f8493 100644 --- a/internal/provider/provider_test.go +++ b/internal/provider/provider_test.go @@ -315,6 +315,7 @@ func TestProvider_HasDataSources(t *testing.T) { "cloudfoundry_spaces", "cloudfoundry_service_plans", "cloudfoundry_orgs", + "cloudfoundry_apps", } ctx := context.Background() diff --git a/internal/provider/types_app.go b/internal/provider/types_app.go index f2521a9..5edff8f 100644 --- a/internal/provider/types_app.go +++ b/internal/provider/types_app.go @@ -91,6 +91,13 @@ type DatasourceAppType struct { Annotations types.Map `tfsdk:"annotations"` } +type DatasourceAppsType struct { + Space types.String `tfsdk:"space"` + Org types.String `tfsdk:"org"` + Name types.String `tfsdk:"name"` + Apps []DatasourceAppType `tfsdk:"apps"` +} + // Reduce function to reduce AppType to DatasourceAppType // This is used to reuse mapAppValuesToType in both resource and datasource. func (a *AppType) Reduce() DatasourceAppType { @@ -437,7 +444,7 @@ func mapAppValuesToType(ctx context.Context, appManifest *cfv3operation.AppManif appType.Command = types.StringValue(process.Command) } if process.DiskQuota != "" { - if !reqPlanType.DiskQuota.IsNull() && !reqPlanType.DiskQuota.IsUnknown() { + if reqPlanType != nil && !reqPlanType.DiskQuota.IsNull() && !reqPlanType.DiskQuota.IsUnknown() { result, err := getDesiredType(process.DiskQuota, reqPlanType.DiskQuota.ValueString()) if err != nil { tempDiags.AddError("Error converting disk quota", err.Error()) @@ -459,7 +466,7 @@ func mapAppValuesToType(ctx context.Context, appManifest *cfv3operation.AppManif } appType.Instances = types.Int64Value(int64(*process.Instances)) if process.Memory != "" { - if !reqPlanType.Memory.IsNull() && !reqPlanType.Memory.IsUnknown() { + if reqPlanType != nil && !reqPlanType.Memory.IsNull() && !reqPlanType.Memory.IsUnknown() { result, err := getDesiredType(process.Memory, reqPlanType.Memory.ValueString()) if err != nil { tempDiags.AddError("Error converting memory", err.Error()) @@ -489,7 +496,7 @@ func mapAppValuesToType(ctx context.Context, appManifest *cfv3operation.AppManif appType.ReadinessHealthCheckInterval = types.Int64Value(int64(process.ReadinessHealthCheckInterval)) } if process.LogRateLimitPerSecond != "" { - if !reqPlanType.LogRateLimitPerSecond.IsNull() && !reqPlanType.LogRateLimitPerSecond.IsUnknown() { + if reqPlanType != nil && !reqPlanType.LogRateLimitPerSecond.IsNull() && !reqPlanType.LogRateLimitPerSecond.IsUnknown() { result, err := getDesiredType(process.LogRateLimitPerSecond, reqPlanType.LogRateLimitPerSecond.ValueString()) if err != nil { tempDiags.AddError("Error converting log_rate_limit", err.Error()) @@ -590,7 +597,7 @@ func mapAppValuesToType(ctx context.Context, appManifest *cfv3operation.AppManif s.ProcessTypes = types.SetNull(types.StringType) } if sidecar.Memory != "" { - if !reqPlanType.Sidecars[i].Memory.IsUnknown() { + if reqPlanType != nil && !reqPlanType.Sidecars[i].Memory.IsUnknown() { result, err := getDesiredType(sidecar.Memory, reqPlanType.Sidecars[i].Memory.ValueString()) if err != nil { tempDiags.AddError("Error converting memory", err.Error()) diff --git a/migration-guide/Readme.md b/migration-guide/Readme.md index 980557d..7f177a0 100644 --- a/migration-guide/Readme.md +++ b/migration-guide/Readme.md @@ -194,6 +194,7 @@ Few resources required a major change in functionality or the way the resources The below mentioned dataSources have been newly added in the current provider. +- [Applications](../docs/data-sources/apps.md) - [Multi Target Applications](../docs/data-sources/mta.md) - [Multi Target Applications](../docs/data-sources/mtas.md) - [Isolation Segment Entitlement](../docs/data-sources/isolation_segment_entitlement.md) @@ -201,7 +202,7 @@ The below mentioned dataSources have been newly added in the current provider. - [Organizations](../docs/data-sources/orgs.md) - [Service Plans](../docs/data-sources/service_plans.md) - [Space Role](../docs/data-sources/space_role.md) -- [Spaces](./data-sources/spaces.md) +- [Spaces](../docs/data-sources/spaces.md) - [Users](../docs/data-sources/users.md) While most dataSources have maintained the same structure, some dataSources needed minor changes in schema to follow the V3 API structure. Following is a list of datasources whose schema have changed