Skip to content

Commit

Permalink
remove deprecation notices for beta resources (#558)
Browse files Browse the repository at this point in the history
Merged PR #558.
  • Loading branch information
danawillow authored and modular-magician committed Oct 15, 2018
1 parent b9f3753 commit ba49edc
Show file tree
Hide file tree
Showing 6 changed files with 27 additions and 15 deletions.
21 changes: 20 additions & 1 deletion api/product.rb
Original file line number Diff line number Diff line change
Expand Up @@ -81,7 +81,7 @@ def version_obj(name)
end

def version_obj_or_default(name)
name.nil? ? default_version : version_obj(name)
exists_at_version(name) ? version_obj(name) : default_version
end

# Not a conventional setter, so ignore rubocop's warning
Expand All @@ -91,6 +91,25 @@ def set_properties_based_on_version(version)
end
# rubocop:enable Naming/AccessorMethodName

def exists_at_version_or_lower(name)
# Versions aren't normally going to be empty since products need a
# base_url. This nil check exists for atypical products, like _bundle.
return true if @versions.nil?
name ||= Version::ORDER[0]
return false unless Version::ORDER.include?(name)
(0..Version::ORDER.index(name)).each do |i|
return true if exists_at_version(Version::ORDER[i])
end
false
end

def exists_at_version(name)
# Versions aren't normally going to be empty since products need a
# base_url. This nil check exists for atypical products, like _bundle.
return true if @versions.nil?
@versions.any? { |v| v.name == name }
end

private

def check_versions
Expand Down
6 changes: 6 additions & 0 deletions compiler.rb
Original file line number Diff line number Diff line change
Expand Up @@ -116,6 +116,12 @@
product_api.validate
pp product_api if ENV['COMPILER_DEBUG']

unless product_api.exists_at_version_or_lower(version)
Google::LOGGER.info \
"'#{product_name}' does not have a '#{version}' version, skipping"
next
end

provider_config = \
Provider::Config.parse(provider_yaml_path, product_api, version)
pp provider_config if ENV['COMPILER_DEBUG']
Expand Down
2 changes: 1 addition & 1 deletion products/auth/api.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -16,6 +16,6 @@ name: Google Cloud Auth
prefix: gauth
versions:
- !ruby/object:Api::Product::Version
name: v1
name: ga
base_url: 'dummy_url'
default: true
4 changes: 0 additions & 4 deletions templates/terraform/property_documentation.erb
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,3 @@
<% 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](https://terraform.io/docs/providers/google/provider_versions.html) for more details on beta fields.
<% end -%>
4 changes: 0 additions & 4 deletions templates/terraform/resource.html.markdown.erb
Original file line number Diff line number Diff line change
Expand Up @@ -52,10 +52,6 @@ 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](https://terraform.io/docs/providers/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: 0 additions & 5 deletions templates/terraform/schema_property.erb
Original file line number Diff line number Diff line change
Expand Up @@ -32,11 +32,6 @@
<% 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 https://terraform.io/docs/providers/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 ba49edc

Please sign in to comment.