updateThemeForStack method

Future<UpdateThemeForStackResult> updateThemeForStack({
  1. required String stackName,
  2. List<ThemeAttribute>? attributesToDelete,
  3. S3Location? faviconS3Location,
  4. List<ThemeFooterLink>? footerLinks,
  5. S3Location? organizationLogoS3Location,
  6. ThemeState? state,
  7. ThemeStyling? themeStyling,
  8. String? titleText,
})

Updates custom branding that customizes the appearance of the streaming application catalog page.

May throw ConcurrentModificationException. May throw InvalidAccountStatusException. May throw InvalidParameterCombinationException. May throw LimitExceededException. May throw OperationNotPermittedException. May throw ResourceNotFoundException.

Parameter stackName : The name of the stack for the theme.

Parameter attributesToDelete : The attributes to delete.

Parameter faviconS3Location : The S3 location of the favicon. The favicon enables users to recognize their application streaming site in a browser full of tabs or bookmarks. It is displayed at the top of the browser tab for the application streaming site during users' streaming sessions.

Parameter footerLinks : The links that are displayed in the footer of the streaming application catalog page. These links are helpful resources for users, such as the organization's IT support and product marketing sites.

Parameter organizationLogoS3Location : The organization logo that appears on the streaming application catalog page.

Parameter state : Specifies whether custom branding should be applied to catalog page or not.

Parameter themeStyling : The color theme that is applied to website links, text, and buttons. These colors are also applied as accents in the background for the streaming application catalog page.

Parameter titleText : The title that is displayed at the top of the browser tab during users' application streaming sessions.

Implementation

Future<UpdateThemeForStackResult> updateThemeForStack({
  required String stackName,
  List<ThemeAttribute>? attributesToDelete,
  S3Location? faviconS3Location,
  List<ThemeFooterLink>? footerLinks,
  S3Location? organizationLogoS3Location,
  ThemeState? state,
  ThemeStyling? themeStyling,
  String? titleText,
}) async {
  final headers = <String, String>{
    'Content-Type': 'application/x-amz-json-1.1',
    'X-Amz-Target': 'PhotonAdminProxyService.UpdateThemeForStack'
  };
  final jsonResponse = await _protocol.send(
    method: 'POST',
    requestUri: '/',
    exceptionFnMap: _exceptionFns,
    // TODO queryParams
    headers: headers,
    payload: {
      'StackName': stackName,
      if (attributesToDelete != null)
        'AttributesToDelete': attributesToDelete.map((e) => e.value).toList(),
      if (faviconS3Location != null) 'FaviconS3Location': faviconS3Location,
      if (footerLinks != null) 'FooterLinks': footerLinks,
      if (organizationLogoS3Location != null)
        'OrganizationLogoS3Location': organizationLogoS3Location,
      if (state != null) 'State': state.value,
      if (themeStyling != null) 'ThemeStyling': themeStyling.value,
      if (titleText != null) 'TitleText': titleText,
    },
  );

  return UpdateThemeForStackResult.fromJson(jsonResponse.body);
}