1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185
|
// Code generated by smithy-go-codegen DO NOT EDIT.
package ssmcontacts
import (
"context"
"fmt"
awsmiddleware "github.com/aws/aws-sdk-go-v2/aws/middleware"
"github.com/aws/aws-sdk-go-v2/service/ssmcontacts/types"
"github.com/aws/smithy-go/middleware"
smithyhttp "github.com/aws/smithy-go/transport/http"
"time"
)
// Creates a rotation in an on-call schedule.
func (c *Client) CreateRotation(ctx context.Context, params *CreateRotationInput, optFns ...func(*Options)) (*CreateRotationOutput, error) {
if params == nil {
params = &CreateRotationInput{}
}
result, metadata, err := c.invokeOperation(ctx, "CreateRotation", params, optFns, c.addOperationCreateRotationMiddlewares)
if err != nil {
return nil, err
}
out := result.(*CreateRotationOutput)
out.ResultMetadata = metadata
return out, nil
}
type CreateRotationInput struct {
// The Amazon Resource Names (ARNs) of the contacts to add to the rotation.
//
// The order that you list the contacts in is their shift order in the rotation
// schedule. To change the order of the contact's shifts, use the UpdateRotationoperation.
//
// This member is required.
ContactIds []string
// The name of the rotation.
//
// This member is required.
Name *string
// Information about the rule that specifies when a shift's team members rotate.
//
// This member is required.
Recurrence *types.RecurrenceSettings
// 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) and Pacific Daylight Time (PDT), are not
// supported.
//
// [Time Zone Database]: https://www.iana.org/time-zones
//
// This member is required.
TimeZoneId *string
// A token that ensures that the operation is called only once with the specified
// details.
IdempotencyToken *string
// The date and time that the rotation goes into effect.
StartTime *time.Time
// 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.
//
// [Tagging Incident Manager resources]: https://docs.aws.amazon.com/incident-manager/latest/userguide/tagging.html
Tags []types.Tag
noSmithyDocumentSerde
}
type CreateRotationOutput struct {
// The Amazon Resource Name (ARN) of the created rotation.
//
// This member is required.
RotationArn *string
// Metadata pertaining to the operation's result.
ResultMetadata middleware.Metadata
noSmithyDocumentSerde
}
func (c *Client) addOperationCreateRotationMiddlewares(stack *middleware.Stack, options Options) (err error) {
if err := stack.Serialize.Add(&setOperationInputMiddleware{}, middleware.After); err != nil {
return err
}
err = stack.Serialize.Add(&awsAwsjson11_serializeOpCreateRotation{}, middleware.After)
if err != nil {
return err
}
err = stack.Deserialize.Add(&awsAwsjson11_deserializeOpCreateRotation{}, middleware.After)
if err != nil {
return err
}
if err := addProtocolFinalizerMiddlewares(stack, options, "CreateRotation"); err != nil {
return fmt.Errorf("add protocol finalizers: %v", err)
}
if err = addlegacyEndpointContextSetter(stack, options); err != nil {
return err
}
if err = addSetLoggerMiddleware(stack, options); err != nil {
return err
}
if err = addClientRequestID(stack); err != nil {
return err
}
if err = addComputeContentLength(stack); err != nil {
return err
}
if err = addResolveEndpointMiddleware(stack, options); err != nil {
return err
}
if err = addComputePayloadSHA256(stack); err != nil {
return err
}
if err = addRetry(stack, options); err != nil {
return err
}
if err = addRawResponseToMetadata(stack); err != nil {
return err
}
if err = addRecordResponseTiming(stack); err != nil {
return err
}
if err = addClientUserAgent(stack, options); err != nil {
return err
}
if err = smithyhttp.AddErrorCloseResponseBodyMiddleware(stack); err != nil {
return err
}
if err = smithyhttp.AddCloseResponseBodyMiddleware(stack); err != nil {
return err
}
if err = addSetLegacyContextSigningOptionsMiddleware(stack); err != nil {
return err
}
if err = addTimeOffsetBuild(stack, c); err != nil {
return err
}
if err = addUserAgentRetryMode(stack, options); err != nil {
return err
}
if err = addOpCreateRotationValidationMiddleware(stack); err != nil {
return err
}
if err = stack.Initialize.Add(newServiceMetadataMiddleware_opCreateRotation(options.Region), middleware.Before); err != nil {
return err
}
if err = addRecursionDetection(stack); err != nil {
return err
}
if err = addRequestIDRetrieverMiddleware(stack); err != nil {
return err
}
if err = addResponseErrorMiddleware(stack); err != nil {
return err
}
if err = addRequestResponseLogging(stack, options); err != nil {
return err
}
if err = addDisableHTTPSMiddleware(stack, options); err != nil {
return err
}
return nil
}
func newServiceMetadataMiddleware_opCreateRotation(region string) *awsmiddleware.RegisterServiceMetadata {
return &awsmiddleware.RegisterServiceMetadata{
Region: region,
ServiceID: ServiceID,
OperationName: "CreateRotation",
}
}
|