Class: AWSCDK::SSMContacts::CfnRotationProps

Inherits:
Jsii::Struct
  • Object
show all
Defined in:
ssm_contacts/cfn_rotation_props.rb

Overview

Properties for defining a CfnRotation.

Instance Attribute Summary collapse

Class Method Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(contact_ids:, name:, recurrence:, start_time:, time_zone_id:, tags: nil) ⇒ CfnRotationProps

Returns a new instance of CfnRotationProps.

Parameters:

  • contact_ids (Array<String>)

    The Amazon Resource Names (ARNs) of the contacts to add to the rotation.

  • name (String)

    The name for the rotation.

  • recurrence (AWSCDK::IResolvable, AWSCDK::SSMContacts::CfnRotation::RecurrenceSettingsProperty)

    Information about the rule that specifies when shift team members rotate.

  • start_time (String)

    The date and time the rotation goes into effect.

  • time_zone_id (String)

    The time zone to base the rotation’s activity on, in Internet Assigned Numbers Authority (IANA) format.

  • tags (Array<AWSCDK::CfnTag>, nil) (defaults to: nil)

    Optional metadata to assign to the rotation.



15
16
17
18
19
20
21
22
23
24
25
26
27
28
# File 'ssm_contacts/cfn_rotation_props.rb', line 15

def initialize(contact_ids:, name:, recurrence:, start_time:, time_zone_id:, tags: nil)
  @contact_ids = contact_ids
  Jsii::Type.check_type(@contact_ids, JSON.parse(Base64.strict_decode64("eyJjb2xsZWN0aW9uIjp7ImVsZW1lbnR0eXBlIjp7InByaW1pdGl2ZSI6InN0cmluZyJ9LCJraW5kIjoiYXJyYXkifX0=")), "contactIds")
  @name = name
  Jsii::Type.check_type(@name, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "name")
  @recurrence = recurrence.is_a?(Hash) ? ::AWSCDK::SSMContacts::CfnRotation::RecurrenceSettingsProperty.new(**recurrence.transform_keys(&:to_sym)) : recurrence
  Jsii::Type.check_type(@recurrence, JSON.parse(Base64.strict_decode64("eyJ1bmlvbiI6eyJ0eXBlcyI6W3siZnFuIjoiYXdzLWNkay1saWIuSVJlc29sdmFibGUifSx7ImZxbiI6ImF3cy1jZGstbGliLmF3c19zc21jb250YWN0cy5DZm5Sb3RhdGlvbi5SZWN1cnJlbmNlU2V0dGluZ3NQcm9wZXJ0eSJ9XX19")), "recurrence")
  @start_time = start_time
  Jsii::Type.check_type(@start_time, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "startTime")
  @time_zone_id = time_zone_id
  Jsii::Type.check_type(@time_zone_id, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "timeZoneId")
  @tags = tags.is_a?(Array) ? tags.map { |jsii_v0| jsii_v0.is_a?(Hash) ? ::AWSCDK::CfnTag.new(**jsii_v0.transform_keys(&:to_sym)) : jsii_v0 } : tags
  Jsii::Type.check_type(@tags, JSON.parse(Base64.strict_decode64("eyJjb2xsZWN0aW9uIjp7ImVsZW1lbnR0eXBlIjp7ImZxbiI6ImF3cy1jZGstbGliLkNmblRhZyJ9LCJraW5kIjoiYXJyYXkifX0=")), "tags") unless @tags.nil?
end

Instance Attribute Details

#contact_idsArray<String> (readonly)

The Amazon Resource Names (ARNs) of the contacts to add to the rotation.

Only the PERSONAL contact type is supported. The contact types ESCALATION and ONCALL_SCHEDULE are not supported for this operation.

The order in which you list the contacts is their shift order in the rotation schedule.



38
39
40
# File 'ssm_contacts/cfn_rotation_props.rb', line 38

def contact_ids
  @contact_ids
end

#nameString (readonly)

The name for the rotation.



43
44
45
# File 'ssm_contacts/cfn_rotation_props.rb', line 43

def name
  @name
end

#recurrenceAWSCDK::IResolvable, AWSCDK::SSMContacts::CfnRotation::RecurrenceSettingsProperty (readonly)

Information about the rule that specifies when shift team members rotate.



48
49
50
# File 'ssm_contacts/cfn_rotation_props.rb', line 48

def recurrence
  @recurrence
end

#start_timeString (readonly)

The date and time the rotation goes into effect.



53
54
55
# File 'ssm_contacts/cfn_rotation_props.rb', line 53

def start_time
  @start_time
end

#tagsArray<AWSCDK::CfnTag>? (readonly)

Optional metadata to assign to the rotation.

Tags enable you to categorize a resource in different ways, such as by purpose, owner, or environment. For more information, see Tagging Incident Manager resources in the Incident Manager User Guide .



69
70
71
# File 'ssm_contacts/cfn_rotation_props.rb', line 69

def tags
  @tags
end

#time_zone_idString (readonly)

The time zone to base the rotation’s activity on, in Internet Assigned Numbers Authority (IANA) format.

For example: "America/Los_Angeles", "UTC", or "Asia/Seoul". For more information, see the Time Zone Database on the IANA website.

Designators for time zones that don’t support Daylight Savings Time rules, such as Pacific Standard Time (PST), are not supported.



62
63
64
# File 'ssm_contacts/cfn_rotation_props.rb', line 62

def time_zone_id
  @time_zone_id
end

Class Method Details

.jsii_propertiesObject



71
72
73
74
75
76
77
78
79
80
# File 'ssm_contacts/cfn_rotation_props.rb', line 71

def self.jsii_properties
  {
    :contact_ids => "contactIds",
    :name => "name",
    :recurrence => "recurrence",
    :start_time => "startTime",
    :time_zone_id => "timeZoneId",
    :tags => "tags",
  }
end

Instance Method Details

#to_jsiiObject



82
83
84
85
86
87
88
89
90
91
92
93
# File 'ssm_contacts/cfn_rotation_props.rb', line 82

def to_jsii
  result = {}
  result.merge!({
    "contactIds" => @contact_ids,
    "name" => @name,
    "recurrence" => @recurrence,
    "startTime" => @start_time,
    "timeZoneId" => @time_zone_id,
    "tags" => @tags,
  })
  result.compact
end