Search in sources :

Example 1 with Resource

use of org.cloudfoundry.client.v2.resourcematch.Resource in project cf-java-client by cloudfoundry.

the class CloudFoundryCleaner method cleanRoutes.

private static Flux<Void> cleanRoutes(CloudFoundryClient cloudFoundryClient, NameFactory nameFactory) {
    return getAllDomains(cloudFoundryClient).flatMapMany(domains -> PaginationUtils.requestClientV2Resources(page -> cloudFoundryClient.routes().list(ListRoutesRequest.builder().page(page).build())).map(resource -> Tuples.of(domains, resource))).filter(predicate((domains, route) -> nameFactory.isDomainName(domains.get(ResourceUtils.getEntity(route).getDomainId())) || nameFactory.isApplicationName(ResourceUtils.getEntity(route).getHost()) || nameFactory.isHostName(ResourceUtils.getEntity(route).getHost()))).flatMap(function((domains, route) -> cloudFoundryClient.routes().delete(DeleteRouteRequest.builder().async(true).routeId(ResourceUtils.getId(route)).build()).flatMapMany(job -> JobUtils.waitForCompletion(cloudFoundryClient, Duration.ofMinutes(5), job)).doOnError(t -> {
        RouteEntity entity = ResourceUtils.getEntity(route);
        LOGGER.error("Unable to delete route {}.{}:{}{}", entity.getHost(), domains.get(entity.getDomainId()), entity.getPort(), entity.getPath(), t);
    })));
}
Also used : Version(com.github.zafarkhaja.semver.Version) UserProvidedServiceInstanceResource(org.cloudfoundry.client.v2.userprovidedserviceinstances.UserProvidedServiceInstanceResource) ListServiceInstanceRoutesRequest(org.cloudfoundry.client.v2.serviceinstances.ListServiceInstanceRoutesRequest) ListIdentityZonesRequest(org.cloudfoundry.uaa.identityzones.ListIdentityZonesRequest) ListSpacesRequest(org.cloudfoundry.client.v2.spaces.ListSpacesRequest) LoggerFactory(org.slf4j.LoggerFactory) Tuples(reactor.util.function.Tuples) UnbindServiceInstanceRouteRequest(org.cloudfoundry.client.v2.serviceinstances.UnbindServiceInstanceRouteRequest) ListServiceInstancesRequest(org.cloudfoundry.client.v2.serviceinstances.ListServiceInstancesRequest) DeleteServiceKeyRequest(org.cloudfoundry.client.v2.servicekeys.DeleteServiceKeyRequest) ListUsersRequest(org.cloudfoundry.uaa.users.ListUsersRequest) ListServiceInstanceServiceKeysRequest(org.cloudfoundry.client.v2.serviceinstances.ListServiceInstanceServiceKeysRequest) DeleteUserRequest(org.cloudfoundry.uaa.users.DeleteUserRequest) RemoveUserProvidedServiceInstanceRouteRequest(org.cloudfoundry.client.v2.userprovidedserviceinstances.RemoveUserProvidedServiceInstanceRouteRequest) Destination(org.cloudfoundry.networking.v1.policies.Destination) ListPrivateDomainsRequest(org.cloudfoundry.client.v2.privatedomains.ListPrivateDomainsRequest) DeleteServiceBrokerRequest(org.cloudfoundry.client.v2.servicebrokers.DeleteServiceBrokerRequest) ListPoliciesResponse(org.cloudfoundry.networking.v1.policies.ListPoliciesResponse) ServiceInstanceResource(org.cloudfoundry.client.v2.serviceinstances.ServiceInstanceResource) ListBuildpacksRequest(org.cloudfoundry.client.v2.buildpacks.ListBuildpacksRequest) ListUserProvidedServiceInstanceRoutesRequest(org.cloudfoundry.client.v2.userprovidedserviceinstances.ListUserProvidedServiceInstanceRoutesRequest) DeleteStackRequest(org.cloudfoundry.client.v2.stacks.DeleteStackRequest) Duration(java.time.Duration) Map(java.util.Map) ListSecurityGroupsRequest(org.cloudfoundry.client.v2.securitygroups.ListSecurityGroupsRequest) ListApplicationsRequest(org.cloudfoundry.client.v2.applications.ListApplicationsRequest) DeleteGroupRequest(org.cloudfoundry.uaa.groups.DeleteGroupRequest) ListSpaceQuotaDefinitionsRequest(org.cloudfoundry.client.v2.spacequotadefinitions.ListSpaceQuotaDefinitionsRequest) Policy(org.cloudfoundry.networking.v1.policies.Policy) ListClientsRequest(org.cloudfoundry.uaa.clients.ListClientsRequest) LastOperationUtils(org.cloudfoundry.util.LastOperationUtils) UaaClient(org.cloudfoundry.uaa.UaaClient) ListServiceBrokersRequest(org.cloudfoundry.client.v2.servicebrokers.ListServiceBrokersRequest) PCF_1_12(org.cloudfoundry.CloudFoundryVersion.PCF_1_12) DeleteSharedDomainRequest(org.cloudfoundry.client.v2.shareddomains.DeleteSharedDomainRequest) DeleteBuildpackRequest(org.cloudfoundry.client.v2.buildpacks.DeleteBuildpackRequest) SSLException(javax.net.ssl.SSLException) JobEntity(org.cloudfoundry.client.v2.jobs.JobEntity) CloudFoundryClient(org.cloudfoundry.client.CloudFoundryClient) DeleteRouteRequest(org.cloudfoundry.client.v2.routes.DeleteRouteRequest) ListUserProvidedServiceInstanceServiceBindingsRequest(org.cloudfoundry.client.v2.userprovidedserviceinstances.ListUserProvidedServiceInstanceServiceBindingsRequest) Source(org.cloudfoundry.networking.v1.policies.Source) ListGroupsRequest(org.cloudfoundry.uaa.groups.ListGroupsRequest) ListStacksRequest(org.cloudfoundry.client.v2.stacks.ListStacksRequest) TupleUtils.function(org.cloudfoundry.util.tuple.TupleUtils.function) RouteEntity(org.cloudfoundry.client.v2.routes.RouteEntity) ListIdentityProvidersResponse(org.cloudfoundry.uaa.identityproviders.ListIdentityProvidersResponse) DeleteUserProvidedServiceInstanceRequest(org.cloudfoundry.client.v2.userprovidedserviceinstances.DeleteUserProvidedServiceInstanceRequest) DeleteIdentityZoneRequest(org.cloudfoundry.uaa.identityzones.DeleteIdentityZoneRequest) ListOrganizationQuotaDefinitionsRequest(org.cloudfoundry.client.v2.organizationquotadefinitions.ListOrganizationQuotaDefinitionsRequest) DeleteClientRequest(org.cloudfoundry.uaa.clients.DeleteClientRequest) DeleteOrganizationRequest(org.cloudfoundry.client.v2.organizations.DeleteOrganizationRequest) ResourceUtils(org.cloudfoundry.util.ResourceUtils) DeleteApplicationRequest(org.cloudfoundry.client.v2.applications.DeleteApplicationRequest) Supplier(java.util.function.Supplier) ListFeatureFlagsResponse(org.cloudfoundry.client.v2.featureflags.ListFeatureFlagsResponse) DeleteServiceInstanceRequest(org.cloudfoundry.client.v2.serviceinstances.DeleteServiceInstanceRequest) ListOrganizationsRequest(org.cloudfoundry.client.v2.organizations.ListOrganizationsRequest) ListIdentityZonesResponse(org.cloudfoundry.uaa.identityzones.ListIdentityZonesResponse) ApplicationResource(org.cloudfoundry.client.v2.applications.ApplicationResource) DeleteSecurityGroupRequest(org.cloudfoundry.client.v2.securitygroups.DeleteSecurityGroupRequest) TupleUtils.predicate(org.cloudfoundry.util.tuple.TupleUtils.predicate) DeletePoliciesRequest(org.cloudfoundry.networking.v1.policies.DeletePoliciesRequest) ListRoutesRequest(org.cloudfoundry.client.v2.routes.ListRoutesRequest) UserResource(org.cloudfoundry.client.v2.users.UserResource) DeleteSpaceRequest(org.cloudfoundry.client.v2.spaces.DeleteSpaceRequest) DeleteIdentityProviderRequest(org.cloudfoundry.uaa.identityproviders.DeleteIdentityProviderRequest) PaginationUtils(org.cloudfoundry.util.PaginationUtils) NetworkingClient(org.cloudfoundry.networking.NetworkingClient) Logger(org.slf4j.Logger) Group(org.cloudfoundry.uaa.groups.Group) ListPoliciesRequest(org.cloudfoundry.networking.v1.policies.ListPoliciesRequest) ListApplicationServiceBindingsRequest(org.cloudfoundry.client.v2.applications.ListApplicationServiceBindingsRequest) Mono(reactor.core.publisher.Mono) ListIdentityProvidersRequest(org.cloudfoundry.uaa.identityproviders.ListIdentityProvidersRequest) ListSharedDomainsRequest(org.cloudfoundry.client.v2.shareddomains.ListSharedDomainsRequest) SetFeatureFlagRequest(org.cloudfoundry.client.v2.featureflags.SetFeatureFlagRequest) DeleteOrganizationQuotaDefinitionRequest(org.cloudfoundry.client.v2.organizationquotadefinitions.DeleteOrganizationQuotaDefinitionRequest) ListFeatureFlagsRequest(org.cloudfoundry.client.v2.featureflags.ListFeatureFlagsRequest) GetServiceInstanceRequest(org.cloudfoundry.client.v2.serviceinstances.GetServiceInstanceRequest) Flux(reactor.core.publisher.Flux) ListUserProvidedServiceInstancesRequest(org.cloudfoundry.client.v2.userprovidedserviceinstances.ListUserProvidedServiceInstancesRequest) MemberSummary(org.cloudfoundry.uaa.groups.MemberSummary) Ports(org.cloudfoundry.networking.v1.policies.Ports) FluentMap(org.cloudfoundry.util.FluentMap) RemoveApplicationServiceBindingRequest(org.cloudfoundry.client.v2.applications.RemoveApplicationServiceBindingRequest) DeletePrivateDomainRequest(org.cloudfoundry.client.v2.privatedomains.DeletePrivateDomainRequest) JobUtils(org.cloudfoundry.util.JobUtils) ListServiceInstanceServiceBindingsRequest(org.cloudfoundry.client.v2.serviceinstances.ListServiceInstanceServiceBindingsRequest) DeleteSpaceQuotaDefinitionRequest(org.cloudfoundry.client.v2.spacequotadefinitions.DeleteSpaceQuotaDefinitionRequest) RouteEntity(org.cloudfoundry.client.v2.routes.RouteEntity)

