# WARNING ABOUT GENERATED CODE
#
# This file is generated. See the contributing guide for more information:
# https://github.com/aws/aws-sdk-ruby/blob/version-3/CONTRIBUTING.md
#
# WARNING ABOUT GENERATED CODE

module Aws
  module CloudFormation
    # https://docs.aws.amazon.com/sdk-for-ruby/v3/api/Aws/CloudFormation/Event.html
    class Event
      # https://docs.aws.amazon.com/sdk-for-ruby/v3/api/Aws/CloudFormation/Event.html#initialize-instance_method
      def initialize: (String id, Hash[Symbol, untyped] options) -> void
                    | (id: String, ?client: Client) -> void
                    | (Hash[Symbol, untyped] args) -> void

      # https://docs.aws.amazon.com/sdk-for-ruby/v3/api/Aws/CloudFormation/Event.html#id-instance_method
      def id: () -> String
      alias event_id id

      # https://docs.aws.amazon.com/sdk-for-ruby/v3/api/Aws/CloudFormation/Event.html#stack_id-instance_method
      def stack_id: () -> ::String

      # https://docs.aws.amazon.com/sdk-for-ruby/v3/api/Aws/CloudFormation/Event.html#stack_name-instance_method
      def stack_name: () -> ::String

      # https://docs.aws.amazon.com/sdk-for-ruby/v3/api/Aws/CloudFormation/Event.html#logical_resource_id-instance_method
      def logical_resource_id: () -> ::String

      # https://docs.aws.amazon.com/sdk-for-ruby/v3/api/Aws/CloudFormation/Event.html#physical_resource_id-instance_method
      def physical_resource_id: () -> ::String

      # https://docs.aws.amazon.com/sdk-for-ruby/v3/api/Aws/CloudFormation/Event.html#resource_type-instance_method
      def resource_type: () -> ::String

      # https://docs.aws.amazon.com/sdk-for-ruby/v3/api/Aws/CloudFormation/Event.html#timestamp-instance_method
      def timestamp: () -> ::Time

      # https://docs.aws.amazon.com/sdk-for-ruby/v3/api/Aws/CloudFormation/Event.html#resource_status-instance_method
      def resource_status: () -> ("CREATE_IN_PROGRESS" | "CREATE_FAILED" | "CREATE_COMPLETE" | "DELETE_IN_PROGRESS" | "DELETE_FAILED" | "DELETE_COMPLETE" | "DELETE_SKIPPED" | "UPDATE_IN_PROGRESS" | "UPDATE_FAILED" | "UPDATE_COMPLETE" | "IMPORT_FAILED" | "IMPORT_COMPLETE" | "IMPORT_IN_PROGRESS" | "IMPORT_ROLLBACK_IN_PROGRESS" | "IMPORT_ROLLBACK_FAILED" | "IMPORT_ROLLBACK_COMPLETE" | "UPDATE_ROLLBACK_IN_PROGRESS" | "UPDATE_ROLLBACK_COMPLETE" | "UPDATE_ROLLBACK_FAILED" | "ROLLBACK_IN_PROGRESS" | "ROLLBACK_COMPLETE" | "ROLLBACK_FAILED")

      # https://docs.aws.amazon.com/sdk-for-ruby/v3/api/Aws/CloudFormation/Event.html#resource_status_reason-instance_method
      def resource_status_reason: () -> ::String

      # https://docs.aws.amazon.com/sdk-for-ruby/v3/api/Aws/CloudFormation/Event.html#resource_properties-instance_method
      def resource_properties: () -> ::String

      # https://docs.aws.amazon.com/sdk-for-ruby/v3/api/Aws/CloudFormation/Event.html#client_request_token-instance_method
      def client_request_token: () -> ::String

      # https://docs.aws.amazon.com/sdk-for-ruby/v3/api/Aws/CloudFormation/Event.html#hook_type-instance_method
      def hook_type: () -> ::String

      # https://docs.aws.amazon.com/sdk-for-ruby/v3/api/Aws/CloudFormation/Event.html#hook_status-instance_method
      def hook_status: () -> ("HOOK_IN_PROGRESS" | "HOOK_COMPLETE_SUCCEEDED" | "HOOK_COMPLETE_FAILED" | "HOOK_FAILED")

      # https://docs.aws.amazon.com/sdk-for-ruby/v3/api/Aws/CloudFormation/Event.html#hook_status_reason-instance_method
      def hook_status_reason: () -> ::String

      # https://docs.aws.amazon.com/sdk-for-ruby/v3/api/Aws/CloudFormation/Event.html#hook_invocation_point-instance_method
      def hook_invocation_point: () -> ("PRE_PROVISION")

      # https://docs.aws.amazon.com/sdk-for-ruby/v3/api/Aws/CloudFormation/Event.html#hook_failure_mode-instance_method
      def hook_failure_mode: () -> ("FAIL" | "WARN")

      def client: () -> Client


      # https://docs.aws.amazon.com/sdk-for-ruby/v3/api/Aws/CloudFormation/Event.html#data-instance_method
      def data: () -> Types::StackEvent

      # https://docs.aws.amazon.com/sdk-for-ruby/v3/api/Aws/CloudFormation/Event.html#data_loaded?-instance_method
      def data_loaded?: () -> bool


      class Collection < ::Aws::Resources::Collection[Event]
      end
    end
  end
end