function loadInfoByZone()

in google-cloud-server/src/main/resources/buildServerResources/images.vm.js [548:592]


    function loadInfoByZone(zoneId) {
        if (!self.isValidCredentials()) {
            return
        }

        var credentialsType = self.credentials().type();
        var accessKey = self.credentials().accessKey();

        var zone = ko.utils.arrayFirst(self.zones(), function (item) {
            return item.id === zoneId;
        });

        self.loadingResourcesByZone(true);

        var url = getBasePath() +
            "zone=" + zone.id +
            "&region=" + zone.region +
            "&resource=subnets" +
            "&resource=machineTypes" +
            "&resource=diskTypes";

        $.post(url, {
            "prop:credentialsType": credentialsType,
            "prop:secure:accessKey": accessKey
        }).then(function (response) {
            var $response = $(response);
            var errors = getErrors($response);
            if (errors) {
                self.errorResources(errors);
                return;
            } else {
                self.errorResources("");
            }

            self.machineTypes(getMachineTypes($response));
            self.diskTypes(getDiskTypes($response));
            getSubnets($response);
            changeSubnets(self.image().network())
        }, function (error) {
            self.errorResources("Failed to load data: " + error.message);
            console.log(error);
        }).always(function () {
            self.loadingResourcesByZone(false);
        });
    }