From ba49edc2b7cb218b267f9be1e91db1107a44c628 Mon Sep 17 00:00:00 2001 From: Dana Hoffman Date: Mon, 15 Oct 2018 09:50:59 -0700 Subject: [PATCH] remove deprecation notices for beta resources (#558) Merged PR #558. --- api/product.rb | 21 ++++++++++++++++++- compiler.rb | 6 ++++++ products/auth/api.yaml | 2 +- .../terraform/property_documentation.erb | 4 ---- .../terraform/resource.html.markdown.erb | 4 ---- templates/terraform/schema_property.erb | 5 ----- 6 files changed, 27 insertions(+), 15 deletions(-) diff --git a/api/product.rb b/api/product.rb index 6e5a8e33e6ea..baf1ed75587b 100644 --- a/api/product.rb +++ b/api/product.rb @@ -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 @@ -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 diff --git a/compiler.rb b/compiler.rb index a5ab7386c61b..97dddcbf738a 100755 --- a/compiler.rb +++ b/compiler.rb @@ -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'] diff --git a/products/auth/api.yaml b/products/auth/api.yaml index 34608e33feef..a661b609fcef 100644 --- a/products/auth/api.yaml +++ b/products/auth/api.yaml @@ -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 diff --git a/templates/terraform/property_documentation.erb b/templates/terraform/property_documentation.erb index 5404ba6d1236..079ec14626eb 100644 --- a/templates/terraform/property_documentation.erb +++ b/templates/terraform/property_documentation.erb @@ -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 -%> diff --git a/templates/terraform/resource.html.markdown.erb b/templates/terraform/resource.html.markdown.erb index f348eda8b975..dcbbed33dcbb 100644 --- a/templates/terraform/resource.html.markdown.erb +++ b/templates/terraform/resource.html.markdown.erb @@ -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: diff --git a/templates/terraform/schema_property.erb b/templates/terraform/schema_property.erb index 61144fa35b0d..7f2a5f15d088 100644 --- a/templates/terraform/schema_property.erb +++ b/templates/terraform/schema_property.erb @@ -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 -%>`),