Example 2 with Resource

use of org.cloudfoundry.client.v2.resourcematch.Resource in project cf-java-client by cloudfoundry.

the class DefaultServices method toServiceInstance.

private static ServiceInstance toServiceInstance(UnionServiceInstanceResource resource, Optional<String> plan, List<String> applications, ServiceEntity serviceEntity) {
    String extra = Optional.ofNullable(serviceEntity.getExtra()).orElse("");
    Optional<String> documentationUrl = Optional.ofNullable(getExtraValue(extra, "documentationUrl"));
    UnionServiceInstanceEntity serviceInstanceEntity = resource.getEntity();
    LastOperation lastOperation = Optional.ofNullable(serviceInstanceEntity.getLastOperation()).orElse(LastOperation.builder().build());
    return ServiceInstance.builder().applications(applications).dashboardUrl(serviceInstanceEntity.getDashboardUrl()).description(serviceEntity.getDescription()).documentationUrl(documentationUrl.orElse(null)).id(ResourceUtils.getId(resource)).lastOperation(lastOperation.getType()).message(lastOperation.getDescription()).name(serviceInstanceEntity.getName()).plan(plan.orElse(null)).service(serviceEntity.getLabel()).startedAt(lastOperation.getCreatedAt()).status(lastOperation.getState()).tags(serviceInstanceEntity.getTags()).type(ServiceInstanceType.from(serviceInstanceEntity.getType())).updatedAt(lastOperation.getUpdatedAt()).build();
}
Also used : UnionServiceInstanceEntity(org.cloudfoundry.client.v2.serviceinstances.UnionServiceInstanceEntity) LastOperation(org.cloudfoundry.client.v2.serviceinstances.LastOperation)

