CreateRfc - AWS Managed Services


Creates a new RFC.

To create a request for change, begin by calling CreateRfc. After creating the basic RFC and before submitting it, you can add or update information (Description, ExpectedOutcome, ImplementationPlan, RollbackPlan, and WorstCaseScenario) by using the UpdateRfc operation (UpdateRfc).

When all necessary information has been added, use SubmitRfc to activate the RFC.


Although only the change type (ChangeTypeId and ChangeTypeVersion) and Title are required to initially create an RFC, you must provide values for these fields (either in the original CreateRfc call or by using the corresponding UpdateRfc (UpdateRfc operation) before calling SubmitRfc:

  • RequestedStartTime (CreateRfc and RequestedEndTime, if you want to schedule the RFC. If scheduling is unimportant, leave off these values and execution begins as soon as the RFC is approved. This is part of a feature known as ASAP, or un-scheduled RFC.

  • ExecutionParameters that comply with the JSON ExecutionInputSchema of the change type that is associated with the RFC (CreateRfc or UpdateRfc)

For more information and examples, see Change Management in the AWS Managed Services User Guide.

Request Syntax

{ "ChangeTypeId": "string", "ChangeTypeVersion": "string", "Description": "string", "ExecutionParameters": "string", "ExpectedOutcome": "string", "ImplementationPlan": "string", "Notification": { "Email": { "EmailRecipients": [ "string" ] } }, "RequestedEndTime": "string", "RequestedStartTime": "string", "RollbackPlan": "string", "Title": "string", "WorstCaseScenario": "string" }

Request Parameters

For information about the parameters that are common to all actions, see Common Parameters.

The request accepts the following data in JSON format.


The unique ID of the change type, in the form ct-2ty5seo8rxfsc.

Type: String

Required: Yes


The version of the change type for the request; for example, "1.0".

Type: String

Required: Yes


The description of the RFC.

Type: String

Required: No


The parameters that are required to execute the RFC, submitted in JSON format.

Type: String

Required: No


A description of the effects of the change.

Type: String

Required: No


The actions or steps required to implement the change (for change types that are not automated).

Type: String

Required: No


Create a notification for an existing RFC.

Type: RfcNotification object

Required: No


The end of the change window, expressed in ISO 8601 format. The default format is the basic format (YYYYMMDDThhmmssZ). For example, 2017/02/27 at 2:30 PM would be 20170227T143000Z. An RFC does not fail if the requested end time is exceeded.

Type: String

Required: No


The start of the change window, expressed in ISO 8601 format. The default format is the basic format (YYYYMMDDThhmmssZ). For example, 2017/02/27 at 2:10 PM would be 20170227T141000Z. For best results, set the requested start time to at least 20 minutes past the time that you expect to submit the RFC. Alternatively, you can use the ASAP option, which causes the RFC to be executed as soon as it is approved, to use this option, do not specify any start time. If the RFC does not pass syntax or other checks before the requested start time (if one is set), the RFC is canceled.

Type: String

Required: No


The actions or steps required to undo the change.

Type: String

Required: No


A name for the RFC; this is displayed as the subject of the RFC in the AMS console.

Type: String

Required: Yes


A description of the most unfavorable outcome of the change.

Type: String

Required: No

Response Syntax

{ "RfcId": "string" }

Response Elements

If the action is successful, the service sends back an HTTP 200 response.

The following data is returned in JSON format by the service.


The unique ID (UUID) of the RFC that was created.

Type: String


For information about the errors that are common to all actions, see Common Errors.


An unspecified server error occurred.

HTTP Status Code: 500


A specified argument is not valid.

HTTP Status Code: 400

See Also

For more information about using this API in one of the language-specific AWS SDKs, see the following: