-
Notifications
You must be signed in to change notification settings - Fork 604
/
api_op_UpdateRuntimeConfiguration.go
175 lines (150 loc) · 6.07 KB
/
api_op_UpdateRuntimeConfiguration.go
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
// Code generated by private/model/cli/gen-api/main.go. DO NOT EDIT.
package gamelift
import (
"context"
"github.com/aws/aws-sdk-go-v2/aws"
"github.com/aws/aws-sdk-go-v2/internal/awsutil"
)
// Represents the input for a request action.
type UpdateRuntimeConfigurationInput struct {
_ struct{} `type:"structure"`
// Unique identifier for a fleet to update run-time configuration for.
//
// FleetId is a required field
FleetId *string `type:"string" required:"true"`
// Instructions for launching server processes on each instance in the fleet.
// Server processes run either a custom game build executable or a Realtime
// Servers script. The run-time configuration lists the types of server processes
// to run on an instance and includes the following configuration settings:
// the server executable or launch script file, launch parameters, and the number
// of processes to run concurrently on each instance. A CreateFleet request
// must include a run-time configuration with at least one server process configuration.
//
// RuntimeConfiguration is a required field
RuntimeConfiguration *RuntimeConfiguration `type:"structure" required:"true"`
}
// String returns the string representation
func (s UpdateRuntimeConfigurationInput) String() string {
return awsutil.Prettify(s)
}
// Validate inspects the fields of the type to determine if they are valid.
func (s *UpdateRuntimeConfigurationInput) Validate() error {
invalidParams := aws.ErrInvalidParams{Context: "UpdateRuntimeConfigurationInput"}
if s.FleetId == nil {
invalidParams.Add(aws.NewErrParamRequired("FleetId"))
}
if s.RuntimeConfiguration == nil {
invalidParams.Add(aws.NewErrParamRequired("RuntimeConfiguration"))
}
if s.RuntimeConfiguration != nil {
if err := s.RuntimeConfiguration.Validate(); err != nil {
invalidParams.AddNested("RuntimeConfiguration", err.(aws.ErrInvalidParams))
}
}
if invalidParams.Len() > 0 {
return invalidParams
}
return nil
}
// Represents the returned data in response to a request action.
type UpdateRuntimeConfigurationOutput struct {
_ struct{} `type:"structure"`
// The run-time configuration currently in force. If the update was successful,
// this object matches the one in the request.
RuntimeConfiguration *RuntimeConfiguration `type:"structure"`
}
// String returns the string representation
func (s UpdateRuntimeConfigurationOutput) String() string {
return awsutil.Prettify(s)
}
const opUpdateRuntimeConfiguration = "UpdateRuntimeConfiguration"
// UpdateRuntimeConfigurationRequest returns a request value for making API operation for
// Amazon GameLift.
//
// Updates the current run-time configuration for the specified fleet, which
// tells Amazon GameLift how to launch server processes on instances in the
// fleet. You can update a fleet's run-time configuration at any time after
// the fleet is created; it does not need to be in an ACTIVE status.
//
// To update run-time configuration, specify the fleet ID and provide a RuntimeConfiguration
// object with an updated set of server process configurations.
//
// Each instance in a Amazon GameLift fleet checks regularly for an updated
// run-time configuration and changes how it launches server processes to comply
// with the latest version. Existing server processes are not affected by the
// update; run-time configuration changes are applied gradually as existing
// processes shut down and new processes are launched during Amazon GameLift's
// normal process recycling activity.
//
// Learn more
//
// Working with Fleets (https://docs.aws.amazon.com/gamelift/latest/developerguide/fleets-intro.html).
//
// Related operations
//
// * CreateFleet
//
// * ListFleets
//
// * DeleteFleet
//
// * Describe fleets: DescribeFleetAttributes DescribeFleetCapacity DescribeFleetPortSettings
// DescribeFleetUtilization DescribeRuntimeConfiguration DescribeEC2InstanceLimits
// DescribeFleetEvents
//
// * Update fleets: UpdateFleetAttributes UpdateFleetCapacity UpdateFleetPortSettings
// UpdateRuntimeConfiguration
//
// * Manage fleet actions: StartFleetActions StopFleetActions
//
// // Example sending a request using UpdateRuntimeConfigurationRequest.
// req := client.UpdateRuntimeConfigurationRequest(params)
// resp, err := req.Send(context.TODO())
// if err == nil {
// fmt.Println(resp)
// }
//
// Please also see https://docs.aws.amazon.com/goto/WebAPI/gamelift-2015-10-01/UpdateRuntimeConfiguration
func (c *Client) UpdateRuntimeConfigurationRequest(input *UpdateRuntimeConfigurationInput) UpdateRuntimeConfigurationRequest {
op := &aws.Operation{
Name: opUpdateRuntimeConfiguration,
HTTPMethod: "POST",
HTTPPath: "/",
}
if input == nil {
input = &UpdateRuntimeConfigurationInput{}
}
req := c.newRequest(op, input, &UpdateRuntimeConfigurationOutput{})
return UpdateRuntimeConfigurationRequest{Request: req, Input: input, Copy: c.UpdateRuntimeConfigurationRequest}
}
// UpdateRuntimeConfigurationRequest is the request type for the
// UpdateRuntimeConfiguration API operation.
type UpdateRuntimeConfigurationRequest struct {
*aws.Request
Input *UpdateRuntimeConfigurationInput
Copy func(*UpdateRuntimeConfigurationInput) UpdateRuntimeConfigurationRequest
}
// Send marshals and sends the UpdateRuntimeConfiguration API request.
func (r UpdateRuntimeConfigurationRequest) Send(ctx context.Context) (*UpdateRuntimeConfigurationResponse, error) {
r.Request.SetContext(ctx)
err := r.Request.Send()
if err != nil {
return nil, err
}
resp := &UpdateRuntimeConfigurationResponse{
UpdateRuntimeConfigurationOutput: r.Request.Data.(*UpdateRuntimeConfigurationOutput),
response: &aws.Response{Request: r.Request},
}
return resp, nil
}
// UpdateRuntimeConfigurationResponse is the response type for the
// UpdateRuntimeConfiguration API operation.
type UpdateRuntimeConfigurationResponse struct {
*UpdateRuntimeConfigurationOutput
response *aws.Response
}
// SDKResponseMetdata returns the response metadata for the
// UpdateRuntimeConfiguration request.
func (r *UpdateRuntimeConfigurationResponse) SDKResponseMetdata() *aws.Response {
return r.response
}