Example 3 with Resource

use of org.cloudfoundry.client.v2.resourcematch.Resource in project cf-java-client by cloudfoundry.

the class DefaultRoutes method toRoute.

private static Route toRoute(List<String> applications, String domain, RouteResource resource, Optional<String> service, String space) {
    RouteEntity entity = ResourceUtils.getEntity(resource);
    Route.Builder builder = Route.builder().applications(applications).domain(domain).host(entity.getHost()).id(ResourceUtils.getId(resource)).path(entity.getPath()).space(space);
    service.ifPresent(builder::service);
    return builder.build();
}
Also used : RouteEntity(org.cloudfoundry.client.v2.routes.RouteEntity)

Example 4 with Resource

use of org.cloudfoundry.client.v2.resourcematch.Resource in project cf-java-client by cloudfoundry.

the class DefaultApplications method convertToApplicationEvent.

private static ApplicationEvent convertToApplicationEvent(EventResource resource) {
    EventEntity entity = resource.getEntity();
    Date timestamp = null;
    try {
        timestamp = DateUtils.parseFromIso8601(entity.getTimestamp());
    } catch (IllegalArgumentException iae) {
    // do not set time
    }
    return ApplicationEvent.builder().actor(entity.getActorName()).description(eventDescription(getMetadataRequest(entity), getEntryNames(entity.getType()))).id(ResourceUtils.getId(resource)).event(entity.getType()).time(timestamp).build();
}
Also used : EventEntity(org.cloudfoundry.client.v2.events.EventEntity) Date(java.util.Date)

