# frozen_string_literal: false

# ----------------------------------------------------------------------------
#
#     ***     AUTO GENERATED CODE    ***    Type: MMv1     ***
#
# ----------------------------------------------------------------------------
#
#     This file is automatically generated by Magic Modules and manual
#     changes will be clobbered when the file is regenerated.
#
#     Please read more about how to change this file in README.md and
#     CONTRIBUTING.md located at the root of this package.
#
# ----------------------------------------------------------------------------
require 'google/run/property/service_template_containers_startup_probe_grpc'
require 'google/run/property/service_template_containers_startup_probe_http_get'
require 'google/run/property/service_template_containers_startup_probe_http_get_http_headers'
require 'google/run/property/service_template_containers_startup_probe_tcp_socket'
module GoogleInSpec
  module Run
    module Property
      class ServiceTemplateContainersStartupProbe
        attr_reader :initial_delay_seconds

        attr_reader :timeout_seconds

        attr_reader :period_seconds

        attr_reader :failure_threshold

        attr_reader :http_get

        attr_reader :tcp_socket

        attr_reader :grpc

        def initialize(args = nil, parent_identifier = nil)
          return if args.nil?
          @parent_identifier = parent_identifier
          @initial_delay_seconds = args['initialDelaySeconds']
          @timeout_seconds = args['timeoutSeconds']
          @period_seconds = args['periodSeconds']
          @failure_threshold = args['failureThreshold']
          @http_get = GoogleInSpec::Run::Property::ServiceTemplateContainersStartupProbeHttpGet.new(args['httpGet'], to_s)
          @tcp_socket = GoogleInSpec::Run::Property::ServiceTemplateContainersStartupProbeTcpSocket.new(args['tcpSocket'], to_s)
          @grpc = GoogleInSpec::Run::Property::ServiceTemplateContainersStartupProbeGrpc.new(args['grpc'], to_s)
        end

        def to_s
          "#{@parent_identifier} ServiceTemplateContainersStartupProbe"
        end
      end
    end
  end
end
