# frozen_string_literal: true

# 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::NotificationsContacts
  module Types

    # You do not have sufficient access to perform this action.
    #
    # @!attribute [rw] message
    #   @return [String]
    #
    # @see http://docs.aws.amazon.com/goto/WebAPI/notificationscontacts-2018-05-10/AccessDeniedException AWS API Documentation
    #
    class AccessDeniedException < Struct.new(
      :message)
      SENSITIVE = []
      include Aws::Structure
    end

    # @!attribute [rw] arn
    #   The Amazon Resource Name (ARN) of the resource.
    #   @return [String]
    #
    # @!attribute [rw] code
    #   The activation code for this email contact.
    #
    #   An email contact has a maximum of five activation attempts.
    #   Activation codes expire after 12 hours and are generated by the
    #   [SendActivationCode][1] API action.
    #
    #
    #
    #   [1]: https://docs.aws.amazon.com/notificationscontacts/latest/APIReference/API_SendActivationCode.html
    #   @return [String]
    #
    # @see http://docs.aws.amazon.com/goto/WebAPI/notificationscontacts-2018-05-10/ActivateEmailContactRequest AWS API Documentation
    #
    class ActivateEmailContactRequest < Struct.new(
      :arn,
      :code)
      SENSITIVE = [:code]
      include Aws::Structure
    end

    # @see http://docs.aws.amazon.com/goto/WebAPI/notificationscontacts-2018-05-10/ActivateEmailContactResponse AWS API Documentation
    #
    class ActivateEmailContactResponse < Aws::EmptyStructure; end

    # Updating or deleting a resource can cause an inconsistent state.
    #
    # @!attribute [rw] message
    #   @return [String]
    #
    # @!attribute [rw] resource_id
    #   The resource ID that prompted the conflict error.
    #   @return [String]
    #
    # @!attribute [rw] resource_type
    #   The resource type that prompted the conflict error.
    #   @return [String]
    #
    # @see http://docs.aws.amazon.com/goto/WebAPI/notificationscontacts-2018-05-10/ConflictException AWS API Documentation
    #
    class ConflictException < Struct.new(
      :message,
      :resource_id,
      :resource_type)
      SENSITIVE = []
      include Aws::Structure
    end

    # @!attribute [rw] name
    #   The name of the email contact.
    #   @return [String]
    #
    # @!attribute [rw] email_address
    #   The email address this email contact points to. The activation email
    #   and any subscribed emails are sent here.
    #
    #   <note markdown="1"> This email address can't receive emails until it's activated.
    #
    #    </note>
    #   @return [String]
    #
    # @!attribute [rw] tags
    #   A map of tags assigned to a resource. A tag is a string-to-string
    #   map of key-value pairs.
    #   @return [Hash<String,String>]
    #
    # @see http://docs.aws.amazon.com/goto/WebAPI/notificationscontacts-2018-05-10/CreateEmailContactRequest AWS API Documentation
    #
    class CreateEmailContactRequest < Struct.new(
      :name,
      :email_address,
      :tags)
      SENSITIVE = [:name]
      include Aws::Structure
    end

    # @!attribute [rw] arn
    #   The Amazon Resource Name (ARN) of the resource.
    #   @return [String]
    #
    # @see http://docs.aws.amazon.com/goto/WebAPI/notificationscontacts-2018-05-10/CreateEmailContactResponse AWS API Documentation
    #
    class CreateEmailContactResponse < Struct.new(
      :arn)
      SENSITIVE = []
      include Aws::Structure
    end

    # @!attribute [rw] arn
    #   The Amazon Resource Name (ARN) of the resource.
    #   @return [String]
    #
    # @see http://docs.aws.amazon.com/goto/WebAPI/notificationscontacts-2018-05-10/DeleteEmailContactRequest AWS API Documentation
    #
    class DeleteEmailContactRequest < Struct.new(
      :arn)
      SENSITIVE = []
      include Aws::Structure
    end

    # @see http://docs.aws.amazon.com/goto/WebAPI/notificationscontacts-2018-05-10/DeleteEmailContactResponse AWS API Documentation
    #
    class DeleteEmailContactResponse < Aws::EmptyStructure; end

    # An email contact.
    #
    # @!attribute [rw] arn
    #   The Amazon Resource Name (ARN) of the email contact.
    #   @return [String]
    #
    # @!attribute [rw] name
    #   The name of the email contact.
    #   @return [String]
    #
    # @!attribute [rw] address
    #   The email address this email contact points to. The activation email
    #   and any subscribed emails are sent here.
    #   @return [String]
    #
    # @!attribute [rw] status
    #   The status of the email contact. Only activated email contacts
    #   receive emails.
    #   @return [String]
    #
    # @!attribute [rw] creation_time
    #   The creation time of the resource.
    #   @return [Time]
    #
    # @!attribute [rw] update_time
    #   The time the resource was last updated.
    #   @return [Time]
    #
    # @see http://docs.aws.amazon.com/goto/WebAPI/notificationscontacts-2018-05-10/EmailContact AWS API Documentation
    #
    class EmailContact < Struct.new(
      :arn,
      :name,
      :address,
      :status,
      :creation_time,
      :update_time)
      SENSITIVE = [:name, :address]
      include Aws::Structure
    end

    # @!attribute [rw] arn
    #   The Amazon Resource Name (ARN) of the email contact to get.
    #   @return [String]
    #
    # @see http://docs.aws.amazon.com/goto/WebAPI/notificationscontacts-2018-05-10/GetEmailContactRequest AWS API Documentation
    #
    class GetEmailContactRequest < Struct.new(
      :arn)
      SENSITIVE = []
      include Aws::Structure
    end

    # @!attribute [rw] email_contact
    #   The email contact for the provided email address.
    #   @return [Types::EmailContact]
    #
    # @see http://docs.aws.amazon.com/goto/WebAPI/notificationscontacts-2018-05-10/GetEmailContactResponse AWS API Documentation
    #
    class GetEmailContactResponse < Struct.new(
      :email_contact)
      SENSITIVE = []
      include Aws::Structure
    end

    # Unexpected error during processing of request.
    #
    # @!attribute [rw] message
    #   @return [String]
    #
    # @see http://docs.aws.amazon.com/goto/WebAPI/notificationscontacts-2018-05-10/InternalServerException AWS API Documentation
    #
    class InternalServerException < Struct.new(
      :message)
      SENSITIVE = []
      include Aws::Structure
    end

    # @!attribute [rw] max_results
    #   The maximum number of results to include in the response. If more
    #   results exist than the specified MaxResults value, a token is
    #   included in the response so that the remaining results can be
    #   retrieved.
    #   @return [Integer]
    #
    # @!attribute [rw] next_token
    #   An optional token returned from a prior request. Use this token for
    #   pagination of results from this action. If this parameter is
    #   specified, the response includes only results beyond the token, up
    #   to the value specified by MaxResults.
    #   @return [String]
    #
    # @see http://docs.aws.amazon.com/goto/WebAPI/notificationscontacts-2018-05-10/ListEmailContactsRequest AWS API Documentation
    #
    class ListEmailContactsRequest < Struct.new(
      :max_results,
      :next_token)
      SENSITIVE = []
      include Aws::Structure
    end

    # @!attribute [rw] next_token
    #   An optional token returned from a prior request. Use this token for
    #   pagination of results from this action. If this parameter is
    #   specified, the response includes only results beyond the token, up
    #   to the value specified by MaxResults.
    #   @return [String]
    #
    # @!attribute [rw] email_contacts
    #   A list of email contacts.
    #   @return [Array<Types::EmailContact>]
    #
    # @see http://docs.aws.amazon.com/goto/WebAPI/notificationscontacts-2018-05-10/ListEmailContactsResponse AWS API Documentation
    #
    class ListEmailContactsResponse < Struct.new(
      :next_token,
      :email_contacts)
      SENSITIVE = []
      include Aws::Structure
    end

    # @!attribute [rw] arn
    #   The ARN you specified to list the tags of.
    #   @return [String]
    #
    # @see http://docs.aws.amazon.com/goto/WebAPI/notificationscontacts-2018-05-10/ListTagsForResourceRequest AWS API Documentation
    #
    class ListTagsForResourceRequest < Struct.new(
      :arn)
      SENSITIVE = []
      include Aws::Structure
    end

    # @!attribute [rw] tags
    #   Key-value pairs that are assigned to a resource, usually for the
    #   purpose of grouping and searching for items. Tags are metadata that
    #   you define.
    #   @return [Hash<String,String>]
    #
    # @see http://docs.aws.amazon.com/goto/WebAPI/notificationscontacts-2018-05-10/ListTagsForResourceResponse AWS API Documentation
    #
    class ListTagsForResourceResponse < Struct.new(
      :tags)
      SENSITIVE = []
      include Aws::Structure
    end

    # Your request references a resource which does not exist.
    #
    # @!attribute [rw] message
    #   @return [String]
    #
    # @!attribute [rw] resource_id
    #   The ID of the resource that wasn't found.
    #   @return [String]
    #
    # @!attribute [rw] resource_type
    #   The type of resource that wasn't found.
    #   @return [String]
    #
    # @see http://docs.aws.amazon.com/goto/WebAPI/notificationscontacts-2018-05-10/ResourceNotFoundException AWS API Documentation
    #
    class ResourceNotFoundException < Struct.new(
      :message,
      :resource_id,
      :resource_type)
      SENSITIVE = []
      include Aws::Structure
    end

    # @!attribute [rw] arn
    #   The Amazon Resource Name (ARN) of the resource.
    #   @return [String]
    #
    # @see http://docs.aws.amazon.com/goto/WebAPI/notificationscontacts-2018-05-10/SendActivationCodeRequest AWS API Documentation
    #
    class SendActivationCodeRequest < Struct.new(
      :arn)
      SENSITIVE = []
      include Aws::Structure
    end

    # @see http://docs.aws.amazon.com/goto/WebAPI/notificationscontacts-2018-05-10/SendActivationCodeResponse AWS API Documentation
    #
    class SendActivationCodeResponse < Aws::EmptyStructure; end

    # Request would cause a service quota to be exceeded.
    #
    # @!attribute [rw] message
    #   @return [String]
    #
    # @!attribute [rw] resource_id
    #   The ID of the resource that exceeds the service quota.
    #   @return [String]
    #
    # @!attribute [rw] resource_type
    #   The type of the resource that exceeds the service quota.
    #   @return [String]
    #
    # @!attribute [rw] service_code
    #   The code for the service quota exceeded in [Service Quotas][1].
    #
    #
    #
    #   [1]: https://docs.aws.amazon.com/servicequotas/latest/userguide/intro.html
    #   @return [String]
    #
    # @!attribute [rw] quota_code
    #   The code for the service quota in [Service Quotas][1].
    #
    #
    #
    #   [1]: https://docs.aws.amazon.com/servicequotas/latest/userguide/intro.html
    #   @return [String]
    #
    # @see http://docs.aws.amazon.com/goto/WebAPI/notificationscontacts-2018-05-10/ServiceQuotaExceededException AWS API Documentation
    #
    class ServiceQuotaExceededException < Struct.new(
      :message,
      :resource_id,
      :resource_type,
      :service_code,
      :quota_code)
      SENSITIVE = []
      include Aws::Structure
    end

    # @!attribute [rw] arn
    #   The ARN of the configuration.
    #   @return [String]
    #
    # @!attribute [rw] tags
    #   A list of tags to apply to the configuration.
    #   @return [Hash<String,String>]
    #
    # @see http://docs.aws.amazon.com/goto/WebAPI/notificationscontacts-2018-05-10/TagResourceRequest AWS API Documentation
    #
    class TagResourceRequest < Struct.new(
      :arn,
      :tags)
      SENSITIVE = []
      include Aws::Structure
    end

    # @see http://docs.aws.amazon.com/goto/WebAPI/notificationscontacts-2018-05-10/TagResourceResponse AWS API Documentation
    #
    class TagResourceResponse < Aws::EmptyStructure; end

    # The request was denied due to request throttling.
    #
    # @!attribute [rw] message
    #   @return [String]
    #
    # @!attribute [rw] service_code
    #   Identifies the service being throttled.
    #   @return [String]
    #
    # @!attribute [rw] quota_code
    #   Identifies the quota that is being throttled.
    #   @return [String]
    #
    # @!attribute [rw] retry_after_seconds
    #   The number of seconds a client should wait before retrying the
    #   request.
    #   @return [Integer]
    #
    # @see http://docs.aws.amazon.com/goto/WebAPI/notificationscontacts-2018-05-10/ThrottlingException AWS API Documentation
    #
    class ThrottlingException < Struct.new(
      :message,
      :service_code,
      :quota_code,
      :retry_after_seconds)
      SENSITIVE = []
      include Aws::Structure
    end

    # @!attribute [rw] arn
    #   The value of the resource that will have the tag removed. An Amazon
    #   Resource Name (ARN) is an identifier for a specific AWS resource,
    #   such as a server, user, or role.
    #   @return [String]
    #
    # @!attribute [rw] tag_keys
    #   Specifies a list of tag keys that you want to remove from the
    #   specified resources.
    #   @return [Array<String>]
    #
    # @see http://docs.aws.amazon.com/goto/WebAPI/notificationscontacts-2018-05-10/UntagResourceRequest AWS API Documentation
    #
    class UntagResourceRequest < Struct.new(
      :arn,
      :tag_keys)
      SENSITIVE = []
      include Aws::Structure
    end

    # @see http://docs.aws.amazon.com/goto/WebAPI/notificationscontacts-2018-05-10/UntagResourceResponse AWS API Documentation
    #
    class UntagResourceResponse < Aws::EmptyStructure; end

    # The input fails to satisfy the constraints specified by an AWS
    # service.
    #
    # @!attribute [rw] message
    #   @return [String]
    #
    # @!attribute [rw] reason
    #   The reason why your input is considered invalid.
    #   @return [String]
    #
    # @!attribute [rw] field_list
    #   The list of input fields that are invalid.
    #   @return [Array<Types::ValidationExceptionField>]
    #
    # @see http://docs.aws.amazon.com/goto/WebAPI/notificationscontacts-2018-05-10/ValidationException AWS API Documentation
    #
    class ValidationException < Struct.new(
      :message,
      :reason,
      :field_list)
      SENSITIVE = []
      include Aws::Structure
    end

    # Stores information about a field passed inside a request that resulted
    # in an exception.
    #
    # @!attribute [rw] name
    #   The field name where the invalid entry was detected.
    #   @return [String]
    #
    # @!attribute [rw] message
    #   A message with the reason for the validation exception error.
    #   @return [String]
    #
    # @see http://docs.aws.amazon.com/goto/WebAPI/notificationscontacts-2018-05-10/ValidationExceptionField AWS API Documentation
    #
    class ValidationExceptionField < Struct.new(
      :name,
      :message)
      SENSITIVE = []
      include Aws::Structure
    end

  end
end