Aggregations

RouteEntity (org.cloudfoundry.client.v2.routes.RouteEntity)2 Version (com.github.zafarkhaja.semver.Version)1 Duration (java.time.Duration)1 Date (java.util.Date)1 Map (java.util.Map)1 Supplier (java.util.function.Supplier)1 SSLException (javax.net.ssl.SSLException)1 PCF_1_12 (org.cloudfoundry.CloudFoundryVersion.PCF_1_12)1 CloudFoundryClient (org.cloudfoundry.client.CloudFoundryClient)1 ApplicationResource (org.cloudfoundry.client.v2.applications.ApplicationResource)1 DeleteApplicationRequest (org.cloudfoundry.client.v2.applications.DeleteApplicationRequest)1 ListApplicationServiceBindingsRequest (org.cloudfoundry.client.v2.applications.ListApplicationServiceBindingsRequest)1 ListApplicationsRequest (org.cloudfoundry.client.v2.applications.ListApplicationsRequest)1 RemoveApplicationServiceBindingRequest (org.cloudfoundry.client.v2.applications.RemoveApplicationServiceBindingRequest)1 DeleteBuildpackRequest (org.cloudfoundry.client.v2.buildpacks.DeleteBuildpackRequest)1 ListBuildpacksRequest (org.cloudfoundry.client.v2.buildpacks.ListBuildpacksRequest)1 EventEntity (org.cloudfoundry.client.v2.events.EventEntity)1 ListFeatureFlagsRequest (org.cloudfoundry.client.v2.featureflags.ListFeatureFlagsRequest)1 ListFeatureFlagsResponse (org.cloudfoundry.client.v2.featureflags.ListFeatureFlagsResponse)1 SetFeatureFlagRequest (org.cloudfoundry.client.v2.featureflags.SetFeatureFlagRequest)1