Skip to content

Commit

Permalink
Merge 04a41e5 into b35d8fc
Browse files Browse the repository at this point in the history
  • Loading branch information
danawillow authored Oct 4, 2018
2 parents b35d8fc + 04a41e5 commit 32f9c37
Show file tree
Hide file tree
Showing 5 changed files with 25 additions and 2 deletions.
7 changes: 6 additions & 1 deletion api/type.rb
Original file line number Diff line number Diff line change
Expand Up @@ -522,7 +522,12 @@ def validate
check_property :key_type, ::String
check_property :key_name, ::String
raise "Missing 'value_type' on #{object_display_name}" if @value_type.nil?
@value_type.validate if @value_type.is_a?(NestedObject)
if @value_type.is_a?(NestedObject)
@value_type.set_variable(@name, :__name)
@value_type.set_variable(@__resource, :__resource)
@value_type.set_variable(self, :__parent)
@value_type.validate
end
raise "Invalid type #{@key_type}" unless type?(@key_type)
raise "Invalid type #{@value_type}" unless type?(@value_type)
end
Expand Down
4 changes: 4 additions & 0 deletions templates/terraform/property_documentation.erb
Original file line number Diff line number Diff line change
Expand Up @@ -9,3 +9,7 @@
<% if property.is_a?(Api::Type::NestedObject) || string_to_object_map?(property) || (property.is_a?(Api::Type::Array) && property.item_type.is_a?(Api::Type::NestedObject)) -%>
Structure is documented below.
<% end -%>
<% if property.min_version.name == 'beta' && property.__resource.min_version.name != 'beta' -%>
This property is in beta, and should be used with the terraform-provider-google-beta provider.
See [Provider Versions](http://terraform.io/docs/provider/google/provider_versions.html) for more details on beta fields.
<% end -%>
6 changes: 5 additions & 1 deletion templates/terraform/resource.erb
Original file line number Diff line number Diff line change
Expand Up @@ -49,7 +49,11 @@ func resource<%= resource_name -%>() *schema.Resource {
Importer: &schema.ResourceImporter{
State: resource<%= resource_name -%>Import,
},

<% if object.min_version.name == 'beta' -%>
DeprecationMessage: `This resource is in beta and will be removed from this provider.
Use the <%= resource_name -%> resource in terraform-provider-google-beta provider to continue using it.
See http://terraform.io/docs/provider/google/provider_versions.html for more details on beta resources.`,
<% end -%>
<% unless object.async.nil? -%>
Timeouts: &schema.ResourceTimeout {
Create: schema.DefaultTimeout(<%= object.async.operation.timeouts.insert_sec -%> * time.Second),
Expand Down
5 changes: 5 additions & 0 deletions templates/terraform/resource.html.markdown.erb
Original file line number Diff line number Diff line change
Expand Up @@ -52,6 +52,11 @@ description: |-

<%= lines(object.description) -%>

<% if object.min_version.name == 'beta' -%>
~> **Warning:** This resource is in beta, and should be used with the terraform-provider-google-beta provider.
See [Provider Versions](http://terraform.io/docs/provider/google/provider_versions.html) for more details on beta resources.
<% end -%>

<% if !object.references.nil? -%>
To get more information about <%= object.name -%>, see:

Expand Down
5 changes: 5 additions & 0 deletions templates/terraform/schema_property.erb
Original file line number Diff line number Diff line change
Expand Up @@ -32,6 +32,11 @@
<% if force_new?(property, object) -%>
ForceNew: true,
<% end -%>
<% if property.min_version.name == 'beta' && property.__resource.min_version.name != 'beta' -%>
Deprecated: `This field is in beta and will be removed from this provider.
Use the terraform-provider-google-beta provider to continue using it.
See http://terraform.io/docs/provider/google/provider_versions.html for more details on beta fields.`,
<% end -%>
<% unless property.validation.nil? || property.output -%>
<% if !property.validation.regex.nil? -%>
ValidateFunc: validateRegexp(`<%= property.validation.regex -%>`),
Expand Down

0 comments on commit 32f9c37

Please sign in to comment.