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 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 276 277 278 279 280 281 282 283 284 285 286 287 288 289 290 291 292 293 294 295 296 297 298 299 300 301 302 303 304 305 306 307 308 309 310 311 312 313 314 315 316 317 318 319 320 321 322 323 324 325 326 327 328 329 330 331 332 333 334 335 336 337 338 339 340 341 342 343 344 345 346 347 348 349 350 351 352 353 354 355 356 357 358 359 360 361 362 363 364 365 366 367 368 369 370 371 372 373 374 375 376 377 378 379 380 381 382 383 384 385 386 387 388 389 390 391 392 393 394 395 396 397 398 399 400 401 402 403 404 405 406 407 408 409 410 411 412 413 414 415 416 417 418 419 420 421 422 423 424 425 426 427 428 429 430 431 432 433 434 435 436 437 438 439 440 441 442 443 444 445 446 447 448 449 450 451 452 453 454 455 456 457 458 459 460 461 462 463 464
|
// Code generated by smithy-go-codegen DO NOT EDIT.
package types
import (
smithydocument "github.com/aws/smithy-go/document"
"time"
)
// An action defines the tasks that the extension performs during the AppConfig
// workflow. Each action includes an action point such as
// ON_CREATE_HOSTED_CONFIGURATION , PRE_DEPLOYMENT , or ON_DEPLOYMENT . Each action
// also includes a name, a URI to an Lambda function, and an Amazon Resource Name
// (ARN) for an Identity and Access Management assume role. You specify the name,
// URI, and ARN for each action point defined in the extension. You can specify the
// following actions for an extension:
//
// - PRE_CREATE_HOSTED_CONFIGURATION_VERSION
//
// - PRE_START_DEPLOYMENT
//
// - ON_DEPLOYMENT_START
//
// - ON_DEPLOYMENT_STEP
//
// - ON_DEPLOYMENT_BAKING
//
// - ON_DEPLOYMENT_COMPLETE
//
// - ON_DEPLOYMENT_ROLLED_BACK
type Action struct {
// Information about the action.
Description *string
// The action name.
Name *string
// An Amazon Resource Name (ARN) for an Identity and Access Management assume role.
RoleArn *string
// The extension URI associated to the action point in the extension definition.
// The URI can be an Amazon Resource Name (ARN) for one of the following: an Lambda
// function, an Amazon Simple Queue Service queue, an Amazon Simple Notification
// Service topic, or the Amazon EventBridge default event bus.
Uri *string
noSmithyDocumentSerde
}
// An extension that was invoked as part of a deployment event.
type ActionInvocation struct {
// The name of the action.
ActionName *string
// The error code when an extension invocation fails.
ErrorCode *string
// The error message when an extension invocation fails.
ErrorMessage *string
// The name, the ID, or the Amazon Resource Name (ARN) of the extension.
ExtensionIdentifier *string
// A system-generated ID for this invocation.
InvocationId *string
// An Amazon Resource Name (ARN) for an Identity and Access Management assume role.
RoleArn *string
// The extension URI associated to the action point in the extension definition.
// The URI can be an Amazon Resource Name (ARN) for one of the following: an Lambda
// function, an Amazon Simple Queue Service queue, an Amazon Simple Notification
// Service topic, or the Amazon EventBridge default event bus.
Uri *string
noSmithyDocumentSerde
}
type Application struct {
// The description of the application.
Description *string
// The application ID.
Id *string
// The application name.
Name *string
noSmithyDocumentSerde
}
// An extension that was invoked during a deployment.
type AppliedExtension struct {
// The system-generated ID for the association.
ExtensionAssociationId *string
// The system-generated ID of the extension.
ExtensionId *string
// One or more parameters for the actions called by the extension.
Parameters map[string]string
// The extension version number.
VersionNumber int32
noSmithyDocumentSerde
}
// Detailed information about the input that failed to satisfy the constraints
// specified by a call.
//
// The following types satisfy this interface:
//
// BadRequestDetailsMemberInvalidConfiguration
type BadRequestDetails interface {
isBadRequestDetails()
}
// Detailed information about the bad request exception error when creating a
// hosted configuration version.
type BadRequestDetailsMemberInvalidConfiguration struct {
Value []InvalidConfigurationDetail
noSmithyDocumentSerde
}
func (*BadRequestDetailsMemberInvalidConfiguration) isBadRequestDetails() {}
// A summary of a configuration profile.
type ConfigurationProfileSummary struct {
// The application ID.
ApplicationId *string
// The ID of the configuration profile.
Id *string
// The URI location of the configuration.
LocationUri *string
// The name of the configuration profile.
Name *string
// The type of configurations contained in the profile. AppConfig supports feature
// flags and freeform configurations. We recommend you create feature flag
// configurations to enable or disable new features and freeform configurations to
// distribute configurations to an application. When calling this API, enter one of
// the following values for Type :
//
// AWS.AppConfig.FeatureFlags
//
// AWS.Freeform
Type *string
// The types of validators in the configuration profile.
ValidatorTypes []ValidatorType
noSmithyDocumentSerde
}
// An object that describes a deployment event.
type DeploymentEvent struct {
// The list of extensions that were invoked as part of the deployment.
ActionInvocations []ActionInvocation
// A description of the deployment event. Descriptions include, but are not
// limited to, the following:
//
// - The Amazon Web Services account or the Amazon CloudWatch alarm ARN that
// initiated a rollback.
//
// - The percentage of hosts that received the deployment.
//
// - A recommendation to attempt a new deployment (in the case of an internal
// error).
Description *string
// The type of deployment event. Deployment event types include the start, stop,
// or completion of a deployment; a percentage update; the start or stop of a bake
// period; and the start or completion of a rollback.
EventType DeploymentEventType
// The date and time the event occurred.
OccurredAt *time.Time
// The entity that triggered the deployment event. Events can be triggered by a
// user, AppConfig, an Amazon CloudWatch alarm, or an internal error.
TriggeredBy TriggeredBy
noSmithyDocumentSerde
}
type DeploymentStrategy struct {
// Total amount of time the deployment lasted.
DeploymentDurationInMinutes int32
// The description of the deployment strategy.
Description *string
// The amount of time that AppConfig monitored for alarms before considering the
// deployment to be complete and no longer eligible for automatic rollback.
FinalBakeTimeInMinutes int32
// The percentage of targets that received a deployed configuration during each
// interval.
GrowthFactor *float32
// The algorithm used to define how percentage grew over time.
GrowthType GrowthType
// The deployment strategy ID.
Id *string
// The name of the deployment strategy.
Name *string
// Save the deployment strategy to a Systems Manager (SSM) document.
ReplicateTo ReplicateTo
noSmithyDocumentSerde
}
// Information about the deployment.
type DeploymentSummary struct {
// Time the deployment completed.
CompletedAt *time.Time
// The name of the configuration.
ConfigurationName *string
// The version of the configuration.
ConfigurationVersion *string
// Total amount of time the deployment lasted.
DeploymentDurationInMinutes int32
// The sequence number of the deployment.
DeploymentNumber int32
// The amount of time that AppConfig monitors for alarms before considering the
// deployment to be complete and no longer eligible for automatic rollback.
FinalBakeTimeInMinutes int32
// The percentage of targets to receive a deployed configuration during each
// interval.
GrowthFactor *float32
// The algorithm used to define how percentage grows over time.
GrowthType GrowthType
// The percentage of targets for which the deployment is available.
PercentageComplete *float32
// Time the deployment started.
StartedAt *time.Time
// The state of the deployment.
State DeploymentState
// A user-defined label for an AppConfig hosted configuration version.
VersionLabel *string
noSmithyDocumentSerde
}
type Environment struct {
// The application ID.
ApplicationId *string
// The description of the environment.
Description *string
// The environment ID.
Id *string
// Amazon CloudWatch alarms monitored during the deployment.
Monitors []Monitor
// The name of the environment.
Name *string
// The state of the environment. An environment can be in one of the following
// states: READY_FOR_DEPLOYMENT , DEPLOYING , ROLLING_BACK , or ROLLED_BACK
State EnvironmentState
noSmithyDocumentSerde
}
// Information about an association between an extension and an AppConfig resource
// such as an application, environment, or configuration profile. Call
// GetExtensionAssociation to get more information about an association.
type ExtensionAssociationSummary struct {
// The system-generated Amazon Resource Name (ARN) for the extension.
ExtensionArn *string
// The extension association ID. This ID is used to call other ExtensionAssociation
// API actions such as GetExtensionAssociation or DeleteExtensionAssociation .
Id *string
// The ARNs of applications, configuration profiles, or environments defined in
// the association.
ResourceArn *string
noSmithyDocumentSerde
}
// Information about an extension. Call GetExtension to get more information about
// an extension.
type ExtensionSummary struct {
// The system-generated Amazon Resource Name (ARN) for the extension.
Arn *string
// Information about the extension.
Description *string
// The system-generated ID of the extension.
Id *string
// The extension name.
Name *string
// The extension version number.
VersionNumber int32
noSmithyDocumentSerde
}
// Information about the configuration.
type HostedConfigurationVersionSummary struct {
// The application ID.
ApplicationId *string
// The configuration profile ID.
ConfigurationProfileId *string
// A standard MIME type describing the format of the configuration content. For
// more information, see [Content-Type].
//
// [Content-Type]: https://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html#sec14.17
ContentType *string
// A description of the configuration.
Description *string
// The Amazon Resource Name of the Key Management Service key that was used to
// encrypt this specific version of the configuration data in the AppConfig hosted
// configuration store.
KmsKeyArn *string
// A user-defined label for an AppConfig hosted configuration version.
VersionLabel *string
// The configuration version.
VersionNumber int32
noSmithyDocumentSerde
}
// Detailed information about the bad request exception error when creating a
// hosted configuration version.
type InvalidConfigurationDetail struct {
// The invalid or out-of-range validation constraint in your JSON schema that
// failed validation.
Constraint *string
// Location of the validation constraint in the configuration JSON schema that
// failed validation.
Location *string
// The reason for an invalid configuration error.
Reason *string
// The type of error for an invalid configuration.
Type *string
// Details about an error with Lambda when a synchronous extension experiences an
// error during an invocation.
Value *string
noSmithyDocumentSerde
}
// Amazon CloudWatch alarms to monitor during the deployment process.
type Monitor struct {
// Amazon Resource Name (ARN) of the Amazon CloudWatch alarm.
//
// This member is required.
AlarmArn *string
// ARN of an Identity and Access Management (IAM) role for AppConfig to monitor
// AlarmArn .
AlarmRoleArn *string
noSmithyDocumentSerde
}
// A value such as an Amazon Resource Name (ARN) or an Amazon Simple Notification
// Service topic entered in an extension when invoked. Parameter values are
// specified in an extension association. For more information about extensions,
// see [Extending workflows]in the AppConfig User Guide.
//
// [Extending workflows]: https://docs.aws.amazon.com/appconfig/latest/userguide/working-with-appconfig-extensions.html
type Parameter struct {
// Information about the parameter.
Description *string
// Indicates whether this parameter's value can be supplied at the extension's
// action point instead of during extension association. Dynamic parameters can't
// be marked Required .
Dynamic bool
// A parameter value must be specified in the extension association.
Required bool
noSmithyDocumentSerde
}
// A validator provides a syntactic or semantic check to ensure the configuration
// that you want to deploy functions as intended. To validate your application
// configuration data, you provide a schema or an Amazon Web Services Lambda
// function that runs against the configuration. The configuration deployment or
// update can only proceed when the configuration data is valid.
type Validator struct {
// Either the JSON Schema content or the Amazon Resource Name (ARN) of an Lambda
// function.
//
// This member is required.
Content *string
// AppConfig supports validators of type JSON_SCHEMA and LAMBDA
//
// This member is required.
Type ValidatorType
noSmithyDocumentSerde
}
type noSmithyDocumentSerde = smithydocument.NoSerde
// UnknownUnionMember is returned when a union member is returned over the wire,
// but has an unknown tag.
type UnknownUnionMember struct {
Tag string
Value []byte
noSmithyDocumentSerde
}
func (*UnknownUnionMember) isBadRequestDetails() {}
|