All Downloads are FREE. Search and download functionalities are using the official Maven repository.

io.github.vigoo.zioaws.elasticbeanstalk.package.scala Maven / Gradle / Ivy

package io.github.vigoo.zioaws
import io.github.vigoo.zioaws.elasticbeanstalk.model.UpdateConfigurationTemplateResponse.ReadOnly
import software.amazon.awssdk.services.elasticbeanstalk.model.{
  ComposeEnvironmentsResponse,
  CreateApplicationVersionResponse,
  ListPlatformBranchesResponse,
  UpdateApplicationRequest,
  DescribeEnvironmentManagedActionHistoryResponse,
  DescribeEnvironmentResourcesResponse,
  DescribeEventsResponse,
  CreatePlatformVersionRequest,
  EnvironmentDescription,
  DeleteApplicationVersionResponse,
  DeleteConfigurationTemplateRequest,
  AssociateEnvironmentOperationsRoleResponse,
  DeleteApplicationRequest,
  AssociateEnvironmentOperationsRoleRequest,
  DeleteApplicationVersionRequest,
  UpdateTagsForResourceRequest,
  DescribeEnvironmentHealthRequest,
  UpdateApplicationVersionRequest,
  RebuildEnvironmentRequest,
  ApplicationVersionDescription,
  ApplyEnvironmentManagedActionRequest,
  UpdateTagsForResourceResponse,
  DescribeEnvironmentManagedActionsResponse,
  CheckDnsAvailabilityRequest,
  CreateApplicationVersionRequest,
  DescribePlatformVersionResponse,
  RestartAppServerResponse,
  UpdateConfigurationTemplateRequest,
  DeleteEnvironmentConfigurationResponse,
  UpdateConfigurationTemplateResponse,
  PlatformBranchSummary,
  UpdateApplicationResourceLifecycleRequest,
  DescribeEventsRequest,
  UpdateEnvironmentRequest,
  SwapEnvironmentCnamEsResponse,
  DescribeEnvironmentResourcesRequest,
  CreateStorageLocationResponse,
  UpdateApplicationResponse,
  ListAvailableSolutionStacksRequest,
  ListPlatformBranchesRequest,
  RequestEnvironmentInfoRequest,
  CreateApplicationRequest,
  ListTagsForResourceRequest,
  DescribeEnvironmentsResponse,
  RetrieveEnvironmentInfoRequest,
  SwapEnvironmentCnamEsRequest,
  CheckDnsAvailabilityResponse,
  DescribeEnvironmentsRequest,
  DeletePlatformVersionRequest,
  CreateConfigurationTemplateResponse,
  DescribeInstancesHealthResponse,
  DeleteConfigurationTemplateResponse,
  UpdateApplicationVersionResponse,
  DescribeApplicationsRequest,
  DescribeInstancesHealthRequest,
  UpdateEnvironmentResponse,
  ComposeEnvironmentsRequest,
  DescribeConfigurationSettingsRequest,
  DescribeApplicationVersionsRequest,
  ListTagsForResourceResponse,
  DescribeApplicationVersionsResponse,
  AbortEnvironmentUpdateResponse,
  UpdateApplicationResourceLifecycleResponse,
  ListPlatformVersionsRequest,
  DisassociateEnvironmentOperationsRoleRequest,
  DescribePlatformVersionRequest,
  CreateConfigurationTemplateRequest,
  DescribeConfigurationOptionsRequest,
  ApplyEnvironmentManagedActionResponse,
  ValidateConfigurationSettingsResponse,
  PlatformSummary,
  CreateApplicationResponse,
  DeletePlatformVersionResponse,
  DeleteEnvironmentConfigurationRequest,
  DescribeConfigurationOptionsResponse,
  DescribeEnvironmentManagedActionHistoryRequest,
  CreateStorageLocationRequest,
  DisassociateEnvironmentOperationsRoleResponse,
  DescribeConfigurationSettingsResponse,
  DescribeAccountAttributesRequest,
  RetrieveEnvironmentInfoResponse,
  TerminateEnvironmentRequest,
  ListPlatformVersionsResponse,
  SingleInstanceHealth,
  RebuildEnvironmentResponse,
  RestartAppServerRequest,
  DescribeApplicationsResponse,
  CreateEnvironmentRequest,
  ManagedActionHistoryItem,
  ValidateConfigurationSettingsRequest,
  ListAvailableSolutionStacksResponse,
  DescribeEnvironmentManagedActionsRequest,
  EventDescription,
  DescribeAccountAttributesResponse,
  RequestEnvironmentInfoResponse,
  CreateEnvironmentResponse,
  DeleteApplicationResponse,
  TerminateEnvironmentResponse,
  AbortEnvironmentUpdateRequest,
  CreatePlatformVersionResponse,
  DescribeEnvironmentHealthResponse
}
import io.github.vigoo.zioaws.core.{
  AwsServiceBase,
  StreamingOutputResult,
  AwsError
}
import software.amazon.awssdk.services.elasticbeanstalk.{
  ElasticBeanstalkAsyncClientBuilder,
  ElasticBeanstalkAsyncClient
}
import io.github.vigoo.zioaws.core.config.AwsConfig
import zio.{ZManaged, IO, ZIO, ZLayer, URLayer, Has}
import io.github.vigoo.zioaws.core.aspects.{AwsCallAspect, AspectSupport}
import io.github.vigoo.zioaws.elasticbeanstalk.ElasticBeanstalk
import zio.stream.ZStream
import zio.test.mock.{Proxy, Mock}
package object elasticbeanstalk {
  import scala.jdk.CollectionConverters._
  type ElasticBeanstalk = Has[ElasticBeanstalk.Service]
  object ElasticBeanstalk {
    trait Service extends AspectSupport[Service] {
      val api: ElasticBeanstalkAsyncClient
      def describeConfigurationOptions(
          request: io.github.vigoo.zioaws.elasticbeanstalk.model.DescribeConfigurationOptionsRequest
      ): IO[
        AwsError,
        io.github.vigoo.zioaws.elasticbeanstalk.model.DescribeConfigurationOptionsResponse.ReadOnly
      ]
      def createPlatformVersion(
          request: io.github.vigoo.zioaws.elasticbeanstalk.model.CreatePlatformVersionRequest
      ): IO[
        AwsError,
        io.github.vigoo.zioaws.elasticbeanstalk.model.CreatePlatformVersionResponse.ReadOnly
      ]
      def deleteApplication(
          request: io.github.vigoo.zioaws.elasticbeanstalk.model.DeleteApplicationRequest
      ): IO[AwsError, Unit]
      def listPlatformVersions(
          request: io.github.vigoo.zioaws.elasticbeanstalk.model.ListPlatformVersionsRequest
      ): ZStream[
        Any,
        AwsError,
        io.github.vigoo.zioaws.elasticbeanstalk.model.PlatformSummary.ReadOnly
      ]
      def checkDNSAvailability(
          request: io.github.vigoo.zioaws.elasticbeanstalk.model.CheckDnsAvailabilityRequest
      ): IO[
        AwsError,
        io.github.vigoo.zioaws.elasticbeanstalk.model.CheckDnsAvailabilityResponse.ReadOnly
      ]
      def validateConfigurationSettings(
          request: io.github.vigoo.zioaws.elasticbeanstalk.model.ValidateConfigurationSettingsRequest
      ): IO[
        AwsError,
        io.github.vigoo.zioaws.elasticbeanstalk.model.ValidateConfigurationSettingsResponse.ReadOnly
      ]
      def retrieveEnvironmentInfo(
          request: io.github.vigoo.zioaws.elasticbeanstalk.model.RetrieveEnvironmentInfoRequest
      ): IO[
        AwsError,
        io.github.vigoo.zioaws.elasticbeanstalk.model.RetrieveEnvironmentInfoResponse.ReadOnly
      ]
      def describePlatformVersion(
          request: io.github.vigoo.zioaws.elasticbeanstalk.model.DescribePlatformVersionRequest
      ): IO[
        AwsError,
        io.github.vigoo.zioaws.elasticbeanstalk.model.DescribePlatformVersionResponse.ReadOnly
      ]
      def updateTagsForResource(
          request: io.github.vigoo.zioaws.elasticbeanstalk.model.UpdateTagsForResourceRequest
      ): IO[AwsError, Unit]
      def deleteApplicationVersion(
          request: io.github.vigoo.zioaws.elasticbeanstalk.model.DeleteApplicationVersionRequest
      ): IO[AwsError, Unit]
      def listPlatformBranches(
          request: io.github.vigoo.zioaws.elasticbeanstalk.model.ListPlatformBranchesRequest
      ): ZStream[
        Any,
        AwsError,
        io.github.vigoo.zioaws.elasticbeanstalk.model.PlatformBranchSummary.ReadOnly
      ]
      def createApplicationVersion(
          request: io.github.vigoo.zioaws.elasticbeanstalk.model.CreateApplicationVersionRequest
      ): IO[
        AwsError,
        io.github.vigoo.zioaws.elasticbeanstalk.model.CreateApplicationVersionResponse.ReadOnly
      ]
      def createEnvironment(
          request: io.github.vigoo.zioaws.elasticbeanstalk.model.CreateEnvironmentRequest
      ): IO[
        AwsError,
        io.github.vigoo.zioaws.elasticbeanstalk.model.CreateEnvironmentResponse.ReadOnly
      ]
      def deleteConfigurationTemplate(
          request: io.github.vigoo.zioaws.elasticbeanstalk.model.DeleteConfigurationTemplateRequest
      ): IO[AwsError, Unit]
      def createApplication(
          request: io.github.vigoo.zioaws.elasticbeanstalk.model.CreateApplicationRequest
      ): IO[
        AwsError,
        io.github.vigoo.zioaws.elasticbeanstalk.model.CreateApplicationResponse.ReadOnly
      ]
      def createConfigurationTemplate(
          request: io.github.vigoo.zioaws.elasticbeanstalk.model.CreateConfigurationTemplateRequest
      ): IO[
        AwsError,
        io.github.vigoo.zioaws.elasticbeanstalk.model.CreateConfigurationTemplateResponse.ReadOnly
      ]
      def describeEnvironmentManagedActions(
          request: io.github.vigoo.zioaws.elasticbeanstalk.model.DescribeEnvironmentManagedActionsRequest
      ): IO[
        AwsError,
        io.github.vigoo.zioaws.elasticbeanstalk.model.DescribeEnvironmentManagedActionsResponse.ReadOnly
      ]
      def describeEnvironmentResources(
          request: io.github.vigoo.zioaws.elasticbeanstalk.model.DescribeEnvironmentResourcesRequest
      ): IO[
        AwsError,
        io.github.vigoo.zioaws.elasticbeanstalk.model.DescribeEnvironmentResourcesResponse.ReadOnly
      ]
      def createStorageLocation(): IO[
        AwsError,
        io.github.vigoo.zioaws.elasticbeanstalk.model.CreateStorageLocationResponse.ReadOnly
      ]
      def deleteEnvironmentConfiguration(
          request: io.github.vigoo.zioaws.elasticbeanstalk.model.DeleteEnvironmentConfigurationRequest
      ): IO[AwsError, Unit]
      def abortEnvironmentUpdate(
          request: io.github.vigoo.zioaws.elasticbeanstalk.model.AbortEnvironmentUpdateRequest
      ): IO[AwsError, Unit]
      def swapEnvironmentCNAMEs(
          request: io.github.vigoo.zioaws.elasticbeanstalk.model.SwapEnvironmentCnamEsRequest
      ): IO[AwsError, Unit]
      def describeConfigurationSettings(
          request: io.github.vigoo.zioaws.elasticbeanstalk.model.DescribeConfigurationSettingsRequest
      ): IO[
        AwsError,
        io.github.vigoo.zioaws.elasticbeanstalk.model.DescribeConfigurationSettingsResponse.ReadOnly
      ]
      def listAvailableSolutionStacks(): IO[
        AwsError,
        io.github.vigoo.zioaws.elasticbeanstalk.model.ListAvailableSolutionStacksResponse.ReadOnly
      ]
      def restartAppServer(
          request: io.github.vigoo.zioaws.elasticbeanstalk.model.RestartAppServerRequest
      ): IO[AwsError, Unit]
      def composeEnvironments(
          request: io.github.vigoo.zioaws.elasticbeanstalk.model.ComposeEnvironmentsRequest
      ): IO[
        AwsError,
        io.github.vigoo.zioaws.elasticbeanstalk.model.ComposeEnvironmentsResponse.ReadOnly
      ]
      def disassociateEnvironmentOperationsRole(
          request: io.github.vigoo.zioaws.elasticbeanstalk.model.DisassociateEnvironmentOperationsRoleRequest
      ): IO[AwsError, Unit]
      def describeApplicationVersions(
          request: io.github.vigoo.zioaws.elasticbeanstalk.model.DescribeApplicationVersionsRequest
      ): ZStream[
        Any,
        AwsError,
        io.github.vigoo.zioaws.elasticbeanstalk.model.ApplicationVersionDescription.ReadOnly
      ]
      def associateEnvironmentOperationsRole(
          request: io.github.vigoo.zioaws.elasticbeanstalk.model.AssociateEnvironmentOperationsRoleRequest
      ): IO[AwsError, Unit]
      def updateApplicationResourceLifecycle(
          request: io.github.vigoo.zioaws.elasticbeanstalk.model.UpdateApplicationResourceLifecycleRequest
      ): IO[
        AwsError,
        io.github.vigoo.zioaws.elasticbeanstalk.model.UpdateApplicationResourceLifecycleResponse.ReadOnly
      ]
      def requestEnvironmentInfo(
          request: io.github.vigoo.zioaws.elasticbeanstalk.model.RequestEnvironmentInfoRequest
      ): IO[AwsError, Unit]
      def rebuildEnvironment(
          request: io.github.vigoo.zioaws.elasticbeanstalk.model.RebuildEnvironmentRequest
      ): IO[AwsError, Unit]
      def describeEnvironments(
          request: io.github.vigoo.zioaws.elasticbeanstalk.model.DescribeEnvironmentsRequest
      ): ZStream[
        Any,
        AwsError,
        io.github.vigoo.zioaws.elasticbeanstalk.model.EnvironmentDescription.ReadOnly
      ]
      def applyEnvironmentManagedAction(
          request: io.github.vigoo.zioaws.elasticbeanstalk.model.ApplyEnvironmentManagedActionRequest
      ): IO[
        AwsError,
        io.github.vigoo.zioaws.elasticbeanstalk.model.ApplyEnvironmentManagedActionResponse.ReadOnly
      ]
      def describeApplications(
          request: io.github.vigoo.zioaws.elasticbeanstalk.model.DescribeApplicationsRequest
      ): IO[
        AwsError,
        io.github.vigoo.zioaws.elasticbeanstalk.model.DescribeApplicationsResponse.ReadOnly
      ]
      def listTagsForResource(
          request: io.github.vigoo.zioaws.elasticbeanstalk.model.ListTagsForResourceRequest
      ): IO[
        AwsError,
        io.github.vigoo.zioaws.elasticbeanstalk.model.ListTagsForResourceResponse.ReadOnly
      ]
      def updateEnvironment(
          request: io.github.vigoo.zioaws.elasticbeanstalk.model.UpdateEnvironmentRequest
      ): IO[
        AwsError,
        io.github.vigoo.zioaws.elasticbeanstalk.model.UpdateEnvironmentResponse.ReadOnly
      ]
      def describeInstancesHealth(
          request: io.github.vigoo.zioaws.elasticbeanstalk.model.DescribeInstancesHealthRequest
      ): ZIO[Any, AwsError, StreamingOutputResult[
        Any,
        io.github.vigoo.zioaws.elasticbeanstalk.model.DescribeInstancesHealthResponse.ReadOnly,
        io.github.vigoo.zioaws.elasticbeanstalk.model.SingleInstanceHealth.ReadOnly
      ]]
      def updateApplicationVersion(
          request: io.github.vigoo.zioaws.elasticbeanstalk.model.UpdateApplicationVersionRequest
      ): IO[
        AwsError,
        io.github.vigoo.zioaws.elasticbeanstalk.model.UpdateApplicationVersionResponse.ReadOnly
      ]
      def terminateEnvironment(
          request: io.github.vigoo.zioaws.elasticbeanstalk.model.TerminateEnvironmentRequest
      ): IO[
        AwsError,
        io.github.vigoo.zioaws.elasticbeanstalk.model.TerminateEnvironmentResponse.ReadOnly
      ]
      def updateApplication(
          request: io.github.vigoo.zioaws.elasticbeanstalk.model.UpdateApplicationRequest
      ): IO[
        AwsError,
        io.github.vigoo.zioaws.elasticbeanstalk.model.UpdateApplicationResponse.ReadOnly
      ]
      def deletePlatformVersion(
          request: io.github.vigoo.zioaws.elasticbeanstalk.model.DeletePlatformVersionRequest
      ): IO[
        AwsError,
        io.github.vigoo.zioaws.elasticbeanstalk.model.DeletePlatformVersionResponse.ReadOnly
      ]
      def describeEnvironmentManagedActionHistory(
          request: io.github.vigoo.zioaws.elasticbeanstalk.model.DescribeEnvironmentManagedActionHistoryRequest
      ): ZStream[
        Any,
        AwsError,
        io.github.vigoo.zioaws.elasticbeanstalk.model.ManagedActionHistoryItem.ReadOnly
      ]
      def describeAccountAttributes(): IO[
        AwsError,
        io.github.vigoo.zioaws.elasticbeanstalk.model.DescribeAccountAttributesResponse.ReadOnly
      ]
      def updateConfigurationTemplate(
          request: io.github.vigoo.zioaws.elasticbeanstalk.model.UpdateConfigurationTemplateRequest
      ): IO[AwsError, ReadOnly]
      def describeEnvironmentHealth(
          request: io.github.vigoo.zioaws.elasticbeanstalk.model.DescribeEnvironmentHealthRequest
      ): IO[
        AwsError,
        io.github.vigoo.zioaws.elasticbeanstalk.model.DescribeEnvironmentHealthResponse.ReadOnly
      ]
      def describeEvents(
          request: io.github.vigoo.zioaws.elasticbeanstalk.model.DescribeEventsRequest
      ): ZStream[
        Any,
        AwsError,
        io.github.vigoo.zioaws.elasticbeanstalk.model.EventDescription.ReadOnly
      ]
    }
    object ElasticBeanstalkMock extends Mock[ElasticBeanstalk] {
      object DescribeConfigurationOptions
          extends Effect[
            io.github.vigoo.zioaws.elasticbeanstalk.model.DescribeConfigurationOptionsRequest,
            AwsError,
            io.github.vigoo.zioaws.elasticbeanstalk.model.DescribeConfigurationOptionsResponse.ReadOnly
          ]
      object CreatePlatformVersion
          extends Effect[
            io.github.vigoo.zioaws.elasticbeanstalk.model.CreatePlatformVersionRequest,
            AwsError,
            io.github.vigoo.zioaws.elasticbeanstalk.model.CreatePlatformVersionResponse.ReadOnly
          ]
      object DeleteApplication
          extends Effect[
            io.github.vigoo.zioaws.elasticbeanstalk.model.DeleteApplicationRequest,
            AwsError,
            Unit
          ]
      object ListPlatformVersions
          extends Stream[
            io.github.vigoo.zioaws.elasticbeanstalk.model.ListPlatformVersionsRequest,
            AwsError,
            io.github.vigoo.zioaws.elasticbeanstalk.model.PlatformSummary.ReadOnly
          ]
      object CheckDNSAvailability
          extends Effect[
            io.github.vigoo.zioaws.elasticbeanstalk.model.CheckDnsAvailabilityRequest,
            AwsError,
            io.github.vigoo.zioaws.elasticbeanstalk.model.CheckDnsAvailabilityResponse.ReadOnly
          ]
      object ValidateConfigurationSettings
          extends Effect[
            io.github.vigoo.zioaws.elasticbeanstalk.model.ValidateConfigurationSettingsRequest,
            AwsError,
            io.github.vigoo.zioaws.elasticbeanstalk.model.ValidateConfigurationSettingsResponse.ReadOnly
          ]
      object RetrieveEnvironmentInfo
          extends Effect[
            io.github.vigoo.zioaws.elasticbeanstalk.model.RetrieveEnvironmentInfoRequest,
            AwsError,
            io.github.vigoo.zioaws.elasticbeanstalk.model.RetrieveEnvironmentInfoResponse.ReadOnly
          ]
      object DescribePlatformVersion
          extends Effect[
            io.github.vigoo.zioaws.elasticbeanstalk.model.DescribePlatformVersionRequest,
            AwsError,
            io.github.vigoo.zioaws.elasticbeanstalk.model.DescribePlatformVersionResponse.ReadOnly
          ]
      object UpdateTagsForResource
          extends Effect[
            io.github.vigoo.zioaws.elasticbeanstalk.model.UpdateTagsForResourceRequest,
            AwsError,
            Unit
          ]
      object DeleteApplicationVersion
          extends Effect[
            io.github.vigoo.zioaws.elasticbeanstalk.model.DeleteApplicationVersionRequest,
            AwsError,
            Unit
          ]
      object ListPlatformBranches
          extends Stream[
            io.github.vigoo.zioaws.elasticbeanstalk.model.ListPlatformBranchesRequest,
            AwsError,
            io.github.vigoo.zioaws.elasticbeanstalk.model.PlatformBranchSummary.ReadOnly
          ]
      object CreateApplicationVersion
          extends Effect[
            io.github.vigoo.zioaws.elasticbeanstalk.model.CreateApplicationVersionRequest,
            AwsError,
            io.github.vigoo.zioaws.elasticbeanstalk.model.CreateApplicationVersionResponse.ReadOnly
          ]
      object CreateEnvironment
          extends Effect[
            io.github.vigoo.zioaws.elasticbeanstalk.model.CreateEnvironmentRequest,
            AwsError,
            io.github.vigoo.zioaws.elasticbeanstalk.model.CreateEnvironmentResponse.ReadOnly
          ]
      object DeleteConfigurationTemplate
          extends Effect[
            io.github.vigoo.zioaws.elasticbeanstalk.model.DeleteConfigurationTemplateRequest,
            AwsError,
            Unit
          ]
      object CreateApplication
          extends Effect[
            io.github.vigoo.zioaws.elasticbeanstalk.model.CreateApplicationRequest,
            AwsError,
            io.github.vigoo.zioaws.elasticbeanstalk.model.CreateApplicationResponse.ReadOnly
          ]
      object CreateConfigurationTemplate
          extends Effect[
            io.github.vigoo.zioaws.elasticbeanstalk.model.CreateConfigurationTemplateRequest,
            AwsError,
            io.github.vigoo.zioaws.elasticbeanstalk.model.CreateConfigurationTemplateResponse.ReadOnly
          ]
      object DescribeEnvironmentManagedActions
          extends Effect[
            io.github.vigoo.zioaws.elasticbeanstalk.model.DescribeEnvironmentManagedActionsRequest,
            AwsError,
            io.github.vigoo.zioaws.elasticbeanstalk.model.DescribeEnvironmentManagedActionsResponse.ReadOnly
          ]
      object DescribeEnvironmentResources
          extends Effect[
            io.github.vigoo.zioaws.elasticbeanstalk.model.DescribeEnvironmentResourcesRequest,
            AwsError,
            io.github.vigoo.zioaws.elasticbeanstalk.model.DescribeEnvironmentResourcesResponse.ReadOnly
          ]
      object CreateStorageLocation
          extends Effect[
            Unit,
            AwsError,
            io.github.vigoo.zioaws.elasticbeanstalk.model.CreateStorageLocationResponse.ReadOnly
          ]
      object DeleteEnvironmentConfiguration
          extends Effect[
            io.github.vigoo.zioaws.elasticbeanstalk.model.DeleteEnvironmentConfigurationRequest,
            AwsError,
            Unit
          ]
      object AbortEnvironmentUpdate
          extends Effect[
            io.github.vigoo.zioaws.elasticbeanstalk.model.AbortEnvironmentUpdateRequest,
            AwsError,
            Unit
          ]
      object SwapEnvironmentCNAMEs
          extends Effect[
            io.github.vigoo.zioaws.elasticbeanstalk.model.SwapEnvironmentCnamEsRequest,
            AwsError,
            Unit
          ]
      object DescribeConfigurationSettings
          extends Effect[
            io.github.vigoo.zioaws.elasticbeanstalk.model.DescribeConfigurationSettingsRequest,
            AwsError,
            io.github.vigoo.zioaws.elasticbeanstalk.model.DescribeConfigurationSettingsResponse.ReadOnly
          ]
      object ListAvailableSolutionStacks
          extends Effect[
            Unit,
            AwsError,
            io.github.vigoo.zioaws.elasticbeanstalk.model.ListAvailableSolutionStacksResponse.ReadOnly
          ]
      object RestartAppServer
          extends Effect[
            io.github.vigoo.zioaws.elasticbeanstalk.model.RestartAppServerRequest,
            AwsError,
            Unit
          ]
      object ComposeEnvironments
          extends Effect[
            io.github.vigoo.zioaws.elasticbeanstalk.model.ComposeEnvironmentsRequest,
            AwsError,
            io.github.vigoo.zioaws.elasticbeanstalk.model.ComposeEnvironmentsResponse.ReadOnly
          ]
      object DisassociateEnvironmentOperationsRole
          extends Effect[
            io.github.vigoo.zioaws.elasticbeanstalk.model.DisassociateEnvironmentOperationsRoleRequest,
            AwsError,
            Unit
          ]
      object DescribeApplicationVersions
          extends Stream[
            io.github.vigoo.zioaws.elasticbeanstalk.model.DescribeApplicationVersionsRequest,
            AwsError,
            io.github.vigoo.zioaws.elasticbeanstalk.model.ApplicationVersionDescription.ReadOnly
          ]
      object AssociateEnvironmentOperationsRole
          extends Effect[
            io.github.vigoo.zioaws.elasticbeanstalk.model.AssociateEnvironmentOperationsRoleRequest,
            AwsError,
            Unit
          ]
      object UpdateApplicationResourceLifecycle
          extends Effect[
            io.github.vigoo.zioaws.elasticbeanstalk.model.UpdateApplicationResourceLifecycleRequest,
            AwsError,
            io.github.vigoo.zioaws.elasticbeanstalk.model.UpdateApplicationResourceLifecycleResponse.ReadOnly
          ]
      object RequestEnvironmentInfo
          extends Effect[
            io.github.vigoo.zioaws.elasticbeanstalk.model.RequestEnvironmentInfoRequest,
            AwsError,
            Unit
          ]
      object RebuildEnvironment
          extends Effect[
            io.github.vigoo.zioaws.elasticbeanstalk.model.RebuildEnvironmentRequest,
            AwsError,
            Unit
          ]
      object DescribeEnvironments
          extends Stream[
            io.github.vigoo.zioaws.elasticbeanstalk.model.DescribeEnvironmentsRequest,
            AwsError,
            io.github.vigoo.zioaws.elasticbeanstalk.model.EnvironmentDescription.ReadOnly
          ]
      object ApplyEnvironmentManagedAction
          extends Effect[
            io.github.vigoo.zioaws.elasticbeanstalk.model.ApplyEnvironmentManagedActionRequest,
            AwsError,
            io.github.vigoo.zioaws.elasticbeanstalk.model.ApplyEnvironmentManagedActionResponse.ReadOnly
          ]
      object DescribeApplications
          extends Effect[
            io.github.vigoo.zioaws.elasticbeanstalk.model.DescribeApplicationsRequest,
            AwsError,
            io.github.vigoo.zioaws.elasticbeanstalk.model.DescribeApplicationsResponse.ReadOnly
          ]
      object ListTagsForResource
          extends Effect[
            io.github.vigoo.zioaws.elasticbeanstalk.model.ListTagsForResourceRequest,
            AwsError,
            io.github.vigoo.zioaws.elasticbeanstalk.model.ListTagsForResourceResponse.ReadOnly
          ]
      object UpdateEnvironment
          extends Effect[
            io.github.vigoo.zioaws.elasticbeanstalk.model.UpdateEnvironmentRequest,
            AwsError,
            io.github.vigoo.zioaws.elasticbeanstalk.model.UpdateEnvironmentResponse.ReadOnly
          ]
      object DescribeInstancesHealth
          extends Effect[
            io.github.vigoo.zioaws.elasticbeanstalk.model.DescribeInstancesHealthRequest,
            AwsError,
            StreamingOutputResult[
              Any,
              io.github.vigoo.zioaws.elasticbeanstalk.model.DescribeInstancesHealthResponse.ReadOnly,
              io.github.vigoo.zioaws.elasticbeanstalk.model.SingleInstanceHealth.ReadOnly
            ]
          ]
      object UpdateApplicationVersion
          extends Effect[
            io.github.vigoo.zioaws.elasticbeanstalk.model.UpdateApplicationVersionRequest,
            AwsError,
            io.github.vigoo.zioaws.elasticbeanstalk.model.UpdateApplicationVersionResponse.ReadOnly
          ]
      object TerminateEnvironment
          extends Effect[
            io.github.vigoo.zioaws.elasticbeanstalk.model.TerminateEnvironmentRequest,
            AwsError,
            io.github.vigoo.zioaws.elasticbeanstalk.model.TerminateEnvironmentResponse.ReadOnly
          ]
      object UpdateApplication
          extends Effect[
            io.github.vigoo.zioaws.elasticbeanstalk.model.UpdateApplicationRequest,
            AwsError,
            io.github.vigoo.zioaws.elasticbeanstalk.model.UpdateApplicationResponse.ReadOnly
          ]
      object DeletePlatformVersion
          extends Effect[
            io.github.vigoo.zioaws.elasticbeanstalk.model.DeletePlatformVersionRequest,
            AwsError,
            io.github.vigoo.zioaws.elasticbeanstalk.model.DeletePlatformVersionResponse.ReadOnly
          ]
      object DescribeEnvironmentManagedActionHistory
          extends Stream[
            io.github.vigoo.zioaws.elasticbeanstalk.model.DescribeEnvironmentManagedActionHistoryRequest,
            AwsError,
            io.github.vigoo.zioaws.elasticbeanstalk.model.ManagedActionHistoryItem.ReadOnly
          ]
      object DescribeAccountAttributes
          extends Effect[
            Unit,
            AwsError,
            io.github.vigoo.zioaws.elasticbeanstalk.model.DescribeAccountAttributesResponse.ReadOnly
          ]
      object UpdateConfigurationTemplate
          extends Effect[
            io.github.vigoo.zioaws.elasticbeanstalk.model.UpdateConfigurationTemplateRequest,
            AwsError,
            ReadOnly
          ]
      object DescribeEnvironmentHealth
          extends Effect[
            io.github.vigoo.zioaws.elasticbeanstalk.model.DescribeEnvironmentHealthRequest,
            AwsError,
            io.github.vigoo.zioaws.elasticbeanstalk.model.DescribeEnvironmentHealthResponse.ReadOnly
          ]
      object DescribeEvents
          extends Stream[
            io.github.vigoo.zioaws.elasticbeanstalk.model.DescribeEventsRequest,
            AwsError,
            io.github.vigoo.zioaws.elasticbeanstalk.model.EventDescription.ReadOnly
          ]
      val compose: URLayer[Has[Proxy], ElasticBeanstalk] = ZLayer.fromServiceM {
        proxy =>
          withRuntime.map { rts =>
            new ElasticBeanstalk.Service {
              val api: ElasticBeanstalkAsyncClient = null
              def withAspect[R1](
                  newAspect: AwsCallAspect[R1],
                  r: R1
              ): ElasticBeanstalk.Service = this
              def describeConfigurationOptions(
                  request: io.github.vigoo.zioaws.elasticbeanstalk.model.DescribeConfigurationOptionsRequest
              ): IO[
                AwsError,
                io.github.vigoo.zioaws.elasticbeanstalk.model.DescribeConfigurationOptionsResponse.ReadOnly
              ] = proxy(DescribeConfigurationOptions, request)
              def createPlatformVersion(
                  request: io.github.vigoo.zioaws.elasticbeanstalk.model.CreatePlatformVersionRequest
              ): IO[
                AwsError,
                io.github.vigoo.zioaws.elasticbeanstalk.model.CreatePlatformVersionResponse.ReadOnly
              ] = proxy(CreatePlatformVersion, request)
              def deleteApplication(
                  request: io.github.vigoo.zioaws.elasticbeanstalk.model.DeleteApplicationRequest
              ): IO[AwsError, Unit] = proxy(DeleteApplication, request)
              def listPlatformVersions(
                  request: io.github.vigoo.zioaws.elasticbeanstalk.model.ListPlatformVersionsRequest
              ): ZStream[
                Any,
                AwsError,
                io.github.vigoo.zioaws.elasticbeanstalk.model.PlatformSummary.ReadOnly
              ] = rts.unsafeRun(proxy(ListPlatformVersions, request))
              def checkDNSAvailability(
                  request: io.github.vigoo.zioaws.elasticbeanstalk.model.CheckDnsAvailabilityRequest
              ): IO[
                AwsError,
                io.github.vigoo.zioaws.elasticbeanstalk.model.CheckDnsAvailabilityResponse.ReadOnly
              ] = proxy(CheckDNSAvailability, request)
              def validateConfigurationSettings(
                  request: io.github.vigoo.zioaws.elasticbeanstalk.model.ValidateConfigurationSettingsRequest
              ): IO[
                AwsError,
                io.github.vigoo.zioaws.elasticbeanstalk.model.ValidateConfigurationSettingsResponse.ReadOnly
              ] = proxy(ValidateConfigurationSettings, request)
              def retrieveEnvironmentInfo(
                  request: io.github.vigoo.zioaws.elasticbeanstalk.model.RetrieveEnvironmentInfoRequest
              ): IO[
                AwsError,
                io.github.vigoo.zioaws.elasticbeanstalk.model.RetrieveEnvironmentInfoResponse.ReadOnly
              ] = proxy(RetrieveEnvironmentInfo, request)
              def describePlatformVersion(
                  request: io.github.vigoo.zioaws.elasticbeanstalk.model.DescribePlatformVersionRequest
              ): IO[
                AwsError,
                io.github.vigoo.zioaws.elasticbeanstalk.model.DescribePlatformVersionResponse.ReadOnly
              ] = proxy(DescribePlatformVersion, request)
              def updateTagsForResource(
                  request: io.github.vigoo.zioaws.elasticbeanstalk.model.UpdateTagsForResourceRequest
              ): IO[AwsError, Unit] = proxy(UpdateTagsForResource, request)
              def deleteApplicationVersion(
                  request: io.github.vigoo.zioaws.elasticbeanstalk.model.DeleteApplicationVersionRequest
              ): IO[AwsError, Unit] = proxy(DeleteApplicationVersion, request)
              def listPlatformBranches(
                  request: io.github.vigoo.zioaws.elasticbeanstalk.model.ListPlatformBranchesRequest
              ): ZStream[
                Any,
                AwsError,
                io.github.vigoo.zioaws.elasticbeanstalk.model.PlatformBranchSummary.ReadOnly
              ] = rts.unsafeRun(proxy(ListPlatformBranches, request))
              def createApplicationVersion(
                  request: io.github.vigoo.zioaws.elasticbeanstalk.model.CreateApplicationVersionRequest
              ): IO[
                AwsError,
                io.github.vigoo.zioaws.elasticbeanstalk.model.CreateApplicationVersionResponse.ReadOnly
              ] = proxy(CreateApplicationVersion, request)
              def createEnvironment(
                  request: io.github.vigoo.zioaws.elasticbeanstalk.model.CreateEnvironmentRequest
              ): IO[
                AwsError,
                io.github.vigoo.zioaws.elasticbeanstalk.model.CreateEnvironmentResponse.ReadOnly
              ] = proxy(CreateEnvironment, request)
              def deleteConfigurationTemplate(
                  request: io.github.vigoo.zioaws.elasticbeanstalk.model.DeleteConfigurationTemplateRequest
              ): IO[AwsError, Unit] =
                proxy(DeleteConfigurationTemplate, request)
              def createApplication(
                  request: io.github.vigoo.zioaws.elasticbeanstalk.model.CreateApplicationRequest
              ): IO[
                AwsError,
                io.github.vigoo.zioaws.elasticbeanstalk.model.CreateApplicationResponse.ReadOnly
              ] = proxy(CreateApplication, request)
              def createConfigurationTemplate(
                  request: io.github.vigoo.zioaws.elasticbeanstalk.model.CreateConfigurationTemplateRequest
              ): IO[
                AwsError,
                io.github.vigoo.zioaws.elasticbeanstalk.model.CreateConfigurationTemplateResponse.ReadOnly
              ] = proxy(CreateConfigurationTemplate, request)
              def describeEnvironmentManagedActions(
                  request: io.github.vigoo.zioaws.elasticbeanstalk.model.DescribeEnvironmentManagedActionsRequest
              ): IO[
                AwsError,
                io.github.vigoo.zioaws.elasticbeanstalk.model.DescribeEnvironmentManagedActionsResponse.ReadOnly
              ] = proxy(DescribeEnvironmentManagedActions, request)
              def describeEnvironmentResources(
                  request: io.github.vigoo.zioaws.elasticbeanstalk.model.DescribeEnvironmentResourcesRequest
              ): IO[
                AwsError,
                io.github.vigoo.zioaws.elasticbeanstalk.model.DescribeEnvironmentResourcesResponse.ReadOnly
              ] = proxy(DescribeEnvironmentResources, request)
              def createStorageLocation(): IO[
                AwsError,
                io.github.vigoo.zioaws.elasticbeanstalk.model.CreateStorageLocationResponse.ReadOnly
              ] = proxy(CreateStorageLocation)
              def deleteEnvironmentConfiguration(
                  request: io.github.vigoo.zioaws.elasticbeanstalk.model.DeleteEnvironmentConfigurationRequest
              ): IO[AwsError, Unit] =
                proxy(DeleteEnvironmentConfiguration, request)
              def abortEnvironmentUpdate(
                  request: io.github.vigoo.zioaws.elasticbeanstalk.model.AbortEnvironmentUpdateRequest
              ): IO[AwsError, Unit] = proxy(AbortEnvironmentUpdate, request)
              def swapEnvironmentCNAMEs(
                  request: io.github.vigoo.zioaws.elasticbeanstalk.model.SwapEnvironmentCnamEsRequest
              ): IO[AwsError, Unit] = proxy(SwapEnvironmentCNAMEs, request)
              def describeConfigurationSettings(
                  request: io.github.vigoo.zioaws.elasticbeanstalk.model.DescribeConfigurationSettingsRequest
              ): IO[
                AwsError,
                io.github.vigoo.zioaws.elasticbeanstalk.model.DescribeConfigurationSettingsResponse.ReadOnly
              ] = proxy(DescribeConfigurationSettings, request)
              def listAvailableSolutionStacks(): IO[
                AwsError,
                io.github.vigoo.zioaws.elasticbeanstalk.model.ListAvailableSolutionStacksResponse.ReadOnly
              ] = proxy(ListAvailableSolutionStacks)
              def restartAppServer(
                  request: io.github.vigoo.zioaws.elasticbeanstalk.model.RestartAppServerRequest
              ): IO[AwsError, Unit] = proxy(RestartAppServer, request)
              def composeEnvironments(
                  request: io.github.vigoo.zioaws.elasticbeanstalk.model.ComposeEnvironmentsRequest
              ): IO[
                AwsError,
                io.github.vigoo.zioaws.elasticbeanstalk.model.ComposeEnvironmentsResponse.ReadOnly
              ] = proxy(ComposeEnvironments, request)
              def disassociateEnvironmentOperationsRole(
                  request: io.github.vigoo.zioaws.elasticbeanstalk.model.DisassociateEnvironmentOperationsRoleRequest
              ): IO[AwsError, Unit] =
                proxy(DisassociateEnvironmentOperationsRole, request)
              def describeApplicationVersions(
                  request: io.github.vigoo.zioaws.elasticbeanstalk.model.DescribeApplicationVersionsRequest
              ): ZStream[
                Any,
                AwsError,
                io.github.vigoo.zioaws.elasticbeanstalk.model.ApplicationVersionDescription.ReadOnly
              ] = rts.unsafeRun(proxy(DescribeApplicationVersions, request))
              def associateEnvironmentOperationsRole(
                  request: io.github.vigoo.zioaws.elasticbeanstalk.model.AssociateEnvironmentOperationsRoleRequest
              ): IO[AwsError, Unit] =
                proxy(AssociateEnvironmentOperationsRole, request)
              def updateApplicationResourceLifecycle(
                  request: io.github.vigoo.zioaws.elasticbeanstalk.model.UpdateApplicationResourceLifecycleRequest
              ): IO[
                AwsError,
                io.github.vigoo.zioaws.elasticbeanstalk.model.UpdateApplicationResourceLifecycleResponse.ReadOnly
              ] = proxy(UpdateApplicationResourceLifecycle, request)
              def requestEnvironmentInfo(
                  request: io.github.vigoo.zioaws.elasticbeanstalk.model.RequestEnvironmentInfoRequest
              ): IO[AwsError, Unit] = proxy(RequestEnvironmentInfo, request)
              def rebuildEnvironment(
                  request: io.github.vigoo.zioaws.elasticbeanstalk.model.RebuildEnvironmentRequest
              ): IO[AwsError, Unit] = proxy(RebuildEnvironment, request)
              def describeEnvironments(
                  request: io.github.vigoo.zioaws.elasticbeanstalk.model.DescribeEnvironmentsRequest
              ): ZStream[
                Any,
                AwsError,
                io.github.vigoo.zioaws.elasticbeanstalk.model.EnvironmentDescription.ReadOnly
              ] = rts.unsafeRun(proxy(DescribeEnvironments, request))
              def applyEnvironmentManagedAction(
                  request: io.github.vigoo.zioaws.elasticbeanstalk.model.ApplyEnvironmentManagedActionRequest
              ): IO[
                AwsError,
                io.github.vigoo.zioaws.elasticbeanstalk.model.ApplyEnvironmentManagedActionResponse.ReadOnly
              ] = proxy(ApplyEnvironmentManagedAction, request)
              def describeApplications(
                  request: io.github.vigoo.zioaws.elasticbeanstalk.model.DescribeApplicationsRequest
              ): IO[
                AwsError,
                io.github.vigoo.zioaws.elasticbeanstalk.model.DescribeApplicationsResponse.ReadOnly
              ] = proxy(DescribeApplications, request)
              def listTagsForResource(
                  request: io.github.vigoo.zioaws.elasticbeanstalk.model.ListTagsForResourceRequest
              ): IO[
                AwsError,
                io.github.vigoo.zioaws.elasticbeanstalk.model.ListTagsForResourceResponse.ReadOnly
              ] = proxy(ListTagsForResource, request)
              def updateEnvironment(
                  request: io.github.vigoo.zioaws.elasticbeanstalk.model.UpdateEnvironmentRequest
              ): IO[
                AwsError,
                io.github.vigoo.zioaws.elasticbeanstalk.model.UpdateEnvironmentResponse.ReadOnly
              ] = proxy(UpdateEnvironment, request)
              def describeInstancesHealth(
                  request: io.github.vigoo.zioaws.elasticbeanstalk.model.DescribeInstancesHealthRequest
              ): ZIO[Any, AwsError, StreamingOutputResult[
                Any,
                io.github.vigoo.zioaws.elasticbeanstalk.model.DescribeInstancesHealthResponse.ReadOnly,
                io.github.vigoo.zioaws.elasticbeanstalk.model.SingleInstanceHealth.ReadOnly
              ]] = proxy(DescribeInstancesHealth, request)
              def updateApplicationVersion(
                  request: io.github.vigoo.zioaws.elasticbeanstalk.model.UpdateApplicationVersionRequest
              ): IO[
                AwsError,
                io.github.vigoo.zioaws.elasticbeanstalk.model.UpdateApplicationVersionResponse.ReadOnly
              ] = proxy(UpdateApplicationVersion, request)
              def terminateEnvironment(
                  request: io.github.vigoo.zioaws.elasticbeanstalk.model.TerminateEnvironmentRequest
              ): IO[
                AwsError,
                io.github.vigoo.zioaws.elasticbeanstalk.model.TerminateEnvironmentResponse.ReadOnly
              ] = proxy(TerminateEnvironment, request)
              def updateApplication(
                  request: io.github.vigoo.zioaws.elasticbeanstalk.model.UpdateApplicationRequest
              ): IO[
                AwsError,
                io.github.vigoo.zioaws.elasticbeanstalk.model.UpdateApplicationResponse.ReadOnly
              ] = proxy(UpdateApplication, request)
              def deletePlatformVersion(
                  request: io.github.vigoo.zioaws.elasticbeanstalk.model.DeletePlatformVersionRequest
              ): IO[
                AwsError,
                io.github.vigoo.zioaws.elasticbeanstalk.model.DeletePlatformVersionResponse.ReadOnly
              ] = proxy(DeletePlatformVersion, request)
              def describeEnvironmentManagedActionHistory(
                  request: io.github.vigoo.zioaws.elasticbeanstalk.model.DescribeEnvironmentManagedActionHistoryRequest
              ): ZStream[
                Any,
                AwsError,
                io.github.vigoo.zioaws.elasticbeanstalk.model.ManagedActionHistoryItem.ReadOnly
              ] = rts.unsafeRun(
                proxy(DescribeEnvironmentManagedActionHistory, request)
              )
              def describeAccountAttributes(): IO[
                AwsError,
                io.github.vigoo.zioaws.elasticbeanstalk.model.DescribeAccountAttributesResponse.ReadOnly
              ] = proxy(DescribeAccountAttributes)
              def updateConfigurationTemplate(
                  request: io.github.vigoo.zioaws.elasticbeanstalk.model.UpdateConfigurationTemplateRequest
              ): IO[AwsError, ReadOnly] =
                proxy(UpdateConfigurationTemplate, request)
              def describeEnvironmentHealth(
                  request: io.github.vigoo.zioaws.elasticbeanstalk.model.DescribeEnvironmentHealthRequest
              ): IO[
                AwsError,
                io.github.vigoo.zioaws.elasticbeanstalk.model.DescribeEnvironmentHealthResponse.ReadOnly
              ] = proxy(DescribeEnvironmentHealth, request)
              def describeEvents(
                  request: io.github.vigoo.zioaws.elasticbeanstalk.model.DescribeEventsRequest
              ): ZStream[
                Any,
                AwsError,
                io.github.vigoo.zioaws.elasticbeanstalk.model.EventDescription.ReadOnly
              ] = rts.unsafeRun(proxy(DescribeEvents, request))
            }
          }
      }
    }
  }
  val live: ZLayer[AwsConfig, java.lang.Throwable, ElasticBeanstalk] =
    customized(identity)
  def customized(
      customization: ElasticBeanstalkAsyncClientBuilder => ElasticBeanstalkAsyncClientBuilder
  ): ZLayer[AwsConfig, java.lang.Throwable, ElasticBeanstalk] = managed(
    customization
  ).toLayer
  def managed(
      customization: ElasticBeanstalkAsyncClientBuilder => ElasticBeanstalkAsyncClientBuilder
  ): ZManaged[AwsConfig, java.lang.Throwable, ElasticBeanstalk.Service] = for (
    awsConfig <- ZManaged.service[AwsConfig.Service];
    executor <- ZIO.executor.toManaged_;
    builder = ElasticBeanstalkAsyncClient
      .builder()
      .asyncConfiguration(
        software.amazon.awssdk.core.client.config.ClientAsyncConfiguration
          .builder()
          .advancedOption(
            software.amazon.awssdk.core.client.config.SdkAdvancedAsyncClientOption.FUTURE_COMPLETION_EXECUTOR,
            executor.asJava
          )
          .build()
      );
    b0 <- awsConfig
      .configure[
        ElasticBeanstalkAsyncClient,
        ElasticBeanstalkAsyncClientBuilder
      ](builder)
      .toManaged_;
    b1 <- awsConfig
      .configureHttpClient[
        ElasticBeanstalkAsyncClient,
        ElasticBeanstalkAsyncClientBuilder
      ](
        b0,
        io.github.vigoo.zioaws.core.httpclient
          .ServiceHttpCapabilities(supportsHttp2 = false)
      )
      .toManaged_; client <- zio.ZIO(customization(b1).build()).toManaged_
  )
    yield new ElasticBeanstalkImpl(
      client,
      AwsCallAspect.identity,
      ().asInstanceOf[Any]
    )
  private class ElasticBeanstalkImpl[R](
      override val api: ElasticBeanstalkAsyncClient,
      override val aspect: AwsCallAspect[R],
      r: R
  ) extends ElasticBeanstalk.Service
      with AwsServiceBase[R, ElasticBeanstalkImpl] {
    override val serviceName: String = "ElasticBeanstalk"
    override def withAspect[R1](
        newAspect: AwsCallAspect[R1],
        r: R1
    ): ElasticBeanstalkImpl[R1] = new ElasticBeanstalkImpl(api, newAspect, r)
    def describeConfigurationOptions(
        request: io.github.vigoo.zioaws.elasticbeanstalk.model.DescribeConfigurationOptionsRequest
    ): IO[
      AwsError,
      io.github.vigoo.zioaws.elasticbeanstalk.model.DescribeConfigurationOptionsResponse.ReadOnly
    ] = asyncRequestResponse[
      DescribeConfigurationOptionsRequest,
      DescribeConfigurationOptionsResponse
    ]("describeConfigurationOptions", api.describeConfigurationOptions)(
      request.buildAwsValue()
    ).map(
      io.github.vigoo.zioaws.elasticbeanstalk.model.DescribeConfigurationOptionsResponse.wrap
    ).provide(r)
    def createPlatformVersion(
        request: io.github.vigoo.zioaws.elasticbeanstalk.model.CreatePlatformVersionRequest
    ): IO[
      AwsError,
      io.github.vigoo.zioaws.elasticbeanstalk.model.CreatePlatformVersionResponse.ReadOnly
    ] = asyncRequestResponse[
      CreatePlatformVersionRequest,
      CreatePlatformVersionResponse
    ]("createPlatformVersion", api.createPlatformVersion)(
      request.buildAwsValue()
    ).map(
      io.github.vigoo.zioaws.elasticbeanstalk.model.CreatePlatformVersionResponse.wrap
    ).provide(r)
    def deleteApplication(
        request: io.github.vigoo.zioaws.elasticbeanstalk.model.DeleteApplicationRequest
    ): IO[AwsError, Unit] =
      asyncRequestResponse[DeleteApplicationRequest, DeleteApplicationResponse](
        "deleteApplication",
        api.deleteApplication
      )(request.buildAwsValue()).unit.provide(r)
    def listPlatformVersions(
        request: io.github.vigoo.zioaws.elasticbeanstalk.model.ListPlatformVersionsRequest
    ): ZStream[
      Any,
      AwsError,
      io.github.vigoo.zioaws.elasticbeanstalk.model.PlatformSummary.ReadOnly
    ] = asyncSimplePaginatedRequest[
      ListPlatformVersionsRequest,
      ListPlatformVersionsResponse,
      PlatformSummary
    ](
      "listPlatformVersions",
      api.listPlatformVersions,
      (r, token) => r.toBuilder().nextToken(token).build(),
      r => scala.Option(r.nextToken()),
      r => zio.Chunk.fromIterable(r.platformSummaryList().asScala)
    )(request.buildAwsValue())
      .map(item =>
        io.github.vigoo.zioaws.elasticbeanstalk.model.PlatformSummary.wrap(item)
      )
      .provide(r)
    def checkDNSAvailability(
        request: io.github.vigoo.zioaws.elasticbeanstalk.model.CheckDnsAvailabilityRequest
    ): IO[
      AwsError,
      io.github.vigoo.zioaws.elasticbeanstalk.model.CheckDnsAvailabilityResponse.ReadOnly
    ] = asyncRequestResponse[
      CheckDnsAvailabilityRequest,
      CheckDnsAvailabilityResponse
    ]("checkDNSAvailability", api.checkDNSAvailability)(request.buildAwsValue())
      .map(
        io.github.vigoo.zioaws.elasticbeanstalk.model.CheckDnsAvailabilityResponse.wrap
      )
      .provide(r)
    def validateConfigurationSettings(
        request: io.github.vigoo.zioaws.elasticbeanstalk.model.ValidateConfigurationSettingsRequest
    ): IO[
      AwsError,
      io.github.vigoo.zioaws.elasticbeanstalk.model.ValidateConfigurationSettingsResponse.ReadOnly
    ] = asyncRequestResponse[
      ValidateConfigurationSettingsRequest,
      ValidateConfigurationSettingsResponse
    ]("validateConfigurationSettings", api.validateConfigurationSettings)(
      request.buildAwsValue()
    ).map(
      io.github.vigoo.zioaws.elasticbeanstalk.model.ValidateConfigurationSettingsResponse.wrap
    ).provide(r)
    def retrieveEnvironmentInfo(
        request: io.github.vigoo.zioaws.elasticbeanstalk.model.RetrieveEnvironmentInfoRequest
    ): IO[
      AwsError,
      io.github.vigoo.zioaws.elasticbeanstalk.model.RetrieveEnvironmentInfoResponse.ReadOnly
    ] = asyncRequestResponse[
      RetrieveEnvironmentInfoRequest,
      RetrieveEnvironmentInfoResponse
    ]("retrieveEnvironmentInfo", api.retrieveEnvironmentInfo)(
      request.buildAwsValue()
    ).map(
      io.github.vigoo.zioaws.elasticbeanstalk.model.RetrieveEnvironmentInfoResponse.wrap
    ).provide(r)
    def describePlatformVersion(
        request: io.github.vigoo.zioaws.elasticbeanstalk.model.DescribePlatformVersionRequest
    ): IO[
      AwsError,
      io.github.vigoo.zioaws.elasticbeanstalk.model.DescribePlatformVersionResponse.ReadOnly
    ] = asyncRequestResponse[
      DescribePlatformVersionRequest,
      DescribePlatformVersionResponse
    ]("describePlatformVersion", api.describePlatformVersion)(
      request.buildAwsValue()
    ).map(
      io.github.vigoo.zioaws.elasticbeanstalk.model.DescribePlatformVersionResponse.wrap
    ).provide(r)
    def updateTagsForResource(
        request: io.github.vigoo.zioaws.elasticbeanstalk.model.UpdateTagsForResourceRequest
    ): IO[AwsError, Unit] = asyncRequestResponse[
      UpdateTagsForResourceRequest,
      UpdateTagsForResourceResponse
    ]("updateTagsForResource", api.updateTagsForResource)(
      request.buildAwsValue()
    ).unit.provide(r)
    def deleteApplicationVersion(
        request: io.github.vigoo.zioaws.elasticbeanstalk.model.DeleteApplicationVersionRequest
    ): IO[AwsError, Unit] = asyncRequestResponse[
      DeleteApplicationVersionRequest,
      DeleteApplicationVersionResponse
    ]("deleteApplicationVersion", api.deleteApplicationVersion)(
      request.buildAwsValue()
    ).unit.provide(r)
    def listPlatformBranches(
        request: io.github.vigoo.zioaws.elasticbeanstalk.model.ListPlatformBranchesRequest
    ): ZStream[
      Any,
      AwsError,
      io.github.vigoo.zioaws.elasticbeanstalk.model.PlatformBranchSummary.ReadOnly
    ] = asyncSimplePaginatedRequest[
      ListPlatformBranchesRequest,
      ListPlatformBranchesResponse,
      PlatformBranchSummary
    ](
      "listPlatformBranches",
      api.listPlatformBranches,
      (r, token) => r.toBuilder().nextToken(token).build(),
      r => scala.Option(r.nextToken()),
      r => zio.Chunk.fromIterable(r.platformBranchSummaryList().asScala)
    )(request.buildAwsValue())
      .map(item =>
        io.github.vigoo.zioaws.elasticbeanstalk.model.PlatformBranchSummary
          .wrap(item)
      )
      .provide(r)
    def createApplicationVersion(
        request: io.github.vigoo.zioaws.elasticbeanstalk.model.CreateApplicationVersionRequest
    ): IO[
      AwsError,
      io.github.vigoo.zioaws.elasticbeanstalk.model.CreateApplicationVersionResponse.ReadOnly
    ] = asyncRequestResponse[
      CreateApplicationVersionRequest,
      CreateApplicationVersionResponse
    ]("createApplicationVersion", api.createApplicationVersion)(
      request.buildAwsValue()
    ).map(
      io.github.vigoo.zioaws.elasticbeanstalk.model.CreateApplicationVersionResponse.wrap
    ).provide(r)
    def createEnvironment(
        request: io.github.vigoo.zioaws.elasticbeanstalk.model.CreateEnvironmentRequest
    ): IO[
      AwsError,
      io.github.vigoo.zioaws.elasticbeanstalk.model.CreateEnvironmentResponse.ReadOnly
    ] = asyncRequestResponse[
      CreateEnvironmentRequest,
      CreateEnvironmentResponse
    ]("createEnvironment", api.createEnvironment)(request.buildAwsValue())
      .map(
        io.github.vigoo.zioaws.elasticbeanstalk.model.CreateEnvironmentResponse.wrap
      )
      .provide(r)
    def deleteConfigurationTemplate(
        request: io.github.vigoo.zioaws.elasticbeanstalk.model.DeleteConfigurationTemplateRequest
    ): IO[AwsError, Unit] = asyncRequestResponse[
      DeleteConfigurationTemplateRequest,
      DeleteConfigurationTemplateResponse
    ]("deleteConfigurationTemplate", api.deleteConfigurationTemplate)(
      request.buildAwsValue()
    ).unit.provide(r)
    def createApplication(
        request: io.github.vigoo.zioaws.elasticbeanstalk.model.CreateApplicationRequest
    ): IO[
      AwsError,
      io.github.vigoo.zioaws.elasticbeanstalk.model.CreateApplicationResponse.ReadOnly
    ] = asyncRequestResponse[
      CreateApplicationRequest,
      CreateApplicationResponse
    ]("createApplication", api.createApplication)(request.buildAwsValue())
      .map(
        io.github.vigoo.zioaws.elasticbeanstalk.model.CreateApplicationResponse.wrap
      )
      .provide(r)
    def createConfigurationTemplate(
        request: io.github.vigoo.zioaws.elasticbeanstalk.model.CreateConfigurationTemplateRequest
    ): IO[
      AwsError,
      io.github.vigoo.zioaws.elasticbeanstalk.model.CreateConfigurationTemplateResponse.ReadOnly
    ] = asyncRequestResponse[
      CreateConfigurationTemplateRequest,
      CreateConfigurationTemplateResponse
    ]("createConfigurationTemplate", api.createConfigurationTemplate)(
      request.buildAwsValue()
    ).map(
      io.github.vigoo.zioaws.elasticbeanstalk.model.CreateConfigurationTemplateResponse.wrap
    ).provide(r)
    def describeEnvironmentManagedActions(
        request: io.github.vigoo.zioaws.elasticbeanstalk.model.DescribeEnvironmentManagedActionsRequest
    ): IO[
      AwsError,
      io.github.vigoo.zioaws.elasticbeanstalk.model.DescribeEnvironmentManagedActionsResponse.ReadOnly
    ] = asyncRequestResponse[
      DescribeEnvironmentManagedActionsRequest,
      DescribeEnvironmentManagedActionsResponse
    ](
      "describeEnvironmentManagedActions",
      api.describeEnvironmentManagedActions
    )(request.buildAwsValue())
      .map(
        io.github.vigoo.zioaws.elasticbeanstalk.model.DescribeEnvironmentManagedActionsResponse.wrap
      )
      .provide(r)
    def describeEnvironmentResources(
        request: io.github.vigoo.zioaws.elasticbeanstalk.model.DescribeEnvironmentResourcesRequest
    ): IO[
      AwsError,
      io.github.vigoo.zioaws.elasticbeanstalk.model.DescribeEnvironmentResourcesResponse.ReadOnly
    ] = asyncRequestResponse[
      DescribeEnvironmentResourcesRequest,
      DescribeEnvironmentResourcesResponse
    ]("describeEnvironmentResources", api.describeEnvironmentResources)(
      request.buildAwsValue()
    ).map(
      io.github.vigoo.zioaws.elasticbeanstalk.model.DescribeEnvironmentResourcesResponse.wrap
    ).provide(r)
    def createStorageLocation(): IO[
      AwsError,
      io.github.vigoo.zioaws.elasticbeanstalk.model.CreateStorageLocationResponse.ReadOnly
    ] = asyncRequestResponse[
      CreateStorageLocationRequest,
      CreateStorageLocationResponse
    ]("createStorageLocation", api.createStorageLocation)(
      CreateStorageLocationRequest.builder().build()
    ).map(
      io.github.vigoo.zioaws.elasticbeanstalk.model.CreateStorageLocationResponse.wrap
    ).provide(r)
    def deleteEnvironmentConfiguration(
        request: io.github.vigoo.zioaws.elasticbeanstalk.model.DeleteEnvironmentConfigurationRequest
    ): IO[AwsError, Unit] = asyncRequestResponse[
      DeleteEnvironmentConfigurationRequest,
      DeleteEnvironmentConfigurationResponse
    ]("deleteEnvironmentConfiguration", api.deleteEnvironmentConfiguration)(
      request.buildAwsValue()
    ).unit.provide(r)
    def abortEnvironmentUpdate(
        request: io.github.vigoo.zioaws.elasticbeanstalk.model.AbortEnvironmentUpdateRequest
    ): IO[AwsError, Unit] = asyncRequestResponse[
      AbortEnvironmentUpdateRequest,
      AbortEnvironmentUpdateResponse
    ]("abortEnvironmentUpdate", api.abortEnvironmentUpdate)(
      request.buildAwsValue()
    ).unit.provide(r)
    def swapEnvironmentCNAMEs(
        request: io.github.vigoo.zioaws.elasticbeanstalk.model.SwapEnvironmentCnamEsRequest
    ): IO[AwsError, Unit] = asyncRequestResponse[
      SwapEnvironmentCnamEsRequest,
      SwapEnvironmentCnamEsResponse
    ]("swapEnvironmentCNAMEs", api.swapEnvironmentCNAMEs)(
      request.buildAwsValue()
    ).unit.provide(r)
    def describeConfigurationSettings(
        request: io.github.vigoo.zioaws.elasticbeanstalk.model.DescribeConfigurationSettingsRequest
    ): IO[
      AwsError,
      io.github.vigoo.zioaws.elasticbeanstalk.model.DescribeConfigurationSettingsResponse.ReadOnly
    ] = asyncRequestResponse[
      DescribeConfigurationSettingsRequest,
      DescribeConfigurationSettingsResponse
    ]("describeConfigurationSettings", api.describeConfigurationSettings)(
      request.buildAwsValue()
    ).map(
      io.github.vigoo.zioaws.elasticbeanstalk.model.DescribeConfigurationSettingsResponse.wrap
    ).provide(r)
    def listAvailableSolutionStacks(): IO[
      AwsError,
      io.github.vigoo.zioaws.elasticbeanstalk.model.ListAvailableSolutionStacksResponse.ReadOnly
    ] = asyncRequestResponse[
      ListAvailableSolutionStacksRequest,
      ListAvailableSolutionStacksResponse
    ]("listAvailableSolutionStacks", api.listAvailableSolutionStacks)(
      ListAvailableSolutionStacksRequest.builder().build()
    ).map(
      io.github.vigoo.zioaws.elasticbeanstalk.model.ListAvailableSolutionStacksResponse.wrap
    ).provide(r)
    def restartAppServer(
        request: io.github.vigoo.zioaws.elasticbeanstalk.model.RestartAppServerRequest
    ): IO[AwsError, Unit] =
      asyncRequestResponse[RestartAppServerRequest, RestartAppServerResponse](
        "restartAppServer",
        api.restartAppServer
      )(request.buildAwsValue()).unit.provide(r)
    def composeEnvironments(
        request: io.github.vigoo.zioaws.elasticbeanstalk.model.ComposeEnvironmentsRequest
    ): IO[
      AwsError,
      io.github.vigoo.zioaws.elasticbeanstalk.model.ComposeEnvironmentsResponse.ReadOnly
    ] = asyncRequestResponse[
      ComposeEnvironmentsRequest,
      ComposeEnvironmentsResponse
    ]("composeEnvironments", api.composeEnvironments)(request.buildAwsValue())
      .map(
        io.github.vigoo.zioaws.elasticbeanstalk.model.ComposeEnvironmentsResponse.wrap
      )
      .provide(r)
    def disassociateEnvironmentOperationsRole(
        request: io.github.vigoo.zioaws.elasticbeanstalk.model.DisassociateEnvironmentOperationsRoleRequest
    ): IO[AwsError, Unit] = asyncRequestResponse[
      DisassociateEnvironmentOperationsRoleRequest,
      DisassociateEnvironmentOperationsRoleResponse
    ](
      "disassociateEnvironmentOperationsRole",
      api.disassociateEnvironmentOperationsRole
    )(request.buildAwsValue()).unit.provide(r)
    def describeApplicationVersions(
        request: io.github.vigoo.zioaws.elasticbeanstalk.model.DescribeApplicationVersionsRequest
    ): ZStream[
      Any,
      AwsError,
      io.github.vigoo.zioaws.elasticbeanstalk.model.ApplicationVersionDescription.ReadOnly
    ] = asyncSimplePaginatedRequest[
      DescribeApplicationVersionsRequest,
      DescribeApplicationVersionsResponse,
      ApplicationVersionDescription
    ](
      "describeApplicationVersions",
      api.describeApplicationVersions,
      (r, token) => r.toBuilder().nextToken(token).build(),
      r => scala.Option(r.nextToken()),
      r => zio.Chunk.fromIterable(r.applicationVersions().asScala)
    )(request.buildAwsValue())
      .map(item =>
        io.github.vigoo.zioaws.elasticbeanstalk.model.ApplicationVersionDescription
          .wrap(item)
      )
      .provide(r)
    def associateEnvironmentOperationsRole(
        request: io.github.vigoo.zioaws.elasticbeanstalk.model.AssociateEnvironmentOperationsRoleRequest
    ): IO[AwsError, Unit] = asyncRequestResponse[
      AssociateEnvironmentOperationsRoleRequest,
      AssociateEnvironmentOperationsRoleResponse
    ](
      "associateEnvironmentOperationsRole",
      api.associateEnvironmentOperationsRole
    )(request.buildAwsValue()).unit.provide(r)
    def updateApplicationResourceLifecycle(
        request: io.github.vigoo.zioaws.elasticbeanstalk.model.UpdateApplicationResourceLifecycleRequest
    ): IO[
      AwsError,
      io.github.vigoo.zioaws.elasticbeanstalk.model.UpdateApplicationResourceLifecycleResponse.ReadOnly
    ] = asyncRequestResponse[
      UpdateApplicationResourceLifecycleRequest,
      UpdateApplicationResourceLifecycleResponse
    ](
      "updateApplicationResourceLifecycle",
      api.updateApplicationResourceLifecycle
    )(request.buildAwsValue())
      .map(
        io.github.vigoo.zioaws.elasticbeanstalk.model.UpdateApplicationResourceLifecycleResponse.wrap
      )
      .provide(r)
    def requestEnvironmentInfo(
        request: io.github.vigoo.zioaws.elasticbeanstalk.model.RequestEnvironmentInfoRequest
    ): IO[AwsError, Unit] = asyncRequestResponse[
      RequestEnvironmentInfoRequest,
      RequestEnvironmentInfoResponse
    ]("requestEnvironmentInfo", api.requestEnvironmentInfo)(
      request.buildAwsValue()
    ).unit.provide(r)
    def rebuildEnvironment(
        request: io.github.vigoo.zioaws.elasticbeanstalk.model.RebuildEnvironmentRequest
    ): IO[AwsError, Unit] = asyncRequestResponse[
      RebuildEnvironmentRequest,
      RebuildEnvironmentResponse
    ]("rebuildEnvironment", api.rebuildEnvironment)(
      request.buildAwsValue()
    ).unit.provide(r)
    def describeEnvironments(
        request: io.github.vigoo.zioaws.elasticbeanstalk.model.DescribeEnvironmentsRequest
    ): ZStream[
      Any,
      AwsError,
      io.github.vigoo.zioaws.elasticbeanstalk.model.EnvironmentDescription.ReadOnly
    ] = asyncSimplePaginatedRequest[
      DescribeEnvironmentsRequest,
      DescribeEnvironmentsResponse,
      EnvironmentDescription
    ](
      "describeEnvironments",
      api.describeEnvironments,
      (r, token) => r.toBuilder().nextToken(token).build(),
      r => scala.Option(r.nextToken()),
      r => zio.Chunk.fromIterable(r.environments().asScala)
    )(request.buildAwsValue())
      .map(item =>
        io.github.vigoo.zioaws.elasticbeanstalk.model.EnvironmentDescription
          .wrap(item)
      )
      .provide(r)
    def applyEnvironmentManagedAction(
        request: io.github.vigoo.zioaws.elasticbeanstalk.model.ApplyEnvironmentManagedActionRequest
    ): IO[
      AwsError,
      io.github.vigoo.zioaws.elasticbeanstalk.model.ApplyEnvironmentManagedActionResponse.ReadOnly
    ] = asyncRequestResponse[
      ApplyEnvironmentManagedActionRequest,
      ApplyEnvironmentManagedActionResponse
    ]("applyEnvironmentManagedAction", api.applyEnvironmentManagedAction)(
      request.buildAwsValue()
    ).map(
      io.github.vigoo.zioaws.elasticbeanstalk.model.ApplyEnvironmentManagedActionResponse.wrap
    ).provide(r)
    def describeApplications(
        request: io.github.vigoo.zioaws.elasticbeanstalk.model.DescribeApplicationsRequest
    ): IO[
      AwsError,
      io.github.vigoo.zioaws.elasticbeanstalk.model.DescribeApplicationsResponse.ReadOnly
    ] = asyncRequestResponse[
      DescribeApplicationsRequest,
      DescribeApplicationsResponse
    ]("describeApplications", api.describeApplications)(request.buildAwsValue())
      .map(
        io.github.vigoo.zioaws.elasticbeanstalk.model.DescribeApplicationsResponse.wrap
      )
      .provide(r)
    def listTagsForResource(
        request: io.github.vigoo.zioaws.elasticbeanstalk.model.ListTagsForResourceRequest
    ): IO[
      AwsError,
      io.github.vigoo.zioaws.elasticbeanstalk.model.ListTagsForResourceResponse.ReadOnly
    ] = asyncRequestResponse[
      ListTagsForResourceRequest,
      ListTagsForResourceResponse
    ]("listTagsForResource", api.listTagsForResource)(request.buildAwsValue())
      .map(
        io.github.vigoo.zioaws.elasticbeanstalk.model.ListTagsForResourceResponse.wrap
      )
      .provide(r)
    def updateEnvironment(
        request: io.github.vigoo.zioaws.elasticbeanstalk.model.UpdateEnvironmentRequest
    ): IO[
      AwsError,
      io.github.vigoo.zioaws.elasticbeanstalk.model.UpdateEnvironmentResponse.ReadOnly
    ] = asyncRequestResponse[
      UpdateEnvironmentRequest,
      UpdateEnvironmentResponse
    ]("updateEnvironment", api.updateEnvironment)(request.buildAwsValue())
      .map(
        io.github.vigoo.zioaws.elasticbeanstalk.model.UpdateEnvironmentResponse.wrap
      )
      .provide(r)
    def describeInstancesHealth(
        request: io.github.vigoo.zioaws.elasticbeanstalk.model.DescribeInstancesHealthRequest
    ): ZIO[Any, AwsError, StreamingOutputResult[
      Any,
      io.github.vigoo.zioaws.elasticbeanstalk.model.DescribeInstancesHealthResponse.ReadOnly,
      io.github.vigoo.zioaws.elasticbeanstalk.model.SingleInstanceHealth.ReadOnly
    ]] = asyncPaginatedRequest[
      DescribeInstancesHealthRequest,
      DescribeInstancesHealthResponse,
      SingleInstanceHealth
    ](
      "describeInstancesHealth",
      api.describeInstancesHealth,
      (r, token) => r.toBuilder().nextToken(token).build(),
      r => scala.Option(r.nextToken()),
      r => zio.Chunk.fromIterable(r.instanceHealthList().asScala)
    )(request.buildAwsValue())
      .map(result =>
        result
          .mapResponse(
            io.github.vigoo.zioaws.elasticbeanstalk.model.DescribeInstancesHealthResponse.wrap
          )
          .mapOutput(
            _.map(item =>
              io.github.vigoo.zioaws.elasticbeanstalk.model.SingleInstanceHealth
                .wrap(item)
            )
          )
          .provide(r)
      )
      .provide(r)
    def updateApplicationVersion(
        request: io.github.vigoo.zioaws.elasticbeanstalk.model.UpdateApplicationVersionRequest
    ): IO[
      AwsError,
      io.github.vigoo.zioaws.elasticbeanstalk.model.UpdateApplicationVersionResponse.ReadOnly
    ] = asyncRequestResponse[
      UpdateApplicationVersionRequest,
      UpdateApplicationVersionResponse
    ]("updateApplicationVersion", api.updateApplicationVersion)(
      request.buildAwsValue()
    ).map(
      io.github.vigoo.zioaws.elasticbeanstalk.model.UpdateApplicationVersionResponse.wrap
    ).provide(r)
    def terminateEnvironment(
        request: io.github.vigoo.zioaws.elasticbeanstalk.model.TerminateEnvironmentRequest
    ): IO[
      AwsError,
      io.github.vigoo.zioaws.elasticbeanstalk.model.TerminateEnvironmentResponse.ReadOnly
    ] = asyncRequestResponse[
      TerminateEnvironmentRequest,
      TerminateEnvironmentResponse
    ]("terminateEnvironment", api.terminateEnvironment)(request.buildAwsValue())
      .map(
        io.github.vigoo.zioaws.elasticbeanstalk.model.TerminateEnvironmentResponse.wrap
      )
      .provide(r)
    def updateApplication(
        request: io.github.vigoo.zioaws.elasticbeanstalk.model.UpdateApplicationRequest
    ): IO[
      AwsError,
      io.github.vigoo.zioaws.elasticbeanstalk.model.UpdateApplicationResponse.ReadOnly
    ] = asyncRequestResponse[
      UpdateApplicationRequest,
      UpdateApplicationResponse
    ]("updateApplication", api.updateApplication)(request.buildAwsValue())
      .map(
        io.github.vigoo.zioaws.elasticbeanstalk.model.UpdateApplicationResponse.wrap
      )
      .provide(r)
    def deletePlatformVersion(
        request: io.github.vigoo.zioaws.elasticbeanstalk.model.DeletePlatformVersionRequest
    ): IO[
      AwsError,
      io.github.vigoo.zioaws.elasticbeanstalk.model.DeletePlatformVersionResponse.ReadOnly
    ] = asyncRequestResponse[
      DeletePlatformVersionRequest,
      DeletePlatformVersionResponse
    ]("deletePlatformVersion", api.deletePlatformVersion)(
      request.buildAwsValue()
    ).map(
      io.github.vigoo.zioaws.elasticbeanstalk.model.DeletePlatformVersionResponse.wrap
    ).provide(r)
    def describeEnvironmentManagedActionHistory(
        request: io.github.vigoo.zioaws.elasticbeanstalk.model.DescribeEnvironmentManagedActionHistoryRequest
    ): ZStream[
      Any,
      AwsError,
      io.github.vigoo.zioaws.elasticbeanstalk.model.ManagedActionHistoryItem.ReadOnly
    ] = asyncSimplePaginatedRequest[
      DescribeEnvironmentManagedActionHistoryRequest,
      DescribeEnvironmentManagedActionHistoryResponse,
      ManagedActionHistoryItem
    ](
      "describeEnvironmentManagedActionHistory",
      api.describeEnvironmentManagedActionHistory,
      (r, token) => r.toBuilder().nextToken(token).build(),
      r => scala.Option(r.nextToken()),
      r => zio.Chunk.fromIterable(r.managedActionHistoryItems().asScala)
    )(request.buildAwsValue())
      .map(item =>
        io.github.vigoo.zioaws.elasticbeanstalk.model.ManagedActionHistoryItem
          .wrap(item)
      )
      .provide(r)
    def describeAccountAttributes(): IO[
      AwsError,
      io.github.vigoo.zioaws.elasticbeanstalk.model.DescribeAccountAttributesResponse.ReadOnly
    ] = asyncRequestResponse[
      DescribeAccountAttributesRequest,
      DescribeAccountAttributesResponse
    ]("describeAccountAttributes", api.describeAccountAttributes)(
      DescribeAccountAttributesRequest.builder().build()
    ).map(
      io.github.vigoo.zioaws.elasticbeanstalk.model.DescribeAccountAttributesResponse.wrap
    ).provide(r)
    def updateConfigurationTemplate(
        request: io.github.vigoo.zioaws.elasticbeanstalk.model.UpdateConfigurationTemplateRequest
    ): IO[AwsError, ReadOnly] = asyncRequestResponse[
      UpdateConfigurationTemplateRequest,
      UpdateConfigurationTemplateResponse
    ]("updateConfigurationTemplate", api.updateConfigurationTemplate)(
      request.buildAwsValue()
    ).map(
      io.github.vigoo.zioaws.elasticbeanstalk.model.UpdateConfigurationTemplateResponse.wrap
    ).provide(r)
    def describeEnvironmentHealth(
        request: io.github.vigoo.zioaws.elasticbeanstalk.model.DescribeEnvironmentHealthRequest
    ): IO[
      AwsError,
      io.github.vigoo.zioaws.elasticbeanstalk.model.DescribeEnvironmentHealthResponse.ReadOnly
    ] = asyncRequestResponse[
      DescribeEnvironmentHealthRequest,
      DescribeEnvironmentHealthResponse
    ]("describeEnvironmentHealth", api.describeEnvironmentHealth)(
      request.buildAwsValue()
    ).map(
      io.github.vigoo.zioaws.elasticbeanstalk.model.DescribeEnvironmentHealthResponse.wrap
    ).provide(r)
    def describeEvents(
        request: io.github.vigoo.zioaws.elasticbeanstalk.model.DescribeEventsRequest
    ): ZStream[
      Any,
      AwsError,
      io.github.vigoo.zioaws.elasticbeanstalk.model.EventDescription.ReadOnly
    ] = asyncSimplePaginatedRequest[
      DescribeEventsRequest,
      DescribeEventsResponse,
      EventDescription
    ](
      "describeEvents",
      api.describeEvents,
      (r, token) => r.toBuilder().nextToken(token).build(),
      r => scala.Option(r.nextToken()),
      r => zio.Chunk.fromIterable(r.events().asScala)
    )(request.buildAwsValue())
      .map(item =>
        io.github.vigoo.zioaws.elasticbeanstalk.model.EventDescription
          .wrap(item)
      )
      .provide(r)
  }
  def describeConfigurationOptions(
      request: io.github.vigoo.zioaws.elasticbeanstalk.model.DescribeConfigurationOptionsRequest
  ): ZIO[
    ElasticBeanstalk,
    AwsError,
    io.github.vigoo.zioaws.elasticbeanstalk.model.DescribeConfigurationOptionsResponse.ReadOnly
  ] = ZIO.accessM(_.get.describeConfigurationOptions(request))
  def createPlatformVersion(
      request: io.github.vigoo.zioaws.elasticbeanstalk.model.CreatePlatformVersionRequest
  ): ZIO[
    ElasticBeanstalk,
    AwsError,
    io.github.vigoo.zioaws.elasticbeanstalk.model.CreatePlatformVersionResponse.ReadOnly
  ] = ZIO.accessM(_.get.createPlatformVersion(request))
  def deleteApplication(
      request: io.github.vigoo.zioaws.elasticbeanstalk.model.DeleteApplicationRequest
  ): ZIO[ElasticBeanstalk, AwsError, Unit] =
    ZIO.accessM(_.get.deleteApplication(request))
  def listPlatformVersions(
      request: io.github.vigoo.zioaws.elasticbeanstalk.model.ListPlatformVersionsRequest
  ): ZStream[
    ElasticBeanstalk,
    AwsError,
    io.github.vigoo.zioaws.elasticbeanstalk.model.PlatformSummary.ReadOnly
  ] = ZStream.accessStream(_.get.listPlatformVersions(request))
  def checkDNSAvailability(
      request: io.github.vigoo.zioaws.elasticbeanstalk.model.CheckDnsAvailabilityRequest
  ): ZIO[
    ElasticBeanstalk,
    AwsError,
    io.github.vigoo.zioaws.elasticbeanstalk.model.CheckDnsAvailabilityResponse.ReadOnly
  ] = ZIO.accessM(_.get.checkDNSAvailability(request))
  def validateConfigurationSettings(
      request: io.github.vigoo.zioaws.elasticbeanstalk.model.ValidateConfigurationSettingsRequest
  ): ZIO[
    ElasticBeanstalk,
    AwsError,
    io.github.vigoo.zioaws.elasticbeanstalk.model.ValidateConfigurationSettingsResponse.ReadOnly
  ] = ZIO.accessM(_.get.validateConfigurationSettings(request))
  def retrieveEnvironmentInfo(
      request: io.github.vigoo.zioaws.elasticbeanstalk.model.RetrieveEnvironmentInfoRequest
  ): ZIO[
    ElasticBeanstalk,
    AwsError,
    io.github.vigoo.zioaws.elasticbeanstalk.model.RetrieveEnvironmentInfoResponse.ReadOnly
  ] = ZIO.accessM(_.get.retrieveEnvironmentInfo(request))
  def describePlatformVersion(
      request: io.github.vigoo.zioaws.elasticbeanstalk.model.DescribePlatformVersionRequest
  ): ZIO[
    ElasticBeanstalk,
    AwsError,
    io.github.vigoo.zioaws.elasticbeanstalk.model.DescribePlatformVersionResponse.ReadOnly
  ] = ZIO.accessM(_.get.describePlatformVersion(request))
  def updateTagsForResource(
      request: io.github.vigoo.zioaws.elasticbeanstalk.model.UpdateTagsForResourceRequest
  ): ZIO[ElasticBeanstalk, AwsError, Unit] =
    ZIO.accessM(_.get.updateTagsForResource(request))
  def deleteApplicationVersion(
      request: io.github.vigoo.zioaws.elasticbeanstalk.model.DeleteApplicationVersionRequest
  ): ZIO[ElasticBeanstalk, AwsError, Unit] =
    ZIO.accessM(_.get.deleteApplicationVersion(request))
  def listPlatformBranches(
      request: io.github.vigoo.zioaws.elasticbeanstalk.model.ListPlatformBranchesRequest
  ): ZStream[
    ElasticBeanstalk,
    AwsError,
    io.github.vigoo.zioaws.elasticbeanstalk.model.PlatformBranchSummary.ReadOnly
  ] = ZStream.accessStream(_.get.listPlatformBranches(request))
  def createApplicationVersion(
      request: io.github.vigoo.zioaws.elasticbeanstalk.model.CreateApplicationVersionRequest
  ): ZIO[
    ElasticBeanstalk,
    AwsError,
    io.github.vigoo.zioaws.elasticbeanstalk.model.CreateApplicationVersionResponse.ReadOnly
  ] = ZIO.accessM(_.get.createApplicationVersion(request))
  def createEnvironment(
      request: io.github.vigoo.zioaws.elasticbeanstalk.model.CreateEnvironmentRequest
  ): ZIO[
    ElasticBeanstalk,
    AwsError,
    io.github.vigoo.zioaws.elasticbeanstalk.model.CreateEnvironmentResponse.ReadOnly
  ] = ZIO.accessM(_.get.createEnvironment(request))
  def deleteConfigurationTemplate(
      request: io.github.vigoo.zioaws.elasticbeanstalk.model.DeleteConfigurationTemplateRequest
  ): ZIO[ElasticBeanstalk, AwsError, Unit] =
    ZIO.accessM(_.get.deleteConfigurationTemplate(request))
  def createApplication(
      request: io.github.vigoo.zioaws.elasticbeanstalk.model.CreateApplicationRequest
  ): ZIO[
    ElasticBeanstalk,
    AwsError,
    io.github.vigoo.zioaws.elasticbeanstalk.model.CreateApplicationResponse.ReadOnly
  ] = ZIO.accessM(_.get.createApplication(request))
  def createConfigurationTemplate(
      request: io.github.vigoo.zioaws.elasticbeanstalk.model.CreateConfigurationTemplateRequest
  ): ZIO[
    ElasticBeanstalk,
    AwsError,
    io.github.vigoo.zioaws.elasticbeanstalk.model.CreateConfigurationTemplateResponse.ReadOnly
  ] = ZIO.accessM(_.get.createConfigurationTemplate(request))
  def describeEnvironmentManagedActions(
      request: io.github.vigoo.zioaws.elasticbeanstalk.model.DescribeEnvironmentManagedActionsRequest
  ): ZIO[
    ElasticBeanstalk,
    AwsError,
    io.github.vigoo.zioaws.elasticbeanstalk.model.DescribeEnvironmentManagedActionsResponse.ReadOnly
  ] = ZIO.accessM(_.get.describeEnvironmentManagedActions(request))
  def describeEnvironmentResources(
      request: io.github.vigoo.zioaws.elasticbeanstalk.model.DescribeEnvironmentResourcesRequest
  ): ZIO[
    ElasticBeanstalk,
    AwsError,
    io.github.vigoo.zioaws.elasticbeanstalk.model.DescribeEnvironmentResourcesResponse.ReadOnly
  ] = ZIO.accessM(_.get.describeEnvironmentResources(request))
  def createStorageLocation(): ZIO[
    ElasticBeanstalk,
    AwsError,
    io.github.vigoo.zioaws.elasticbeanstalk.model.CreateStorageLocationResponse.ReadOnly
  ] = ZIO.accessM(_.get.createStorageLocation())
  def deleteEnvironmentConfiguration(
      request: io.github.vigoo.zioaws.elasticbeanstalk.model.DeleteEnvironmentConfigurationRequest
  ): ZIO[ElasticBeanstalk, AwsError, Unit] =
    ZIO.accessM(_.get.deleteEnvironmentConfiguration(request))
  def abortEnvironmentUpdate(
      request: io.github.vigoo.zioaws.elasticbeanstalk.model.AbortEnvironmentUpdateRequest
  ): ZIO[ElasticBeanstalk, AwsError, Unit] =
    ZIO.accessM(_.get.abortEnvironmentUpdate(request))
  def swapEnvironmentCNAMEs(
      request: io.github.vigoo.zioaws.elasticbeanstalk.model.SwapEnvironmentCnamEsRequest
  ): ZIO[ElasticBeanstalk, AwsError, Unit] =
    ZIO.accessM(_.get.swapEnvironmentCNAMEs(request))
  def describeConfigurationSettings(
      request: io.github.vigoo.zioaws.elasticbeanstalk.model.DescribeConfigurationSettingsRequest
  ): ZIO[
    ElasticBeanstalk,
    AwsError,
    io.github.vigoo.zioaws.elasticbeanstalk.model.DescribeConfigurationSettingsResponse.ReadOnly
  ] = ZIO.accessM(_.get.describeConfigurationSettings(request))
  def listAvailableSolutionStacks(): ZIO[
    ElasticBeanstalk,
    AwsError,
    io.github.vigoo.zioaws.elasticbeanstalk.model.ListAvailableSolutionStacksResponse.ReadOnly
  ] = ZIO.accessM(_.get.listAvailableSolutionStacks())
  def restartAppServer(
      request: io.github.vigoo.zioaws.elasticbeanstalk.model.RestartAppServerRequest
  ): ZIO[ElasticBeanstalk, AwsError, Unit] =
    ZIO.accessM(_.get.restartAppServer(request))
  def composeEnvironments(
      request: io.github.vigoo.zioaws.elasticbeanstalk.model.ComposeEnvironmentsRequest
  ): ZIO[
    ElasticBeanstalk,
    AwsError,
    io.github.vigoo.zioaws.elasticbeanstalk.model.ComposeEnvironmentsResponse.ReadOnly
  ] = ZIO.accessM(_.get.composeEnvironments(request))
  def disassociateEnvironmentOperationsRole(
      request: io.github.vigoo.zioaws.elasticbeanstalk.model.DisassociateEnvironmentOperationsRoleRequest
  ): ZIO[ElasticBeanstalk, AwsError, Unit] =
    ZIO.accessM(_.get.disassociateEnvironmentOperationsRole(request))
  def describeApplicationVersions(
      request: io.github.vigoo.zioaws.elasticbeanstalk.model.DescribeApplicationVersionsRequest
  ): ZStream[
    ElasticBeanstalk,
    AwsError,
    io.github.vigoo.zioaws.elasticbeanstalk.model.ApplicationVersionDescription.ReadOnly
  ] = ZStream.accessStream(_.get.describeApplicationVersions(request))
  def associateEnvironmentOperationsRole(
      request: io.github.vigoo.zioaws.elasticbeanstalk.model.AssociateEnvironmentOperationsRoleRequest
  ): ZIO[ElasticBeanstalk, AwsError, Unit] =
    ZIO.accessM(_.get.associateEnvironmentOperationsRole(request))
  def updateApplicationResourceLifecycle(
      request: io.github.vigoo.zioaws.elasticbeanstalk.model.UpdateApplicationResourceLifecycleRequest
  ): ZIO[
    ElasticBeanstalk,
    AwsError,
    io.github.vigoo.zioaws.elasticbeanstalk.model.UpdateApplicationResourceLifecycleResponse.ReadOnly
  ] = ZIO.accessM(_.get.updateApplicationResourceLifecycle(request))
  def requestEnvironmentInfo(
      request: io.github.vigoo.zioaws.elasticbeanstalk.model.RequestEnvironmentInfoRequest
  ): ZIO[ElasticBeanstalk, AwsError, Unit] =
    ZIO.accessM(_.get.requestEnvironmentInfo(request))
  def rebuildEnvironment(
      request: io.github.vigoo.zioaws.elasticbeanstalk.model.RebuildEnvironmentRequest
  ): ZIO[ElasticBeanstalk, AwsError, Unit] =
    ZIO.accessM(_.get.rebuildEnvironment(request))
  def describeEnvironments(
      request: io.github.vigoo.zioaws.elasticbeanstalk.model.DescribeEnvironmentsRequest
  ): ZStream[
    ElasticBeanstalk,
    AwsError,
    io.github.vigoo.zioaws.elasticbeanstalk.model.EnvironmentDescription.ReadOnly
  ] = ZStream.accessStream(_.get.describeEnvironments(request))
  def applyEnvironmentManagedAction(
      request: io.github.vigoo.zioaws.elasticbeanstalk.model.ApplyEnvironmentManagedActionRequest
  ): ZIO[
    ElasticBeanstalk,
    AwsError,
    io.github.vigoo.zioaws.elasticbeanstalk.model.ApplyEnvironmentManagedActionResponse.ReadOnly
  ] = ZIO.accessM(_.get.applyEnvironmentManagedAction(request))
  def describeApplications(
      request: io.github.vigoo.zioaws.elasticbeanstalk.model.DescribeApplicationsRequest
  ): ZIO[
    ElasticBeanstalk,
    AwsError,
    io.github.vigoo.zioaws.elasticbeanstalk.model.DescribeApplicationsResponse.ReadOnly
  ] = ZIO.accessM(_.get.describeApplications(request))
  def listTagsForResource(
      request: io.github.vigoo.zioaws.elasticbeanstalk.model.ListTagsForResourceRequest
  ): ZIO[
    ElasticBeanstalk,
    AwsError,
    io.github.vigoo.zioaws.elasticbeanstalk.model.ListTagsForResourceResponse.ReadOnly
  ] = ZIO.accessM(_.get.listTagsForResource(request))
  def updateEnvironment(
      request: io.github.vigoo.zioaws.elasticbeanstalk.model.UpdateEnvironmentRequest
  ): ZIO[
    ElasticBeanstalk,
    AwsError,
    io.github.vigoo.zioaws.elasticbeanstalk.model.UpdateEnvironmentResponse.ReadOnly
  ] = ZIO.accessM(_.get.updateEnvironment(request))
  def describeInstancesHealth(
      request: io.github.vigoo.zioaws.elasticbeanstalk.model.DescribeInstancesHealthRequest
  ): ZIO[ElasticBeanstalk, AwsError, StreamingOutputResult[
    Any,
    io.github.vigoo.zioaws.elasticbeanstalk.model.DescribeInstancesHealthResponse.ReadOnly,
    io.github.vigoo.zioaws.elasticbeanstalk.model.SingleInstanceHealth.ReadOnly
  ]] = ZIO.accessM(_.get.describeInstancesHealth(request))
  def updateApplicationVersion(
      request: io.github.vigoo.zioaws.elasticbeanstalk.model.UpdateApplicationVersionRequest
  ): ZIO[
    ElasticBeanstalk,
    AwsError,
    io.github.vigoo.zioaws.elasticbeanstalk.model.UpdateApplicationVersionResponse.ReadOnly
  ] = ZIO.accessM(_.get.updateApplicationVersion(request))
  def terminateEnvironment(
      request: io.github.vigoo.zioaws.elasticbeanstalk.model.TerminateEnvironmentRequest
  ): ZIO[
    ElasticBeanstalk,
    AwsError,
    io.github.vigoo.zioaws.elasticbeanstalk.model.TerminateEnvironmentResponse.ReadOnly
  ] = ZIO.accessM(_.get.terminateEnvironment(request))
  def updateApplication(
      request: io.github.vigoo.zioaws.elasticbeanstalk.model.UpdateApplicationRequest
  ): ZIO[
    ElasticBeanstalk,
    AwsError,
    io.github.vigoo.zioaws.elasticbeanstalk.model.UpdateApplicationResponse.ReadOnly
  ] = ZIO.accessM(_.get.updateApplication(request))
  def deletePlatformVersion(
      request: io.github.vigoo.zioaws.elasticbeanstalk.model.DeletePlatformVersionRequest
  ): ZIO[
    ElasticBeanstalk,
    AwsError,
    io.github.vigoo.zioaws.elasticbeanstalk.model.DeletePlatformVersionResponse.ReadOnly
  ] = ZIO.accessM(_.get.deletePlatformVersion(request))
  def describeEnvironmentManagedActionHistory(
      request: io.github.vigoo.zioaws.elasticbeanstalk.model.DescribeEnvironmentManagedActionHistoryRequest
  ): ZStream[
    ElasticBeanstalk,
    AwsError,
    io.github.vigoo.zioaws.elasticbeanstalk.model.ManagedActionHistoryItem.ReadOnly
  ] =
    ZStream.accessStream(_.get.describeEnvironmentManagedActionHistory(request))
  def describeAccountAttributes(): ZIO[
    ElasticBeanstalk,
    AwsError,
    io.github.vigoo.zioaws.elasticbeanstalk.model.DescribeAccountAttributesResponse.ReadOnly
  ] = ZIO.accessM(_.get.describeAccountAttributes())
  def updateConfigurationTemplate(
      request: io.github.vigoo.zioaws.elasticbeanstalk.model.UpdateConfigurationTemplateRequest
  ): ZIO[ElasticBeanstalk, AwsError, ReadOnly] =
    ZIO.accessM(_.get.updateConfigurationTemplate(request))
  def describeEnvironmentHealth(
      request: io.github.vigoo.zioaws.elasticbeanstalk.model.DescribeEnvironmentHealthRequest
  ): ZIO[
    ElasticBeanstalk,
    AwsError,
    io.github.vigoo.zioaws.elasticbeanstalk.model.DescribeEnvironmentHealthResponse.ReadOnly
  ] = ZIO.accessM(_.get.describeEnvironmentHealth(request))
  def describeEvents(
      request: io.github.vigoo.zioaws.elasticbeanstalk.model.DescribeEventsRequest
  ): ZStream[
    ElasticBeanstalk,
    AwsError,
    io.github.vigoo.zioaws.elasticbeanstalk.model.EventDescription.ReadOnly
  ] = ZStream.accessStream(_.get.describeEvents(request))
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy