@Inject public NetworkToSecurityGroup(Function<Firewall, Iterable<IpPermission>> firewallToPerms, GoogleComputeEngineApi api, @UserProject Supplier<String> project) { this.firewallToPerms = firewallToPerms; this.api = api; this.project = project; }
@Inject public GlobalOperationDonePredicate(GoogleComputeEngineApi api, @UserProject Supplier<String> project) { this.api = api; this.project = project; }
@Inject public NetworkToSecurityGroup(Function<Firewall, Iterable<IpPermission>> firewallToPerms, GoogleComputeEngineApi api, @UserProject Supplier<String> project) { this.firewallToPerms = firewallToPerms; this.api = api; this.project = project; }
@Inject public GlobalOperationDonePredicate(GoogleComputeEngineApi api, @UserProject Supplier<String> project) { this.api = api; this.project = project; }
@Inject public FindNetworkOrCreate(GoogleComputeEngineApi api, Function<NetworkAndAddressRange, Network> networkCreator, @UserProject Supplier<String> userProject) { this.api = checkNotNull(api, "api"); this.networkCreator = checkNotNull(networkCreator, "networkCreator"); this.userProject = checkNotNull(userProject, "userProject"); }
@Inject public FindNetworkOrCreate(GoogleComputeEngineApi api, Function<NetworkAndAddressRange, Network> networkCreator, @UserProject Supplier<String> userProject) { this.api = checkNotNull(api, "api"); this.networkCreator = checkNotNull(networkCreator, "networkCreator"); this.userProject = checkNotNull(userProject, "userProject"); }
@Inject RegionOperationDonePredicate(GoogleComputeEngineApi api, @UserProject Supplier<String> project, @Memoized Supplier<Map<URI, Region>> regions) { this.api = api; this.project = project; this.regions = regions; }
@Inject public CreateNetworkIfNeeded(GoogleComputeEngineApi api, @UserProject Supplier<String> userProject, @Named("global") Predicate<AtomicReference<Operation>> operationDonePredicate, @Named(OPERATION_COMPLETE_INTERVAL) Long operationCompleteCheckInterval, @Named(OPERATION_COMPLETE_TIMEOUT) Long operationCompleteCheckTimeout) { this.api = checkNotNull(api, "api"); this.userProject = checkNotNull(userProject, "userProject"); this.operationCompleteCheckInterval = checkNotNull(operationCompleteCheckInterval, "operation completed check interval"); this.operationCompleteCheckTimeout = checkNotNull(operationCompleteCheckTimeout, "operation completed check timeout"); this.operationDonePredicate = checkNotNull(operationDonePredicate, "operationDonePredicate"); }
@Inject ZoneOperationDonePredicate(GoogleComputeEngineApi api, @UserProject Supplier<String> project, @Memoized Supplier<Map<URI, ? extends Location>> zones) { this.api = api; this.project = project; this.zones = zones; }
@Inject public CreateNetworkIfNeeded(GoogleComputeEngineApi api, @UserProject Supplier<String> userProject, @Named("global") Predicate<AtomicReference<Operation>> operationDonePredicate, @Named(OPERATION_COMPLETE_INTERVAL) Long operationCompleteCheckInterval, @Named(OPERATION_COMPLETE_TIMEOUT) Long operationCompleteCheckTimeout) { this.api = checkNotNull(api, "api"); this.userProject = checkNotNull(userProject, "userProject"); this.operationCompleteCheckInterval = checkNotNull(operationCompleteCheckInterval, "operation completed check interval"); this.operationCompleteCheckTimeout = checkNotNull(operationCompleteCheckTimeout, "operation completed check timeout"); this.operationDonePredicate = checkNotNull(operationDonePredicate, "operationDonePredicate"); }
@Inject ZoneOperationDonePredicate(GoogleComputeEngineApi api, @UserProject Supplier<String> project, @Memoized Supplier<Map<URI, ? extends Location>> zones) { this.api = api; this.project = project; this.zones = zones; }
@Inject RegionOperationDonePredicate(GoogleComputeEngineApi api, @UserProject Supplier<String> project, @Memoized Supplier<Map<URI, Region>> regions) { this.api = api; this.project = project; this.regions = regions; }
@Provides @Singleton @Named("zoneToURI") public Function<String, URI> provideZoneNameToURIFunction(@Provider final Supplier<URI> endpoint, @UserProject final Supplier<String> userProject) { return new Function<String, URI>() { @Override public URI apply(String input) { return Uris.uriBuilder(endpoint.get()).appendPath("/projects/").appendPath(userProject.get()) .appendPath("/zones/").appendPath(input).build(); } }; }
@Provides @Singleton @Named("networkToURI") public Function<String, URI> provideNetworkNameToURIFunction(@Provider final Supplier<URI> endpoint, @UserProject final Supplier<String> userProject) { return new Function<String, URI>() { @Override public URI apply(String input) { return Uris.uriBuilder(endpoint.get()).appendPath("/projects/").appendPath(userProject.get()) .appendPath("/global/networks/").appendPath(input).build(); } }; }
@Provides @Singleton @Named("networkToURI") public Function<String, URI> provideNetworkNameToURIFunction(@Provider final Supplier<URI> endpoint, @UserProject final Supplier<String> userProject) { return new Function<String, URI>() { @Override public URI apply(String input) { return Uris.uriBuilder(endpoint.get()).appendPath("/projects/").appendPath(userProject.get()) .appendPath("/global/networks/").appendPath(input).build(); } }; }
@Provides @Singleton @Named("zoneToURI") public Function<String, URI> provideZoneNameToURIFunction(@Provider final Supplier<URI> endpoint, @UserProject final Supplier<String> userProject) { return new Function<String, URI>() { @Override public URI apply(String input) { return Uris.uriBuilder(endpoint.get()).appendPath("/projects/").appendPath(userProject.get()) .appendPath("/zones/").appendPath(input).build(); } }; }
@Provides @Singleton @Named("regionToURI") public Function<String, URI> provideRegionNameToURIFunction(@Provider final Supplier<URI> endpoint, @UserProject final Supplier<String> userProject) { return new Function<String, URI>() { @Override public URI apply(String input) { return Uris.uriBuilder(endpoint.get()).appendPath("/projects/").appendPath(userProject.get()) .appendPath("/regions/").appendPath(input).build(); } }; } }
@Provides @Singleton @Named("regionToURI") public Function<String, URI> provideRegionNameToURIFunction(@Provider final Supplier<URI> endpoint, @UserProject final Supplier<String> userProject) { return new Function<String, URI>() { @Override public URI apply(String input) { return Uris.uriBuilder(endpoint.get()).appendPath("/projects/").appendPath(userProject.get()) .appendPath("/regions/").appendPath(input).build(); } }; } }
@Provides @Singleton @Named("machineTypeToURI") public Function<String, URI> provideMachineTypeNameToURIFunction(@Provider final Supplier<URI> endpoint, @UserProject final Supplier<String> userProject) { return new Function<String, URI>() { @Override public URI apply(String input) { SlashEncodedIds slashEncodedIds = SlashEncodedIds.fromSlashEncoded(input); return Uris.uriBuilder(endpoint.get()).appendPath("/projects/").appendPath(userProject.get()) .appendPath("/zones/").appendPath(slashEncodedIds.getFirstId()) .appendPath("/machineTypes/").appendPath(slashEncodedIds.getSecondId()).build(); } }; }
@Provides @Singleton @Named("machineTypeToURI") public Function<String, URI> provideMachineTypeNameToURIFunction(@Provider final Supplier<URI> endpoint, @UserProject final Supplier<String> userProject) { return new Function<String, URI>() { @Override public URI apply(String input) { SlashEncodedIds slashEncodedIds = SlashEncodedIds.fromSlashEncoded(input); return Uris.uriBuilder(endpoint.get()).appendPath("/projects/").appendPath(userProject.get()) .appendPath("/zones/").appendPath(slashEncodedIds.getFirstId()) .appendPath("/machineTypes/").appendPath(slashEncodedIds.getSecondId()).build(); } }; }