mirror of
https://github.com/letic/terraform-provider-google.git
synced 2024-07-05 17:52:38 +00:00
Cleaned up google_project_usage_export_bucket code and docs. (#1922)
This commit is contained in:
parent
96cb1fbc16
commit
c8ba3c0b3f
|
@ -14,7 +14,7 @@ func resourceProjectUsageBucket() *schema.Resource {
|
||||||
Read: resourceProjectUsageBucketRead,
|
Read: resourceProjectUsageBucketRead,
|
||||||
Delete: resourceProjectUsageBucketDelete,
|
Delete: resourceProjectUsageBucketDelete,
|
||||||
Importer: &schema.ResourceImporter{
|
Importer: &schema.ResourceImporter{
|
||||||
State: schema.ImportStatePassthrough,
|
State: resourceProjectUsageBucketImportState,
|
||||||
},
|
},
|
||||||
|
|
||||||
Schema: map[string]*schema.Schema{
|
Schema: map[string]*schema.Schema{
|
||||||
|
@ -40,7 +40,11 @@ func resourceProjectUsageBucket() *schema.Resource {
|
||||||
|
|
||||||
func resourceProjectUsageBucketRead(d *schema.ResourceData, meta interface{}) error {
|
func resourceProjectUsageBucketRead(d *schema.ResourceData, meta interface{}) error {
|
||||||
config := meta.(*Config)
|
config := meta.(*Config)
|
||||||
project := d.Id()
|
|
||||||
|
project, err := getProject(d, config)
|
||||||
|
if err != nil {
|
||||||
|
return err
|
||||||
|
}
|
||||||
|
|
||||||
p, err := config.clientCompute.Projects.Get(project).Do()
|
p, err := config.clientCompute.Projects.Get(project).Do()
|
||||||
if err != nil {
|
if err != nil {
|
||||||
|
@ -60,6 +64,7 @@ func resourceProjectUsageBucketRead(d *schema.ResourceData, meta interface{}) er
|
||||||
|
|
||||||
func resourceProjectUsageBucketCreate(d *schema.ResourceData, meta interface{}) error {
|
func resourceProjectUsageBucketCreate(d *schema.ResourceData, meta interface{}) error {
|
||||||
config := meta.(*Config)
|
config := meta.(*Config)
|
||||||
|
|
||||||
project, err := getProject(d, config)
|
project, err := getProject(d, config)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return err
|
return err
|
||||||
|
@ -86,14 +91,19 @@ func resourceProjectUsageBucketCreate(d *schema.ResourceData, meta interface{})
|
||||||
|
|
||||||
func resourceProjectUsageBucketDelete(d *schema.ResourceData, meta interface{}) error {
|
func resourceProjectUsageBucketDelete(d *schema.ResourceData, meta interface{}) error {
|
||||||
config := meta.(*Config)
|
config := meta.(*Config)
|
||||||
project := d.Id()
|
|
||||||
|
project, err := getProject(d, config)
|
||||||
|
if err != nil {
|
||||||
|
return err
|
||||||
|
}
|
||||||
|
|
||||||
op, err := config.clientCompute.Projects.SetUsageExportBucket(project, nil).Do()
|
op, err := config.clientCompute.Projects.SetUsageExportBucket(project, nil).Do()
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return err
|
return err
|
||||||
}
|
}
|
||||||
d.SetId(project)
|
|
||||||
err = computeOperationWait(config.clientCompute, op, project, "Setting usage export bucket.")
|
err = computeOperationWait(config.clientCompute, op, project,
|
||||||
|
"Setting usage export bucket to nil, automatically disabling usage export.")
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return err
|
return err
|
||||||
}
|
}
|
||||||
|
@ -101,3 +111,9 @@ func resourceProjectUsageBucketDelete(d *schema.ResourceData, meta interface{})
|
||||||
|
|
||||||
return nil
|
return nil
|
||||||
}
|
}
|
||||||
|
|
||||||
|
func resourceProjectUsageBucketImportState(d *schema.ResourceData, meta interface{}) ([]*schema.ResourceData, error) {
|
||||||
|
project := d.Id()
|
||||||
|
d.Set("project", project)
|
||||||
|
return []*schema.ResourceData{d}, nil
|
||||||
|
}
|
||||||
|
|
|
@ -3,7 +3,7 @@ layout: "google"
|
||||||
page_title: "Google: google_project_usage_export_bucket"
|
page_title: "Google: google_project_usage_export_bucket"
|
||||||
sidebar_current: "docs-google-project-usage-export-bucket"
|
sidebar_current: "docs-google-project-usage-export-bucket"
|
||||||
description: |-
|
description: |-
|
||||||
Creates a dataset resource for Google BigQuery.
|
Manages a project's usage export bucket.
|
||||||
---
|
---
|
||||||
|
|
||||||
# google_project_usage_export_bucket
|
# google_project_usage_export_bucket
|
||||||
|
@ -16,23 +16,32 @@ For more information see the [Docs](https://cloud.google.com/compute/docs/usage-
|
||||||
and for further details, the
|
and for further details, the
|
||||||
[API Documentation](https://cloud.google.com/compute/docs/reference/rest/beta/projects/setUsageExportBucket).
|
[API Documentation](https://cloud.google.com/compute/docs/reference/rest/beta/projects/setUsageExportBucket).
|
||||||
|
|
||||||
|
~> **Note:** You should specify only one of these per project. If there are two or more
|
||||||
|
they will fight over which bucket the reports should be stored in. It is
|
||||||
|
safe to have multiple resources with the same backing bucket.
|
||||||
|
|
||||||
## Example Usage
|
## Example Usage
|
||||||
|
|
||||||
```hcl
|
```hcl
|
||||||
resource "google_project_usage_export_bucket" "export" {
|
resource "google_project_usage_export_bucket" "usage_export" {
|
||||||
project = "foo"
|
project = "development-project"
|
||||||
bucket_name = "bar"
|
bucket_name = "usage-tracking-bucket"
|
||||||
}
|
}
|
||||||
```
|
```
|
||||||
|
|
||||||
## Argument Reference
|
## Argument Reference
|
||||||
* `project`: (Required) The project to set the export bucket on.
|
|
||||||
* `bucket_name`: (Required) The bucket to store reports in.
|
* `bucket_name`: (Required) The bucket to store reports in.
|
||||||
|
|
||||||
|
- - -
|
||||||
|
|
||||||
* `prefix`: (Optional) A prefix for the reports, for instance, the project name.
|
* `prefix`: (Optional) A prefix for the reports, for instance, the project name.
|
||||||
|
|
||||||
## Note
|
* `project`: (Optional) The project to set the export bucket on. If it is not provided, the provider project is used.
|
||||||
|
|
||||||
You should specify only one of these per project. If there are two or more
|
## Import
|
||||||
they will fight over which bucket the reports should be stored in. It is
|
|
||||||
safe to have multiple resources with the same backing bucket.
|
A project's Usage Export Bucket can be imported using this format:
|
||||||
|
|
||||||
|
```
|
||||||
|
$ terraform import google_project_usage_export_bucket.usage_export {{project}}
|
||||||
|
```
|
||||||
|
|
Loading…
Reference in New Issue
Block a user