Application is a functional grouping of Services and Workloads that helps achieve a desired end-to-end business functionality. Services and Workloads are owned by the Application.
resource "google_apphub_application" "example" {
location = "us-east1"
application_id = "example-application"
scope {
type = "REGIONAL"
}
}
resource "google_apphub_application" "example2" {
location = "us-east1"
application_id = "example-application"
display_name = "Application Full"
scope {
type = "REGIONAL"
}
description = "Application for testing"
attributes {
environment {
type = "STAGING"
}
criticality {
type = "MISSION_CRITICAL"
}
business_owners {
display_name = "Alice"
email = "alice@google.com"
}
developer_owners {
display_name = "Bob"
email = "bob@google.com"
}
operator_owners {
display_name = "Charlie"
email = "charlie@google.com"
}
}
}
The following arguments are supported:
scope
-
(Required)
Scope of an application.
Structure is documented below.
location
-
(Required)
Part of parent
. See documentation of projectsId
.
application_id
-
(Required)
Required. The Application identifier.
type
-
(Required)
Required. Scope Type.
Possible values:
REGIONAL
Possible values are: REGIONAL
.display_name
-
(Optional)
Optional. User-defined name for the Application.
description
-
(Optional)
Optional. User-defined description of an Application.
attributes
-
(Optional)
Consumer provided attributes.
Structure is documented below.
project
- (Optional) The ID of the project in which the resource belongs.
If it is not provided, the provider project is used.
The attributes
block supports:
criticality
-
(Optional)
Criticality of the Application, Service, or Workload
Structure is documented below.
environment
-
(Optional)
Environment of the Application, Service, or Workload
Structure is documented below.
developer_owners
-
(Optional)
Optional. Developer team that owns development and coding.
Structure is documented below.
operator_owners
-
(Optional)
Optional. Operator team that ensures runtime and operations.
Structure is documented below.
business_owners
-
(Optional)
Optional. Business team that ensures user needs are met and value is delivered
Structure is documented below.
The criticality
block supports:
type
-
(Required)
Criticality type.
Possible values are: MISSION_CRITICAL
, HIGH
, MEDIUM
, LOW
.The environment
block supports:
type
-
(Required)
Environment type.
Possible values are: PRODUCTION
, STAGING
, TEST
, DEVELOPMENT
.The developer_owners
block supports:
display_name
-
(Optional)
Optional. Contact's name.
email
-
(Required)
Required. Email address of the contacts.
The operator_owners
block supports:
display_name
-
(Optional)
Optional. Contact's name.
email
-
(Required)
Required. Email address of the contacts.
The business_owners
block supports:
display_name
-
(Optional)
Optional. Contact's name.
email
-
(Required)
Required. Email address of the contacts.
In addition to the arguments listed above, the following computed attributes are exported:
id
- an identifier for the resource with format projects/{{project}}/locations/{{location}}/applications/{{application_id}}
name
-
Identifier. The resource name of an Application. Format:
"projects/{host-project-id}/locations/{location}/applications/{application-id}"
create_time
-
Output only. Create time.
update_time
-
Output only. Update time.
uid
-
Output only. A universally unique identifier (in UUID4 format) for the Application
.
state
-
Output only. Application state.
Possible values:
STATE_UNSPECIFIED
CREATING
ACTIVE
DELETING
This resource provides the following Timeouts configuration options:
create
- Default is 20 minutes.update
- Default is 20 minutes.delete
- Default is 20 minutes.Application can be imported using any of these accepted formats:
projects/{{project}}/locations/{{location}}/applications/{{application_id}}
{{project}}/{{location}}/{{application_id}}
{{location}}/{{application_id}}
In Terraform v1.5.0 and later, use an import
block to import Application using one of the formats above. For example:
import {
id = "projects/{{project}}/locations/{{location}}/applications/{{application_id}}"
to = google_apphub_application.default
}
When using the terraform import
command, Application can be imported using one of the formats above. For example:
$ terraform import google_apphub_application.default projects/{{project}}/locations/{{location}}/applications/{{application_id}}
$ terraform import google_apphub_application.default {{project}}/{{location}}/{{application_id}}
$ terraform import google_apphub_application.default {{location}}/{{application_id}}
This resource supports User Project Overrides.