createStage method

Future<Stage> createStage({
  1. required String deploymentId,
  2. required String restApiId,
  3. required String stageName,
  4. bool? cacheClusterEnabled,
  5. CacheClusterSize? cacheClusterSize,
  6. CanarySettings? canarySettings,
  7. String? description,
  8. String? documentationVersion,
  9. Map<String, String>? tags,
  10. bool? tracingEnabled,
  11. Map<String, String>? variables,
})

Creates a new Stage resource that references a pre-existing Deployment for the API.

May throw UnauthorizedException. May throw BadRequestException. May throw NotFoundException. May throw ConflictException. May throw LimitExceededException. May throw TooManyRequestsException.

Parameter deploymentId : Required The identifier of the Deployment resource for the Stage resource.

Parameter restApiId : Required The string identifier of the associated RestApi.

Parameter stageName : Required The name for the Stage resource. Stage names can only contain alphanumeric characters, hyphens, and underscores. Maximum length is 128 characters.

Parameter cacheClusterEnabled : Whether cache clustering is enabled for the stage.

Parameter cacheClusterSize : The stage's cache cluster size.

Parameter canarySettings : The canary deployment settings of this stage.

Parameter description : The description of the Stage resource.

Parameter documentationVersion : The version of the associated API documentation.

Parameter tags : The key-value map of strings. The valid character set is a-zA-Z+-=._:/. The tag key can be up to 128 characters and must not start with aws:. The tag value can be up to 256 characters.

Parameter tracingEnabled : Specifies whether active tracing with X-ray is enabled for the Stage.

Parameter variables : A map that defines the stage variables for the new Stage resource. Variable names can have alphanumeric and underscore characters, and the values must match A-Za-z0-9-._~:/?#&amp;=,+.

Implementation

Future<Stage> createStage({
  required String deploymentId,
  required String restApiId,
  required String stageName,
  bool? cacheClusterEnabled,
  CacheClusterSize? cacheClusterSize,
  CanarySettings? canarySettings,
  String? description,
  String? documentationVersion,
  Map<String, String>? tags,
  bool? tracingEnabled,
  Map<String, String>? variables,
}) async {
  ArgumentError.checkNotNull(deploymentId, 'deploymentId');
  ArgumentError.checkNotNull(restApiId, 'restApiId');
  ArgumentError.checkNotNull(stageName, 'stageName');
  final $payload = <String, dynamic>{
    'deploymentId': deploymentId,
    'stageName': stageName,
    if (cacheClusterEnabled != null)
      'cacheClusterEnabled': cacheClusterEnabled,
    if (cacheClusterSize != null)
      'cacheClusterSize': cacheClusterSize.toValue(),
    if (canarySettings != null) 'canarySettings': canarySettings,
    if (description != null) 'description': description,
    if (documentationVersion != null)
      'documentationVersion': documentationVersion,
    if (tags != null) 'tags': tags,
    if (tracingEnabled != null) 'tracingEnabled': tracingEnabled,
    if (variables != null) 'variables': variables,
  };
  final response = await _protocol.send(
    payload: $payload,
    method: 'POST',
    requestUri: '/restapis/${Uri.encodeComponent(restApiId)}/stages',
    exceptionFnMap: _exceptionFns,
  );
  return Stage.fromJson(response);
}