hashicorp / terraform-provider-aws

The AWS Provider enables Terraform to manage AWS resources.
https://registry.terraform.io/providers/hashicorp/aws
Mozilla Public License 2.0
9.74k stars 9.09k forks source link

Feature Request: MediaConvert Preset Resource #11190

Open bflad opened 4 years ago

bflad commented 4 years ago

Community Note

Description

Split feature request from https://github.com/terraform-providers/terraform-provider-aws/issues/7533

New Resource

Potential Terraform Configuration

resource "aws_media_convert_preset" "example" {
  category = ""
  description = ""
  name = ""
  tags = {}

  settings {
    audio_description {
        audio_normalization_settings {
          algorithm = ""
          algorithm_control = ""
          correction_gate_level = 0
          loudness_logging = ""
          peak_calculation = ""
          target_lkfs = 0.0
        }

        audio_source_name = ""
        audio_type = 0
        audio_type_control = ""

        codec_settings {
          aac_settings {
            audio_description_broadcaster_mix = ""
            bitrate = 6000
            codec_profile = ""
            coding_mode = ""
            rate_control_mode = ""
            raw_format = ""
            sample_rate = 8000
            specification = ""
            vbr_quality = ""
          }

          ac3_settings {
            bitrate = 64000
            bitstream_mode = ""
            coding_mode = ""
            dianorm = 1
            dynamic_range_compression_profile = ""
            lfe_filter = ""
            metadata_control = ""
            sample_rate = 48000
          }

          aiff_settings {
            bitdepth = 16
            channels = 1
            sample_rate = 8000
          }

          codec = ""

          eac3_atmos_settings {
            bitrate = 384000
            bitstream_mode = ""
            coding_mode = ""
            dialogue_intelligence = ""
            dynamic_range_compression_line = ""
            dynamic_range_compression_rf = ""
            lo_ro_center_mix_level = 0.0
            lo_ro_surround_mix_level = 0.0
            lt_rt_center_mix_level = 0.0
            lt_rt_surround_mix_level = 0.0
            metering_mode = ""
            sample_rate = 48000
            speech_threshold = 1
            stereo_downmix = ""
            surround_ex_mode = ""
          }

          eac3_settings {
            attenuation_control = ""
            bitrate = 64000
            bitstream_mode = ""
            coding_mode = ""
            dc_filter = ""
            dialnorm = 1
            dynamic_range_compression_line = ""
            dynamic_range_compression_rf = ""
            lfe_control = ""
            lfe_filter = ""
            lo_ro_center_mix_level = 0.0
            lo_ro_surround_mix_level = 0.0
            lt_rt_center_mix_level = 0.0
            lt_rt_surround_mix_level = 0.0
            metadata_control = ""
            passthrough_control = ""
            phase_control = ""
            sample_rate = 48000
            stereo_downmix = ""
            surround_ex_mode = ""
            surround_mode = ""
          }

          mp2_settings {
            bitrate = 32000
            channels = 1
            sample_rate = 32000
          }

          wav_settings {
            bit_depth = 16
            channels = 1
            format = ""
            sample_rate = 8000
          }
        }

        custom_language_code = ""
        language_code = ""
        language_code_control = ""

        remix_settings {
          channel_mapping {
            output_channel {
              input_channels = [1]
            }
          }

          channels_in = 1
          channels_out = 1
        }

        stream_name = ""
      }
    }

    caption_description {
      caption_selector_name = ""
      custom_language_code = ""

      destination_settings {
        burnin_destination_settings {
          alignment = ""
          background_color = ""
          background_opacity = 255
          font_color = ""
          font_opacity = 255
          font_resolution = 96
          font_script = ""
          font_size = 0
          outline_color = ""
          outline_size = 0
          shadow_color = ""
          shadow_opacity = 255
          shadow_x_offset = 0
          shadow_y_offset = 0
          teletext_spacing = ""
          x_position = 0
          y_position = 0
        }

        destination_type = ""

        dvb_sub_destination_settings {
          alignment = ""
          background_color = ""
          background_opacity = 255
          font_color = ""
          font_opacity = 255
          font_resolution = 96
          font_script = ""
          font_size = 0
          outline_color = ""
          outline_size = 0
          shadow_color = ""
          shadow_opacity = 255
          shadow_x_offset = 0
          shadow_y_offset = 0
          subtitling_type = ""
          teletext_spacing = ""
          x_position = 0
          y_position = 0
        }

        embedded_destination_settings {
          destination_608_channel_number = 1
          destination_708_service_number = 1
        }

        imsc_destination_settings {
          style_passthrough = ""
        }

        scc_destination_settings {
          framerate = ""
        }

        teletext_destination_settings {
          page_number = ""
          page_types = [""]
        }

        ttml_destination_settings {
          style_passthrough = ""
        }
      }

      language_code = ""
      language_description = ""
    }

    container_settings {
      container = ""

      f4v_settings {
        moov_placement = ""
      }

      m2ts_settings {
        audio_buffer_model = ""
        audio_frames_per_pes = 0
        audio_pids = [482]
        bitrate = 0
        buffer_model = ""

        dvb_nit_settings {
          network_id = 0
          network_name = ""
          nit_interval = 0
        }

        dvb_sdt_settings {
          output_sdt = ""
          sdt_interval = 0
          service_name = ""
          service_provider_name = ""
        }

        dvb_sub_pids = [460]

        dvb_tdt_settings {
          tdt_interval = 0
        }

        dvb_teletext_pid = 499
        ebp_audio_interval = ""
        ebp_placement = ""
        es_rate_in_pes = ""
        force_ts_video_ebp_order = ""
        fragment_time = 0.0
        max_pcr_interval = 0
        min_pcr_interval = 0
        nielsen_id3 = ""
        null_packet_bitrate = 0.0
        pat_interval = 0
        pcr_control = ""
        pcr_pid = 0
        pmt_interval = 0
        pmt_pid = 0
        private_metadata_pid = 0
        program_number = 1
        rate_mode = ""

        scte_35_esam {
          scte_35_esam_pid = 0
        }

        scte_35_pid = 0
        scte_35_source = ""
        segmentation_markers = ""
        segmentation_style = ""
        segmentation_time = 0.0
        timed_metadata_pid = 0
        transport_stream_id = 0
        video_pid = 0
      }

      m3u8_settings {
        audio_frames_per_pes = 0
        audio_pids = [482]
        nielsen_id3 = ""
        pat_interval = 0
        pcr_control = ""
        pcr_pid = 0
        pmt_interval = 0
        pmt_pid = 0
        private_metadata_pid = 0
        program_number = 1
        scte_35_pid = 0
        scte_35_source = ""
        timed_metadata = ""
        timed_metadata_pid = 0
        transport_stream_id = 0
        video_pid = 0
      }

      mov_settings {
        clap_atom = ""
        cslg_atom = ""
        mpeg2_fourcc_control = ""
        padding_control = ""
        reference = ""
      }

      mp4_settings {
        cslg_atom = ""
        free_space_box = ""
        moov_placement = ""
        mp4_major_brand = ""
      }

      mpd_settings {
        caption_container_type = ""
        scte_35_esam = ""
        scte_35_source = ""
      }
    }

    video_description {
      afd_signaling = ""
      anti_alias = ""

      codec_settings {
        codec = ""

        frame_capture_settings {
          framerate_denominator = 0
          framerate_numerator = 0
          max_captures = 0
          quality = 0
        }

        h264_settings {
          adaptive_quantization = ""
          bitrate = 0
          codec_level = ""
          codec_profile = ""
          dynamic_sub_gop = ""
          entropy_encoding = ""
          field_encoding = ""
          flicker_adaptive_quantization = ""
          framerate_control = ""
          framerate_conversion_algorithm = ""
          framerate_demoniator = 0
          framerate_numerator = 0
          gop_b_reference = ""
          gop_closed_cadence = 0
          gop_size = 0.0
          gop_size_units = ""
          hrd_buffer_initial_fill_percentage = 0
          hrd_buffer_size = 0
          interlace_mode = ""
          max_bitrate = 0
          min_i_interval = 0
          number_b_frames_between_reference_frames = 0
          number_reference_frames = 0
          par_control = ""
          par_denominator = 0
          par_numerator = 0
          quality_tuning_level = ""

          qvbr_settings {
            max_average_bitrate = 0
            qvbr_quality_level = 0
          }

          rate_control_mode = ""
          repeat_pps = ""
          scene_change_detect = ""
          slices = 0
          slow_pal = ""
          softness = 0
          spatial_adaptive_quantization = ""
          syntax = ""
          telecine = ""
          temporal_adaptive_quantization = ""
          unregistered_sei_timecode = ""
        }

        h265_settings {
          adaptive_quantization = ""
          alternative_transfer_function_sei = ""
          bitrate = 0
          codec_level = ""
          codec_profile = ""
          dynamic_sub_gop = ""
          flicker_adaptive_quantization = ""
          framerate_control = ""
          framerate_conversion_algorithm = ""
          framerate_demoniator = 0
          framerate_numerator = 0
          gop_b_reference = ""
          gop_closed_cadence = 0
          gop_size = 0.0
          gop_size_units = ""
          hrd_buffer_initial_fill_percentage = 0
          hrd_buffer_size = 0
          interlace_mode = ""
          max_bitrate = 0
          min_i_interval = 0
          number_b_frames_between_reference_frames = 0
          number_reference_frames = 0
          par_control = ""
          par_denominator = 0
          par_numerator = 0
          quality_tuning_level = ""

          qvbr_settings {
            max_average_bitrate = 0
            qvbr_quality_level = 0
          }

          rate_control_mode = ""
          sample_adaptive_offset_filter_mode = ""
          scene_change_detect = ""
          slices = 0
          slow_pal = ""
          spatial_adaptive_quantization = ""
          telecine = ""
          temporal_adaptive_quantization = ""
          temporal_ids = ""
          tiles = ""
          unregistered_sei_timecode = ""
          write_mp4_packaging_type = ""
        }

        mpeg2_settings {
          adaptive_quantization = ""
          bitrate = 0
          codec_level = ""
          codec_profile = ""
          dynamic_sub_gop = ""
          framerate_control = ""
          framerate_conversion_algorithm = ""
          framerate_demoniator = 0
          framerate_numerator = 0
          gop_closed_cadence = 0
          gop_size = 0.0
          gop_size_units = ""
          hrd_buffer_initial_fill_percentage = 0
          hrd_buffer_size = 0
          interlace_mode = ""
          intra_dc_precision = ""
          max_bitrate = 0
          min_i_interval = 0
          number_b_frames_between_reference_frames = 0
          par_control = ""
          par_denominator = 0
          par_numerator = 0
          quality_tuning_level = ""
          rate_control_mode = ""
          scene_change_detect = ""
          slowpal = ""
          softness = 0
          spatial_adaptive_quantization = ""
          syntax = ""
          telecine = ""
          temporal_adaptive_quantization = ""
        }

        prores_settings {
          codec_profile = ""
          framerate_control = ""
          framerate_conversion_algorithm = ""
          framerate_demoniator = 0
          framerate_numerator = 0
          interlace_mode = ""
          par_control = ""
          par_denominator = 0
          par_numerator = 0
          slow_pal = ""
          telecine = ""
        }
      }

      color_metadata = ""

      crop {
        height = 123
        width = 123
        x = 234
        y = 234
      }

      drop_frame_timecode = ""
      fixed_afd = 0
      height = 0

      position {
        height = 123
        width = 123
        x = 234
        y = 234
      }

      respond_to_afd = ""
      scaling_behavior = ""
      sharpness = 0
      timecode_insertion = ""

      video_preprocessors {
        color_corrector {
          brightness = 0
          color_space_conversion = ""
          contrast = 0

          hdr10_metadata {
            blue_primary_x = 0
            blue_primary_y = 0
            green_primary_x = 0
            green_primary_y = 0
            max_content_light_level = 0
            max_frame_average_light_level = 0
            max_luminance = 0
            min_luminance = 0
            red_primary_x = 0
            red_primary_y = 0
            white_point_x = 0
            white_point_y = 0
          }

          hue = 0
          saturation = 0
        }

        deinterlacer {
          algorithm = ""
          control = ""
          mode = ""
        }

        dolby_vision {
          l6_metadata {
            max_cll = 0
            max_fall = 0
          }

          l6_mode = ""
          profile = ""
        }

        image_inserter {
          insertable_image {
            duration = 123
            fade_in = 123
            fade_out = 123
            height = 123
            image_inserter_input = ""
            image_x = 123
            image_y = 123
            layer = 123
            opacity = 100
            start_time = ""
            width = 123
          }
        }

        noise_reducer {
          filter = ""

          filter_settings {
            strength = 0
          }

          spatial_filter_settings {
            post_filter_sharpen_strength = 0
            speed = 0
            strength = 0
          }

          temporal_filter_settings {
            aggressive_mode = 0
            speed = 0
            strength = 0
          }
        }

        timecode_burnin {
          font_size = 0
          position = ""
          prefix = ""
        }
      }

      width = 0
    }
  }
}

References

mjimenezp commented 3 years ago

Working on the implementation with this fork: https://github.com/majimenezp/terraform-provider-aws/tree/f-aws_media_convert_preset-implementation

I am running the acceptance test and test it in development environment.

github-actions[bot] commented 1 year ago

Marking this issue as stale due to inactivity. This helps our maintainers find and focus on the active issues. If this issue receives no comments in the next 30 days it will automatically be closed. Maintainers can also remove the stale label.

If this issue was automatically closed and you feel this issue should be reopened, we encourage creating a new issue linking back to this one for added context. Thank you!

bigjew92 commented 1 year ago

@mjimenezp, Was any progress on this made to get it into a release? We would really like this feature. A work around has been tested, but this is obviously not desired.