Module: Certman::Resource::SES

Included in:
Client
Defined in:
lib/certman/resource/ses.rb

Constant Summary collapse

REGIONS =
%w(us-east-1 us-west-2 eu-west-1)

Instance Method Summary collapse

Instance Method Details

#check_domain_identity_verifiedObject



11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
# File 'lib/certman/resource/ses.rb', line 11

def check_domain_identity_verified
  is_break = false
  100.times do
    res = ses.get_identity_verification_attributes(
      identities: [
        @domain
      ]
    )
    if res.verification_attributes[@domain].verification_status == 'Success'
      # success
      is_break = true
      break
    end
    break if @do_rollback
    sleep 5
  end
  raise 'Can not check verified' unless is_break
end

#create_domain_identityObject



6
7
8
9
# File 'lib/certman/resource/ses.rb', line 6

def create_domain_identity
  res = ses.verify_domain_identity(domain: @domain)
  @token = res.verification_token
end

#create_ruleObject



38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
# File 'lib/certman/resource/ses.rb', line 38

def create_rule
  ses.create_receipt_rule(
    rule: {
      recipients: ["admin@#{@domain}"],
      actions: [
        {
          s3_action: {
            bucket_name: bucket_name
          }
        }
      ],
      enabled: true,
      name: rule_name,
      scan_enabled: true,
      tls_policy: 'Optional'
    },
    rule_set_name: rule_set_name
  )
end

#create_rule_setObject



34
35
36
# File 'lib/certman/resource/ses.rb', line 34

def create_rule_set
  ses.create_receipt_rule_set(rule_set_name: rule_set_name)
end

#delete_domain_identityObject



30
31
32
# File 'lib/certman/resource/ses.rb', line 30

def delete_domain_identity
  ses.delete_identity(identity: @domain)
end

#delete_ruleObject



69
70
71
72
73
74
# File 'lib/certman/resource/ses.rb', line 69

def delete_rule
  ses.delete_receipt_rule(
    rule_name: rule_name,
    rule_set_name: rule_set_name
  )
end

#delete_rule_setObject



65
66
67
# File 'lib/certman/resource/ses.rb', line 65

def delete_rule_set
  ses.delete_receipt_rule_set(rule_set_name: rule_set_name)
end

#replace_active_rule_setObject



58
59
60
61
62
63
# File 'lib/certman/resource/ses.rb', line 58

def replace_active_rule_set
  @current_rule_set_name = nil
  res = ses.describe_active_receipt_rule_set
  @current_rule_set_name = res..name if res.
  ses.set_active_receipt_rule_set(rule_set_name: rule_set_name)
end

#revert_active_rue_setObject



76
77
78
# File 'lib/certman/resource/ses.rb', line 76

def revert_active_rue_set
  ses.set_active_receipt_rule_set(rule_set_name: @current_rule_set_name)
end

#sesObject



80
81
82
# File 'lib/certman/resource/ses.rb', line 80

def ses
  @ses ||= Aws::SES::Client.new
end