File: types.go

package info (click to toggle)
golang-github-aws-aws-sdk-go-v2 1.30.3-1
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid, trixie
  • size: 662,428 kB
  • sloc: java: 16,875; makefile: 432; sh: 175
file content (250 lines) | stat: -rw-r--r-- 9,163 bytes parent folder | download | duplicates (3)
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
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
// Code generated by smithy-go-codegen DO NOT EDIT.

package types

import (
	smithydocument "github.com/aws/smithy-go/document"
	"time"
)

// The Amazon CloudWatch Logs log group for the simulation. For more information
// about log groups, see [Working with log groups and log streams]in the Amazon CloudWatch Logs User Guide.
//
// [Working with log groups and log streams]: https://docs.aws.amazon.com/AmazonCloudWatch/latest/logs/Working-with-log-groups-and-streams.html
type CloudWatchLogsLogGroup struct {

	// The Amazon Resource Name (ARN) of the Amazon CloudWatch Logs log group for the
	// simulation. For more information about ARNs, see [Amazon Resource Names (ARNs)]in the Amazon Web Services
	// General Reference. For more information about log groups, see [Working with log groups and log streams]in the Amazon
	// CloudWatch Logs User Guide.
	//
	// [Working with log groups and log streams]: https://docs.aws.amazon.com/AmazonCloudWatch/latest/logs/Working-with-log-groups-and-streams.html
	// [Amazon Resource Names (ARNs)]: https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html
	LogGroupArn *string

	noSmithyDocumentSerde
}

// A collection of app instances that run the same executable app code and have
// the same launch options and commands.
//
// For more information about domains, see [Key concepts: Domains] in the SimSpace Weaver User Guide.
//
// [Key concepts: Domains]: https://docs.aws.amazon.com/simspaceweaver/latest/userguide/what-is_key-concepts.html#what-is_key-concepts_domains
type Domain struct {

	// The type of lifecycle management for apps in the domain. Indicates whether apps
	// in this domain are managed (SimSpace Weaver starts and stops the apps) or
	// unmanaged (you must start and stop the apps).
	//
	// Lifecycle types
	//
	//   - PerWorker – Managed: SimSpace Weaver starts one app on each worker.
	//
	//   - BySpatialSubdivision – Managed: SimSpace Weaver starts one app for each
	//   spatial partition.
	//
	//   - ByRequest – Unmanaged: You use the StartApp API to start the apps and use
	//   the StopApp API to stop the apps.
	Lifecycle LifecycleManagementStrategy

	// The name of the domain.
	Name *string

	noSmithyDocumentSerde
}

// Options that apply when the app starts. These options override default behavior.
type LaunchOverrides struct {

	// App launch commands and command line parameters that override the launch
	// command configured in the simulation schema.
	LaunchCommands []string

	noSmithyDocumentSerde
}

// A collection of additional state information, such as domain and clock
// configuration.
type LiveSimulationState struct {

	// A list of simulation clocks.
	//
	// At this time, a simulation has only one clock.
	Clocks []SimulationClock

	// A list of domains for the simulation. For more information about domains, see [Key concepts: Domains]
	// in the SimSpace Weaver User Guide.
	//
	// [Key concepts: Domains]: https://docs.aws.amazon.com/simspaceweaver/latest/userguide/what-is_key-concepts.html#what-is_key-concepts_domains
	Domains []Domain

	noSmithyDocumentSerde
}

// The location where SimSpace Weaver sends simulation log data.
type LogDestination struct {

	// An Amazon CloudWatch Logs log group that stores simulation log data. For more
	// information about log groups, see [Working with log groups and log streams]in the Amazon CloudWatch Logs User Guide.
	//
	// [Working with log groups and log streams]: https://docs.aws.amazon.com/AmazonCloudWatch/latest/logs/Working-with-log-groups-and-streams.html
	CloudWatchLogsLogGroup *CloudWatchLogsLogGroup

	noSmithyDocumentSerde
}

// The logging configuration for a simulation.
type LoggingConfiguration struct {

	// A list of the locations where SimSpace Weaver sends simulation log data.
	Destinations []LogDestination

	noSmithyDocumentSerde
}

