createProjectProfile method

Future<CreateProjectProfileOutput> createProjectProfile({
  1. required String domainIdentifier,
  2. required String name,
  3. bool? allowCustomProjectResourceTags,
  4. String? description,
  5. String? domainUnitIdentifier,
  6. List<EnvironmentConfiguration>? environmentConfigurations,
  7. List<ResourceTagParameter>? projectResourceTags,
  8. String? projectResourceTagsDescription,
  9. Status? status,
})

Creates a project profile.

May throw AccessDeniedException. May throw ConflictException. May throw InternalServerException. May throw ResourceNotFoundException. May throw ServiceQuotaExceededException. May throw ThrottlingException. May throw ValidationException.

Parameter domainIdentifier : A domain ID of the project profile.

Parameter name : Project profile name.

Parameter allowCustomProjectResourceTags : Specifies whether custom project resource tags are supported.

Parameter description : A description of a project profile.

Parameter domainUnitIdentifier : A domain unit ID of the project profile.

Parameter environmentConfigurations : Environment configurations of the project profile.

Parameter projectResourceTags : The resource tags of the project profile.

Parameter projectResourceTagsDescription : Field viewable through the UI that provides a project user with the allowed resource tag specifications.

Parameter status : Project profile status.

Implementation

Future<CreateProjectProfileOutput> createProjectProfile({
  required String domainIdentifier,
  required String name,
  bool? allowCustomProjectResourceTags,
  String? description,
  String? domainUnitIdentifier,
  List<EnvironmentConfiguration>? environmentConfigurations,
  List<ResourceTagParameter>? projectResourceTags,
  String? projectResourceTagsDescription,
  Status? status,
}) async {
  final $payload = <String, dynamic>{
    'name': name,
    if (allowCustomProjectResourceTags != null)
      'allowCustomProjectResourceTags': allowCustomProjectResourceTags,
    if (description != null) 'description': description,
    if (domainUnitIdentifier != null)
      'domainUnitIdentifier': domainUnitIdentifier,
    if (environmentConfigurations != null)
      'environmentConfigurations': environmentConfigurations,
    if (projectResourceTags != null)
      'projectResourceTags': projectResourceTags,
    if (projectResourceTagsDescription != null)
      'projectResourceTagsDescription': projectResourceTagsDescription,
    if (status != null) 'status': status.value,
  };
  final response = await _protocol.send(
    payload: $payload,
    method: 'POST',
    requestUri:
        '/v2/domains/${Uri.encodeComponent(domainIdentifier)}/project-profiles',
    exceptionFnMap: _exceptionFns,
  );
  return CreateProjectProfileOutput.fromJson(response);
}