Documentation ¶
Overview ¶
Package tfconfig provides utilities to parse terraform resource configurations. This is a temporary package and will be merged back into the parent config package once deployment manager has been deprecated.
Index ¶
- type Access
- type AuditLogConfig
- type BigqueryDataset
- func (d *BigqueryDataset) ID() string
- func (d *BigqueryDataset) ImportID(runner.Runner) (string, error)
- func (d *BigqueryDataset) Init(projectID string) error
- func (d *BigqueryDataset) MarshalJSON() ([]byte, error)
- func (d *BigqueryDataset) ResourceType() string
- func (d *BigqueryDataset) UnmarshalJSON(data []byte) error
- type ComputeFirewall
- func (f *ComputeFirewall) ID() string
- func (f *ComputeFirewall) ImportID(runner.Runner) (string, error)
- func (f *ComputeFirewall) Init(projectID string) error
- func (f *ComputeFirewall) MarshalJSON() ([]byte, error)
- func (*ComputeFirewall) ResourceType() string
- func (f *ComputeFirewall) UnmarshalJSON(data []byte) error
- type ComputeImage
- func (i *ComputeImage) ID() string
- func (i *ComputeImage) ImportID(runner.Runner) (string, error)
- func (i *ComputeImage) Init(projectID string) error
- func (i *ComputeImage) MarshalJSON() ([]byte, error)
- func (i *ComputeImage) ResourceType() string
- func (i *ComputeImage) UnmarshalJSON(data []byte) error
- type ComputeInstance
- func (i *ComputeInstance) ID() string
- func (i *ComputeInstance) ImportID(runner.Runner) (string, error)
- func (i *ComputeInstance) Init(projectID string) error
- func (i *ComputeInstance) MarshalJSON() ([]byte, error)
- func (i *ComputeInstance) ResourceType() string
- func (i *ComputeInstance) UnmarshalJSON(data []byte) error
- type Condition
- type ConditionThreshold
- type Documentation
- type HealthcareDICOMStore
- func (s *HealthcareDICOMStore) DependentResources() []Resource
- func (s *HealthcareDICOMStore) ID() string
- func (s *HealthcareDICOMStore) Init(string) error
- func (s *HealthcareDICOMStore) MarshalJSON() ([]byte, error)
- func (*HealthcareDICOMStore) ResourceType() string
- func (s *HealthcareDICOMStore) UnmarshalJSON(data []byte) error
- type HealthcareDICOMStoreIAMMember
- type HealthcareDataset
- func (d *HealthcareDataset) DependentResources() []Resource
- func (d *HealthcareDataset) ID() string
- func (d *HealthcareDataset) Init(projectID string) error
- func (d *HealthcareDataset) MarshalJSON() ([]byte, error)
- func (*HealthcareDataset) ResourceType() string
- func (d *HealthcareDataset) UnmarshalJSON(data []byte) error
- type HealthcareDatasetIAMMember
- type HealthcareFHIRStore
- func (s *HealthcareFHIRStore) DependentResources() []Resource
- func (s *HealthcareFHIRStore) ID() string
- func (s *HealthcareFHIRStore) Init(string) error
- func (s *HealthcareFHIRStore) MarshalJSON() ([]byte, error)
- func (*HealthcareFHIRStore) ResourceType() string
- func (s *HealthcareFHIRStore) UnmarshalJSON(data []byte) error
- type HealthcareFHIRStoreIAMMember
- type HealthcareHL7V2Store
- func (s *HealthcareHL7V2Store) DependentResources() []Resource
- func (s *HealthcareHL7V2Store) ID() string
- func (s *HealthcareHL7V2Store) Init(string) error
- func (s *HealthcareHL7V2Store) MarshalJSON() ([]byte, error)
- func (*HealthcareHL7V2Store) ResourceType() string
- func (s *HealthcareHL7V2Store) UnmarshalJSON(data []byte) error
- type HealthcareHL7V2StoreIAMMember
- type Label
- type LifecycleRule
- type Logging
- type LoggingMetric
- type LoggingSink
- type MetricDescriptor
- type MonitoringAlertPolicy
- func (p *MonitoringAlertPolicy) ID() string
- func (p *MonitoringAlertPolicy) ImportID(rn runner.Runner) (string, error)
- func (p *MonitoringAlertPolicy) Init(projectID string) error
- func (p *MonitoringAlertPolicy) MarshalJSON() ([]byte, error)
- func (p *MonitoringAlertPolicy) ResourceType() string
- func (p *MonitoringAlertPolicy) UnmarshalJSON(data []byte) error
- type MonitoringNotificationChannel
- func (c *MonitoringNotificationChannel) ID() string
- func (c *MonitoringNotificationChannel) ImportID(rn runner.Runner) (string, error)
- func (c *MonitoringNotificationChannel) Init(projectID string) error
- func (c *MonitoringNotificationChannel) MarshalJSON() ([]byte, error)
- func (c *MonitoringNotificationChannel) ResourceType() string
- func (c *MonitoringNotificationChannel) UnmarshalJSON(data []byte) error
- type ProjectIAMAuditConfig
- type ProjectIAMCustomRole
- func (r *ProjectIAMCustomRole) ID() string
- func (r *ProjectIAMCustomRole) ImportID(runner.Runner) (string, error)
- func (r *ProjectIAMCustomRole) Init(projectID string) error
- func (r *ProjectIAMCustomRole) MarshalJSON() ([]byte, error)
- func (r *ProjectIAMCustomRole) ResourceType() string
- func (r *ProjectIAMCustomRole) UnmarshalJSON(data []byte) error
- type ProjectIAMMember
- type ProjectIAMMembers
- type ProjectResource
- type ProjectService
- type ProjectServices
- type PubsubSubscription
- func (s *PubsubSubscription) DependentResources() []Resource
- func (s *PubsubSubscription) ID() string
- func (s *PubsubSubscription) ImportID(runner.Runner) (string, error)
- func (s *PubsubSubscription) Init(projectID string) error
- func (s *PubsubSubscription) MarshalJSON() ([]byte, error)
- func (s *PubsubSubscription) ResourceType() string
- func (s *PubsubSubscription) UnmarshalJSON(data []byte) error
- type PubsubTopic
- func (t *PubsubTopic) DependentResources() []Resource
- func (t *PubsubTopic) ID() string
- func (t *PubsubTopic) ImportID(runner.Runner) (string, error)
- func (t *PubsubTopic) Init(projectID string) error
- func (t *PubsubTopic) MarshalJSON() ([]byte, error)
- func (t *PubsubTopic) ResourceType() string
- func (t *PubsubTopic) UnmarshalJSON(data []byte) error
- type Resource
- type ResourceManagerLien
- type ServiceAccount
- type StorageBucket
- func (b *StorageBucket) DependentResources() []Resource
- func (b *StorageBucket) ID() string
- func (b *StorageBucket) ImportID(runner.Runner) (string, error)
- func (b *StorageBucket) Init(projectID string) error
- func (b *StorageBucket) MarshalJSON() ([]byte, error)
- func (b *StorageBucket) ResourceType() string
- func (b *StorageBucket) UnmarshalJSON(data []byte) error
- type StorageIAMMember
- type SubscriptionIAMMember
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type Access ¶
type Access struct { Role string `json:"role"` UserByEmail string `json:"user_by_email,omitempty"` GroupByEmail string `json:"group_by_email,omitempty"` // Unsupported roles. SpecialGroup string `json:"special_group,omitempty"` View interface{} `json:"view,omitempty"` }
Access defines a dataset access. Only one non-role field should be set.
type AuditLogConfig ¶
type AuditLogConfig struct {
LogType string `json:"log_type"`
}
AuditLogConfig represents a terraform audit log config.
type BigqueryDataset ¶
type BigqueryDataset struct { DatasetID string `json:"dataset_id"` Project string `json:"project"` Location string `json:"location"` // Note: accesses are authoritative, meaning they will overwrite any existing access. // We can support non-authoritative access after https://github.com/terraform-providers/terraform-provider-google/issues/3990 is fixed. // TODO: set access on the dataset by default so it overrides the default which // grants the running user owners permission. Accesses []*Access `json:"access,omitempty"` // contains filtered or unexported fields }
BigqueryDataset represents a bigquery dataset.
func (*BigqueryDataset) ID ¶
func (d *BigqueryDataset) ID() string
ID returns the resource unique identifier.
func (*BigqueryDataset) ImportID ¶
func (d *BigqueryDataset) ImportID(runner.Runner) (string, error)
ImportID returns the ID to use for terraform imports.
func (*BigqueryDataset) Init ¶
func (d *BigqueryDataset) Init(projectID string) error
Init initializes the resource.
func (*BigqueryDataset) MarshalJSON ¶
func (d *BigqueryDataset) MarshalJSON() ([]byte, error)
MarshalJSON provides a custom JSON marshaller. It is used to merge the original (raw) user JSON definition with the struct.
func (*BigqueryDataset) ResourceType ¶
func (d *BigqueryDataset) ResourceType() string
ResourceType returns the resource terraform provider type.
func (*BigqueryDataset) UnmarshalJSON ¶
func (d *BigqueryDataset) UnmarshalJSON(data []byte) error
UnmarshalJSON provides a custom JSON unmarshaller. It is used to store the original (raw) user JSON definition, which can have more fields than what is defined in this struct.
type ComputeFirewall ¶
type ComputeFirewall struct { Name string `json:"name"` Project string `json:"project"` // contains filtered or unexported fields }
ComputeFirewall represents a Terraform GCE firewall.
func (*ComputeFirewall) ID ¶
func (f *ComputeFirewall) ID() string
ID returns the resource unique identifier.
func (*ComputeFirewall) ImportID ¶
func (f *ComputeFirewall) ImportID(runner.Runner) (string, error)
ImportID returns the ID to use for terraform imports.
func (*ComputeFirewall) Init ¶
func (f *ComputeFirewall) Init(projectID string) error
Init initializes the resource.
func (*ComputeFirewall) MarshalJSON ¶
func (f *ComputeFirewall) MarshalJSON() ([]byte, error)
MarshalJSON provides a custom JSON marshaller. It is used to merge the original (raw) user JSON definition with the struct.
func (*ComputeFirewall) ResourceType ¶
func (*ComputeFirewall) ResourceType() string
ResourceType returns the resource terraform provider type.
func (*ComputeFirewall) UnmarshalJSON ¶
func (f *ComputeFirewall) UnmarshalJSON(data []byte) error
UnmarshalJSON provides a custom JSON unmarshaller. It is used to store the original (raw) user JSON definition, which can have more fields than what is defined in this struct.
type ComputeImage ¶
type ComputeImage struct { Name string `json:"name"` Project string `json:"project"` // contains filtered or unexported fields }
ComputeImage represents a Terraform GCE compute image.
func (*ComputeImage) ID ¶
func (i *ComputeImage) ID() string
ID returns the resource unique identifier.
func (*ComputeImage) ImportID ¶
func (i *ComputeImage) ImportID(runner.Runner) (string, error)
ImportID returns the ID to use for terraform imports.
func (*ComputeImage) Init ¶
func (i *ComputeImage) Init(projectID string) error
Init initializes the resource.
func (*ComputeImage) MarshalJSON ¶
func (i *ComputeImage) MarshalJSON() ([]byte, error)
MarshalJSON provides a custom JSON marshaller. It is used to merge the original (raw) user JSON definition with the struct.
func (*ComputeImage) ResourceType ¶
func (i *ComputeImage) ResourceType() string
ResourceType returns the resource terraform provider type.
func (*ComputeImage) UnmarshalJSON ¶
func (i *ComputeImage) UnmarshalJSON(data []byte) error
UnmarshalJSON provides a custom JSON unmarshaller. It is used to store the original (raw) user JSON definition, which can have more fields than what is defined in this struct.
type ComputeInstance ¶
type ComputeInstance struct { Name string `json:"name"` Project string `json:"project"` Zone string `json:"zone"` // contains filtered or unexported fields }
ComputeInstance represents a Terraform GCE compute instance.
func (*ComputeInstance) ID ¶
func (i *ComputeInstance) ID() string
ID returns the resource unique identifier.
func (*ComputeInstance) ImportID ¶
func (i *ComputeInstance) ImportID(runner.Runner) (string, error)
ImportID returns the ID to use for terraform imports.
func (*ComputeInstance) Init ¶
func (i *ComputeInstance) Init(projectID string) error
Init initializes the resource.
func (*ComputeInstance) MarshalJSON ¶
func (i *ComputeInstance) MarshalJSON() ([]byte, error)
MarshalJSON provides a custom JSON marshaller. It is used to merge the original (raw) user JSON definition with the struct.
func (*ComputeInstance) ResourceType ¶
func (i *ComputeInstance) ResourceType() string
ResourceType returns the resource terraform provider type.
func (*ComputeInstance) UnmarshalJSON ¶
func (i *ComputeInstance) UnmarshalJSON(data []byte) error
UnmarshalJSON provides a custom JSON unmarshaller. It is used to store the original (raw) user JSON definition, which can have more fields than what is defined in this struct.
type Condition ¶
type Condition struct { DisplayName string `json:"display_name,omitempty"` ConditionThreshold *ConditionThreshold `json:"condition_threshold,omitempty"` }
Condition is a condition for the policy. If the combined conditions evaluate to true, then an incident is created.
type ConditionThreshold ¶
type ConditionThreshold struct { Filter string `json:"filter,omitempty"` Comparison string `json:"comparison"` Duration string `json:"duration"` }
ConditionThreshold is a condition that compares a time series against a threshold.
type Documentation ¶
type Documentation struct { Content string `json:"content,omitempty"` MimeType string `json:"mime_type,omitempty"` }
Documentation is a short name or phrase used to identify the policy in dashboards, notifications, and incidents.
type HealthcareDICOMStore ¶
type HealthcareDICOMStore struct { Name string `json:"name"` Dataset string `json:"dataset"` Provider string `json:"provider,omitempty"` IAMMembers []*HealthcareDICOMStoreIAMMember `json:"_iam_members"` // contains filtered or unexported fields }
HealthcareDICOMStore represents a terraform DICOM store.
func (*HealthcareDICOMStore) DependentResources ¶
func (s *HealthcareDICOMStore) DependentResources() []Resource
DependentResources returns the child resources of this resource.
func (*HealthcareDICOMStore) ID ¶
func (s *HealthcareDICOMStore) ID() string
ID returns the resource unique identifier.
func (*HealthcareDICOMStore) Init ¶
func (s *HealthcareDICOMStore) Init(string) error
Init initializes the resource.
func (*HealthcareDICOMStore) MarshalJSON ¶
func (s *HealthcareDICOMStore) MarshalJSON() ([]byte, error)
MarshalJSON provides a custom JSON marshaller. It is used to merge the original (raw) user JSON definition with the struct.
func (*HealthcareDICOMStore) ResourceType ¶
func (*HealthcareDICOMStore) ResourceType() string
ResourceType returns the resource terraform provider type.
func (*HealthcareDICOMStore) UnmarshalJSON ¶
func (s *HealthcareDICOMStore) UnmarshalJSON(data []byte) error
UnmarshalJSON provides a custom JSON unmarshaller. It is used to store the original (raw) user JSON definition, which can have more fields than what is defined in this struct.
type HealthcareDICOMStoreIAMMember ¶
type HealthcareDICOMStoreIAMMember struct { Role string `json:"role"` Member string `json:"member"` Provider string `json:"provider,omitempty"` // ForEach is used to let a single iam member expand to reference multiple iam members // through the use of terraform's for_each iterator. ForEach map[string]*HealthcareDICOMStoreIAMMember `json:"for_each,omitempty"` // DICOMStoreID should be written as a terraform reference to a DICOM store to create an implicit dependency. DICOMStoreID string `json:"dicom_store_id,omitempty"` // contains filtered or unexported fields }
HealthcareDICOMStoreIAMMember represents a terraform DICOM store IAM member.
func (*HealthcareDICOMStoreIAMMember) ID ¶
func (m *HealthcareDICOMStoreIAMMember) ID() string
ID returns the unique identifier.
func (*HealthcareDICOMStoreIAMMember) Init ¶
func (m *HealthcareDICOMStoreIAMMember) Init(string) error
Init initializes the resource.
func (*HealthcareDICOMStoreIAMMember) ResourceType ¶
func (m *HealthcareDICOMStoreIAMMember) ResourceType() string
ResourceType returns the terraform provider type.
type HealthcareDataset ¶
type HealthcareDataset struct { Name string `json:"name"` Project string `json:"project"` Provider string `json:"provider,omitempty"` IAMMembers []*HealthcareDatasetIAMMember `json:"_iam_members"` DICOMStores []*HealthcareDICOMStore `json:"_dicom_stores"` FHIRStores []*HealthcareFHIRStore `json:"_fhir_stores"` HL7V2Stores []*HealthcareHL7V2Store `json:"_hl7_v2_stores"` // contains filtered or unexported fields }
HealthcareDataset represents a terraform healthcare dataset.
func (*HealthcareDataset) DependentResources ¶
func (d *HealthcareDataset) DependentResources() []Resource
DependentResources returns the child resources of this resource.
func (*HealthcareDataset) ID ¶
func (d *HealthcareDataset) ID() string
ID returns the resource unique identifier.
func (*HealthcareDataset) Init ¶
func (d *HealthcareDataset) Init(projectID string) error
Init initializes the resource.
func (*HealthcareDataset) MarshalJSON ¶
func (d *HealthcareDataset) MarshalJSON() ([]byte, error)
MarshalJSON provides a custom JSON marshaller. It is used to merge the original (raw) user JSON definition with the struct.
func (*HealthcareDataset) ResourceType ¶
func (*HealthcareDataset) ResourceType() string
ResourceType returns the resource terraform provider type.
func (*HealthcareDataset) UnmarshalJSON ¶
func (d *HealthcareDataset) UnmarshalJSON(data []byte) error
UnmarshalJSON provides a custom JSON unmarshaller. It is used to store the original (raw) user JSON definition, which can have more fields than what is defined in this struct.
type HealthcareDatasetIAMMember ¶
type HealthcareDatasetIAMMember struct { Role string `json:"role"` Member string `json:"member"` Provider string `json:"provider,omitempty"` // ForEach is used to let a single iam member expand to reference multiple iam members // through the use of terraform's for_each iterator. ForEach map[string]*HealthcareDatasetIAMMember `json:"for_each,omitempty"` // DatsetID should be written as a terraform reference to a dataset to create an implicit dependency. DatasetID string `json:"dataset_id,omitempty"` // contains filtered or unexported fields }
HealthcareDatasetIAMMember represents a Terraform GCS bucket IAM member.
func (*HealthcareDatasetIAMMember) ID ¶
func (m *HealthcareDatasetIAMMember) ID() string
ID returns the unique identifier.
func (*HealthcareDatasetIAMMember) Init ¶
func (m *HealthcareDatasetIAMMember) Init(string) error
Init initializes the resource.
func (*HealthcareDatasetIAMMember) ResourceType ¶
func (m *HealthcareDatasetIAMMember) ResourceType() string
ResourceType returns the terraform provider type.
type HealthcareFHIRStore ¶
type HealthcareFHIRStore struct { Name string `json:"name"` Dataset string `json:"dataset"` Provider string `json:"provider,omitempty"` IAMMembers []*HealthcareFHIRStoreIAMMember `json:"_iam_members"` // contains filtered or unexported fields }
HealthcareFHIRStore represents a terraform FHIR store.
func (*HealthcareFHIRStore) DependentResources ¶
func (s *HealthcareFHIRStore) DependentResources() []Resource
DependentResources returns the child resources of this resource.
func (*HealthcareFHIRStore) ID ¶
func (s *HealthcareFHIRStore) ID() string
ID returns the resource unique identifier.
func (*HealthcareFHIRStore) Init ¶
func (s *HealthcareFHIRStore) Init(string) error
Init initializes the resource.
func (*HealthcareFHIRStore) MarshalJSON ¶
func (s *HealthcareFHIRStore) MarshalJSON() ([]byte, error)
MarshalJSON provides a custom JSON marshaller. It is used to merge the original (raw) user JSON definition with the struct.
func (*HealthcareFHIRStore) ResourceType ¶
func (*HealthcareFHIRStore) ResourceType() string
ResourceType returns the resource terraform provider type.
func (*HealthcareFHIRStore) UnmarshalJSON ¶
func (s *HealthcareFHIRStore) UnmarshalJSON(data []byte) error
UnmarshalJSON provides a custom JSON unmarshaller. It is used to store the original (raw) user JSON definition, which can have more fields than what is defined in this struct.
type HealthcareFHIRStoreIAMMember ¶
type HealthcareFHIRStoreIAMMember struct { Role string `json:"role"` Member string `json:"member"` Provider string `json:"provider,omitempty"` // ForEach is used to let a single iam member expand to reference multiple iam members // through the use of terraform's for_each iterator. ForEach map[string]*HealthcareFHIRStoreIAMMember `json:"for_each,omitempty"` // FHIRStoreID should be written as a terraform reference to a FHIR store to create an implicit dependency. FHIRStoreID string `json:"fhir_store_id,omitempty"` // contains filtered or unexported fields }
HealthcareFHIRStoreIAMMember represents a terraform FHIR store IAM member.
func (*HealthcareFHIRStoreIAMMember) ID ¶
func (m *HealthcareFHIRStoreIAMMember) ID() string
ID returns the unique identifier.
func (*HealthcareFHIRStoreIAMMember) Init ¶
func (m *HealthcareFHIRStoreIAMMember) Init(string) error
Init initializes the resource.
func (*HealthcareFHIRStoreIAMMember) ResourceType ¶
func (m *HealthcareFHIRStoreIAMMember) ResourceType() string
ResourceType returns the terraform provider type.
type HealthcareHL7V2Store ¶
type HealthcareHL7V2Store struct { Name string `json:"name"` Dataset string `json:"dataset"` Provider string `json:"provider,omitempty"` IAMMembers []*HealthcareHL7V2StoreIAMMember `json:"_iam_members"` // contains filtered or unexported fields }
HealthcareHL7V2Store represents a terraform HL7V2 store.
func (*HealthcareHL7V2Store) DependentResources ¶
func (s *HealthcareHL7V2Store) DependentResources() []Resource
DependentResources returns the child resources of this resource.
func (*HealthcareHL7V2Store) ID ¶
func (s *HealthcareHL7V2Store) ID() string
ID returns the resource unique identifier.
func (*HealthcareHL7V2Store) Init ¶
func (s *HealthcareHL7V2Store) Init(string) error
Init initializes the resource.
func (*HealthcareHL7V2Store) MarshalJSON ¶
func (s *HealthcareHL7V2Store) MarshalJSON() ([]byte, error)
MarshalJSON provides a custom JSON marshaller. It is used to merge the original (raw) user JSON definition with the struct.
func (*HealthcareHL7V2Store) ResourceType ¶
func (*HealthcareHL7V2Store) ResourceType() string
ResourceType returns the resource terraform provider type.
func (*HealthcareHL7V2Store) UnmarshalJSON ¶
func (s *HealthcareHL7V2Store) UnmarshalJSON(data []byte) error
UnmarshalJSON provides a custom JSON unmarshaller. It is used to store the original (raw) user JSON definition, which can have more fields than what is defined in this struct.
type HealthcareHL7V2StoreIAMMember ¶
type HealthcareHL7V2StoreIAMMember struct { Role string `json:"role"` Member string `json:"member"` Provider string `json:"provider,omitempty"` // ForEach is used to let a single iam member expand to reference multiple iam members // through the use of terraform's for_each iterator. ForEach map[string]*HealthcareHL7V2StoreIAMMember `json:"for_each,omitempty"` // HL7V2StoreID should be written as a terraform reference to a HL7V2 store to create an implicit dependency. HL7V2StoreID string `json:"hl7_v2_store_id,omitempty"` // contains filtered or unexported fields }
HealthcareHL7V2StoreIAMMember represents a terraform HL7V2 store IAM member.
func (*HealthcareHL7V2StoreIAMMember) ID ¶
func (m *HealthcareHL7V2StoreIAMMember) ID() string
ID returns the unique identifier.
func (*HealthcareHL7V2StoreIAMMember) Init ¶
func (m *HealthcareHL7V2StoreIAMMember) Init(string) error
Init initializes the resource.
func (*HealthcareHL7V2StoreIAMMember) ResourceType ¶
func (m *HealthcareHL7V2StoreIAMMember) ResourceType() string
ResourceType returns the terraform provider type.
type Label ¶
type Label struct { Key string `json:"key,omitempty"` ValueType string `json:"value_type,omitempty"` Description string `json:"description,omitempty"` }
Label can be used to describe a specific instance of this metric type.
type LifecycleRule ¶
type LifecycleRule struct { Action *action `json:"action,omitempty"` Condition *condition `json:"condition,omitempty"` // contains filtered or unexported fields }
LifecycleRule defines a partial bucket lifecycle rule implementation.
func (*LifecycleRule) MarshalJSON ¶
func (r *LifecycleRule) MarshalJSON() ([]byte, error)
MarshalJSON provides a custom JSON marshaller. It is used to merge the original (raw) user JSON definition with the struct.
func (*LifecycleRule) UnmarshalJSON ¶
func (r *LifecycleRule) UnmarshalJSON(data []byte) error
UnmarshalJSON provides a custom JSON unmarshaller. It is used to store the original (raw) user JSON definition, which can have more fields than what is defined in this struct.
type Logging ¶
type Logging struct {
LogBucket string `json:"log_bucket"`
}
Logging is the bucket's Access & Storage Logs configuration.
type LoggingMetric ¶
type LoggingMetric struct { Name string `json:"name"` Project string `json:"project"` Description string `json:"description"` Filter string `json:"filter,omitempty"` MetricDescriptor *MetricDescriptor `json:"metric_descriptor,omitempty"` ValueExtractor string `json:"value_extractor,omitempty"` LabelExtractors map[string]string `json:"label_extractors,omitempty"` }
LoggingMetric represents a Terraform logging metric.
func (*LoggingMetric) ID ¶
func (m *LoggingMetric) ID() string
ID returns the resource unique identifier.
func (*LoggingMetric) ImportID ¶
func (m *LoggingMetric) ImportID(runner.Runner) (string, error)
ImportID returns the ID to use for terraform imports
func (*LoggingMetric) Init ¶
func (m *LoggingMetric) Init(projectID string) error
Init initializes the resource.
func (*LoggingMetric) ResourceType ¶
func (m *LoggingMetric) ResourceType() string
ResourceType returns the resource terraform provider type.
type LoggingSink ¶
type LoggingSink struct { Name string `json:"name"` Project string `json:"project"` Destination string `json:"destination"` Filter string `json:"filter"` UniqueWriterIdentity bool `json:"unique_writer_identity"` }
LoggingSink represents a logging sink.
func (*LoggingSink) ID ¶
func (s *LoggingSink) ID() string
ID returns the resource unique identifier.
func (*LoggingSink) ImportID ¶
func (s *LoggingSink) ImportID(runner.Runner) (string, error)
ImportID returns the ID to use for terraform imports.
func (*LoggingSink) Init ¶
func (s *LoggingSink) Init(projectID string) error
Init initializes the resource.
func (*LoggingSink) ResourceType ¶
func (*LoggingSink) ResourceType() string
ResourceType returns the resource terraform provider type.
type MetricDescriptor ¶
type MetricDescriptor struct { MetricKind string `json:"metric_kind,omitempty"` ValueType string `json:"value_type,omitempty"` Labels []*Label `json:"labels,omitempty"` }
MetricDescriptor is the metric descriptor associated with the logs-based metric.
type MonitoringAlertPolicy ¶
type MonitoringAlertPolicy struct { DisplayName string `json:"display_name"` Project string `json:"project"` Combiner string `json:"combiner"` Conditions []*Condition `json:"conditions,omitempty"` NotificationChannels []string `json:"notification_channels,omitempty"` Documentation *Documentation `json:"documentation,omitempty"` // contains filtered or unexported fields }
MonitoringAlertPolicy represents a Terraform monitoring alert policy.
func (*MonitoringAlertPolicy) ID ¶
func (p *MonitoringAlertPolicy) ID() string
ID returns the resource unique identifier.
func (*MonitoringAlertPolicy) ImportID ¶
func (p *MonitoringAlertPolicy) ImportID(rn runner.Runner) (string, error)
ImportID returns the ID to use for terraform imports.
func (*MonitoringAlertPolicy) Init ¶
func (p *MonitoringAlertPolicy) Init(projectID string) error
Init initializes the resource.
func (*MonitoringAlertPolicy) MarshalJSON ¶
func (p *MonitoringAlertPolicy) MarshalJSON() ([]byte, error)
MarshalJSON provides a custom JSON marshaller. It is used to merge the original (raw) user JSON definition with the struct.
func (*MonitoringAlertPolicy) ResourceType ¶
func (p *MonitoringAlertPolicy) ResourceType() string
ResourceType returns the resource terraform provider type.
func (*MonitoringAlertPolicy) UnmarshalJSON ¶
func (p *MonitoringAlertPolicy) UnmarshalJSON(data []byte) error
UnmarshalJSON provides a custom JSON unmarshaller. It is used to store the original (raw) user JSON definition, which can have more fields than what is defined in this struct.
type MonitoringNotificationChannel ¶
type MonitoringNotificationChannel struct { DisplayName string `json:"display_name"` Project string `json:"project"` Type string `json:"type,omitempty"` Labels map[string]interface{} `json:"labels,omitempty"` Email string `json:"_email"` // contains filtered or unexported fields }
MonitoringNotificationChannel represents a Terraform monitoring notification channel.
func (*MonitoringNotificationChannel) ID ¶
func (c *MonitoringNotificationChannel) ID() string
ID returns the resource unique identifier.
func (*MonitoringNotificationChannel) ImportID ¶
func (c *MonitoringNotificationChannel) ImportID(rn runner.Runner) (string, error)
ImportID returns the ID to use for terraform imports.
func (*MonitoringNotificationChannel) Init ¶
func (c *MonitoringNotificationChannel) Init(projectID string) error
Init initializes the resource.
func (*MonitoringNotificationChannel) MarshalJSON ¶
func (c *MonitoringNotificationChannel) MarshalJSON() ([]byte, error)
MarshalJSON provides a custom JSON marshaller. It is used to merge the original (raw) user JSON definition with the struct.
func (*MonitoringNotificationChannel) ResourceType ¶
func (c *MonitoringNotificationChannel) ResourceType() string
ResourceType returns the resource terraform provider type.
func (*MonitoringNotificationChannel) UnmarshalJSON ¶
func (c *MonitoringNotificationChannel) UnmarshalJSON(data []byte) error
UnmarshalJSON provides a custom JSON unmarshaller. It is used to store the original (raw) user JSON definition, which can have more fields than what is defined in this struct.
type ProjectIAMAuditConfig ¶
type ProjectIAMAuditConfig struct { Project string `json:"project"` Service string `json:"service"` AuditLogConfigs []*AuditLogConfig `json:"audit_log_config"` }
ProjectIAMAuditConfig represents a terraform project iam audit config.
func (*ProjectIAMAuditConfig) ID ¶
func (c *ProjectIAMAuditConfig) ID() string
ID returns the resource unique identifier. It is hardcoded to return "project" as there is at most one of this resource in a deployment.
func (*ProjectIAMAuditConfig) Init ¶
func (c *ProjectIAMAuditConfig) Init(projectID string) error
Init initializes the resource.
func (*ProjectIAMAuditConfig) ResourceType ¶
func (c *ProjectIAMAuditConfig) ResourceType() string
ResourceType returns the resource terraform provider type.
type ProjectIAMCustomRole ¶
type ProjectIAMCustomRole struct { RoleID string `json:"role_id"` Project string `json:"project"` // contains filtered or unexported fields }
ProjectIAMCustomRole represents a terraform project iam custom role.
func (*ProjectIAMCustomRole) ID ¶
func (r *ProjectIAMCustomRole) ID() string
ID returns the resource unique identifier. It is hardcoded to return "project" as there is at most one of this resource in a deployment.
func (*ProjectIAMCustomRole) ImportID ¶
func (r *ProjectIAMCustomRole) ImportID(runner.Runner) (string, error)
ImportID returns the ID to use for terraform imports.
func (*ProjectIAMCustomRole) Init ¶
func (r *ProjectIAMCustomRole) Init(projectID string) error
Init initializes the resource.
func (*ProjectIAMCustomRole) MarshalJSON ¶
func (r *ProjectIAMCustomRole) MarshalJSON() ([]byte, error)
MarshalJSON provides a custom JSON marshaller. It is used to merge the original (raw) user JSON definition with the struct.
func (*ProjectIAMCustomRole) ResourceType ¶
func (r *ProjectIAMCustomRole) ResourceType() string
ResourceType returns the resource terraform provider type.
func (*ProjectIAMCustomRole) UnmarshalJSON ¶
func (r *ProjectIAMCustomRole) UnmarshalJSON(data []byte) error
UnmarshalJSON provides a custom JSON unmarshaller. It is used to store the original (raw) user JSON definition, which can have more fields than what is defined in this struct.
type ProjectIAMMember ¶
type ProjectIAMMember struct { Role string `json:"role"` Member string `json:"member"` // ForEach is used to let a single iam member expand to reference multiple iam members // through the use of terraform's for_each iterator. ForEach map[string]*ProjectIAMMember `json:"for_each,omitempty"` Project string `json:"project,omitempty"` DependsOn []string `json:"depends_on,omitempty"` }
ProjectIAMMember represents a Terraform project IAM member.
type ProjectIAMMembers ¶
type ProjectIAMMembers struct { Members []*ProjectIAMMember DependsOn []string // contains filtered or unexported fields }
ProjectIAMMembers represents multiple Terraform project IAM members. It is used to wrap and merge multiple IAM members into a single IAM member when being marshalled to JSON.
func (*ProjectIAMMembers) ID ¶
func (ms *ProjectIAMMembers) ID() string
ID returns the resource unique identifier. It is hardcoded to return "project" as there is at most one of this resource in a deployment.
func (*ProjectIAMMembers) Init ¶
func (ms *ProjectIAMMembers) Init(projectID string) error
Init initializes the resource.
func (*ProjectIAMMembers) MarshalJSON ¶
func (ms *ProjectIAMMembers) MarshalJSON() ([]byte, error)
MarshalJSON marshals the list of members into a single member. The single member will set a for_each block to expand to multiple iam members in the terraform call.
func (*ProjectIAMMembers) ResourceType ¶
func (ms *ProjectIAMMembers) ResourceType() string
ResourceType returns the resource terraform provider type.
func (*ProjectIAMMembers) UnmarshalJSON ¶
func (ms *ProjectIAMMembers) UnmarshalJSON(b []byte) error
UnmarshalJSON unmarshals the bytes to a list of members.
type ProjectResource ¶
type ProjectResource struct { ProjectID string `json:"project_id"` Name string `json:"name"` OrgID string `json:"org_id,omitempty"` FolderID string `json:"folder_id,omitempty"` BillingAccount string `json:"billing_account"` }
ProjectResource represents a Terraform project resource. https://www.terraform.io/docs/providers/google/r/google_project.html
func (*ProjectResource) ID ¶
func (*ProjectResource) ID() string
ID returns the resource unique identifier. It is hardcoded to return "project" as there is at most one of this resource in a deployment.
func (*ProjectResource) ImportID ¶
func (p *ProjectResource) ImportID(runner.Runner) (string, error)
ImportID returns the ID to use for terraform imports.
func (*ProjectResource) Init ¶
func (p *ProjectResource) Init(projectID string) error
Init initializes the resource.
func (*ProjectResource) ResourceType ¶
func (p *ProjectResource) ResourceType() string
ResourceType returns the resource terraform provider type.
type ProjectService ¶
type ProjectService struct { Service string `json:"service"` // ForEach is used to let a single iam member expand to reference multiple iam members // through the use of terraform's for_each iterator. ForEach map[string]bool `json:"for_each,omitempty"` Project string `json:"project,omitempty"` }
ProjectService represents a Terraform project service.
type ProjectServices ¶
type ProjectServices struct { Services []*ProjectService // contains filtered or unexported fields }
ProjectServices represents multiple Terraform project services. It is used to wrap and merge multiple services into a single service struct when being marshalled to JSON.
func (*ProjectServices) ID ¶
func (*ProjectServices) ID() string
ID returns the resource unique identifier. It is hardcoded to return "project" as there is at most one of this resource in a deployment.
func (*ProjectServices) Init ¶
func (s *ProjectServices) Init(projectID string) error
Init initializes the resource.
func (*ProjectServices) MarshalJSON ¶
func (s *ProjectServices) MarshalJSON() ([]byte, error)
MarshalJSON marshals the list of members into a single member. The single member will set a for_each block to expand to multiple iam members in the terraform call.
func (*ProjectServices) ResourceType ¶
func (*ProjectServices) ResourceType() string
ResourceType returns the resource terraform provider type.
func (*ProjectServices) UnmarshalJSON ¶
func (s *ProjectServices) UnmarshalJSON(b []byte) error
UnmarshalJSON unmarshals the bytes to a list of members.
type PubsubSubscription ¶
type PubsubSubscription struct { Name string `json:"name"` Project string `json:"project"` Topic string `json:"topic"` IAMMembers []*SubscriptionIAMMember `json:"_iam_members"` // contains filtered or unexported fields }
PubsubSubscription represents a Terraform pubsub topic.
func (*PubsubSubscription) DependentResources ¶
func (s *PubsubSubscription) DependentResources() []Resource
DependentResources returns the child resources of this resource (subscriptions).
func (*PubsubSubscription) ID ¶
func (s *PubsubSubscription) ID() string
ID returns the resource unique identifier.
func (*PubsubSubscription) ImportID ¶
func (s *PubsubSubscription) ImportID(runner.Runner) (string, error)
ImportID returns the ID to use for terraform imports.
func (*PubsubSubscription) Init ¶
func (s *PubsubSubscription) Init(projectID string) error
Init initializes the resource.
func (*PubsubSubscription) MarshalJSON ¶
func (s *PubsubSubscription) MarshalJSON() ([]byte, error)
MarshalJSON provides a custom JSON marshaller. It is used to merge the original (raw) user JSON definition with the struct.
func (*PubsubSubscription) ResourceType ¶
func (s *PubsubSubscription) ResourceType() string
ResourceType returns the resource terraform provider type.
func (*PubsubSubscription) UnmarshalJSON ¶
func (s *PubsubSubscription) UnmarshalJSON(data []byte) error
UnmarshalJSON provides a custom JSON unmarshaller. It is used to store the original (raw) user JSON definition, which can have more fields than what is defined in this struct.
type PubsubTopic ¶
type PubsubTopic struct { Name string `json:"name"` Project string `json:"project"` Subscriptions []*PubsubSubscription `json:"_subscriptions"` // contains filtered or unexported fields }
PubsubTopic represents a Terraform pubsub topic.
func (*PubsubTopic) DependentResources ¶
func (t *PubsubTopic) DependentResources() []Resource
DependentResources returns the child resources of this resource (subscriptions).
func (*PubsubTopic) ID ¶
func (t *PubsubTopic) ID() string
ID returns the resource unique identifier.
func (*PubsubTopic) ImportID ¶
func (t *PubsubTopic) ImportID(runner.Runner) (string, error)
ImportID returns the ID to use for terraform imports.
func (*PubsubTopic) Init ¶
func (t *PubsubTopic) Init(projectID string) error
Init initializes the resource.
func (*PubsubTopic) MarshalJSON ¶
func (t *PubsubTopic) MarshalJSON() ([]byte, error)
MarshalJSON provides a custom JSON marshaller. It is used to merge the original (raw) user JSON definition with the struct.
func (*PubsubTopic) ResourceType ¶
func (t *PubsubTopic) ResourceType() string
ResourceType returns the resource terraform provider type.
func (*PubsubTopic) UnmarshalJSON ¶
func (t *PubsubTopic) UnmarshalJSON(data []byte) error
UnmarshalJSON provides a custom JSON unmarshaller. It is used to store the original (raw) user JSON definition, which can have more fields than what is defined in this struct.
type Resource ¶
Resource is an interface that must be implemented by all concrete resource implementations.
type ResourceManagerLien ¶
type ResourceManagerLien struct { Origin string `json:"origin"` Parent string `json:"parent"` Restrictions []string `json:"restrictions"` Reason string `json:"reason"` ProjectDeletion bool `json:"_project_deletion"` }
ResourceManagerLien supports Terraform liens. TODO: support imports for this resource.
func (*ResourceManagerLien) ID ¶
func (l *ResourceManagerLien) ID() string
ID returns the resource unique identifier.
func (*ResourceManagerLien) ImportID ¶
func (l *ResourceManagerLien) ImportID(rn runner.Runner) (string, error)
ImportID returns the ID to use for terraform imports.
func (*ResourceManagerLien) Init ¶
func (l *ResourceManagerLien) Init(projectID string) error
Init initializes the resource.
func (*ResourceManagerLien) MarshalJSON ¶
func (l *ResourceManagerLien) MarshalJSON() ([]byte, error)
MarshalJSON provides a custom JSON marshaller. It is used to remove private fields from the struct.
func (*ResourceManagerLien) ResourceType ¶
func (*ResourceManagerLien) ResourceType() string
ResourceType returns the resource terraform provider type.
type ServiceAccount ¶
type ServiceAccount struct { AccountID string `json:"account_id"` Project string `json:"project"` DisplayName string `json:"display_name"` }
ServiceAccount represents a Terraform service account.
func (*ServiceAccount) ID ¶
func (a *ServiceAccount) ID() string
ID returns the resource unique identifier.
func (*ServiceAccount) Init ¶
func (a *ServiceAccount) Init(projectID string) error
Init initializes the resource.
func (*ServiceAccount) ResourceType ¶
func (a *ServiceAccount) ResourceType() string
ResourceType returns the resource terraform provider type.
type StorageBucket ¶
type StorageBucket struct { Name string `json:"name"` Project string `json:"project"` Location string `json:"location"` LifecycleRules []*LifecycleRule `json:"lifecycle_rule,omitempty"` Logging *Logging `json:"logging,omitempty"` Versioning versioning `json:"versioning,omitempty"` DependsOn []string `json:"depends_on,omitempty"` IAMMembers []*StorageIAMMember `json:"_iam_members"` TTLDays int `json:"_ttl_days"` // contains filtered or unexported fields }
StorageBucket represents a Terraform GCS bucket.
func (*StorageBucket) DependentResources ¶
func (b *StorageBucket) DependentResources() []Resource
DependentResources returns the child resources of this resource.
func (*StorageBucket) ID ¶
func (b *StorageBucket) ID() string
ID returns the resource unique identifier.
func (*StorageBucket) ImportID ¶
func (b *StorageBucket) ImportID(runner.Runner) (string, error)
ImportID returns the ID to use for terraform imports.
func (*StorageBucket) Init ¶
func (b *StorageBucket) Init(projectID string) error
Init initializes the resource.
func (*StorageBucket) MarshalJSON ¶
func (b *StorageBucket) MarshalJSON() ([]byte, error)
MarshalJSON provides a custom JSON marshaller. It is used to merge the original (raw) user JSON definition with the struct.
func (*StorageBucket) ResourceType ¶
func (b *StorageBucket) ResourceType() string
ResourceType returns the resource terraform provider type.
func (*StorageBucket) UnmarshalJSON ¶
func (b *StorageBucket) UnmarshalJSON(data []byte) error
UnmarshalJSON provides a custom JSON unmarshaller. It is used to store the original (raw) user JSON definition, which can have more fields than what is defined in this struct.
type StorageIAMMember ¶
type StorageIAMMember struct { Role string `json:"role"` Member string `json:"member"` // ForEach is used to let a single iam member expand to reference multiple iam members // through the use of terraform's for_each iterator. ForEach map[string]*StorageIAMMember `json:"for_each,omitempty"` // Bucket should be written as a terraform reference to a bucket name so that it is created after the bucket. // e.g. ${google_storage_bucket.foo_bucket.name} Bucket string `json:"bucket,omitempty"` // contains filtered or unexported fields }
StorageIAMMember represents a Terraform GCS bucket IAM member.
func (*StorageIAMMember) ID ¶
func (m *StorageIAMMember) ID() string
ID returns the unique identifier.
func (*StorageIAMMember) Init ¶
func (m *StorageIAMMember) Init(string) error
Init initializes the resource.
func (*StorageIAMMember) ResourceType ¶
func (m *StorageIAMMember) ResourceType() string
ResourceType returns the terraform provider type.
type SubscriptionIAMMember ¶
type SubscriptionIAMMember struct { Role string `json:"role"` Member string `json:"member"` // ForEach is used to let a single iam member expand to reference multiple iam members // through the use of terraform's for_each iterator. ForEach map[string]*SubscriptionIAMMember `json:"for_each,omitempty"` // Subscription should be written as a terraform reference to a subscription name so that it is created after the subscription. // e.g. ${google_storage_bucket.foo_bucket.name} Subscription string `json:"subscription,omitempty"` // contains filtered or unexported fields }
SubscriptionIAMMember represents a Terraform subscription IAM member.
func (*SubscriptionIAMMember) ID ¶
func (m *SubscriptionIAMMember) ID() string
ID returns the unique identifier.
func (*SubscriptionIAMMember) Init ¶
func (m *SubscriptionIAMMember) Init(string) error
Init initializes the resource.
func (*SubscriptionIAMMember) ResourceType ¶
func (m *SubscriptionIAMMember) ResourceType() string
ResourceType returns the terraform provider type.