// An Amazon S3 bucket and optional folder (object key prefix) where SimSpace
// Weaver creates a file.
type S3Destination struct {

	// The name of an Amazon S3 bucket. For more information about buckets, see [Creating, configuring, and working with Amazon S3 buckets] in
	// the Amazon Simple Storage Service User Guide.
	//
	// [Creating, configuring, and working with Amazon S3 buckets]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/creating-buckets-s3.html
	//
	// This member is required.
	BucketName *string

	// A string prefix for an Amazon S3 object key. It's usually a folder name. For
	// more information about folders in Amazon S3, see [Organizing objects in the Amazon S3 console using folders]in the Amazon Simple Storage
	// Service User Guide.
	//
	// [Organizing objects in the Amazon S3 console using folders]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/using-folders.html
	ObjectKeyPrefix *string

	noSmithyDocumentSerde
}

// A location in Amazon Simple Storage Service (Amazon S3) where SimSpace Weaver
// stores simulation data, such as your app .zip files and schema file. For more
// information about Amazon S3, see the [Amazon Simple Storage Service User Guide].
//
// [Amazon Simple Storage Service User Guide]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/Welcome.html
type S3Location struct {

	// The name of an Amazon S3 bucket. For more information about buckets, see [Creating, configuring, and working with Amazon S3 buckets] in
	// the Amazon Simple Storage Service User Guide.
	//
	// [Creating, configuring, and working with Amazon S3 buckets]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/creating-buckets-s3.html
	//
	// This member is required.
	BucketName *string

	// The key name of an object in Amazon S3. For more information about Amazon S3
	// objects and object keys, see [Uploading, downloading, and working with objects in Amazon S3]in the Amazon Simple Storage Service User Guide.
	//
	// [Uploading, downloading, and working with objects in Amazon S3]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/uploading-downloading-objects.html
	//
	// This member is required.
	ObjectKey *string

	noSmithyDocumentSerde
}

// Information about the network endpoint that you can use to connect to your
// custom or service app. For more information about SimSpace Weaver apps, see [Key concepts: Apps]in
// the SimSpace Weaver User Guide..
//
// [Key concepts: Apps]: https://docs.aws.amazon.com/simspaceweaver/latest/userguide/what-is_key-concepts.html#what-is_key-concepts_apps
type SimulationAppEndpointInfo struct {

	// The IP address of the app. SimSpace Weaver dynamically assigns this IP address
	// when the app starts.
	Address *string

	// The inbound TCP/UDP port numbers of the app. The combination of an IP address
	// and a port number form a network endpoint.
	IngressPortMappings []SimulationAppPortMapping

	noSmithyDocumentSerde
}

// A collection of metadata about the app.
type SimulationAppMetadata struct {

	// The domain of the app. For more information about domains, see [Key concepts: Domains] in the SimSpace
	// Weaver User Guide.
	//
	// [Key concepts: Domains]: https://docs.aws.amazon.com/simspaceweaver/latest/userguide/what-is_key-concepts.html#what-is_key-concepts_domains
	Domain *string

	// The name of the app.
	Name *string

	// The name of the simulation of the app.
	Simulation *string

	// The current status of the app.
	Status SimulationAppStatus

	// The desired status of the app.
	TargetStatus SimulationAppTargetStatus

	noSmithyDocumentSerde
}

// A collection of TCP/UDP ports for a custom or service app.
type SimulationAppPortMapping struct {

	// The TCP/UDP port number of the running app. SimSpace Weaver dynamically assigns
	// this port number when the app starts. SimSpace Weaver maps the Declared port to
	// the Actual port. Clients connect to the app using the app's IP address and the
	// Actual port number.
	Actual *int32

	// The TCP/UDP port number of the app, declared in the simulation schema. SimSpace
	// Weaver maps the Declared port to the Actual port. The source code for the app
	// should bind to the Declared port.
	Declared *int32

	noSmithyDocumentSerde
}

// Status information about the simulation clock.
type SimulationClock struct {

	// The current status of the simulation clock.
	Status ClockStatus

	// The desired status of the simulation clock.
	TargetStatus ClockTargetStatus

	noSmithyDocumentSerde
}

// A collection of data about the simulation.
type SimulationMetadata struct {

	// The Amazon Resource Name (ARN) of the simulation. For more information about
	// ARNs, see [Amazon Resource Names (ARNs)]in the Amazon Web Services General Reference.
	//
	// [Amazon Resource Names (ARNs)]: https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html
	Arn *string

	// The time when the simulation was created, expressed as the number of seconds
	// and milliseconds in UTC since the Unix epoch (0:0:0.000, January 1, 1970).
	CreationTime *time.Time

	// The name of the simulation.
	Name *string

	// The current status of the simulation.
	Status SimulationStatus

	// The desired status of the simulation.
	TargetStatus SimulationTargetStatus

	noSmithyDocumentSerde
}

type noSmithyDocumentSerde = smithydocument.NoSerde